James Broad Andrew Bindner Novatec
Copyright 2013, 2011 Elsevier Inc. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher s permissions policies and our arrangement with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/ permissions. This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein). This edition of Hacking with Kali: Practical Penetration Testing Techniques by James Broad is published by arrangement with ELSEVIER INC., a Delaware corporation having its principal place of business at 360 Park Avenue South, New York, NY 10010, USA. Nenhuma parte desta publicação pode ser reproduzida ou transmitida de qualquer forma ou por qualquer meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer armazenamento de informação e sistema de recuperação, sem permissão por escrito da editora. Detalhes sobre como pedir permissão, mais informações sobre as permissões de políticas da editora e o acordo com organizações como o Copyright Clearance Center e da Copyright Licensing Agency, podem ser encontradas no site: www.elsevier.com/permissions. Este livro e as contribuições individuais contidas nele são protegidos pelo Copyright da Editora (além de outros que poderão ser aqui encontrados). Esta edição do livro Hacking with Kali: Practical Penetration Testing Techniques de James Broad é publicada por acordo com a Elsevier Inc., uma corporação de Delaware estabelecida no endereço 360 Park Avenue South, New York, NY 10010, EUA. Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Lúcia Ayako Kinoshita Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-395-6 Histórico de impressões: Fevereiro/2014 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 E-mail: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec MP20140219
Sumário Dedicatória... 5 Capítulo 1 Introdução... 15 Visão geral do livro e principais pontos de aprendizagem...15 Público-alvo do livro...16 Profissionais da área técnica...16 Profissionais da área de segurança...16 Estudantes da área de segurança de informações e de programas associados à garantia de segurança de informações...17 A quem este livro não se destina...17 Diagramas, figuras e capturas de tela...17 Bem-vindo...18 Ciclo de vida dos testes de invasão...18 Termos comuns...19 Teste de invasão (pentesting)...19 Red Team (Equipe Vermelha)...19 Hacking ético...20 White Hat...20 Black Hat...20 Grey Hat...21 Avaliação de vulnerabilidades, análise de vulnerabilidades...21 Avaliação de controles de segurança...21 Teste de usuário malicioso...22 Engenharia social...22 Vasculhar o lixo...23 Live CD, live disk ou LiveOS...23 7
8 Hacking com Kali Linux A história do Kali Linux...24 Referências...24 Capítulo 2 Download e instalação do Kali Linux... 25 Visão geral do capítulo e principais pontos de aprendizagem...25 Kali Linux...25 Informações sobre o sistema...26 Selecionando uma plataforma de hardware para a instalação...27 Seleção do disco rígido...27 Particionamento do disco rígido...28 Segurança durante a instalação...28 Fazendo o download do Kali Linux...29 Instalação no disco rígido...30 Fazendo o boot do Kali pela primeira vez...30 Instalação configurando os defaults...31 Instalação configuração inicial da rede...32 Senhas...33 Configurando o relógio do sistema...34 Particionamento dos discos...34 Configure o gerenciador de pacotes...39 Instalando o GRUB Loader...40 Concluindo a instalação...41 Instalação em um pen drive...42 Windows (não persistente)...42 Linux (persistente)...43 Instalação em um cartão SD...45 Resumo...46 Capítulo 3 Softwares, patches e atualizações... 47 Visão geral do capítulo e principais pontos de aprendizagem...47 APT: um utilitário para manipulação de pacotes...47 Instalando aplicações ou pacotes...48 Reunindo tudo...51
Sumário 9 Gerenciador de pacotes do Debian...52 Instalação...52 Remoção...53 Verificando a existência de um pacote instalado...53 Tarballs...54 Criação de um tarball...55 Extraindo arquivos de um tarball...56 Compactando um tarball...57 Um guia prático para a instalação do Nessus...58 Atualização e limpeza do sistema antes da instalação do Nessus...58 Instalação e configuração do Nessus...59 Conclusão...59 Capítulo 4 Configuração do Kali Linux... 60 Visão geral do capítulo e principais pontos de aprendizagem...60 Sobre este capítulo...61 O básico sobre redes...61 Endereçamento privado...63 Gateway default...64 Servidor de nomes...65 DHCP...66 O básico sobre sub-redes...66 Configurações default do Kali Linux...67 Uso da interface gráfica de usuário para configurar as interfaces de rede...67 Uso da linha de comando para configurar as interfaces de rede...70 Ativando e desativando a interface...71 DHCP a partir do prompt de comando...72 O uso da GUI para configurar placas wireless...73 Nome da conexão...74 Caixa de seleção para conexão automática (Connect Automatically)...74 A aba Wireless...75 A aba Wireless Security...77 A aba IPv4 Settings...79 Salvar...79
10 Hacking com Kali Linux Servidor web...79 Usando a GUI para iniciar, finalizar e reiniciar o servidor Apache...80 Iniciar, finalizar e reiniciar o Apache no prompt de comando...81 A página web default...81 O servidor FTP...81 O servidor SSH...83 Geração de chaves SSH...84 Administrando o serviço SSH a partir da GUI do Kali...84 Administrando o servidor SSH a partir da linha de comando...84 Acessando o sistema remoto...85 Configurar e acessar uma mídia externa...85 Montando um drive manualmente...85 Fazendo um update no Kali...86 Fazendo um upgrade no Kali...87 Adicionando um repositório-fonte...87 Resumo...88 Capítulo 5 Criação de um laboratório de testes de invasão... 89 Visão geral do capítulo e principais pontos de aprendizagem...89 Antes de ler este capítulo: crie um laboratório...89 Criando um laboratório com alguns centavos...90 VMWare Player...90 VirtualBox...91 Instalando o VirtualBox no Microsoft Windows 7...92 Configurando uma plataforma de ataque virtual...97 Metasploitable2...103 Instalação do Metasploitable2...104 Ampliação de seu laboratório...110 O Magical Code Injection Rainbow...112 Instalação do MCIR...112 Capítulo 6 Introdução ao ciclo de vida dos testes de invasão... 117 Visão geral do capítulo e principais pontos de aprendizagem...117 Introdução ao ciclo de vida...117
Sumário 11 Fase 1: Reconhecimento...119 Fase 2: Scanning...120 Fase 3: Exploração de falhas...120 Fase 4: Preservação do acesso...121 Fase 5: Geração de relatórios...121 Resumo...121 Capítulo 7 Reconhecimento... 122 Visão geral do capítulo e principais pontos de aprendizagem...122 Introdução...122 Comece pelo próprio site do alvo...124 Espelhamento de sites...125 Pesquisas no Google...126 Google Hacking...133 O Google Hacking Database...134 Mídias sociais...135 Criação de um doppelganger...135 Sites de ofertas de emprego...136 DNS e ataques de DNS...137 Consultas a um servidor de nome...138 Transferência de zona...140 Referência...141 Capítulo 8 Scanning... 142 Visão geral do capítulo e principais pontos de aprendizagem...142 Introdução ao scanning...142 Entendendo o tráfego de rede...143 Entendendo as portas e os firewalls...143 Entendendo os protocolos IP...145 TCP...145 UDP...147 ICMP...148 Nmap: o rei dos scanners...151 A estrutura do comando Nmap...152
12 Hacking com Kali Linux Opções de scanning...153 Templates de tempo...157 Identificação do alvo...163 Seleção de portas...165 Opções de saída...165 Nmap Scripting Engine...166 Hping3...167 Nessus...167 Scanning com o Nessus...169 Resumo...176 Capítulo 9 Exploração de falhas (exploitation)... 177 Visão geral do capítulo e principais pontos de aprendizagem...177 Introdução...177 Exploração de falhas...177 Vetores de ataque versus tipos de ataque...178 Exploits locais...180 Pesquisando exploits locais...181 Exploits remotos...182 Visão geral do Metasploit...183 Um breve histórico...184 Versão Professional versus versão Express...184 Nexpose e o controle de aderência...185 O framework básico...186 Bind Shells...188 Reverse Shells...189 Meterpreter shell...189 Listeners...190 Shellcode...190 Acesso ao Metasploit...191 Inicialização/finalização do serviço...191 Atualizando o banco de dados...193 Scanning com o Metasploit...194 Usando o Metasploit...195
Sumário 13 Ações em uma sessão...202 Acesso ao sistema de arquivos...204 Exploração de falhas de servidor web e de aplicações web...207 OWASP...208 Testando aplicações web...209 NetCat (nc)...210 Telnet (telnet)...211 SSLScan (sslscan)...212 Arachni Framework de scanner para segurança de aplicações web...212 Usando o scanner Arachni em aplicações web...213 w3af Framework para auditoria e ataque de aplicações web...216 Usando o w3af...216 Conclusão...221 Capítulo 10 Preservação do acesso... 222 Visão geral do capítulo e principais pontos de aprendizagem...222 Introdução...223 Terminologia e conceitos principais...223 Malware...223 Backdoors...224 Cavalo de Troia (Trojan horse)...224 Vírus...225 Worms...225 Keyloggers...226 Botnets...226 Colocation...227 Comunicações remotas...227 Comando e controle...228 Backdoors...229 Backdoors com o Metasploit...229 Backdoors para web services...236 Keyloggers...237 Resumo...239 Referência...239
14 Hacking com Kali Linux Capítulo 11 Relatórios e templates... 240 Visão geral do capítulo e principais pontos de aprendizagem...240 Geração de relatórios...240 Sumário executivo...241 Procedimentos ligados ao teste...241 Arquitetura e composição do alvo...242 Descobertas...242 Ações recomendadas...242 Conclusão...243 Apêndices...243 Apresentação...243 Armazenamento do relatório e das evidências...244 Resumo...245 Apêndice A Tribal Chicken... 246 Guia completo de instalação e de configuração para o Kali Linux 1.0.5...246 Introdução...246 Lista de materiais...247 Instalação e configuração do Ubuntu...248 Instalação do Kali Linux 1.0.5...253 Personalização da interface...263 Executando as atualizações...263 Criando um ISO com o Tribal Chicken...263 Gravando um ISO em um DVD ou em um Blu-Ray disc...265 Testes e validação (versão resumida)...265 Apêndice B Ferramentas para testes de invasão do Kali... 267