Wanderer 是一个开源程序,用于收集运行中进程的信息。这些信息包括完整性级别、AMSI 是否作为已加载模块存在、进程是 64 位还是 32 位,以及当前进程的特权级别。在构建针对进程注入的理想候选进程的载荷时,这些信息非常有用。
这个项目是我在完成 Offensive Security 的 PEN-300 课程过程中开始开发的。课程中我最喜欢的模块之一是进程注入与迁移部分,这启发我构建一个工具,帮助我在该活动中提高效率。特别感谢 ShadowKhan,他提供了宝贵的反馈,为这个工具带来了创意方向,使其视觉上更吸引人,并通过建议的过滤功能增强了可用性。
PS C:\> .\wanderer.exe
>> Process Injection Enumeration
>> https://github.com/gh0x0st
Usage: wanderer [target options] <value> [filter options] <value> [output options] <value>
Target Options:
-i, --id, 根据进程 ID 号定位单个或一组进程
-n, --name, 根据进程名称定位单个或一组进程
-c, --current, 定位当前进程并显示当前特权级别
-a, --all, 定位所有正在运行的进程
Filter Options:
--include-denied, 包含进程访问被拒绝的情况
--exclude-32, 排除进程架构为 32 位的情况
--exclude-64, 排除进程架构为 64 位的情况
--exclude-amsiloaded, 排除 amsi.dll 是已加载进程模块的情况
--exclude-amsiunloaded, 排除 AMSI 不是已加载进程模块的情况
--exclude-integrity, 排除进程完整性级别为特定值的情况
Output Options:
--output-nested, 以嵌套样式输出结果
-q, --quiet, 不输出横幅
示例:
枚举进程 ID 为 12345 的进程
C:\> wanderer --id 12345
枚举所有名称为 process1 和 process2 的进程
C:\> wanderer --name process1,process2
枚举当前进程特权级别
C:\> wanderer --current
枚举所有 32 位进程
C:\wanderer --all --exclude-64
枚举所有加载了 AMSI 的进程
C:\> wanderer --all --exclude-amsiunloaded
枚举所有名称为 pwsh、powershell、spotify 的进程,并排除完整性级别为 untrusted 或 low 的实例,同时排除 32 位进程
C:\> wanderer --name pwsh,powershell,spotify --exclude-integrity untrusted,low --exclude-32




