8
7/26/2019 Python Pentest http://slidepdf.com/reader/full/python-pentest 1/8 Novatec Christopher Duffy

Python Pentest

Embed Size (px)

Citation preview

Page 1: Python Pentest

7/26/2019 Python Pentest

http://slidepdf.com/reader/full/python-pentest 1/8

Novatec

Christopher Duffy

Page 2: Python Pentest

7/26/2019 Python Pentest

http://slidepdf.com/reader/full/python-pentest 2/8

Copyright © Packt Publishing 2015. First published in the English language under the title “LearningPenetration Testing with Python” (9781785282324)

Copyright © Packt Publishing 2015. Publicação original em inglês intitulada “Learning PenetrationTesting with Python” (9781785282324)Esta tradução é publicada e vendida com a permissão da Packt Publishing.

© Novatec Editora Ltda. 2016.

Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução destaobra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.

Editor: Rubens Prates PY20160517Tradução: Edson FurmankiewiczRevisão técnica: BrodTecAssistente editorial: Priscila YoshimatsuRevisão gramatical: Smirna CavalheiroEditoração eletrônica: Carolina Kuwabata

ISBN: 978-85-7522-505-9

Histórico de impressões:

Maio/2016 Primeira edição

Novatec Editora Ltda.Rua Luís Antônio dos Santos 11002460-000 – São Paulo, SP – Brasil

Tel.: +55 11 2959-6529E-mail: [email protected]: novatec.com.brTwitter: twitter.com/novateceditoraFacebook: facebook.com/novatecLinkedIn: linkedin.com/in/novatec

Page 3: Python Pentest

7/26/2019 Python Pentest

http://slidepdf.com/reader/full/python-pentest 3/8

5

Sumário

Aviso legal ............................................................................................................................11

Sobre o autor ........................................................................................................................12

Agradecimentos ....................................................................................................................14

Sobre os revisores .................................................................................................................15

Prefácio ................................................................................................................................17

Capítulo 1 ■ Entendendo a metodologia dos pentests .............................................................21

Uma visão geral dos pentests ............................................................................... 22Entendendo o que um pentest não é .................................................................... 23

Auditorias de vulnerabilidade ...........................................................................24Auditorias de engenharia reversa ......................................................................24Hacking ...........................................................................................................24

Metodologias de auditoria ................................................................................... 25Padrão de execução de pentest ............................................................................. 25

Interações pré-contrato ....................................................................................27Coleta de inteligência .......................................................................................31Modelagem de ameaças ....................................................................................32Análise de vulnerabilidade ...............................................................................34Exploração ......................................................................................................35Pós-exploração.................................................................................................37Relatórios ........................................................................................................37Um exemplo de contrato ..................................................................................38

Ferramentas de pentest.........................................................................................41NMAP.............................................................................................................42Metasploit .......................................................................................................43Veil ................................................................................................................. 44Burp Suite ....................................................................................................... 46Hydra ............................................................................................................. 46

Page 4: Python Pentest

7/26/2019 Python Pentest

http://slidepdf.com/reader/full/python-pentest 4/8

Aprendendo Pentest com Python6

 John the Ripper ...............................................................................................47oclHashcat ......................................................................................................50Ophcrack.........................................................................................................51Mimikatz e Incognito .......................................................................................51

SMBexec .........................................................................................................51Cewl ................................................................................................................52Responder .......................................................................................................52theHarvester e Recon-NG ................................................................................53pwdump e fgdump ...........................................................................................53Netcat .............................................................................................................53Ferramentas do Sysinternals .............................................................................54

Resumo ...............................................................................................................54

Capítulo 2 ■ Noções básicas de script em Python ....................................................................55Entendendo a diferença entre linguagens interpretadas e compiladas .....................56

Python – o mocinho e o bandido ......................................................................58Um interpretador interativo de Python versus um script ................................... 60Variáveis de ambiente e PATH ......................................................................... 60Entendendo linguagens com tipagem dinâmica .................................................61

Seu primeiro script Python ...................................................................................62Desenvolvendo scripts e identificando erros ..........................................................63

Palavras reservadas, palavras-chave e funções internas ......................................63

Variáveis globais e locais ................................................................................. 64Entendendo um namespace ..............................................................................65Módulos e importações ....................................................................................65

Formatação com Python ..................................................................................... 66Indentação ...................................................................................................... 66

Variáveis em Python .............................................................................................67Depuração de valores de variáveis .....................................................................67Variáveis string ................................................................................................68Variáveis numéricas .........................................................................................69Convertendo variáveis string e variáveis numéricas ...........................................70Variáveis do tipo lista .......................................................................................72Variáveis do tipo tupla .....................................................................................74Variáveis do tipo dicionário ..............................................................................74Entendendo valores e construtores-padrão ........................................................75Atribuindo uma variável para uma string ..........................................................75

Operadores ......................................................................................................... 77Operadores de comparação ............................................................................. 77

Operadores de atribuição .................................................................................78Operadores aritméticos ....................................................................................79

Page 5: Python Pentest

7/26/2019 Python Pentest

http://slidepdf.com/reader/full/python-pentest 5/8

7Sumário

Operadores lógicos e de afiliação ......................................................................79Instruções compostas .......................................................................................... 80

Instrução if ..................................................................................................... 80Loops do Python .............................................................................................81

Rotinas de tratamento de eventos condicionais .................................................83Funções .............................................................................................................. 84Impacto das linguagens com tipagem dinâmica em funções.............................. 84Colchetes ........................................................................................................ 84Como comentar seu código ............................................................................. 86

Guia de estilo do Python ......................................................................................87Classes ............................................................................................................87Funções ...........................................................................................................87Variáveis e nomes de instância ..........................................................................87

Argumentos e opções .......................................................................................... 88Seu primeiro script auditor ...................................................................................89Resumo ...............................................................................................................93

Capítulo 3 ■ Identificando alvos com Nmap, Scapy e Python .................................................. 94

Entendendo como os sistemas se comunicam ........................................................95Arquitetura de quadros Ethernet ......................................................................97Arquitetura de pacotes IP ................................................................................ 99Arquitetura do cabeçalho TCP .......................................................................100

Entendendo como funciona o TCP .................................................................101Arquitetura do cabeçalho UDP .......................................................................101Entendendo como funciona o UDP ................................................................. 101

Entendendo o Nmap ..........................................................................................102Fornecendo os intervalos-alvo para o Nmap ....................................................103Executando os diferentes tipos de verificação ..................................................104Executando varreduras UDP e TCP combinadas .............................................106Ignorando as varreduras de sistema operacional ..............................................108Diferentes tipos de saída .................................................................................108Mecanismo de script Nmap ............................................................................113Sendo eficiente com varreduras Nmap ............................................................ 114

Bibliotecas Nmap para Python ...........................................................................117Biblioteca Scapy para Python ..............................................................................125Resumo .............................................................................................................130

Capítulo 4 ■ Executando ataques de credenciais com Python ................................................131

Tipos de ataques de credenciais ..........................................................................132

Definindo o ataque online de credenciais ........................................................132Definindo o ataque offline de credenciais ........................................................132

Page 6: Python Pentest

7/26/2019 Python Pentest

http://slidepdf.com/reader/full/python-pentest 6/8

Aprendendo Pentest com Python8

Identificando o alvo ...........................................................................................135Criando nomes de usuário-alvo ..........................................................................135

Gerando e verificando nomes de usuário com a ajuda do censo dos EUA .........136Gerando os nomes de usuário ........................................................................137

Testes para identificação de usuários utilizando SMTP VRFY .............................146Criando o script SMTP VRFY ........................................................................147Resumo .............................................................................................................153

Capítulo 5 ■ Explorando serviços com Python .......................................................................154

Entendendo a nova era da exploração de serviços ................................................155Entendendo o encadeamento de exploits .............................................................157Verificando senhas fracas, senhas-padrão ou senhas conhecidas ..........................157Adquirindo acesso root ao sistema ......................................................................159

Entendendo a quebra de hashes no Linux .......................................................166Testando a sincronização de credenciais de conta ............................................167

Automatizando o encadeamento de exploits com Python ....................................172Resumo .............................................................................................................178

Capítulo 6 ■ Auditando aplicações web com Python .............................................................179

Identificando aplicativos ativos contra portas abertas .......................................... 181Identificando arquivos e diretórios ocultos com Python .......................................183

Ataques de credenciais com o Burp Suite ............................................................187Usando o twill para analisar o código-fonte ........................................................192Entendendo quando usar o Python para auditorias web ......................................193

Entendendo quando usar bibliotecas específicas .............................................193Sendo eficiente durante as auditorias web .......................................................195

Resumo .............................................................................................................196

Capítulo 7 ■ Rompendo o perímetro com Python ..................................................................197

Entendendo o perímetro de hoje .........................................................................197

Protocolos de texto ........................................................................................197Aplicativos web ..............................................................................................198Serviços de acesso remoto criptografados ........................................................199Redes Privadas Virtuais (VPNs) ......................................................................199Serviços de correio .........................................................................................199Domain Name Service (DNS) .........................................................................200Serviços User Datagram Protocol (UDP) .........................................................200

Entendendo a relação entre contas e serviços.......................................................200Invadindo caixas de entrada com o Burp Suite ....................................................201

Page 7: Python Pentest

7/26/2019 Python Pentest

http://slidepdf.com/reader/full/python-pentest 7/8

9Sumário

Identificando o caminho do ataque .....................................................................202Entendendo as limitações da varredura do perímetro ......................................202Download de arquivos de backup a partir de um servidor TFTP......................204Quebrando hashes Cisco MD5 .......................................................................207

Ganhando acesso por meio de sites .....................................................................208A execução de ataques de inclusão de arquivo .................................................209Resumo .............................................................................................................213

Capítulo 8 ■ Desenvolvimento de exploits com Python, Metasploit e Immunity .....................214

Introdução aos registradores ............................................................................... 214Entendendo os registradores de uso geral ........................................................215Entendendo os registradores de uso específico ................................................216

Entendendo a estrutura de memória do Windows ............................................... 217

Entendendo a pilha e o heap ...........................................................................217Entendendo imagens de programa e bibliotecas de vínculo dinâmico ...............220Entendendo o bloco de ambiente de processo ..................................................222Entendendo o bloco de ambiente de thread .....................................................222Kernel............................................................................................................222

Entendendo endereços de memória e sua ordenação ............................................223Entendendo a manipulação da pilha ...................................................................224Entendendo o Immunity ....................................................................................227Entendendo o básico sobre o buffer overflow.......................................................227

Escrevendo um exploit de buffer overflow básico.................................................231Entendendo os ajustes de pilha ...........................................................................247Entendendo o propósito dos exploits locais .........................................................250Noções básicas sobre outros scripts de exploit ....................................................251

Explorando binários independentes através da execução de scripts ..................252Exploração de sistemas através de serviço TCP ...............................................252Exploração de sistemas através de serviço UDP ...............................................253

Fazendo a engenharia reversa dos módulos do Metasploit ...................................254Entendendo os mecanismos de proteção .............................................................262Resumo .............................................................................................................262

Capítulo 9 ■ Automatizando tarefas e relatórios com Python ................................................263

Entendendo como analisar arquivos XML para a criação de relatórios .................263Entendendo como criar uma classe em Python ....................................................269

Criando um script em Python para analisar um XML do Nmap ......................271Criando um script em Python para gerar planilhas do Excel ............................279

Resumo .............................................................................................................286

Page 8: Python Pentest

7/26/2019 Python Pentest

http://slidepdf.com/reader/full/python-pentest 8/8

Aprendendo Pentest com Python10

Capítulo 10 ■ Adicionando durabilidade a ferramentas Python .............................................287

Entendendo o registro em log do Python .............................................................287Entendendo a diferença entre multithreading e multiprocessamento ....................288

Criando um script multithreaded em Python ..................................................288

Criando um script com multiprocessamento em Python ..................................294Construindo ferramentas com padrão de indústria ..............................................301Resumo .............................................................................................................302