ix semana gest tec evolucao

18
PYTHON PENTESTING Análise de Redes Usando Python Marcelo Rodrigues – [email protected] Faculdade Evolução – Maio 2016 IX Semana de Gestão e Tecnologia

Upload: marcelo-rodrigues

Post on 11-Feb-2017

93 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: IX Semana Gest Tec Evolucao

PYTHON PENTESTINGAnálise de Redes Usando Python

Marcelo Rodrigues – [email protected]

Faculdade Evolução – Maio 2016

IX Semana de Gestão e Tecnologia

Page 2: IX Semana Gest Tec Evolucao

About.me

Marcelo Rodrigues Graduado em Redes de Computadores Mestrado em Ciências Analista de Sistemas Prof. Faculdade Evolução Certificação Linux – LPIC 2 Entusiata Software Livre

Page 3: IX Semana Gest Tec Evolucao

O QUE É PENTESTING? Pentesting é um teste que mede a

segurança da informação de um empresa. Verifica-se a segurança da informação na rede da empresa, nos bancos de dados, nos servidores de rede e tudo que seja especificado pela empresa.

No final do Pentesting deve-se apresentar um relatório detalhado das fraquezas encontradas, vulnerabilidades e os riscos associados, assim como as soluções para os problemas.

Page 4: IX Semana Gest Tec Evolucao

PENTESTER X HACKER Pentester e Hacker são termos similares; Pentesters trabalham em empresas ou organizações e usam

seus conhecimentos para evitar tentativas de invasão ou ataques hackers;

Hackers usam seus conhecimentos para outros propósitos como fama, venda de vulnerabilidades por dinheiro ou por simples inimizade;

Page 5: IX Semana Gest Tec Evolucao

O QUE É PYTHON? Python é uma linguagem de programação de alto

nível, interpretada, usa scripts e é orientada a objetos; Foi lançada por Guido van Rossum em 1991; Prioriza a legibilidade do código sobre a velocidade ou

expressividade. Combina uma sintaxe concisa e clara com os recursos

poderosos de sua biblioteca padrão e por módulos e frameworks desenvolvidos por terceiros.

Page 6: IX Semana Gest Tec Evolucao

POR QUE PYTHON?

Simplicidade; Vasta documentação (pt-br); Várias bibliotecas; Comunidade ativa;

Page 7: IX Semana Gest Tec Evolucao

PYTHON – SIMPLICIDADE

Page 8: IX Semana Gest Tec Evolucao

SOFTWARES

Python2.7 scapy (pip install scapy) tcpdump (aptitude install tcpdump) Linux Debian 8 – 64 bits

Page 9: IX Semana Gest Tec Evolucao

AMBIENTE DE TESTES

Page 10: IX Semana Gest Tec Evolucao

IP SCANNER E PORT SCANNER

IP Scanner: Usado para identificar se um host está ativo atráves de seu endereço IP usando o ECHO REQUEST e o ECHO REPLY (PING). Script: ping_sweep.py

Port Scanner: Usado quando o firewall bloqueia o protocolo icmp. Além de verificar se o host está ativo na rede, identifica também as portas abertas no host. Script: portsc.py

Page 11: IX Semana Gest Tec Evolucao

HALF-OPEN SCANNER

Half-Open Scanner é um tipo especial de scanner. Esta técnica é usada para bular as regras do firewall e sistemas de detecção de por logs.

Está técnica utiliza crafting, que consiste na criação de pacotes personalizados.

Usamos um pacote Python chamada Scapy. O Scapy permite a customização de pacotes de rede.

Page 12: IX Semana Gest Tec Evolucao

HALF-OPEN SCANNER

O cliente envia um pacote SYN para o servidor em uma porta específica;

Se a porta está aberta, o servidor responde com um pacote SYN/ACK;

Se um servidor responde com um pacote RST, a porta está fechada;

Script: halfopen.py

Page 13: IX Semana Gest Tec Evolucao

FIN SCANNER

Algumas vezes Firewalls ou Sistemas de Detecção de Intrusão (IDS) são configurados para detectar SYN scans. Neste caso, usamos um FIN Scanner.

O FIN Scanner envia um pacote TCP com somente a flag FIN configurada.

Se não houver resposta, isso significa que a porta está aberta;

Se houver resposta, isso significa que a porta está fechada; Script: fin.py

Page 14: IX Semana Gest Tec Evolucao

ACK FLAG SCANNER

O método ACK Scanner é usado para determinar se um host está ou não protegido por um firewall ou algum tipo de filtragem de pacotes.

Neste método o cliente envia um pacote ACK ao servidor; Se não houver respostas, a porta está sendo filtrada; Se houver reposta, com a Flag 04, a porta não está sendo

filtrada; Scripts: sniffer1.py e ack.py

Page 15: IX Semana Gest Tec Evolucao

PING OF DEATH

O ping da morte (ping of death) é um tipo de negação de serviço onde o atacante deliberadamente envia pacotes do typo ping request com tamanho maior que 65.536 bytes;

Nesse caso, o TCP fragmenta os pacotes ao enviar pela rede; Normalmente o IP do atacante é trocado por um IP falso para

não ser rastreado; Em Python é possível criar um script para enviar vários ping

requests silmutâneamentes; Scripts: pingofd.py

Page 16: IX Semana Gest Tec Evolucao

COLETA DE INFORMAÇÕES - WEB Do ponto de vista para os pentesters, a técnica de coleta

de informações é importante para a manipulação de erros; Esses erros podem ser incluídos em relatórios para

eventuais correções; Informações coletados:

Sistema operacional; Software Web; Aplicações Web;

Script: info.py

Page 17: IX Semana Gest Tec Evolucao

VERIFICAÇÃO CABEÇALHO HTTP

Uma outra maneira de se obter informações é verificando o cabeçalho de páginas web;

O cabeçalho http provê muitas informações sobre o servidor;

O script é bem menor que o anterior; Script: header.py

Page 18: IX Semana Gest Tec Evolucao

OBRIGADO

LIVRO MUITO BOM!