Shellter Project - Ferramenta para bypass de AV

Ferramenta Linux utilizada para codificar arquivos maliciosos para bypass de antivírus.

[ Hits: 8.235 ]

Por: Luiz Vieira em 06/11/2015 | Blog: http://hackproofing.blogspot.com/


Burlando antivírus



Há tempos ensino em um de meus cursos, como é possível burlar antivírus com binários maliciosos, fazendo o enconding do mesmos, além de também trabalhar com PE's que são aplicações nativas de Windows, portanto consideradas inócuas pelos antivírus, só que payloads maliciosos personalizados embutidos e também encodados.

Todo esse processo, sempre ensino a fazer manualmente, para que o aluno saiba como funciona e o que acontece por debaixo dos panos. Então dá-lhe immunity debugger, LordPE e outras ferramentas para fazer isso, e um pouco de conhecimento e assembly.

Basicamente, para pegarmos um PE válido, standalone, e transformarmos em um binário com payload malicioso embutido e encodado seguimos o seguinte procedimento:
  • criamos um stub, com permissão de execução, dentro do PE, onde injetaremos os códigos (payload e encoder/decoder baseado em XOR por exemplo);
  • injetamos o payload e o encoder/decoder no stub;
  • alteramos o entrypoint do PE para o início o decoder;
  • colocamos um breakpoint no final do payload malicioso e configuramos para que nosso encoder codifique apenas o código do payload;
  • executamos o programa (através de um debugger) e quando a execução para no breakpoint, salvamos o código todo, já encodado, como um novo PE.

Pontos de atenção:
  • o entrypoint do PE deve estar direcionado para o início do encoder/decoder que agora vai decodificar o payload sempre que o mesmo for carregado na memória;
  • após o decoder ser executado, o payload precisa ser executado, e ao final direcionar o fluxo de execução para o entrypoint original;
  • a pilha deve estar organizada, ao final de execução do payload e redirecionamento de fluxo de execução para o entrypoint original, da mesma maneira como estaria se o fluxo de execução normal não houvesse sido alterado.

Resumindo, esse é o trabalho que temos para criar um PE válido, com código malicioso embutido e bypass de antivirus. Um pouco trabalhoso, não?

Como expliquei antes, prefiro ensinar isso aos meus alunos, para que saibam o que acontece quando usamos ferramentas automatizadas, como é o caso do Shellter.

Shellter é uma ferramenta de injeção dinâmica de shellcode em PE's de 32bits, e os shellcodes podem ser tanto personalizados, quanto criados por outras ferramentas como o Metasploit ou Veil Framework (que já utiliza técnicas de evasão de AV muito melhores que o Metasploit).

Alguns tipos de payload que o Shellter já utiliza por padrão:

[1] meterpreter_reverse_tcp
[2] meterpreter_reverse_http
[3] meterpreter_reverse_https
[4] meterpreter_bind_tcp
[5] shell_reverse_tcp
[6] shell_bind_tcp
[7] WinExec


Outra característica interessantíssima dessa ferramenta, é o Stealth Mode feature, que permite infectar o mesmo binário mais de uma vez, e com mais de um payload. Eles chama isso de RedTeam funcionality, pois para quem precisa fazer um pentest físico, com engenharia social, é muito melhor ser capaz de executar vários ataques de uma só vez plugando um pendrive na máquina da vítima ou enviando um binário malicioso.

E uma das coisas mais importantes, para proteger contra a detecção de antivírus, é o código polimórfico, como destacado na documentação do próprio Shellter:

"Shellter will break down a given algorithm or code block and will mix its effective instructions with dynamically generated polymorphic code that does not interfere with the logic of the original algorithm."
E ainda possui proteções contra engenharia reversa :-)

Para aprender um pouco mais sobre essas ferramentas (Shellter e Veil Framework), acesse seus sites, pois tem muita coisa interessante lá!
Divirtam-se!

   

Páginas do artigo
   1. Burlando antivírus
Outros artigos deste autor

PNL para Hacking

Metasploit Framework

Wmap web scanner

Análise de Malware em Forense Computacional

Instalação do Wonderland Server

Leitura recomendada

Monitorando máquinas Windows com o Nagios

Diminua os vetores de exploração, conheça o DOAS

Matriz <-> Filial com o OpenVPN

Desligamento automático seletivo com apcupsd

Race condition - vulnerabilidades em suids

  
Comentários
[1] Comentário enviado por kads em 14/11/2015 - 22:11h

Parabéns pelo artigo Luiz, a fusão do seu projeto com a atrix team é que tem na efnet #atrix ?

[2] Comentário enviado por jhonelima em 22/11/2015 - 13:11h

Parabéns pelo artigo Luiz, você é realmente muito bom no que faz.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts