Principais conclusões
1. Estabeleça uma Linha de Base para Testes de Penetração
Para alcançar isso, você precisa ter um sistema padrão de linha de base, ferramentas e processos.
Processo Repetível. Uma abordagem consistente é crucial para testes de penetração eficazes. Isso envolve a configuração de sistemas de ataque padronizados, ferramentas e metodologias. Ter tanto uma máquina Windows quanto uma Linux configuradas com ferramentas essenciais permite testes consistentes em diferentes ambientes.
Snapshots de Máquinas Virtuais. Tirar snapshots de máquinas virtuais (VMs) limpas e configuradas é uma salvação. Isso permite que você retorne rapidamente a um estado conhecido, aplique patches, atualize ferramentas e adicione quaisquer ferramentas adicionais necessárias para compromissos específicos. Isso economiza tempo e garante consistência nos testes.
Hardware e Software. Os requisitos básicos de hardware incluem um laptop com pelo menos 8 GB de RAM, 500 GB de espaço em disco rígido (preferencialmente SSD) e um processador Intel Quad Core i7. O software essencial inclui VMware Workstations/Fusion/Player ou Virtual Box, e Kali Linux. Ferramentas comerciais como Nexpose/Nessus e Burp Suite são altamente recomendadas para testes profissionais.
2. Domine a Coleta de Informações Passivas
Comece com a Descoberta Passiva, que buscará informações sobre o alvo, rede, clientes e mais, sem nunca tocar no host alvo.
Reconhecimento Não Intrusivo. A descoberta passiva envolve a coleta de informações sobre o alvo sem interagir diretamente com seus sistemas. Isso é crucial para evitar detecção e obter insights iniciais sobre a infraestrutura, pessoal e presença online do alvo.
Scripts de Descoberta. Ferramentas como Discover-scripts automatizam várias buscas, incluindo a identificação de pessoas dentro da organização, domínios, endereços de e-mail e arquivos. Esta ferramenta agrega informações de várias fontes, como LinkedIn, Google dorks e registros WHOIS, em um único relatório.
Listas Comprometidas. Utilizar dumps de credenciais conhecidas para reutilização de senhas pode ser altamente eficaz. Ao analisar bancos de dados vazados, como o vazamento da Adobe, você pode identificar endereços de e-mail e senhas criptografadas associadas ao domínio alvo. Essas informações podem ser usadas para quebra de senhas ou campanhas de spear phishing.
3. Empregue Técnicas de Escaneamento Ativo
A descoberta ativa é o processo de tentar identificar sistemas, serviços e potenciais vulnerabilidades.
Identificação de Sistemas e Serviços. A descoberta ativa envolve interagir diretamente com a rede alvo para identificar sistemas, serviços e potenciais vulnerabilidades. Isso requer o uso de scanners de rede como Nmap e scanners de vulnerabilidades como Nexpose/Nessus.
Processo de Escaneamento. Um processo típico de escaneamento envolve:
- Escaneamento de Vulnerabilidades de Rede (Nexpose/Nessus)
- Escaneamento com Nmap
- Escaneamento com Scripts Personalizados do Nmap
- Captura de Tela com PeepingTom
Captura de Banner do Nmap. Executar um escaneamento personalizado de detecção de sistema operacional e serviços do Nmap em portas comuns (ou todas as 65.535 portas) é essencial. Usar um script de captura de banner como banner-plus.nse pode rapidamente identificar a página de banner das portas abertas, fornecendo informações valiosas sobre os serviços em execução na rede alvo.
4. Explore Vulnerabilidades com Precisão
Uma vez que um scanner encontra uma vulnerabilidade, geralmente vou procurar um exploit funcional.
Ferramentas de Exploração. Metasploit é uma ferramenta comum para explorar vulnerabilidades. Ele permite que você selecione um exploit, defina opções, configure payloads e execute o ataque. No entanto, é crucial entender como os exploits funcionam e ser capaz de modificá-los, se necessário.
Exploração Manual. Muitas vezes, os exploits não estão disponíveis no Metasploit e devem ser encontrados em outros lugares. Esses exploits podem ser escritos em várias linguagens de script, como Python, C++, Ruby, Perl ou Bash. Como testador de penetração, você precisa estar familiarizado com como editar, modificar, executar e entender esses scripts.
Validação de Scripts. Antes de executar qualquer script, é crucial testá-lo primeiro. Alguns scripts podem conter código malicioso que pode prejudicar o sistema alvo. Sempre valide o código shell e entenda o impacto potencial do exploit.
5. Navegue Lateralmente pelas Redes
Esta seção se concentrará em mover-se pela rede e tentar passar de um usuário limitado até dominar toda a rede.
Coleta de Credenciais. Uma vez na rede, o objetivo é mover-se lateralmente e escalar privilégios. Isso geralmente envolve a coleta de credenciais usando ferramentas como Responder.py, WCE (Windows Credential Editor) e Mimikatz.
Responder.py. O Responder.py escuta solicitações LLMNR e NBT-NS e responde a elas, capturando hashes de desafio/resposta NTLM. Esses hashes podem ser quebrados usando John the Ripper ou oclHashcat.
Preferências de Política de Grupo (GPP). GPPs são extensões para Active Directory que permitem que administradores configurem definições em máquinas unidas ao domínio. No entanto, se os GPPs forem usados para empurrar contas de administrador local, os nomes de usuário e senhas podem ser armazenados em um formato legível no controlador de domínio, permitindo que qualquer usuário do domínio os recupere.
6. Domine Táticas de Engenharia Social
Se ataques a clientes estão no escopo de seus testes, a engenharia social é seu ataque “preferido”.
Domínios Doppelganger. Comprar domínios doppelganger (por exemplo, uscompany.com em vez de us.company.com) pode ser altamente eficaz para capturar informações sensíveis. Ao configurar um servidor SMTP com uma configuração catch-all, você pode interceptar e-mails enviados para o domínio escrito incorretamente.
Spear Phishing. Spear phishing envolve a criação de e-mails direcionados a indivíduos ou grupos específicos dentro de uma organização. Isso requer a coleta de informações sobre o alvo, como seus interesses, relacionamentos e padrões de comunicação.
Kit de Ferramentas de Engenharia Social (SET). O SET é uma poderosa estrutura para criar e lançar ataques de engenharia social. Inclui módulos para clonar sites, criar coletores de credenciais e gerar payloads maliciosos.
7. Evite a Detecção de Antivírus
Minha opinião sobre scanners de Antivírus (AV) é que eles existem para parar os script kiddies.
Detecção Baseada em Assinatura. Scanners de antivírus (AV) geralmente dependem da detecção baseada em assinatura, que envolve a identificação de padrões de código malicioso conhecidos. Para evitar a detecção de AV, é necessário modificar ou ofuscar seus payloads para não acionar essas assinaturas.
Ferramenta Evade. Ferramentas como Evade podem ajudar a identificar as strings ou padrões de código específicos que acionam a detecção de AV. Ao dividir o arquivo e escanear cada parte, você pode localizar exatamente onde está a assinatura.
Payloads em Python. Python é uma linguagem versátil para criar payloads maliciosos que podem evitar AV. Scripts em Python podem ser facilmente ofuscados e convertidos em executáveis usando ferramentas como py2exe ou pyinstaller.
8. Otimize Estratégias de Quebra de Senhas
Esta seção é onde coletei tudo o que auxilia nos testes de penetração, mas não tinha um lugar em outro lugar.
Ferramentas de Quebra de Senhas. John the Ripper (JtR) e oclHashcat são duas ferramentas poderosas para quebrar hashes de senhas. O JtR é uma ferramenta versátil que suporta uma ampla gama de algoritmos de hash, enquanto o oclHashcat aproveita o poder das GPUs para uma quebra mais rápida.
Listas de Palavras, Regras e Algoritmos de Hash. Para otimizar a quebra de senhas, é crucial definir listas de palavras, regras e algoritmos de hash. Listas de palavras contêm senhas comuns, regras modificam a lista de palavras para gerar variações, e algoritmos de hash especificam o tipo de hash que está sendo quebrado.
oclHashcat. oclHashcat é uma ferramenta poderosa para quebrar hashes de senhas usando GPUs. Ele suporta uma ampla gama de algoritmos de hash e pode ser usado para quebrar hashes WPAv2 e NTLMv2.
Última atualização:
Avaliações
O Hacker Playbook recebe críticas mistas, com uma avaliação geral de 3,96/5. Os leitores apreciam sua estrutura para testes de penetração e abordagem prática, considerando-o útil para profissionais, mas não para iniciantes. Alguns elogiam sua cobertura abrangente e dicas valiosas, enquanto outros criticam sua profundidade superficial e dependência excessiva de descrições de ferramentas. O livro é elogiado pelos capítulos sobre pós-exploração e movimentação lateral, mas é criticado por informações desatualizadas e formatação deficiente. Muitos o recomendam como um guia de referência para pentesters experientes, embora alguns sintam que falta explicações detalhadas sobre os conceitos subjacentes.