Invoke-EDRChecker
该脚本将检查正在运行的进程、进程元数据、加载到当前进程中的 Dll 以及每个 DLL 元数据、常见安装目录、已安装服务、注册表和运行驱动程序,以检查是否存在已知的防御产品,例如 AV、EDR 和日志记录工具。
该脚本也可以加载到您的 C2 服务器中,例如在 PoshC2 中,将脚本放入您的模块目录中,加载模块然后运行它。
注意:这个脚本现在包含在 PoshC2 中,所以不需要手动添加它。
如果您有权限,该脚本还可以对远程目标执行检查,但这些检查目前仅限于进程检查、常见安装目录和已安装服务。
在时间允许的情况下,我将继续添加和改进列表。完整的路线图可以在下面找到。
这个工具的C# 版本比 PowerShell 版本有很大改进。
如有任何问题或疑问,请在推特 @PwnDexter 上找到我!
安装
git clone https://github.com/PwnDexter/Invoke-EDRChecker.git
用法
将脚本加载到您选择的主机或 C2 后,您可以使用以下命令:
针对本地主机运行脚本并根据当前用户完整性执行检查:
Invoke-EDRChecker
运行脚本并强制执行注册表检查(当您不以管理员身份运行时使用):
Invoke-EDRChecker -Force
对远程主机运行脚本,测试连接并在运行前尝试解析主机名:
Invoke-EDRChecker -Remote <hostname>
要绕过远程主机的预检查,请使用 -Ignore 标志绕过连接检查:
Invoke-EDRChecker -Remote <hostname> -Ignore
示例输出
注意:这些屏幕截图需要更新,并且仅在 Windows 10 上进行了测试,更多测试即将到来。
如果进程和驱动程序被隐藏并且仍然可以找到:
如果以非管理员身份运行以显示可见性差异:
将 EDR-Checker 与 PoshC2 一起使用:
路线图
- - 添加更多 EDR 产品 - 永无止境
- - 优化注册表检查的 beta 功能
- - 添加强制注册检查是否未以管理员身份运行
- - 跨更多 Windows 和 .NET 版本进行测试
- - 移植到 c# -
- - 清理输出
- - 在当前进程中获取当前加载的 DLL
- - 获取当前加载的 dll 的 dll 元数据
- - 增加远程主机查询能力
- - 在执行 edr 检查之前添加连接和 DNS 检查
- - 在执行 edr 检查之前添加远程权限检查
- - 添加已安装服务检查
- - 移植到 python 以获得 unix/macos 支持