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: [email protected]
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 [email protected]:~#. 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 [email protected]:~#:
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.
Download

Capítulo de Exemplo