Patrick Engebretson
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 The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy by Patrick Engebretson 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 The Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy de Patrick Engebretson é 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-390-1 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 MP20140124
capítulo 1
O que é teste de invasão?
Informações contidas neste capítulo: • Introdução ao Kali e ao Backtrack Linux: ferramentas, muitas ferramentas • Trabalhando com seu computador de ataque: iniciando o sistema • O uso e a criação de um laboratório da hacking • Metodologia: fases de um teste de invasão
Introdução Os testes de invasão podem ser definidos como uma tentativa legal e autorizada de localizar e explorar sistemas de computadores de forma bem-sucedida com o intuito de tornar esses sistemas mais seguros. O processo inclui sondar as vulnerabilidades, bem como oferecer ataques que funcionem como prova de conceito para demonstrar que eles são reais. Os testes de invasão adequados sempre terminam com recomendações específicas para endereçar e corrigir os problemas descobertos durante o teste. Esse processo como um todo é usado para ajudar a manter as redes e os computadores seguros contra ataques no futuro. A ideia geral consiste em identificar problemas de segurança usando as mesmas ferramentas e técnicas usadas por um invasor. Podemos então atenuar os riscos identificados por essas descobertas antes que um hacker de verdade os explore. Os testes de invasão também são conhecidos como: • Pen testing 23
24
Introdução ao hacking e aos testes de invasão
• PT (penetration testing) • Hacking • Hacking ético • Hacking white hat • Segurança ofensiva • Red teaming (equipe vermelha) É importante investir um tempo discutindo a diferença entre testes de invasão e avaliação de vulnerabilidades. Muitas pessoas (e fornecedores) na comunidade de segurança usam esses termos incorretamente de forma intercambiável. Uma avaliação de vulnerabilidades corresponde ao processo de analisar serviços e sistemas em busca de problemas de segurança em potencial, enquanto um teste de invasão realmente executa explorações de falhas (exploitation) e ataques como Prova de Conceito (PoC, ou Proof of Concept) para provar a existência de um problema de segurança. Os testes de invasão vão um passo além das avaliações de vulnerabilidades, simulando a atividade de um hacker e enviando payloads ativos. Neste livro, abordaremos o processo de avaliação de vulnerabilidades como um dos passos utilizados para realizar um teste de invasão.
Configurando o ambiente Entender todos os diversos participantes e suas funções no mundo do hacking e dos testes de invasão é crucial para compreender o quadro geral. Vamos começar a compor o quadro com pinceladas bem largas. Saiba que o que será exposto a seguir é uma simplificação bem grosseira; no entanto isso deve ajudar você a ver as diferenças entre os vários grupos de pessoas envolvidas. Considerar o universo de Guerra nas Estrelas, em que existem dois lados da “força” – os Jedis e os Siths –, pode ajudar. O Bem contra o Mal. Ambos os lados têm acesso a um poder inacreditável. Um lado usa o seu poder para proteger e para servir, enquanto o outro o usa para obter ganhos pessoais e para explorar.
Capítulo 1 ■ O que é teste de invasão?
25
Aprender a hackear é muito semelhante a aprender a usar a força (ou, pelo menos, é o que eu imagino!). Quanto mais aprender, mais poder você terá. Em algum momento, você terá de decidir se usará seu poder para o bem ou para o mal. Há um pôster clássico do Episódio I de Guerra nas Estrelas que mostra Anakin como um jovem garoto. Se observar atentamente o pôster, você perceberá que a sombra de Anakin forma o contorno de Darth Vader. Experimente pesquisar “Anakin Darth Vader sombra” na Internet para conferir. Entender por que esse pôster tem apelo é muito importante. Como garoto, Anakin não tinha aspirações de se tornar Darth Vader, mas isso aconteceu de qualquer maneira. Provavelmente é seguro supor que poucas pessoas entrem no mundo do hacking para se tornar um supervilão. O problema é que a jornada para o lado negro é uma encosta escorregadia. No entanto, se você quiser ser realmente bom, conquistar o respeito de seus colegas e ser bem remunerado como membro da equipe de segurança, é preciso se comprometer a usar seus poderes para proteger e para servir. Ter um delito em sua ficha é uma passagem só de ida para outra profissão. É verdade que atualmente há uma falta de especialistas qualificados na área de segurança, mas, mesmo assim, não há muitos empregadores hoje em dia dispostos a correr o risco, especialmente se esses crimes envolverem computadores. As regras e as restrições tornam-se mais rigorosas ainda se você quiser um emprego na área de informática que exija concessões de segurança. No mundo do pen testing, não é incomum ouvir os termos “white hat” (chapéu branco) e “black hat” (chapéu preto) para descrever os Jedis e os Siths. Ao longo deste livro, os termos “white hat”, “hacker ético” ou “pentester” serão usados de modo intercambiável para descrever os Jedis ou as pessoas do bem. Os Siths serão chamados de “black hats”, “crackers” ou “invasores maliciosos”. É importante observar que os hackers éticos realizam várias das mesmas atividades usando as mesmas ferramentas que os invasores maliciosos. Em quase todas as situações, um hacker ético deve se esforçar para agir e para pensar como um hacker black hat de verdade. Quanto mais a simulação do teste de invasão se assemelhar a um ataque do mundo real, mais valor isso terá para o cliente que estiver pagando pelo teste de invasão (penetration testing).
26
Introdução ao hacking e aos testes de invasão
Observe como o parágrafo anterior diz “em quase todas as situações”. Apesar de os white hats realizarem muitas das mesmas tarefas com várias das mesmas ferramentas, há um mundo de diferença entre os dois lados. Em sua essência, essas diferenças podem ser reduzidas a três pontos principais: autorização, motivação e intenção. Devemos ressaltar que esses pontos não incluem tudo, porém podem ser úteis para determinar se uma atividade é ética ou não. A primeira maneira, e a mais simples, de diferenciar os white hats dos black hats está na autorização. A autorização corresponde ao processo de obter aprovação antes de conduzir qualquer teste ou ataque. Uma vez obtida a autorização, tanto o pentester quanto a empresa sujeita à auditoria devem concordar em relação ao escopo do teste. O escopo inclui informações específicas sobre os recursos e os sistemas a serem incluídos no teste. O escopo define explicitamente os alvos autorizados para o pentester. É importante que ambos os lados compreendam totalmente a autorização e o escopo do teste de invasão. Os white hats devem sempre respeitar a autorização e permanecer no interior do escopo do teste. Os black hats não terão essa restrição no que concerne à lista de alvos.
Informações adicionais Definir e entender claramente o escopo do teste é muito importante. O escopo define formalmente as regras de compromisso válidas tanto para o pentester quanto para o cliente. Ele deve incluir uma lista de alvos, bem como listar especificamente qualquer sistema ou ataque que o cliente não queira que seja incluído no teste. O escopo deve ser registrado por escrito e assinado por pessoas autorizadas pela equipe de testes e pelo cliente. Ocasionalmente, o escopo terá de ser revisto durante um teste de invasão. Se isso ocorrer, não se esqueça de atualizá-lo e assiná-lo novamente antes de prosseguir com os testes em novos alvos.
A segunda maneira de diferenciar entre um hacker ético e um hacker malicioso é por meio da análise da motivação do invasor. Se o invasor estiver motivado por ou visando a propósitos pessoais, incluindo obtenção de lucros por meio de extorsões ou o uso de outros métodos ilegais para
Capítulo 1 ■ O que é teste de invasão?
27
tomar dinheiro da vítima, por vingança, fama ou algo do tipo, essa pessoa deverá ser considerada um black hat. No entanto, se o invasor tiver uma autorização prévia e sua intenção for ajudar a empresa a melhorar seu sistema de segurança, ele pode ser considerado um white hat. Além do mais, um hacker black hat pode gastar uma quantidade significativa de tempo focado em atacar a empresa. Na maioria dos casos, um teste de invasão pode durar de uma a várias semanas. Por causa do tempo reservado ao teste de invasão, um white hat pode não descobrir exposições sofisticadas que exijam mais tempo. Por fim, se a intenção for proporcionar uma simulação de ataque realista à empresa para que ela possa melhorar sua segurança fazendo descobertas mais cedo e adotando medidas para atenuar as vulnerabilidades, o invasor deverá ser considerado um white hat. Também é importante compreender a natureza crítica de manter as descobertas do teste de invasão como confidenciais. Os hackers éticos nunca compartilharão informações sutis descobertas durante o processo de um teste de invasão com ninguém além do cliente. Por outro lado, se a intenção for tirar proveito das informações a fim de obter lucros pessoais, o invasor deverá ser considerado um black hat. Também é importante entender que nem todos os testes de invasão são conduzidos da mesma maneira ou têm o mesmo propósito. Testes de invasão do tipo caixa branca (white box), também conhecidos como testes “explícitos”, são bem completos e abrangentes. O objetivo do teste é examinar todos os mínimos detalhes do sistema ou da rede alvo. Esse tipo de teste é importante para avaliar a segurança de uma empresa em geral. Como a discrição não é uma preocupação, muitas das ferramentas que analisaremos ao longo deste livro poderão ser executadas com a verbosidade habilitada. Ao deixar a discrição de lado em favor da abrangência, o pentester, com frequência, poderá descobrir mais vulnerabilidades. A desvantagem desse tipo de teste é que ele não possibilita uma simulação muito precisa de como os invasores atuais, mais modernos e habilidosos, exploram as redes. Esse tipo de teste também não oferece uma chance para a empresa testar sua resposta ao incidente ou os sistemas que efetuam alertas precocemente. Lembre-se de que o testador não está tentando ser discreto. Ele está tentando ser abrangente.
28
Introdução ao hacking e aos testes de invasão
Os testes de invasão do tipo caixa-preta (black box), também conhecidos como testes “encobertos”, empregam uma estratégia significativamente distinta. Um teste do tipo caixa-preta representa uma simulação muito mais realista do modo como um invasor habilidoso tentaria obter acesso aos sistemas e à rede-alvo. Esse tipo de teste troca a abrangência e a capacidade de detectar várias vulnerabilidades pela discrição e pela precisão milimétrica. Os testes do tipo caixa-preta tipicamente exigem que o testador localize e explore apenas uma única vulnerabilidade. A vantagem desse tipo de teste é que ele oferece um modelo mais preciso do modo como um ataque de verdade acontece. Não há muitos invasores hoje em dia que efetuariam o scan de todas as 65.535 portas em um alvo. Fazer isso chamaria muito a atenção e é quase certo que os firewalls e os sistemas de detecção de invasão iriam perceber. Hackers maliciosos habilidosos são muito mais discretos. Eles podem efetuar o scan somente de uma única porta ou interrogar um único serviço para descobrir uma maneira de comprometer e de dominar o alvo. Os testes do tipo caixa-preta também têm a vantagem de permitir que uma empresa teste seus procedimentos de resposta a incidentes e determine se suas defesas são capazes de detectar e impedir um ataque focado.
Introdução ao Kali e ao Backtrack Linux: ferramentas, muitas ferramentas Há alguns anos, a discussão aberta ou o ensino de técnicas de hacking eram um pouco considerados como tabu. Felizmente os tempos mudaram e as pessoas estão começando a entender o valor da segurança ofensiva. A segurança ofensiva atualmente está começando a ser adotada pelas empresas, independentemente de seus tamanhos ou de seus mercados. Os governos também estão começando a levar a segurança ofensiva a sério. Muitos deles assumiram publicamente que estão criando e desenvolvendo recursos ligados à segurança ofensiva. Em última instância, os testes de invasão devem assumir um papel importante na segurança em geral de sua empresa. Assim como as políticas, as avaliações de risco, o planejamento contínuo dos negócios e a recuperação
Capítulo 1 ■ O que é teste de invasão?
29
em caso de desastres se tornaram componentes integrantes para manter sua empresa segura e protegida, os testes de invasão também devem ser incluídos no planejamento geral de segurança. Os testes de invasão permitem ver sua empresa com os olhos do inimigo. Esse processo pode resultar em descobertas surpreendentes e proporcionar o tempo necessário para corrigir seus sistemas antes que um invasor de verdade possa atacar. Atualmente, um dos aspectos mais positivos em aprender a hackear está na abundância e na disponibilidade de boas ferramentas para realizar a sua arte. As ferramentas não só estão prontamente disponíveis, como também muitas delas são bem estáveis, com vários anos de desenvolvimento em sua história. Mais importante ainda para muitos de nós é o fato de a maioria dessas ferramentas estar disponível gratuitamente. Considerando o propósito deste livro, toda ferramenta discutida será gratuita. Uma coisa é saber que uma ferramenta é gratuita. Outra é encontrar, compilar e instalar cada uma das ferramentas necessárias para realizar até mesmo um teste de invasão básico. Embora esse processo seja bem simples nos sistemas operacionais Linux modernos de hoje em dia, ele ainda pode ser um pouco intimidador para os iniciantes na área. A maioria dos iniciantes normalmente está mais interessada em aprender a usar as ferramentas do que em vasculhar os quatro cantos da Internet para localizá-las e instalá-las. Para ser franco, você realmente deve aprender a compilar e a instalar softwares manualmente em um computador com Linux; ou, no mínimo, deve se familiarizar com o apt-get (ou algo semelhante).
Informações avançadas O APT (Advanced Package Tool) é um sistema de gerenciamento de pacotes. O APT permite instalar, atualizar e remover softwares de forma rápida e fácil a partir da linha de comando. Além de sua simplicidade, uma das melhores características do APT é o fato de ele resolver problemas de dependência automaticamente. Isso significa que, se um pacote que você estiver instalando exigir um software adicional, o APT irá localizar e instalar esse software adicional automaticamente. É uma melhoria significativa em relação à época do “inferno das dependências”.
30
Introdução ao hacking e aos testes de invasão Instalar um software com o APT é muito simples. Por exemplo, vamos supor que você queira instalar uma ferramenta chamada Paros Proxy em seu computador Linux local. O Paros é uma ferramenta que pode ser usada (entre outras coisas) para avaliar a segurança de aplicações web. Discutiremos o uso de um proxy no capítulo 6 (Exploração de falhas baseada em web), mas, por enquanto, vamos focar na instalação da ferramenta, e não em seu uso. Depois de descobrir o nome do pacote a ser instalado, execute o comando apt-get install a partir da linha de comando, seguido do nome do software que você quer instalar. Executar o comando apt-get update antes de instalar um software é sempre uma boa ideia. Isso garante que você terá a versão mais recente disponível. Para instalar o Paros, devemos executar os comandos a seguir: apt-get update apt-get install paros
Antes de o pacote ser instalado, você verá a quantidade de espaço que será usada e será consultado para saber se deseja prosseguir. Para instalar seu novo software, digite “Y” e tecle enter. Quando o programa concluir a instalação, você retornará ao prompt #. A partir desse momento, você poderá iniciar o Paros digitando o comando a seguir no terminal: paros
Por enquanto, você pode simplesmente fechar o programa Paros. O propósito dessa demo foi abordar a instalação de um novo software, e não executar ou usar o Paros. Se preferir não usar a linha de comando ao instalar o software, há várias GUIs (Graphical User Interfaces, ou Interfaces Gráficas de Usuários) disponíveis para interagir com o APT. O front end gráfico mais popular atualmente é o aptitude. Gerenciadores de pacote adicionais estão além do escopo deste livro. Uma última observação sobre a instalação de software: o APT exige que você saiba o nome exato do software que se deseja instalar antes de o comando de instalação ser executado. Se você não estiver certo a respeito do nome do software ou de como ele é escrito, o comando apt-cache search poderá ser usado. Essa função prática apresentará qualquer pacote ou ferramenta que corresponder à sua pesquisa e disponibilizará uma descrição sucinta da ferramenta. Usar o apt-cache search permitirá
Capítulo 1 ■ O que é teste de invasão?
31
restringir rapidamente as opções para o nome do pacote que você estiver procurando. Por exemplo, se não tivéssemos certeza do nome oficial do pacote Paros de nosso exemplo anterior, poderíamos ter executado este comando previamente: apt-cache search paros
Após analisar os nomes e as descrições resultantes, poderíamos ter prosseguido com o comando apt-get install.
Observe que, se você estiver usando o Kali Linux, o Paros já estará instalado! Mesmo assim, o comando apt-get install continuará sendo uma ferramenta eficaz para a instalação de software. Uma compreensão básica do Linux será vantajosa e resultará em uma quantia enorme de dividendos no longo prazo. Considerando o propósito deste livro, não faremos nenhuma suposição sobre experiências anteriores com o Linux, mas faça um favor a si mesmo e assuma o compromisso de algum dia vir a se tornar um guru do Linux. Frequente aulas, leia um livro ou simplesmente faça explorações por conta própria. Acredite, você irá me agradecer no futuro. Se você estiver interessado em testes de invasão ou em hacking, não há como deixar de conhecer o Linux. Felizmente, a comunidade de segurança é um grupo bem ativo e muito acessível. Há várias empresas que trabalharam incansavelmente para criar diversas distribuições de Linux específicas para segurança. Uma distribuição, ou uma “distro”, para ser mais conciso, é basicamente uma variedade, um tipo ou uma marca de Linux. Entre as distribuições mais famosas para testes de invasão, há uma chamada “Backtrack”. O Backtrack Linux proporciona um ambiente único, tanto para o aprendizado de hacking quanto para a realização de testes de invasão. O Backtrack Linux me faz recordar uma cena do primeiro filme da série Matrix, em que Tank pergunta para Neo: “De que mais você precisa, além de um milagre?”. Neo responde dizendo: “Armas. Muitas armas.” Nesse ponto do filme, fileiras e mais fileiras de armas aparecem na tela. Todas as armas imagináveis estão disponíveis para Neo e Trinity: pistolas, rifles, espingardas, semiautomáticas, automáticas, grandes e pequenas, de armas de fogo a explosivos, um suprimento infindável de diferentes opções
32
Introdução ao hacking e aos testes de invasão
para escolher. Os iniciantes passam por uma experiência semelhante da primeira vez que inicializam um Backtrack ou um Kali Linux. “Ferramentas. Muitas ferramentas.” O Backtrack Linux e o Kali Linux são o sonho de qualquer pentester da área de segurança. Essas distribuições são totalmente voltadas para os pentesters. Elas já vêm carregadas com centenas de ferramentas de segurança instaladas, configuradas e prontas para uso. E o melhor de tudo é que o Kali e o Backtrack são gratuitos! Você pode obter sua cópia do Backtrack em http://www.Backtrack-linux.org/downloads/.
Informações adicionais Na primavera de 2013, a equipe da Offensive Security disponibilizou uma versão redefinida e remodelada do Backtrack chamada “Kali Linux”. Assim como o Backtrack, o Kali Linux está disponível gratuitamente e vem previamente configurado com várias ferramentas para auditoria de segurança. O Kali pode ser baixado a partir de www.kali.org. Se você é novo no mundo dos testes de invasão e do hacking, as diferenças entre o Backtrack e o Kali poderão parecer um pouco confusas. Entretanto, para entender o básico e trabalhar com os exemplos deste livro, qualquer distribuição será conveniente. Em vários casos, o Kali Linux poderá ser mais fácil de utilizar (do que o Backtrack) porque todas as ferramentas estão “embutidas no path”, o que significa que elas podem ser executadas a partir de qualquer lugar. Basta abrir um terminal e digitar o nome da ferramenta, juntamente com as opções desejadas. Se você estiver usando o Backtrack, em geral será preciso navegar até a pasta específica antes de executar uma determinada ferramenta. Se toda essa conversa sobre navegação, paths, opções e terminais parecer confusa, não se preocupe. Discutiremos tudo isso nos próximos capítulos. Por enquanto, você deve simplesmente decidir com que versão quer aprender: o Kali ou o Backtrack. Lembre-se de que não há uma escolha errada.
Ao navegar até o link do Backtrack (ou do Kali), você poderá optar por um .iso ou por uma imagem de VMware. Se decidir pelo download do .iso, será necessário gravá-lo em um DVD. Se não estiver certo a respeito de como realizar esse processo, pesquise “gravar um iso” no Google. Após concluir
Capítulo 1 ■ O que é teste de invasão?
33
o processo de gravação, você terá um DVD a partir do qual será possível fazer a inicialização. Na maioria das vezes, iniciar o Linux com um DVD de inicialização é tão simples quanto colocar o DVD no drive e reiniciar a máquina. Em alguns casos, será preciso alterar a ordem de inicialização no BIOS para que o drive óptico tenha a mais alta prioridade na inicialização. Se optar por fazer o download da imagem de VMware, também será necessário ter um software capaz de abrir e instalar ou de executar a imagem. Felizmente, há várias ferramentas boas para realizar essa tarefa. Você pode usar o VMware Player da VMware, o VirtualBox da Sun Microsystem ou o Virtual PC da Microsoft, de acordo com sua preferência. Na verdade, se não gostar de nenhuma dessas opções, há muitas outras opções de software capazes de executar a imagem de uma máquina virtual (VM, ou Virtual Machine). Basta escolher uma com a qual você se sinta à vontade. Todas as três opções para virtualização listadas anteriormente são gratuitas e permitirão executar imagens de VM. Você deve decidir que versão lhe é mais adequada. Este livro está fortemente baseado no uso de uma imagem do Backtrack VMware e do VMware Player. Na época desta publicação, o VMware Player estava disponível em http://www.vmware.com/products/player/. Pode ser que você tenha de criar uma conta para fazer o download do software, porém esse processo é simples e gratuito. Se não estiver certo a respeito do uso de um "live DVD" ou de uma VM, sugiro que você opte pela VM. Não só é outra boa tecnologia para se aprender, como também o uso de VMs possibilitará a criação de um laboratório de testes de invasão completo em um único computador. Se esse computador for um laptop, você terá essencialmente um laboratório “móvel” de testes de invasão para praticar suas habilidades a qualquer hora e em qualquer lugar. Se optar pela execução do Backtrack usando um DVD de inicialização, imediatamente após o sistema iniciar, você verá uma lista de menu. Observe essa lista atentamente, pois ela contém várias opções diferentes. As duas primeiras opções são usadas para configurar algumas informações básicas sobre a resolução da tela de seu sistema. Se tiver problemas para inicializar o Backtrack, selecione Start Backtrack in Safe Graphical Mode (Iniciar o Backtrack em modo gráfico de segurança). O menu contém várias outras
34
Introdução ao hacking e aos testes de invasão
opções, mas elas estão além do escopo deste livro. Para selecionar a opção de inicialização desejada, basta usar as teclas de direção para escolher a linha apropriada e teclar enter para confirmar sua opção. A figura 1.1 mostra um exemplo das telas de inicialização tanto do Kali quanto do Backtrack.
Figura 1.1 – Captura de tela mostrando as opções de inicialização ao usar um "live DVD".
O Kali Linux funciona de forma muito semelhante. É preciso optar entre fazer download de um ISO e gravá-lo em um DVD ou fazer o download de uma imagem de VMware previamente configurada. Independentemente da versão selecionada, você pode simplesmente aceitar a opção default (teclando Enter) quando o menu de inicialização GRUB bootloader do Kali Linux for apresentado. O uso do Kali ou do Backtrack não é obrigatório para trabalhar com este livro ou para aprender o básico sobre hacking. Qualquer versão de Linux poderá ser usada. A principal vantagem de usar o Kali ou o Backtrack é que todas as ferramentas já estarão previamente carregadas. Se você optar por uma versão diferente do Linux, será necessário instalar as ferramentas antes de ler o capítulo. Também é importante lembrar-se de que, como este livro foca no básico, a versão do Kali ou do Backtrack que você estiver usando não é importante. Todas as ferramentas que iremos explorar e usar neste livro estão disponíveis em todas as versões.
Capítulo 1 ■ O que é teste de invasão?
35
Trabalhando com seu computador de ataque: iniciando o sistema Independentemente de você optar pela execução do Kali ou do Backtrack, seja como uma VM ou pelo Live DVD, depois que o sistema inicial for carregado, você verá um prompt para login. O nome do usuário padrão é root e a senha padrão é toor. Observe que a senha padrão é simplesmente root escrito de trás para frente. A combinação entre o nome de usuário e a senha padrão vem sendo usada desde o Backtrack 1 e é provável que ela continuará sendo usada nas futuras versões. A essa altura, se o Backtrack estiver executando, você deverá estar logado no sistema e deverá ver o prompt root@bt:~#. Embora seja possível executar muitas das ferramentas que discutiremos neste livro a partir do terminal, em geral, para os iniciantes, é mais fácil utilizar o X Window System. A GUI pode ser iniciada por meio da digitação do comando a seguir após o prompt root@bt:~#: startx
Após digitar esse comando e teclar Enter, o X começará a ser carregado. Esse ambiente deverá parecer vagamente familiar para a maioria dos usuários de computador. Após a carga ter sido concluída totalmente, você verá um desktop, ícones, uma barra de tarefas e uma área de notificação. Assim como ocorre no Microsoft Windows, podemos interagir com esses itens movendo o cursor do mouse sobre eles e clicando no objeto desejado. Se estiver usando o Kali Linux, depois que fizer o login com o nome de usuário root e a senha toor padrão, você será conduzido automaticamente ao Gnome, um ambiente de desktop baseado em GUI. A maior parte dos programas que utilizaremos neste livro será executada a partir do terminal. Existem diversas maneiras de iniciar o terminal. Na maioria das distribuições Linux, a combinação de teclas Ctrl + Alt + T pode ser usada como atalho. Muitos sistemas também incluem um ícone representado por uma caixa preta com um >_ dentro. Em geral, ele está localizado na barra de tarefas ou no menu do sistema. A figura 1.2 destaca o atalho para o terminal no desktop Gnome.
36
Introdução ao hacking e aos testes de invasão
Figura 1.2 – O ícone para iniciar uma janela do terminal.
Diferente do Microsoft Windows ou de muitos sistemas operacionais Linux atuais, algumas versões do Backtrack não possuem a rede habilitada por padrão. Essa configuração deve-se ao design. Como pentesters, com frequência procuramos manter a discrição ou não queremos nossa presença sendo detectada. Não há nada que grite “Olhe para mim! Olhe para mim! Estou aqui!!!” como um computador que inicie e comece a despejar tráfego de rede instantaneamente fazendo broadcast de solicitações para um servidor DHCP (Dynamic Host Configuration Protocol, ou Protocolo de Configuração Dinâmica de Hosts) e um endereço IP (Internet Protocol, ou Protocolo de Internet). Para evitar esse problema, as interfaces de rede de seu computador Backtrack podem estar desabilitadas (off) por padrão. A maneira mais fácil de habilitar a rede é por meio do terminal. Abra uma janela do terminal clicando no ícone do terminal, como mostrado na figura 1.2, ou (se você estiver usando o Backtrack) por meio das teclas de atalho Ctrl + Alt + T. Depois que o terminal for aberto, digite o comando a seguir: ifconfig -a
Esse comando lista todas as interfaces disponíveis em seu computador. No mínimo, a maioria dos computadores incluirá uma interface eth0 e uma interface lo. A interface lo é sua interface de loopback. A eth0 corresponde à sua placa Ethernet principal. Dependendo de seu hardware, você poderá ter interfaces adicionais ou números diferentes de interface listados. Se o Backtrack estiver executando por meio de uma VM, sua interface principal normalmente será a eth0. Para habilitar a placa de rede, digite o comando a seguir em uma janela do terminal: ifconfig eth0 up
Capítulo 1 ■ O que é teste de invasão?
37
Vamos analisar esse comando de modo mais detalhado; o ifconfig é um comando Linux que significa “quero configurar uma interface de rede”. Como já sabemos, a eth0 é o primeiro dispositivo de rede de seu sistema (lembre-se de que os computadores normalmente iniciam a contagem a partir de 0, e não de 1), e a palavra-chave up é usada para ativar a interface. Sendo assim, podemos traduzir o comando digitado, de modo geral, como “quero configurar a primeira interface para que ela seja habilitada”. Agora que a interface está habilitada, temos de obter um endereço IP. Há duas maneiras básicas de realizar essa tarefa. Nossa primeira opção consiste em atribuir o endereço manualmente concatenando o endereço IP desejado no final do comando anterior. Por exemplo, se quisermos atribuir o endereço IP 192.168.1.23 à nossa placa de rede, devemos digitar (supondo que sua interface seja a eth0): ifconfig eth0 up 192.168.1.23
A partir desse instante, o computador terá um endereço IP, mas ainda será necessário um gateway e um servidor de DNS (Domain Name System). Uma pesquisa simples no Google por “configurar placa de interface de rede (NIC) no Linux” mostrará como inserir essas informações. É sempre possível verificar se os seus comandos funcionaram executando o comando a seguir em uma janela do terminal: ifconfig -a
A execução desse comando permitirá ver as configurações atuais de suas interfaces de rede. Como este é um manual para iniciantes e para manter a simplicidade, iremos supor que a discrição não é uma preocupação no momento. Nesse caso, a maneira mais fácil de obter um endereço é por meio de um DHCP. Para atribuir um endereço por meio de DHCP, basta executar o comando: dhclient
Observe que o dhclient tentará atribuir um endereço IP automaticamente à sua NIC e configurar todas as opções necessárias, incluindo as informações sobre DNS e Gateway. Se você estiver executando o Kali ou o Backtrack Linux a partir de um VMware Player, o software VMware fará o papel do servidor DHCP.
38
Introdução ao hacking e aos testes de invasão
Independentemente de ter usado um DHCP ou de ter atribuído estaticamente um endereço ao seu computador, ele agora deverá ter um endereço IP. Se você estiver usando o Kali Linux, sua rede deverá estar previamente configurada. Não obstante, se você tiver qualquer problema, a seção anterior poderá ser útil. O último assunto a ser abordado refere-se ao modo de encerrar o Backtrack ou o Kali. Como ocorre com quase tudo no Linux, há diversas maneiras de realizar essa tarefa. Uma das maneiras mais fáceis é por meio da digitação do comando a seguir em uma janela do terminal: poweroff
ALERTA! É sempre uma boa ideia desligar ou reinicializar seu computador de ataque após terminar a execução de um pen test. O comando shutdown ou shutdown now também pode ser executado para desligar o seu computador. É um bom hábito, que evita que você deixe acidentalmente uma ferramenta executando e enviando tráfego inadvertidamente a partir de sua rede, enquanto você estiver longe de seu computador.
O comando poweroff também pode ser substituído pelo comando reboot se você preferir reiniciar o sistema em vez de desligá-lo. Antes de continuar, reserve alguns minutos para rever e para praticar todos os passos discutidos até agora, incluindo os seguintes: • ligar/iniciar o Backtrack ou o Kali; • fazer login com o nome de usuário e a senha padrão; • iniciar o X (a GUI para Windows) se você estiver usando o Backtrack; • visualizar todas as interfaces de rede de seu computador; • habilitar (on) a interface de rede desejada; • atribuir um endereço IP manualmente; • visualizar o endereço IP atribuído manualmente; • atribuir um endereço IP por meio de DHCP;
Capítulo 1 ■ O que é teste de invasão?
39
• visualizar o endereço atribuído dinamicamente; • reiniciar o computador usando a interface de linha de comando; • desligar o computador usando a interface de linha de comando.
O uso e a criação de um laboratório da hacking Todo hacker ético deve ter um lugar para praticar e para explorar. A maioria dos iniciantes fica confusa a respeito de como poderá aprender a usar ferramentas de hacking sem infringir a lei ou atacar alvos não autorizados. Normalmente, isso é realizado por meio da criação de um “laboratório pessoal de hacking”. Um laboratório de hacking é um ambiente isolado, de onde o tráfego e os ataques não têm chance de escapar ou de alcançar alvos não autorizados ou não intencionais. Nesse ambiente, você tem a liberdade de explorar todas as diversas ferramentas e técnicas sem temer que o tráfego ou os ataques escapem de sua rede. O laboratório deve, no mínimo, ser configurado para ter dois computadores: um de ataque e a vítima. Em outras configurações, vários computadores que servirão de vítima podem ser simultaneamente instalados a fim de simular uma rede mais realista. O uso e a configuração adequados de um laboratório de hacking são vitais, pois uma das maneiras mais eficientes de aprender algo é fazendo. Para aprender e para dominar o básico sobre os testes de invasão não é diferente. O aspecto mais importante no que diz respeito a qualquer laboratório de hacker está no isolamento da rede. Você deve configurar a rede de seu laboratório de tal modo que seja impossível o tráfego escapar ou ser transmitido para fora da rede. Erros podem ocorrer e até mesmo as pessoas mais cuidadosas podem digitar um endereço IP incorretamente. Digitar incorretamente um único dígito em um endereço IP é um erro simples, porém esse erro pode ter consequências drásticas para você e para o seu futuro. Seria lamentável (e, acima de tudo, ilegal) se você executasse uma série de scans e ataques contra um alvo que você achava ter um endereço IP 172.16.1.1 em seu laboratório de hacker e descobrisse posteriormente que, na realidade, você havia digitado o endereço IP 72.16.1.1.
40
Introdução ao hacking e aos testes de invasão
A maneira mais simples e eficiente de criar um ambiente com sandboxing ou isolado é desligando ou desconectando fisicamente sua rede da Internet. Se você estiver usando computadores de verdade, é melhor contar com cabos Ethernet e switches com fio para rotear o tráfego. Além disso, não se esqueça de verificar duas ou três vezes se todas as suas NICs sem fio estão desabilitadas. Sempre inspecione e verifique cuidadosamente a sua rede à procura de vazamentos em potencial antes de prosseguir. Embora o uso de computadores de verdade para criar um laboratório de hacking seja uma solução aceitável, o uso de VMs proporciona diversas vantagens fundamentais. Em primeiro lugar, considerando a capacidade atual de processamento, é mais fácil configurar e criar um minilaboratório de hacking em um único computador ou laptop. Na maioria dos casos, um computador médio pode executar duas ou três VMs simultaneamente, pois nossos alvos podem ser configurados com um mínimo de recursos. Mesmo usando um laptop, é possível executar duas VMs ao mesmo tempo. A vantagem adicional de usar um laptop está no fato de seu laboratório ser portátil. Com o baixo custo de armazenamento externo hoje em dia, é possível reunir facilmente centenas de VMs em um único hard drive externo. Esses podem ser facilmente transportados e configurados em questão de minutos. Sempre que você estiver interessado em praticar suas habilidades ou em explorar uma nova ferramenta, basta abrir o Kali Linux, o Backtrack ou o seu computador de ataque e instalar uma VM como alvo. Criar um laboratório como esse possibilita o rápido plug-and-play de vários sistemas operacionais e configurações. Outra vantagem em usar VMs em seu laboratório de pen testing está no fato de ser muito simples colocar todo o seu sistema em uma sandbox. Basta desabilitar a placa wireless e desconectar o cabo da Internet. Desde que você tenha atribuído endereços às placas de rede, conforme discutimos na seção anterior, seu computador físico e as VMs serão capazes de se comunicar uns com os outros e você poderá ter certeza de que nenhum tráfego de ataque sairá de seu computador físico. Em geral, o teste de invasão é um processo destrutivo. Muitas das ferramentas e dos exploits executados podem causar danos ou deixar o sistema offline. Em alguns casos, é mais fácil reinstalar o sistema operacional ou o
Capítulo 1 ■ O que é teste de invasão?
41
programa, em vez de tentar corrigi-los. Essa é outra área em que as VMs se destacam. Em vez de ter de reinstalar fisicamente um programa como o servidor SQL, ou até mesmo todo o sistema operacional, a VM pode ser facilmente reiniciada ou ter a configuração original restaurada. Para acompanhar cada um dos exemplos deste livro, você deve ter acesso a três VMs: • Kali ou Backtrack Linux: as capturas de tela, os exemplos e os paths neste livro foram extraídos do Kali Linux, porém o Backtrack 5 (e qualquer versão anterior) também funcionará. Se você estiver usando o Backtrack 5, será necessário localizar o path apropriado para a ferramenta sendo discutida. Com o Backtrack, a maioria das ferramentas pode ser localizada navegando no menu Applications > Backtrack (Aplicações > Backtrack) no desktop ou usando o terminal e acessando o diretório /pen test. Independentemente de você ter escolhido o Backtrack ou o Kali, essa VM servirá como seu computador de ataque em todos os exercícios. • Metasploitable: O Metasploitable é uma VM Linux criada de maneira intencionalmente não segura. O Metasploitable está disponível gratuitamente no Source-Forge e é acessível pelo site http://sourceforge.net/projects/metasploitable/. O Metasploitable servirá como um de nossos alvos quando discutirmos a exploração. • Windows XP: embora a maior parte dos exercícios deste livro seja executada contra o Metasploitable, o Windows XP (de preferência, sem nenhum dos service packs instalados) também será usado como alvo ao longo do livro. Com sua extensa base instalada e sua popularidade no passado, a maioria das pessoas não terá muitos problemas para obter uma cópia válida do Windows XP. Uma instalação padrão do Windows XP constitui um alvo excelente para aprender as técnicas de hacking e de testes de invasão. Ao longo deste livro, cada um dos sistemas listados anteriormente será instalado como uma VM em um único laptop. A rede será configurada de modo que todos os computadores pertençam à mesma sub-rede e possam se comunicar uns com os outros.
42
Introdução ao hacking e aos testes de invasão
ALERTA! Mesmo que você não consiga pôr as mãos em uma VM com Windows XP, ainda será possível acompanhar muitos dos exemplos deste livro usando o Metasploitable. Outra opção é simplesmente criar uma segunda cópia do Backtrack (ou do Kali). Se você usar duas cópias de seu computador de ataque, uma poderá servir como o invasor e a outra como o alvo.
Fases de um teste de invasão Como ocorre com quase tudo, o processo geral para realizar o teste de invasão pode ser dividido em uma série de passos ou de fases. Quando reunidos, esses passos constituem uma metodologia abrangente para realizar um teste de invasão. Uma análise atenta de relatórios não confidenciais sobre respostas a incidentes ou revelações sobre violação de dados dá suporte à ideia de que a maioria dos hackers black hat também segue um processo quando eles atacam um alvo. O uso de uma abordagem organizada é importante porque não só mantém o pentester focado e avançando, mas também permite que os resultados ou a saída de cada passo sejam usados nos passos subsequentes. A utilização de uma metodologia permite dividir um processo complexo em uma série de tarefas menores e mais administráveis. Entender e seguir uma metodologia é um passo importante para dominar o básico sobre o hacking. De acordo com a literatura ou as aulas às quais você estiver assistindo, essa metodologia normalmente conterá entre quatro e sete passos ou fases. Embora os nomes em geral ou a quantidade de passos possam variar entre as metodologias, o importante é que o processo proporcione uma visão geral completa do processo de testes de invasão. Por exemplo, algumas metodologias usam o termo “Coleta de Informações” (Information Gathering), enquanto outras chamam o mesmo processo de “Reconhecimento” (Reconnaissance) ou “Recon”, ou até mesmo de “OSINT”. Considerando o propósito deste livro, focaremos nas atividades da fase, em vez de focarmos no nome. Após ter dominado o básico, você
Capítulo 1 ■ O que é teste de invasão?
43
poderá analisar as várias metodologias de testes de invasão e selecionar uma da qual você mais goste. Para simplificar, usaremos um processo de quatro passos para explorar e aprender sobre testes de invasão. Se fizer pesquisas por aí e analisar outras metodologias (o que é importante fazer), você poderá se deparar com processos que incluem mais ou menos passos do que estamos usando, bem como nomes diferentes para cada uma das fases. É importante entender que, embora a terminologia específica possa ser diferente, a maioria das metodologias robustas de testes de invasão aborda os mesmos tópicos. Há uma exceção a essa regra: o último passo em muitas metodologias de hacking corresponde a uma fase chamada “esconder”, “encobrir suas pegadas” ou “remover evidências”. Como este livro foca na compreensão do básico, essa fase não será incluída nessa metodologia. Depois que tiver um entendimento sólido a respeito do básico, você poderá prosseguir explorando e aprendendo mais sobre essa fase. O restante deste livro será dedicado a analisar e a ensinar os passos a seguir: Reconhecimento, Scanning, Exploração de falhas (exploitation) e Pós-Exploração (ou Preservação do Acesso). Às vezes, visualizar esses passos como um triângulo invertido pode ajudar. A figura 1.3 demonstra essa abordagem. O motivo pelo qual usamos um triângulo invertido é porque o resultado das fases iniciais é muito amplo. À medida que descemos pelas fases, continuamos a explorar detalhes bem específicos. O triângulo invertido funciona bem porque representa nossa jornada do mais amplo para o específico. Por exemplo, à medida que trabalharmos na fase de reconhecimento, é importante jogar nossas redes na maior área possível. Todos os detalhes e todas as informações a respeito de nosso alvo serão coletados e armazenados. O mundo dos testes de invasão está cheio de vários exemplos bons de casos em que uma informação aparentemente trivial foi coletada na fase inicial e, posteriormente, ela veio a ser um componente crucial para executar um exploit bem-sucedido e obter acesso ao sistema. Nas fases subsequentes, começaremos a explorar em profundidade e a focar em detalhes mais específicos relacionados ao alvo. Onde ele está localizado? Qual é o seu endereço IP? Que sistema operacional o alvo está executando? Quais serviços e versões de software estão sendo executados
44
Introdução ao hacking e aos testes de invasão
no sistema? Como você pode ver, cada uma dessas perguntas torna-se cada vez mais detalhada e específica. É importante observar que formular e responder a essas perguntas em uma determinada ordem é relevante.
Figura 1.3 – A metodologia Hacking de Entrada Zero para testes de invasão.
Informações adicionais À medida que suas habilidades avançarem para além do básico, você deve começar a se afastar dos “scanners de vulnerabilidades” em sua metodologia de ataque. Quando você estiver iniciando, é importante compreender o uso adequado dos scanners de vulnerabilidades, pois eles podem ajudar a unir os pontos e entender como é a aparência de uma vulnerabilidade. No entanto, à medida que você se tornar mais experiente, os scanners de vulnerabilidade poderão se tornar um apoio indesejado para a “mentalidade de hacker” que você está tentando aprimorar. Contar contínua e exclusivamente com essa classe de ferramentas, em algum momento pode se transformar em um entrave para o crescimento e para compreender o modo como as vulnerabilidades funcionam e a maneira de identificá-las. A maioria dos pentesters sofisticados que conheço raramente usa scanners de vulnerabilidades, a menos que eles não tenham nenhuma outra opção. Entretanto, pelo fato de este livro abordar o básico, discutiremos os scanners de vulnerabilidades e seu uso apropriado na metodologia Hacking de Entrada Zero.
Capítulo 1 ■ O que é teste de invasão?
45
É igualmente importante entender a ordem de cada passo. A ordem pela qual conduzimos os passos é muito importante porque o resultado ou a saída de um passo geralmente é necessário no passo logo a seguir. Você deve aprender mais do que simplesmente executar as ferramentas de segurança neste livro. Compreender a sequência adequada em que esses passos são executados é crucial para realizar um teste de invasão abrangente e realista. Por exemplo, muitos iniciantes pulam a fase de Reconhecimento e vão direto para a exploração de seus alvos. Não completar os passos 1 e 2 deixará você com uma lista significativamente menor de alvos e de vetores de ataque para cada alvo. Em outras palavras, você acaba se tornando um mágico de um truque só. Embora saber como usar uma única ferramenta possa impressionar seus amigos e familiares, isso não acontece na comunidade de segurança e com os profissionais que levam seus trabalhos a sério. Também pode ser útil aos iniciantes pensar nos passos que discutiremos como se fossem um círculo. É muito raro encontrar sistemas críticos expostos diretamente na internet no mundo atual. Em muitos casos, os pentesters devem acessar e invadir uma série de alvos relacionados antes de poderem atacar diretamente o alvo original. Nessas ocasiões, cada um dos passos normalmente é repetido. O processo de comprometer um computador e, em seguida, usá-lo para comprometer outro é chamado de pivoteamento (pivoting). Com frequência, os pentesters devem realizar o pivoteamento por diversos computadores ou redes antes de atingir o alvo definitivo. A figura 1.4 apresenta a metodologia como um processo cíclico. Vamos rever rapidamente cada um dos quatro passos que serão discutidos para que você os compreenda bem. O primeiro passo em qualquer teste de invasão é o “reconhecimento”. Essa fase cuida da coleta de informações sobre o alvo. Como mencionamos anteriormente, quanto mais informações coletar sobre o seu alvo, mais possibilidade haverá de você ser bem-sucedido nos passos subsequentes. O reconhecimento será discutido em detalhes no capítulo 2.
46
Introdução ao hacking e aos testes de invasão
Figura 1.4 – Representação cíclica da metodologia ZEH (hacking de entrada zero): um modelo com quatro passos.
Independentemente das informações que você tiver para começar, após concluir um reconhecimento detalhado, você deverá ter uma lista de endereços IP a serem usados como alvo para poder efetuar o scanning. O segundo passo em nossa metodologia pode ser dividido em duas atividades distintas. A primeira atividade a ser realizada é o scanning de portas. Após concluir o scanning de portas, teremos uma lista de portas abertas e de serviços em potencial sendo executados em cada um dos alvos. A segunda atividade da fase de scanning é o scanning de vulnerabilidades. O scanning de vulnerabilidades corresponde ao processo de localizar e de identificar pontos fracos específicos nos softwares e nos serviços presentes em nosso alvo. De posse dos resultados do passo 2, prosseguimos para a fase de “exploração de falhas (exploitation)”. Depois que soubermos exatamente que portas estão abertas, que serviços estão executando nessas portas e quais vulnerabilidades estão associadas a esses serviços, podemos começar a atacar o nosso alvo. Essa fase e suas ferramentas, que os iniciantes associam ao hacking “de verdade”, possibilitam a exploração em massa com um simples aperto de botão. A exploração pode envolver diversas técnicas, ferramentas e códigos diferentes. Analisaremos algumas das ferramentas mais comuns no capítulo 4. O objetivo final da exploração consiste em obter um acesso de administrador (ter controle completo) sobre o computador-alvo.
Capítulo 1 ■ O que é teste de invasão?
47
ALERTA! A exploração pode ocorrer de forma local ou remota. A exploração local exige que o invasor tenha acesso físico ao computador, enquanto a exploração remota ocorre por meio de redes e de sistemas, quando o invasor não pode atingir fisicamente o alvo. Este livro discutirá tanto os ataques locais quanto os remotos. Independentemente de o ataque ser local ou remoto, o acesso total do administrador normalmente permanece como o objetivo final. O acesso de administrador permite que um hacker tenha um controle total e completo do computador-alvo. Novos programas podem ser instalados, ferramentas de defesa podem ser desabilitadas, documentos confidenciais podem ser copiados, alterados ou apagados, configurações de segurança podem ser alteradas e muito mais.
A fase final a ser analisada é a de “pós-exploração e preservação do acesso”. Com frequência, os payloads enviados na fase de exploração de falhas permitem apenas um acesso temporário ao sistema. Como a maior parte dos payloads não é persistente, devemos prosseguir rapidamente para a fase de pós-exploração para criar uma porta dos fundos (backdoor) mais permanente para o sistema. Esse processo permite que nosso acesso de administrador sobreviva quando os programas forem encerrados e até mesmo quando houver uma reinicialização do sistema. Como hacker ético, devemos ter muito cuidado com o uso e a implementação dessa fase. Discutiremos como executar esse passo, bem como as implicações éticas de usar uma porta dos fundos ou um software para controle remoto. Embora não esteja incluído como um passo formal na metodologia de testes de invasão, a última atividade (e, sem dúvida, a mais importante) de todo teste de invasão é o relatório. Não importa a quantidade de tempo e o planejamento feito para a realização do teste de invasão, o cliente normalmente irá julgar o seu trabalho e a sua eficiência de acordo com a qualidade de seu relatório. O relatório final do teste de invasão deve incluir todas as informações relevantes descobertas em seu teste e explicar em detalhes como o teste foi realizado e o que foi feito durante o teste. Sempre que possível, medidas para atenuação e soluções devem ser apresentadas para os problemas de segurança descobertos. Por fim, um sumário executivo
48
Introdução ao hacking e aos testes de invasão
deve ser incluído em todo relatório de teste de invasão. O propósito desse sumário é oferecer uma visão geral simples, não técnica, de uma a duas páginas, de suas descobertas. Esse relatório deve ressaltar e sintetizar os problemas mais graves descobertos pelo seu teste. É de suma importância que ele possa ser lido (e compreendido) tanto pelo pessoal técnico quanto pelo não técnico. É importante não encher o sumário executivo com detalhes técnicos em excesso; essa é a função do relatório detalhado.
Informações adicionais O PTES (Penetration Testing Execution Standard, ou Padrão para Execução de Testes de Invasão) é um excelente recurso se você estiver à procura de uma metodologia mais detalhada e completa. O PTES inclui diretrizes técnicas que podem ser usadas por profissionais da área de segurança, além de um framework e uma linguagem comum dos quais a comunidade de negócios pode tirar proveito. Mais informações podem ser encontradas em http://www.pentest-standard.org.
Qual é a direção a ser seguida a partir daqui? Devemos ressaltar que há diversas alternativas para o Kali ou para o Backtrack. Todos os exemplos deste livro devem funcionar com todas as distribuições voltadas para a auditoria de segurança discutidas a seguir. O Blackbuntu é uma distro baseada em Ubuntu, voltada para segurança, com uma comunidade bem simpática, ótimo suporte e desenvolvimentos ativos. O Blackbox é outra boa distribuição voltada para testes de invasão, baseada em Ubuntu, e inclui uma interface leve e elegante, além de ter várias ferramentas de segurança previamente instaladas. O Matriux é semelhante ao Backtrack, porém inclui também um diretório Windows binário que pode ser usado e acessado diretamente a partir de um computador Windows. O Fedora Security Spin é uma coleção de ferramentas relacionadas à segurança, criada com base na distribuição Fedora. O Katana é um DVD multiboot que reúne diversas ferramentas e distribuições diferentes em um só local.
Capítulo 1 ■ O que é teste de invasão?
49
Por fim, você pode querer explorar a distribuição STD clássica, bem como o Pentoo, o NodeZero e o SamuraiWTF. Há muitas outras distribuições de Linux para testes de invasão – uma pesquisa simples no Google por “Linux testes de invasão distribuições” fornecerá uma infinidade de opções. Você também pode investir um tempo na criação e na personalização de sua própria distribuição de Linux, reunindo e instalando ferramentas à medida que sua carreira de hacker progredir.
Resumo Este capítulo apresentou o conceito de testes de invasão e de hacking como meios para garantir a segurança de sistemas. Uma metodologia especial de quatro passos, contendo “somente o básico”, incluindo Reconhecimento, Scanning, Exploração de falhas e Pós-Exploração e Preservação do Acesso foi apresentada. Neste capítulo, também discutimos os vários papéis e personagens envolvidos no cenário do hacking. O básico sobre o Backtrack Linux, incluindo sua inicialização, o login, como iniciar o X, acessar o terminal, obter um endereço IP e desligar o sistema, foi discutido. O Kali Linux, uma versão remodelada do Backtrack, também foi apresentado. A criação e o uso de um laboratório de testes de invasão foram abordados. Os requisitos específicos para permitir que você pratique suas habilidades em um ambiente seguro e isolado e possa acompanhar os exemplos deste livro foram apresentados. Este capítulo foi concluído com detalhes adicionais sobre alternativas ao Kali ou ao Backtrack Linux que poderiam ser explorados pelo leitor.