shell怎么拿就不说了。拿到shell以后,查看了一下是内网:
然后进行内网的信息收集:
net user /domain域用户
Ipconfig /all 查看dns的指向的域控主机。
收集完信息,人家在内网,然后我想收集一下内网机器的信息。首先我想代理进行,用reGeorgSocksProxy+proxychains代理进去,但可能是有行为监控吧,我代理了几秒那个tunnel脚本就被杀了。然后用hd想扫扫内网的机子,但又被杀了。然后想到发现有jsp的内网代理脚本可以进行内网扫描和内网代理,功能虽然有bug,但够用了。端口扫描的情况。(虽然这里后来用处不大,但我认为进行内网信息的收集还是很重要的)
上面一直做的是信息收集的工作。
在dump出hash之前我想用msf能反弹shell回来,为什么反弹msf,因为菜刀执行powershell会出错。我当时是想用powershell导出用户hash,但不成功,这是后话了。
exe是会被检测到的,所以用了powershell,然后用tcp反弹不行,就用了http的反弹:可以反弹成功,但是用powershell执行Mimikatz不成功。
为什么想抓hash值,因为可能有域控管理员登陆进去,这时候我们可以把他的hash抓出来。
Dump出hasn的方法有很多中,我自己也总结了一些:http://blog.csdn.net/ZZZJX7/article/details/52542326
但是不免杀的方法是不行的,试了几种方法都不行,最后利用了Procdump+mimikatz进行取出hash值。但是有一个缺点就是出来的文件比较大,有40多m,我的mimikatz不免杀,所以我下下来,在下载的过程中出了一点错,只有百分之90数据下了下来,不过也足够,有3个域管用户找了出来。
有了三个域管用户想进一步把全部用户的hash值dump出来,利用信息收集知道域管理机子有两台
SAOM000A1$ \\ 10.**.**.154 [win2003] SAOM000DC1$ \\10.**.**.159 [win2008]
域控主机的话, 首先的目标是159的那台机子,我那时候想也在域控主机上面弹msf回来。把自己的马传上去,然后是用wmiexec.vbs远程执行,原本想用三好学生的一个工具,smbexec这个可以根据其他共享(c$、ipc$)来获取一个cmd我本地测试成功,但在上面执行不成功。执行命令如下:
Net use \\ip\c$
Copy bat.bat\\ip\c$ (其中 bat.bat 是 powershell 的 meterpreter)
用wmi来远程执行命令。
执行了也没有反应,不知道啥情况,马没有杀,但是出不来。 然后把目标转到154那台机子,这个是win2003,默认不支持powershell,然后我就用exe的msf马尝试一下,成功了,维持几秒钟,又不行了,应该有杀软吧。
现在目前是想导出域内的所有用户hash,需要离线提取文件 ntds.dit。ntds.dit利用的是之前三好学生大牛写的一键导出域控方法。
最后想下载到本地的时候一直出错。72m可能太大了,一直出错超时。
然后想到了用rar把文件压缩再下载,上传了rar.exe,然后选择最高的压缩率:压缩成10m每个文件。
其实把这个下下来,就可以基本上把所有用户的hash拿到。执行以下命令:
全部域用户hash全部dump出来。一共1120个用户。哈哈,结束了。
更新:
之前一直没有用到cobalt strike这个神器,后来做了一点免杀,通过pass hash的方法把邮服也拿了下来,如果想持久地获取系统权限,可以打一个万能补丁,或者中一个启动项的后门,进行开机启动。