Aprendendo Pentest com Python
Utilize scripts Python para executar pentests eficazes e eficientes
Descrição do livro
Python é uma poderosa plataforma de script da nova era que permite construir exploits, auditar serviços, automatizar e vincular soluções com facilidade. Python é uma linguagem de programação multiparadigma adequada tanto para o desenvolvimento de aplicações orientadas a objeto quanto para padrões de design funcional.
Este livro destaca como você pode avaliar uma organização de maneira metódica e realista. São abordadas técnicas comerciais e experiências específicas que mostram exatamente quando e onde as ferramentas da indústria podem e devem ser usadas.
Do início ao fim, este livro guia o leitor ao longo do processo de criação de scripts em Python, que atendam às suas necessidades relativas e que possam ser adaptados a situações particulares. À medida que você avança pelos capítulos, os exemplos de scripts explicam conceitos novos para aprimorar seu conhecimento. Ao final, você será de capaz de construir ferramentas de segurança multithread, associar ferramentas de segurança, automatizar relatórios, criar exploits personalizados e expandir módulos do Metasploit.
A quem este livro se destina
Se você é um profissional de segurança ou pesquisador com conhecimento em diferentes sistemas operacionais e noção conceitual de pentests, aliados à vontade de desenvolver seu conhecimento em Python, então este livro é ideal para você.
Com este livro você aprenderá a:
Familiarizar-se com a nova geração de recursos do Metasploit.
Usar chamadas de procedimento remoto do Metasploit (MSFRPC) para automatizar a criação e execução de exploits.
Usar as bibliotecas Scapy, network, socket, office e Nmap e seus módulos personalizados.
Fazer análise sintática de planilhas do Microsoft Office e de arquivos eXtensible Markup Language (XML).
Escrever scripts visando ao buffer overflow, praticando também a engenharia reversa de módulos do Metasploit com o intuito de expandir suas capacidades.
Explorar a inclusão remota de arquivos (RFI) para obter acesso administrativo a sistemas com Python e outras linguagens de script.
Romper o perímetro da internet de uma organização.
Encadear exploits para obter acesso a recursos mais profundos de uma organização.
Interagir com web services via Python.
Sumário
- Aviso legal
- Sobre o autor
- Agradecimentos
- Sobre os revisores
- Prefácio
- Entendendo a metodologia dos pentests
- Uma visão geral dos pentests
- Entendendo o que um pentest não é
- Auditorias de vulnerabilidade
- Auditorias de engenharia reversa
- Hacking
- Metodologias de auditoria
- Padrão de execução de pentest
- Interações pré-contrato
- Coleta de inteligência
- Modelagem de ameaças
- Análise de vulnerabilidade
- Exploração
- Pós-exploração
- Relatórios
- Um exemplo de contrato
- Ferramentas de pentest
- NMAP
- Metasploit
- Veil
- Burp Suite
- Hydra
- John the Ripper
- oclHashcat
- Ophcrack
- Mimikatz e Incognito
- SMBexec
- Cewl
- Responder
- theHarvester e Recon-NG
- pwdump e fgdump
- Netcat
- Ferramentas do Sysinternals
- Resumo
- Noções básicas de script em Python
- Entendendo a diferença entre linguagens interpretadas e compiladas
- Python – o mocinho e o bandido
- Um interpretador interativo de Python versus um script
- Variáveis de ambiente e PATH
- Entendendo linguagens com tipagem dinâmica
- Seu primeiro script Python
- Desenvolvendo scripts e identificando erros
- Palavras reservadas, palavras-chave e funções internas
- Variáveis globais e locais
- Entendendo um namespace
- Módulos e importações
- Formatação com Python
- Indentação
- Variáveis em Python
- Depuração de valores de variáveis
- Variáveis string
- Variáveis numéricas
- Convertendo variáveis string e variáveis numéricas
- Variáveis do tipo lista
- Variáveis do tipo tupla
- Variáveis do tipo dicionário
- Entendendo valores e construtores-padrão
- Atribuindo uma variável para uma string
- Operadores
- Operadores de comparação
- Operadores de atribuição
- Operadores aritméticos
- Operadores lógicos e de afiliação
- Instruções compostas
- Instrução if
- Loops do Python
- Rotinas de tratamento de eventos condicionais
- Funções
- Impacto das linguagens com tipagem dinâmica em funções
- Colchetes
- Como comentar seu código
- Guia de estilo do Python
- Classes
- Funções
- Variáveis e nomes de instância
- Argumentos e opções
- Seu primeiro script auditor
- Resumo
- Identificando alvos com Nmap, Scapy e Python
- Entendendo como os sistemas se comunicam
- Arquitetura de quadros Ethernet
- Arquitetura de pacotes IP
- Arquitetura do cabeçalho TCP
- Entendendo como funciona o TCP
- Arquitetura do cabeçalho UDP
- Entendendo como funciona o UDP
- Entendendo o Nmap
- Fornecendo os intervalos-alvo para o Nmap
- Executando os diferentes tipos de verificação
- Executando varreduras UDP e TCP combinadas
- Ignorando as varreduras de sistema operacional
- Diferentes tipos de saída
- Mecanismo de script Nmap
- Sendo eficiente com varreduras Nmap
- Bibliotecas Nmap para Python
- Biblioteca Scapy para Python
- Resumo
- Executando ataques de credenciais com Python
- Tipos de ataques de credenciais
- Definindo o ataque online de credenciais
- Definindo o ataque offline de credenciais
- Identificando o alvo
- Criando nomes de usuário-alvo
- Gerando e verificando nomes de usuário com a ajuda do censo dos EUA
- Gerando os nomes de usuário
- Testes para identificação de usuários utilizando SMTP VRFY
- Criando o script SMTP VRFY
- Resumo
- Explorando serviços com Python
- Entendendo a nova era da exploração de serviços
- Entendendo o encadeamento de exploits
- Verificando senhas fracas, senhas-padrão ou senhas conhecidas
- Adquirindo acesso root ao sistema
- Entendendo a quebra de hashes no Linux
- Testando a sincronização de credenciais de conta
- Automatizando o encadeamento de exploits com Python
- Resumo
- Auditando aplicações web com Python
- Identificando aplicativos ativos contra portas abertas
- Identificando arquivos e diretórios ocultos com Python
- Ataques de credenciais com o Burp Suite
- Usando o twill para analisar o código-fonte
- Entendendo quando usar o Python para auditorias web
- Entendendo quando usar bibliotecas específicas
- Sendo eficiente durante as auditorias web
- Resumo
- Rompendo o perímetro com Python
- Entendendo o perímetro de hoje
- Protocolos de texto
- Aplicativos web
- Serviços de acesso remoto criptografados
- Redes Privadas Virtuais (VPNs)
- Serviços de correio
- Domain Name Service (DNS)
- Serviços User Datagram Protocol (UDP)
- Entendendo a relação entre contas e serviços
- Invadindo caixas de entrada com o Burp Suite
- Identificando o caminho do ataque
- Entendendo as limitações da varredura do perímetro
- Download de arquivos de backup a partir de um servidor TFTP
- Quebrando hashes Cisco MD5
- Ganhando acesso por meio de sites
- A execução de ataques de inclusão de arquivo
- Resumo
- Desenvolvimento de exploits com Python, Metasploit e Immunity
- Introdução aos registradores
- Entendendo os registradores de uso geral
- Entendendo os registradores de uso específico
- Entendendo a estrutura de memória do Windows
- Entendendo a pilha e o heap
- Entendendo imagens de programa e bibliotecas de vínculo dinâmico
- Entendendo o bloco de ambiente de processo
- Entendendo o bloco de ambiente de thread
- Kernel
- Entendendo endereços de memória e sua ordenação
- Entendendo a manipulação da pilha
- Entendendo o Immunity
- Entendendo o básico sobre o buffer overflow
- Escrevendo um exploit de buffer overflow básico
- Entendendo os ajustes de pilha
- Entendendo o propósito dos exploits locais
- Noções básicas sobre outros scripts de exploit
- Explorando binários independentes através da execução de scripts
- Exploração de sistemas através de serviço TCP
- Exploração de sistemas através de serviço UDP
- Fazendo a engenharia reversa dos módulos do Metasploit
- Entendendo os mecanismos de proteção
- Resumo
- Automatizando tarefas e relatórios com Python
- Entendendo como analisar arquivos XML para a criação de relatórios
- Entendendo como criar uma classe em Python
- Criando um script em Python para analisar um XML do Nmap
- Criando um script em Python para gerar planilhas do Excel
- Resumo
- Adicionando durabilidade a ferramentas Python
- Entendendo o registro em log do Python
- Entendendo a diferença entre multithreading e multiprocessamento
- Criando um script multithreaded em Python
- Criando um script com multiprocessamento em Python
- Construindo ferramentas com padrão de indústria
- Resumo
Sobre o autor
Christopher Duffy é atualmente um dos mais respeitados especialistas em segurança cibernética e testes de penetração do mundo. … Ver perfil completo ▶
Livros relacionados
Opinião dos leitores
EMERSON L C
Muito bom livro, bem didático.
Jeferson R
Excelente.
Jason B
Muito bom o livro, vale muito, porém é necessário algum conhecimento prévio do assunto.
Rogelio G
Muito bom livro, mas é um livro para quem tem uma base mais estruturada da linguagem Python, vale muito a pena comprar.






