网站安全狗会拦截命令的执行:
执行白名单中的程序不会被拦截:
但是执行白名单中的程序并不是我们想要的结果(我想要提权,想要执行exp.exe),那该怎么办呢?经过反复的测试,发现安全狗拦截的是IIS(时间久远,具体是aspnet_wp.exe还是w3wp.exe我记不清了)创建的进程。由IIS启动的进程再去执行命令会不会被拦截呢?但是在想这个问题的时候,要先解决一个问题,那就是如何让IIS启动的进程再去启动一个新进程?好在metasploit完美助我解决了这个问题:使用payload>windows>meterpreter>reverse_tcp监听9527端口
再生成一个aspx的payload
上传至目标,然后浏览器访问(页面一片空白,但是得到了一个meterpreter)
此时一些常用的meterpreter命令都是可用的(不产生新进程的都可用,如ps、getuid等,已经有很多事可以做了),但尝试去执行程序时,却还是被拦截。
于是一个想法就诞生了:启动安全狗白名单中的进程,然后再使用migrate命令迁移payload到这个进程,再去执行命令会如何呢?然后手工去运行测试白名单中的进程,结果大部分都是一闪而过,程序运行后就退出了,根本没有机会迁移进程。但当试到drwtsn32.exe的时候,奇迹出现了,这货是个界面程序,不会运行后立即退出。于是尝试使用execute -f C:/windows/system32/drwtsn32.exe来启动这个进程(我的测试系统是win2003):
执行成功,并返回了进程PID。接下来迁移payload到这个PID:
再尝试去执行命令:
好了,可以执行任意的命令了,来个shell吧:
注:运气好了话有以network service权限运行的进程(如:wmiprvse.exe),这样就不用再启动一个进程了,直接迁移payload过去便可执行任意命令了!
1
注:运气好了话有以networkservice权限运行的进程(如:wmiprvse.exe),这样就不用再启动一个进程了,直接迁移payload过去便可执行任意命令了!