VulnHub靶機-Ripper |紅隊打靶
一般在獲取靶機的初始shell后,會進行提權,可以先查看home目錄下的用戶,因為有可能需要這個用戶來做跳板去獲取root權限;然后可以查看有沒有sudo濫用,定時任務,suid文件,或者home目錄下另外一個用戶時宿主的文件等等,但是,往往有一個很容易被忽略,歷史命令的查看。
主機發現
sudo arp-scan -l

那么靶機的ip:192.168.56.118
kali的ip:192.168.56.102
信息收集
開放端口以及服務版本,操作系統類型版本探測
掃描開放的端口
nmap -p- 192.168.56.118

掃描開放的端口運行的服務版本和操作系統的版本
nmap -p22,80,10000 -sT -sV -O 192.168.56.118

22端口是ssh服務,80端口是apache的http服務,10000端口是webmin的一個http服務,操作系統探測是Linux 4.15 - 5.6
訪問80端口

apache的默認頁面
對80端口進行目錄爆破
dirsearch -u http://192.168.56.118

沒有任何可以利用的文件和目錄,可以去指定文件后綴進行爆破,但是也是沒有任何收獲
訪問10000端口

需要去用https進行訪問,但是這樣子訪問域名訪問不了,需要修改host文件,可以直接訪問ip加端口,將http修改成為https即可

發現是一個webmin的登錄框,使用一些常見的弱口令進行登錄,登陸不了
嘗試使用searchsploit webmin ,查詢關于這個cms的漏洞,發現又遠程代碼執行,但是需要身份驗證,那么只能先放棄這條途徑

對10000端口進行目錄爆破,發現爆破的速度非常慢,那么嘗試手動去檢測一些常見的目錄或者文件
比如robots.txt

發現有base64加密,使用kali進行解碼

解碼之后,意思為可以使用rips去掃描php代碼,這樣子的話,那么目標上面應該存在rips這個工具
rips是PHP源代碼審計工具,訪問它只需要在url后面加上對應版本的rips名稱或者直接rips
那么嘗試在10000端口后面添加rips(因為不知道rips的版本)

發現沒有rips的頁面,去80端口嘗試使用

發現80端口可以訪問rips
賬號密碼發現獲得初始shell
rips這個頁面可以去檢測指定路徑下的所有php文件,看是否存在漏洞
因為apache的默認服務是在/var/www下面,那么可以去s掃描/var/www或者/var/www/html
所以掃描/var/www比較全面

發現去確實爆出了很多的漏洞,嘗試對一些文件包含進行利用

沒有辦法包含文件目錄之外的,嘗試包含文件目錄之內的

那么這些文件包含僅僅只是能包含文件目錄之內的
注意到rips有search的功能,嘗試去查找是否會有包含pass,user,passwd,username字段內容的文件

當去查找有pass的文件時,出現了一個echo "pass:"
查看具體的文件

發現賬號密碼
拿到賬號密碼之后,第一時間想到了10000端口的登錄框,嘗試登錄

登陸不了,根據信息收集,發現有22端口
嘗試22端口的登錄

成功登錄。獲取了初始shell
提權
第一次提權(cubes)
沒有suid文件,也沒有定時任務和sudo濫用

方法一:查看你home目錄下的用戶,find命令查看根目錄下宿主時cubes的文件

find / -user cubes -type f 2>/dev/null

逐個查看,當查看到/mnt/secret.file(但是其實一眼可以看出secret這個單詞,秘密的意思,這就很可疑)

發現密碼,這個文件又是cubes用戶的,那么而且還用戶試試

切換成功
方法二:歷史命令的查看
history

發現secret.file文件
直接查看登錄
第二次提權(root)
方法一:subes是宿主的文件

find / -user cubes -type f -exec ls -la {} \; 2>/dev/null
這條命令會返回很多的文件,使用grep過濾掉含porc目錄的文件和png后綴的文件
find / -user cubes -type f -exec ls -la {} \; 2>/dev/null | grep proc -v | grep '.png' -v

對這些文件的逐個查看,當查看到最后一個, /var/webmin/backup/miniser.log,webmin的日志文件

既然是webmin的日志文件,那么額嘗試webmin的登錄

登錄成功
來到這個頁面
一、直接在other下,有一個root權限的shell



拿到flag
二、也可以利用前面searchsploit webmin找到的遠程代碼執行(msf,因為已經有賬號密碼進行了身份驗證)


設置賬號密碼,rhost,lhost信息,還得將ssl設置為true,因為10000端口時https進行訪問的
直接run

獲得root權限
方法二:歷史命令查看

在第一次提權歷史命令的查看,還發現了root用戶操作了webmin的日志文件
查看日志文件

同樣操作

拿到flag