上一篇文章介紹了如何使用nmap,下一步我們要利用得到的資訊嘗試取得目標靶機裡的資料。了解各個port所使用的服務後,利用不同的工具達成我們的目標。
以下我將會一一列出常見的通訊埠以及應對的工具。
Http: port 80
Http為HyperText Transfer Protocol的縮寫,瀏覽網頁時就是利用這個通訊協定。如果靶機開啟80或是8080 port,我們就可以直接在瀏覽器上造訪網站,去尋找注入點。
以HTB Tired machine Jerry為例,利用nmap掃瞄完後發現它開啟port 8080。
當我們造訪網頁後,跳出登入頁面,需要帳號密碼才能夠進入,所以下一步是嘗試尋找可能的帳號密碼登入,抑或是確認這個網頁所使用的服務有哪些,觀察後了解它使用了tomcat。目前有兩個方向能夠去進一步尋找漏洞,一個就是尋找是否有檔案儲存了帳號密碼,另一個就是尋找tomcat過去的漏洞,就有機會獲取flag。
ftp: port 21
FTP為File Transfer Protocol的縮寫,有些ftp允許匿名登入,駭客就能利用這個弱點取得裡面的資料。
以HTB tired machine Netmon為例,nmap掃完發現port 21是開啟的狀態,並且允許匿名(anonymous)登入。
ftp [ip]
ftp連線至目標之後,使用者輸入anonymous,密碼隨意輸入即可登入。這個靶機難易程度為簡單,只要ftp登入即可獲得user.txt。
有時候進入ftp服務裡,可能沒有任何檔案抑或是只有加密的壓縮檔,接著就是要嘗試利用其他的服務或是利用john2zip
,然後利用john the ripper
解密取得壓縮檔裡的檔案。
SSH: port 22
SSH的全名為Secure Shell Protocol,需要帳號以及密碼才能夠登入,有些靶機可能會把密碼藏在一些檔案裡,需要一些時間去探索。因為尋找密碼每次的方法都不一樣,在此只介紹如何連線進去。
ssh [username]@[ip]
接著輸入密碼,即可連線成功。
RPC: port 135
RPC 是remote procedure call的縮寫,可以利用rpcclient登入。
rpcclient -U "" -N [ip]
-U: 使用者名稱
-N: 無密碼登入
如果已取得目標靶機的使用者名稱以及密碼,以使用者為ryan密碼為123為例,指令就變成rpcclient -U ryan -p '123' [ip]
成功登入後能夠列舉網域裡的使用者或是群組,
##列舉使用者
enumdomusers
##列舉群組
enumdomgroups
知道使用者有哪些後,如果也知道密碼的話就能夠利用impacket的工具猜測是哪個使用者的密碼。
Smb: port 149, 445
smb為server message block的縮寫,作業系統為windows的機器才有可能可以開啟這個port,有幾個常見的指令能夠列出這個服務裡的資料。
smbmap
需要使用者名稱以及帳號密碼,所以大部分的情況下會使用後面將介紹的兩個指令。smbmap -u [user] -p [password] -H [ip]
2.smbclient
列舉出smb服務裡共享的文件,如果發現有共享的資料夾後能夠進一步指定瀏覽資料夾裡的檔案,它也能夠匿名登入,密碼輸入空白即可。
smbclient -L [ip]
以HTB Escape機器為例,
smbclient -L 10.10.11.202
列出共享的資料夾後發現有好幾個,一一查看後發現Public這個共享資料夾裡有個pdf檔
smbclient \\\\10.10.11.202\\Public
dir
看檔名能夠猜測是與安裝server有關的步驟,裡面可能包含了登入的帳號密碼,或是提醒相關人員登入的注意事項,我們就可以利用這個弱點取得進入的權限。
3. 最後一個是enum4linux
,它也能夠像rpclient一樣列出網域裡的使用者,幫助你列舉出所連線的印表機等裝置。
enum4linux [ip]
除了列舉使用者之外還有很多,工作群組、smb共享的資料夾等,也能夠幫助你更了解目標。
LDAP, LDAPS: port 389, 3269
ldap為Lightweight Directory Access Protocol的縮寫,為一種儲存active directory的通訊協定。Active directory是Microsoft所開發的目錄服務,用來管理與組織用戶以及機器。因此,當我們發現LDAP服務開啟時,能夠大膽地猜測是有關Active directory的漏洞。
以HTB Support台靶機為例,目前已知user name以及密碼,利用ldapsearch
登入
sudo apt install ldap-utils
ldapsearch -D ldap@support.htb -H ldap://support.htb -w 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' -b "dc=support,dc=htb"
在使用者support的資訊裡,包含了一組字串很有可能是密碼,接著就能利用這組密碼登入,如果有開啟port 22,嘗試以ssh連線登入。
以上是我在打HTB靶機時,掃完服務之後常用的工具,之後如果遇到其他服務也會慢慢新增以及介紹。
謝謝大家的收看:)