
Ferramentas autodesenvolvidas para Movimento Lateral/Execução de Código
Este repositório foi criado com base no já existente [MiscTool][1], então um grande agradecimento ao rasta-mouse por ter lançado essas ferramentas e por me dar a motivação certa para trabalhar nelas.
Execução de comandos / Movimentação lateral através de funcionalidade semelhante ao PsExec. Deve estar sendo executado no contexto de um usuário privilegiado. A ferramenta é baseada no CsExec do rasta-mouse, mas foi projetada para permitir controle adicional sobre a criação de serviços, especificamente:
CheeseExec.exe <targetMachine> <serviceName> <binPath> <action>
Veja também [TikiService][2].
CheesePS é um framework de Execução de Comandos / Movimentação Lateral. Ele depende de System.Management.Automation.PowerShell para carregar e executar código arbitrário via PowerShell.
A ferramenta é nativamente capaz de contornar restrições comuns criando e usando runspaces do PowerShell em alvos locais ou remotos.
Deve ser executada no contexto de um usuário privilegiado (se estiver usando PowerShell Remoting).
A ferramenta foi originalmente criada como uma melhoria do CsPosh do rasta_mouse, mas cresceu o suficiente para se tornar um framework próprio, e agora pode ser usada como um injetor genérico de PowerShell.
A ideia por trás desta ferramenta foi resumida no seguinte artigo:
As principais funcionalidades implementadas são:
A seguinte captura de tela é um esquema razoavelmente preciso para descrever o fluxo de trabalho da ferramenta:

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
Nota: Se executado sem um alvo, o script será executado contra a máquina local
Veja também [AmsiBypass][3].
Execução de comandos / Movimentação Lateral via DCOM. Deve ser executado no contexto de um usuário privilegiado. Esta ferramenta é baseada no CsDCOM do rasta-mouse, mas foi aprimorada para adicionar métodos adicionais, adaptando-se às novas pesquisas feitas por Philip Tsukerman. Há também um método experimental para "corrigir" eventuais tentativas de desabilitar objetos DCOM afetados via dcomcfg, mas requer algumas pré-condições para funcionar corretamente.
A ideia por trás desta ferramenta foi resumida no seguinte artigo:
Métodos Atuais: 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
Nota: Se executado com -t ., o script será executado contra a máquina local
Veja também [Movimentação Lateral Usando Objetos DCOM e C#][4]
Ferramenta de roubo de credenciais RDP via RDI (injeção reflexiva de DLL). Deve ser executado no contexto de um usuário privilegiado, ou um usuário com SeImpersonatePrivilege.
Esta ferramenta é construída sobre o RdpThief da MDSec, mas foi totalmente encapsulada em um único C# para permitir sua execução via .NET Reflection (Assembly.Load e similares). Dessa forma, é
possível executá-la via Covenant, sem a dificuldade de fazer upload de uma DLL no sistema alvo.