Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

IX Semana Gest Tec Evolucao

258 views

Published on

IX Semana Gest Tec Evolucao

Published in: Technology
  • Be the first to comment

  • Be the first to like this

IX Semana Gest Tec Evolucao

  1. 1. PYTHON PENTESTING Análise de Redes Usando Python Marcelo Rodrigues – marcelorodriguesss@gmail.com Faculdade Evolução – Maio 2016 IX Semana de Gestão e Tecnologia
  2. 2. 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
  3. 3. 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.
  4. 4. 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;
  5. 5. 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.
  6. 6. POR QUE PYTHON?  Simplicidade;  Vasta documentação (pt-br);  Várias bibliotecas;  Comunidade ativa;
  7. 7. PYTHON – SIMPLICIDADE
  8. 8. SOFTWARES  Python2.7  scapy (pip install scapy)  tcpdump (aptitude install tcpdump)  Linux Debian 8 – 64 bits
  9. 9. AMBIENTE DE TESTES
  10. 10. 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
  11. 11. 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.
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. OBRIGADO LIVRO MUITO BOM!

×