Drupal
1. 發現點
網站係 Drupal 8(或者有舊版 Drupal 存在)。
檢查
CHANGELOG.txt
或者用droopescan
可以知道確實用緊邊個版本。如果係舊版(Drupal 7.x 或 Drupal 8.5.1 以下),高危漏洞機率極大!
2. 測試Payload
1️⃣ 驗證目標用咩CMS:
出現
<meta name="Generator" content="Drupal 8 ...">
代表用緊Drupal。
2️⃣ 確認版本:
如果係 8.5.1 或以下、7.58 或以下,高危漏洞。
3️⃣ 自動掃描
自動列出版本、已知漏洞、開放模組。
3. 利用階段
(A)Drupalgeddon1 — CVE-2014-3704(SQL Injection)
目標:直接創建 admin
方法:
完成後可以用
hacker : pwnd
帳號登入。
(B)Drupalgeddon2 — CVE-2018-7600(RCE)
功能:未登入情況直接RCE
工具:
會提示輸入 URL,例如:
成功會上傳一個
hello.txt
或mrb3n.php
確認 webshell:
看到
uid=33(www-data)
就成功咗!
(C)Drupalgeddon3 — CVE-2018-7602(需登入)
如果已經有 admin 權限,可以用 Metasploit:
會開一個 meterpreter session!
4. 上傳後門模組(如果有 admin)
去 drupal.org 下載
captcha
模組:
在 captcha 資料夾入面建立一個 webshell:
shell.php
建立
.htaccess
:
將 shell.php 同 .htaccess 放入 captcha 文件夾,再打包:
管理後台上傳
captcha.tar.gz
:
安裝完成後存取 shell:
5.PHP Filter 利用(只限 Drupal 7 或早期 8)
登入 admin
Enable 「PHP Filter」模組
去「內容」>「新增內容」> 「Basic page」
內容輸入:
Text format 選「PHP code」,儲存
通過:
即可RCE。
6. 連鎖漏洞
橫向移動
確認 server 內部其他主機
用
netstat -anp
、arp -a
嘗試提權
sudo -l
find / -perm -4000 -type f 2>/dev/null
擴大後門
放置持久化 shell
最后更新于
这有帮助吗?