
Собственные инструменты для бокового перемещения/выполнения кода
Этот репозиторий был создан на основе уже существующего [MiscTool][1], поэтому огромное спасибо rasta-mouse за их публикацию и за то, что дал мне правильную мотивацию для работы над ними.
Выполнение команд / Lateral movement через функциональность, подобную PsExec. Должен выполняться в контексте привилегированного пользователя. Инструмент основан на rasta-mouse CsExec, но спроектирован так, чтобы обеспечить дополнительный контроль над созданием службы, а именно:
CheeseExec.exe <targetMachine> <serviceName> <binPath> <action>
См. также [TikiService][2].
Cheese PS — это фреймворк для выполнения команд / Lateral Movement. Он использует System.Management.Automation.PowerShell для загрузки и выполнения произвольного кода через PowerShell.
Инструмент изначально способен обходить распространённые ограничения, создавая и используя пространства выполнения PowerShell на локальных или удалённых целях.
Должен выполняться в контексте привилегированного пользователя (при использовании PowerShell Remoting).
Инструмент изначально был создан как улучшение rasta_mouse CsPosh, но вырос до самостоятельного фреймворка и теперь может использоваться как универсальный инжектор PowerShell.
Идея этого инструмента была обобщена в следующей статье:
Основные реализованные функции:
Следующий скриншот представляет собой достаточно точную схему, описывающую рабочий процесс инструмента:

Usage:
-t, --target=VALUE Target machine
-c, --code=VALUE Code to execute
-e, --encoded Indicates that provided code is base64 encoded
-a, --am-si-bypass=VALUE Uses the given PowerShell script to bypass A-M-S-
I (fs, smb o http[s])
--aX, --encrypted-am-si
Indicates that provided A.M.S.I. bypass is
encrypted
-i, --import=VALUE Imports additional PowerShell modules (fs, smb o
http[s])
--iX, --encrypted-imports
Indicates that provided PowerShell modules are
encrypted
-o, --outstring Append Out-String to code
-r, --redirect Redirect stderr to stdout
-d, --domain=VALUE Domain for alternate credentials
-u, --username=VALUE Username for alternate credentials
-p, --password=VALUE Password for alternate credentials
-X, --encrypt=VALUE Encrypt a script with an hardcoded key
-D, --decrypt=VALUE Test decryption of a script with an hardcoded key
-n, --skip-bypass=VALUE Skip A.M.S.I (A), WLDP (W) or ALL (*) Bypass
techniques
-l, --lockdown-escape Try to enable PowerShell FullLanguage mode using
REGINI
-w, --wldp-bypass=VALUE Uses the given PowerShell script to bypass WLDP
(fs, smb o http[s])
--wX, --encrypted-wldp Indicates that provided WLDP bypass is encrypted
-x, --executable=VALUE [Download and] Execute given executable
--xX, --encrypted-executable
Indicates that provided Exe/DLL is encrypted
--xCS, --executable-csharp
Indicates that the executable provided is C# -
(.NET)
-R, --reflective-injection Uses Invoke-ReflectivePEInjection to load the
assmebly from memory (requires Invoke-
ReflectivePEInjection to be imported!)
-P, --powershell-decrypt Force use of PowerShell-based decryption
-k, --encryption-key=VALUE Uses the provided key for encryption/decryption
--ssl Force use of SSL
-h, -?, --help Show Help
Примечание: Если запущено без указания цели, скрипт выполнится на локальной машине
См. также [AmsiBypass][3].
Выполнение команд / Lateral Movement через DCOM. Должен выполняться в контексте привилегированного пользователя. Этот инструмент основан на rasta-mouse CsDCOM, но был улучшен для добавления дополнительных методов, адаптируясь к новым исследованиям Филипа Цукермана. Существует также экспериментальный метод для «исправления» возможных попыток отключения затронутых объектов DCOM через dcomcfg, но для его правильной работы требуются некоторые предварительные условия.
Идея этого инструмента была обобщена в следующей статье:
Текущие методы: MMC20.Application, ShellWindows, ShellBrowserWindow, ExcelDDE, VisioAddonEx,
OutlookShellEx, ExcelXLL, VisioExecLine, OfficeMacro.
Usage:
-t, --target=VALUE Target Machine
-b, --binary=VALUE Binary: powershell.exe
-a, --args=VALUE Arguments: -enc <blah>
-m, --method=VALUE Methods: MMC20Application, ShellWindows,
ShellBrowserWindow, ExcelDDE, VisioAddonEx,
OutlookShellEx, ExcelXLL, VisioExecLine,
OfficeMacro
-r, --reg, --registry Enable registry manipulation
-h, -?, --help Show Help
Примечание: Если запущено с -t ., скрипт выполнится на локальной машине
См. также [Lateral Movement Using DCOM Objects and C#][4]
Похититель учётных данных RDP через RDI (рефлексивная инъекция DLL). Должен выполняться в контексте привилегированного пользователя или пользователя с привилегией SeImpersonatePrivilege.
Этот инструмент построен на основе RdpThief от MDSec, но полностью обёрнут в единый C#, что позволяет запускать его через .NET Reflection (Assembly.Load и подобные). Таким образом,
его можно запускать через Covenant без необходимости загружать DLL в целевую систему.