
Selbst entwickelte Tools für Lateral Movement/Code Execution
Dieses Repository basiert auf dem bereits existierenden [MiscTool][1], daher ein großes Lob an rasta-mouse für die Veröffentlichung und dafür, dass er mir die richtige Motivation gegeben hat, daran zu arbeiten.
Befehlsausführung / Seitwärtsbewegung über PsExec-ähnliche Funktionalität. Muss im Kontext eines privilegierten Benutzers ausgeführt werden. Das Tool basiert auf dem CsExec von rasta-mouse, ist jedoch darauf ausgelegt, zusätzliche Kontrolle über die Dienst-Erstellung zu ermöglichen, insbesondere:
CheeseExec.exe <targetMachine> <serviceName> <binPath> <action>
Siehe auch [TikiService][2].
CheesePS ist ein Framework für Befehlsausführung / Seitwärtsbewegung. Es nutzt System.Management.Automation.PowerShell, um beliebigen Code über PowerShell zu laden und auszuführen.
Das Tool ist nativ in der Lage, gängige Einschränkungen zu umgehen, indem es PowerShell-Runspaces auf lokalen oder entfernten Zielen erstellt und verwendet. Muss im Kontext eines privilegierten Benutzers ausgeführt werden (bei Verwendung von PowerShell-Remoting).
Das Tool wurde ursprünglich als Erweiterung von rasta_mouse CsPosh entwickelt, ist aber so weit gewachsen, dass es ein eigenständiges Framework geworden ist und jetzt als allgemeiner PowerShell-Injektor verwendet werden kann.
Die Idee hinter diesem Tool wurde in folgendem Artikel zusammengefasst:
Die wichtigsten implementierten Funktionen sind:
Der folgende Screenshot ist ein einigermaßen genaues Schema zur Beschreibung des Arbeitsablaufs des Tools:

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
Hinweis: Wenn ohne Ziel ausgeführt, wird das Skript gegen die lokale Maschine ausgeführt
Siehe auch [AmsiBypass][3].
Befehlsausführung / Seitwärtsbewegung über DCOM. Muss im Kontext eines privilegierten Benutzers ausgeführt werden. Dieses Tool basiert auf dem CsDCOM von rasta-mouse, wurde jedoch verbessert, um zusätzliche Methoden hinzuzufügen, die sich an die neuen Forschungen von Philip Tsukerman anpassen. Es gibt auch eine experimentelle Methode, um eventuelle Versuche, betroffene DCOM-Objekte über dcomcfg zu deaktivieren, zu "reparieren", aber dafür müssen einige Vorbedingungen erfüllt sein, damit es richtig funktioniert.
Die Idee hinter diesem Tool wurde in folgendem Artikel zusammengefasst:
Aktuelle Methoden: 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
Hinweis: Bei Ausführung mit -t . wird das Skript gegen die lokale Maschine ausgeführt
Siehe auch [Laterale Bewegung mit DCOM-Objekten und C#][4]