您现在的位置是:首页 > IT基础架构 > 网络与安全 >
系统安全工具PsTools在渗透中的一点小应用
2010-01-11 21:47:00作者:零魂(zerosoul) 来源:
摘要最近运气不好,拿下的某内网,Server区全部不能外连,没法反弹socks出来,导致渗透内网其它网段的时候很辛苦。其中一台MSSQL和Web是分离的,服务器虽然拿下了,但有时候上去执行一些管理员权限才能执行的命令时(该Server是IIS6+ASPX,权限不够),只能用reDuh上3389,但reDuh...
注:这篇文章只是作者做一个演示,可不是教大家做坏事。另外,安全工程师也可以做一个借鉴。
最近运气不好,拿下的某内网,Server区全部不能外连,没法反弹socks出来,导致渗透内网其它网段的时候很辛苦。其中一台MSSQL和Web是分离的,服务器虽然拿下了,但有时候上去执行一些管理员权限才能执行的命令时(该Server是IIS6+ASPX,权限不够),只能用reDuh上3389,但reDuh实在是太慢了,我现在用reDuh连终端的时候都设置的最低分辨率(640 x 480)和最低色彩(256色),即使这样好不容易上去了敲个命令还要等半天,实在让人抓狂.....
然后想到了psexec.exe,它可以在提供用户名密码的情况下(120G RainbowTable在手,跑密码目前还未受到过阻力),以其它用户的权限运行程序,如果能在WebShell里面用它+密码执行管理员权限命令还是蛮方便的。立刻上传尝试,结果发现半天不返回结果,taskkill掉后在本机测试,发现第一次执行的时候会在本地桌面(console)弹出“最终用户许可协议”提示,不点同意就不会继续(我本来还报侥幸不在桌面环境运行就不会弹呢)。
我们需要的当然是纯命令行的工具,弹这东西真是烦人,所以得改造下,又拿出同样是Sysinternals出品的Regmon监控了下,发现相关键值记录在HKEY_CURRENT_USERSoftwareSysinternalsPsExec下面,又拿出OllyDBG准备调试修改一下,结果调试的时候发现原来这小工具还不是那么不可理喻,提供了一个自动接受“最终用户许可协议”的参数 -accesseula(更囧的是刚刚才发现第一次运行弹的框框上有提示这个参数- -!)
这就好办了,上传PsExec.exe后,就可以以下面的形式在权限比较低的WebShell里面执行高权限系统命令了:
C:WINDOWSTemppsexec.exe -accepteula \127.0.0.1 -u administrator -p 654321 net user zerosoul 123456 /add
654321是管理员密码,net user zerosoul 123456 /add是要执行的命令。不过不到万不可以可不要用加账户这么大动作的命令,呵呵。
当然内网渗透的时候psexec.exe不止这点本事,而且貌似psexec.exe比IPC$用at执行命令来的方便。
再说说psloglist.exe,是个操作系统日志的小工具。查看Security日志一般能快速定位管理员IP,在内网渗透的时候还是很有用的。
C:WINDOWSTemppsloglist.exe -accepteula -g C:WINDOWSTempsecuritydump.evt security
上面这句命令可以把Security日志导出到C:WINDOWSTempsecuritydump.evt,down回本地后可以用事件查看器(eventvwr.msc)导入查看。位于C:WINDOWSsystem32config的Security日志原始文件SecEvent.Evt是可以下载的,但下载下来是没法导入的。能记录登陆IP的事件ID:682.
PsTools工具包可谓是小工具里经典中的经典了,否则MS怎么会收购它呢,呵呵。Sysinternals出品的东西都挺好用的,像PsList这些就不用说了,但要提一点的是,PsTools里,很多小工具的参数选项都有一句\computer 。
恩,真是个不错的参数。
PS:感觉在做内网渗透的时候,拓扑图能在很大程度上帮助我们分析内网结构,理清思路,特别是大而复杂的内网,不画图的话分析会很散,也不直观,很难组织到一起,所以在请教过大猫后,下载了个Visio(居然又是MS的...),以后时刻准备着画图。
(本文不涉密)
责任编辑: