一种帮助自动化常见持久化机制的工具。目前支持:打印监控器(SYSTEM)、时间提供者(Network Service)、启动文件夹快捷方式劫持(用户)、交接文件夹(用户)、Xll加载项(用户)。
克隆仓库,运行 make,将 .cna 文件添加到 Cobalt Strike 客户端。
在 CS 控制台中运行:help persist-ice
语法:
persist-ice [PrintMon, TimeProv, Shortcut, Junction, Xll] [persist 或 clean] [arg1] [arg2]所有技术都依赖一个单独的 DLL 文件放置在磁盘上。该 DLL 有意不作为 BOF 的一部分包含在内。
创建包含导出函数 xlAutoOpen() 的 DLL。将 .dll 重命名为 .xll 并放置在 %appdata%\Microsoft\Addins 中。每次打开 Excel 时都会加载该加载项,且无任何通知。向注册表 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\{版本号}\Excel\Options 写入一个项,需要提供正确的版本号(可能存在多个版本)。
示例:
persist-ice Xll persist XllName.xll 16persist-ice Xll clean XllName.xll 16 > 将删除注册表项并尝试删除 DLL。在运行 BOF 之前,DLL 必须已放置在磁盘上且位于 PATH 路径(DLL 搜索顺序)中,否则会失败。DLL 会立即以 SYSTEM 权限由 spoolsv.exe 加载。这可用于从管理员权限提升到 SYSTEM 权限,也可用于持久化。系统启动时执行。必须以管理员权限运行。
示例:
NotMalware.dll 上传到 C:\Windows\NotMalware.dllpersist-ice PrintMon persist TotesLegitMonitor NotMalware.dllpersist-ice PrintMon clean TotesLegitMonitor C:\Windows\NotMalware.dll > 将删除注册表项并卸载 DLL,如果提供了正确路径则尝试删除 DLL。应该能成功。由 svchost.exe 以 NETWORK SERVICE 权限在运行 BOF 后启动时加载。必须以管理员权限运行。
示例:
persist-ice TimeProv persist TotesLegitTimeProvider C:\anywhere\NotMalware.dllpersist-ice TimeProv clean TotesLegitTimeProvider C:\anywhere\NotMalware.dll > 将删除注册表项,如果提供了正确路径则尝试删除 DLL。可能会失败,因为 DLL 未被进程卸载。与 Vault 7 泄露中展示的技术相同。用户登录时执行。无需管理员权限。DLL 将加载到 explorer.exe 中。
注意:这需要是一个 COM 服务器 DLL 才能正常运行。您可以根据需要从 DllRegisterServer、DllMain 或 DllGetClassObject 中执行代码。请确保实现其他必需的导出函数。
示例:
persist-ice Junction persist TotesLegitFolder C:\user-writeable-folder\NotMalware.dll 保存 CLSIDpersist-ice Junction clean TotesLegitFolder C:\user-writeable-folder\NotMalware.dll 6be5e092-90cc-452d-be83-208029e259e0 > 将删除注册表项、交接文件夹并尝试删除 DLL。创建一个新的、用户可写入的文件夹,将一个可被劫持的 Windows 二进制文件复制到该文件夹,然后在启动文件夹中创建一个快捷方式。用户登录时执行。无需管理员权限。
示例:
persist-ice Shortcut persist C:\TotesLegitFolder C:\Windows\System32\Dism.exe > 将您的 DLL 作为代理 DLL dismcore.dll 上传到 C:\TotesLegitFolderpersist-ice Shortcut clean C:\TotesLegitFolder C:\Windows\System32\Dism.exe > 将尝试删除新文件夹中的所有文件,然后删除该文件夹本身。如果 DLL 仍加载在进程中,则会失败。https://stmxcsr.com/persistence/print-monitor.html
https://stmxcsr.com/persistence/time-provider.html
https://pentestlab.blog/2019/10/28/persistence-port-monitors/
https://blog.f-secure.com/hunting-for-junction-folder-persistence/
https://attack.mitre.org/techniques/T1547/010/