Shellter Project - Ferramenta para bypass de AV

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

[ Hits: 7.469 ]

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

Virtualização: VMware ou VirtualBox no Ubuntu 9.04 com kernel 2.6.29-11?

Explorando celulares Android via Web com airbase-ng

Boot Linux - o que acontece quando ligamos o computador

Race Condition

Distribuição CAINE Linux para forense digital: em Live-CD, pendrive, máquina virtual ou direto em seu Ubuntu 10.04

Leitura recomendada

SELinux - Segurança em Servidores GNU/Linux

Cliente "automágico" Linux logando no domínio NT/Samba

Uma breve abordagem sobre Criptografia

Melhorando o nível de segurança com chflags

Gerenciar e configurar inetd e serviços relacionados

  
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