1
p
Pró-Reitoria de Pós-Graduação e Pesquisa
Lato Sensu em Perícia Digital
Trabalho de Conclusão de Curso
TESTES DE INVASÃO EM AMBIENTE CORPORATIVO
Autor: Davi Eduardo R. Domingues
Orientador: Prof. Msc. Marcelo Beltrão Caiado
Brasília - DF
2012
2
DAVI EDUARDO RODRIGUES DOMINGUES
TESTES DE INVASÃO EM AMBIETE CORPORATIVO
Artigo apresentado ao curso de Pós-Graduação
em Perícia Digital da Universidade Católica de
Brasília, como requisito parcial para obtenção
do Título de Especialização em Perícia Digital.
Orientador: Msc. Marcelo Beltrão Caiado
Brasília
2012
3
Artigo de autoria de Davi Eduardo Rodrigues Domingues, intitulado “TESTES DE
INVASÃO EM AMBIENTE CORPORATIVO”, apresentado como requisito parcial para
obtenção do grau de Especialista em Perícia Digital da Universidade Católica de Brasília, em
DATA DE APROVACAO, defendido e aprovado pela banca examinadora abaixo assinada:
_______________________________________________________
Prof. Msc. (Marcelo Beltrão Caiado)
Orientador
Pós-Graduação em Perícia Digital - UCB
_______________________________________________________
Prof. Dr. (Laerte Peotta de Melo)
Pós-Graduação em Perícia Digital - UCB
Ano
2012
4
Dedico este trabalho primeiramente a Deus
que me deu a vida e paciência para chegar a
este nível de estudo que me encontro. Em
especial a minha mãe que acreditou em mim,
aos bons valores que me ensinou e pelo apoio
a toda minha vida acadêmica e me
compreendeu pelos momentos de ausência ao
seu lado.
Davi Eduardo R. Domingues
5
AGRADECIMENTO
Agradeço ao orientador Prof. MSc Marcelo Caiado pelo acompanhamento, sugestões
e discussões ao longo deste projeto.
6
“Tecnologia é uma dimensão fundamental da
mudança social. As sociedades evoluem e
transformam-se através de uma complexa
interação de fatores culturais, econômicos,
políticos e tecnológicos. Por isso, a tecnologia
precisa ser entendida dentro dessa matriz
multidimensional. No entanto, a tecnologia
tem sua própria dinâmica. O tipo de tecnologia
desenvolvida e difundida numa sociedade
configura
decisivamente sua
estrutura
material”. (CASTELLS em HIMANEN,
2001.137).
1
Testes de Invasão em ambiente corporativo
Davi Eduardo Rodrigues Domingues
Resumo:
Com a chegada da internet as redes de computadores não param de crescer, o que traz novas
tecnologias, e consequentemente, novas vulnerabilidades. Qualquer dispositivo que tenha
acesso à internet está sujeito a sofrer diversos tipos de ataques, muitas vezes causando
prejuízos e danos enormes às vítimas. Alguns desses ataques podem ser devastadores nas
organizações. Assuntos relacionados a Testes de Invasão, Testes de Intrusão ou Testes de
Penetração (Pentest), são termos que dizem a mesma coisa e são utilizados pelos
administradores de rede para buscar e realizar tratamento das vulnerabilidades encontradas na
empresa, simulando ataques como se fossem reais nas redes e sistemas de informação. Devido
a este contexto, é importante que se façam testes de intrusão para ver a real segurança dos
ativos (qualquer bem que tenha valor para a organização) de rede para que não sejam
comprometidas a integridade, disponibilidade e confidencialidade das informações. O objetivo
deste artigo é mostrar a importância de utilizar testes de invasão em uma infra-estrutura de
tecnologia da informação, verificando as falhas de segurança encontradas antes que outros o
façam, buscando prevenir assim contra os ataques reais. Ao longo do artigo serão demostradas
algumas técnicas e ferramentas para realização Pentest, identificando vulnerabilidades no
ambiente corporativo.
Palavras-chave: Segurança da Informação. Tecnologia de Informação. Teste de Invasão.
Pentest. Investigação. Ataques.
1. INTRODUÇÃO
A Internet surgiu em 1969, nos laboratórios de pesquisa dos Estados Unidos
ARPAnet (ARPA - Advanced Research Projects Agency), a qual era uma rede interna do
Departamento de Defesa Norte-Americano e se tornou pública a partir da década de 1990, e
tem crescido bastante nos últimos anos. A cada dia, a sociedade está mais dependente das
tecnologias, as pessoas não conseguem mais viver sem água, luz e agora sem internet. O
sucesso da Internet mudou consideravelmente as rotinas do mundo todo, trazendo prós e
contras desse mundo virtual como também é chamado o espaço cibernético ou cyberspace.
Ele é formado por uma rede de computadores interconectada, onde tramitam informações de
todo planeta. Porém, nesse espaço onde milhares de pessoas trabalham todos os dias, surgiu
também a insegurança, que pode ser descrita como as vulnerabilidades, ameaças e pragas
virtuais. Muitas empresas começaram a utilizar a rede mundial de computadores para realizar
transações financeiras e comerciais. Com isso, a parte de negócio das organizações ficou mais
suscetível às novas ameaças, além de que novas tecnologias vão surgindo a cada minuto,
sendo em alguns casos embutidas de vulnerabilidades as quais, se exploradas por pessoas
indevidas, podem causar prejuízos à empresa. Até mesmo sites do governo e grandes
empresas como a Sony (2011), Aplle de acordo com o jornalista Pereira (2012), o grupo
2
hacker AntiSec divulgou uma série de informações e dados de usuários da Apple têm sofrido
uma série de ataques cometidos por hackers.
Encontrar falhas de segurança num sistema de informação não é uma tarefa fácil,
mas é importante procurar se prevenir de ataques reais. É necessário que seja realizado um
planejamento para monitorar toda infra-estrutura de Tecnologia da Informação (T.I.), para
observar possíveis ataques através de simulações de ataque. É ideal uma abordagem de forma
proativa que identifique as vulnerabilidades existentes, buscando soluções capazes de reduzir
o risco da empresa. Devem ser realizados Testes de Invasão (ou Testes de Penetração ou
Intrusão se referindo ao mesmo termo), o que não deixa de ser um tipo de auditoria, mas com
alguns detalhes que o tornam diferente. A definição básica dele é avaliar a segurança da
informação como um todo, redes, ativos, sistemas, mas essa auditoria é feita com simulação
de forma controlada de um ataque real. Desta forma, tendo o conhecimento do que poderia
ocorrer caso algum hacker o fizesse, garantido assim prevenção dos ativos e também os três
aspectos fundamentais para que um sistema seja considerado seguro: integridade,
confidencialidade e disponibilidade da informação (DIAS, 2002) e (ABNT NBR ISO/IEC
17799:2005).
De acordo com a (ISO/IEC 17799:2005):
• Integridade é a propriedade de salvaguarda da exatidão e completeza de
ativos, ou seja, assegurar que os dados não possam ser alterados por usuários
não autorizados;
• Confidencialidade é a propriedade de que a informação não esteja disponível,
ou seja, revelada a indivíduos, entidades ou processos não autorizados, sendo
assim, é a garantia de que as informações não possam ser acessadas por
usuários não autorizados;
• Disponibilidade é a propriedade de estar acessível e utilizável, sob demanda,
por uma entidade autorizada, ou seja, garante que os recursos estejam
disponíveis aos usuários autorizados.
1.1. Justificativa
As empresas estão sendo vítimas de muitos ataques, vindos dos mais variados locais,
ocasionando danos incalculáveis. É interessante que seja executado um Pentest em um
sistema de informação do ambiente corporativo da organização, antes que o seu ativo,
sistema, site, etc. entre em produção. Caso já esteja em produção, a atenção deve ser
redobrada, podendo também ser realizado o Pentest, proporcionando mais segurança na rede
corporativa. Deve-se ter em mente que muitas vezes o próprio usuário da rede interna pode
ser o atacante, no qual ele é o elemento chamado de “fogo amigo”, como alguns
administradores dizem. Muitas vezes pensamos somente em intrusões vindas da rede externa,
não se atentando à rede interna da corporação, porém, muitas vezes o inimigo se encontra
dentro de casa.
A proposta desse artigo é realizar um estudo sobre Teste de Invasão em ambiente
corporativo, servindo de material importante para executá-lo no ambiente de produção,
estando em acordo com o nível de qualidade que a Universidade Católica de Brasília requer,
utilizando ferramentas de ataques, além de seguir boas práticas e normas em vigor,
proporcionando um aumento da segurança das informações contidas na rede corporativa.
3
1.2. Motivos que levam a realizar um Teste de Invasão
As empresas têm sofrido muito com ataques virtuais, onde o negócio das organizações
tem sido afetado, devido a isso, muitas vezes justifica-se a contratação externa de uma
empresa de auditoria para execução de um Pentest, isso dependendo do escopo e do tamanho
da empresa, evitando assim perdas financeiras. Existe várias coisas que deve ser levado em
conta, como avaliar o tipo/quantidade de informação que vai ter que passar para o auditor,
sendo este uma empresa terceirizada. Mas o foco principal sempre é garantir a segurança da
informação, verificar se realmente seu ambiente está seguro, e isso é atingido também com
Teste de Invasão. Alguns motivos que levam a executar um teste de intrusão:
a) Mapear e verificar os riscos presentes na organização. Devem-se identificar as
possíveis vulnerabilidades, entendendo os riscos presentes na organização e tomando
medidas necessárias para gerenciar as ameaças. Por exemplo, de acordo com as
melhores práticas, é ideal se ter um firewall de borda, Proxy, antivírus nos
computadores clientes, etc. O Teste de Invasão não irá checar se tem ou não o firewall
de borda, ele irá na verdade testar a segurança deste firewall mediante a um ataque em
cima dessa barreira de segurança, avaliando assim a segurança como um todo;
b) Outra questão está relacionada à conformidade. Existem Normas ISO da ABNT que
recomendam um Teste de Invasão. São elas: ISO 27000, (ISO 27001 e ISO 27002 são
de pré-requisitos e boas práticas de segurança, essas duas falam sobre a execução de
teste de invasão) e ISO 27005:2008 (Essa norma fala sobre gestão de riscos). Além
disso, existem questões regulamentares, como por exemplo, se a organização trabalha
com cartão de crédito, é exigido que esteja em conformidade com a norma PCI DSS, e
que execute Teste de Invasão regularmente, dentre outras normas;
c) Outro motivo é ficar atento aos ativos, sistemas e serviços que entrarão em produção,
o ideal é realizar um o Pentest proativamente, ou seja, realizar testes profundos para
ver a segurança deste meio, por exemplo, colocar um servidor Web com endereço real,
rodando uma aplicação com senha fraca de root e do banco de dados, ssh na porta
default, etc., isso é uma falha de segurança imensa, no qual poderá causar danos
incalculáveis, caso algum invasor consiga varrer as portas abertas desse servidor e
atacá-lo;
d) Garantir a continuidade do negócio.
1.3. Propósito
Este artigo tem como propósito pesquisar soluções adequadas para avaliar e testar a
segurança do ambiente corporativo em uma instituição. Para isso serão estudados os tipos de
testes de invasão, tipos de ataques, ferramentas de ataques e soluções gratuitas a serem
executadas num ambiente de laboratório, que possuem uma abordagem de códigos abertos,
facilitando a compreensão do funcionamento e um aprendizado teórico e prático. Além disso,
tem-se também o intuito de explorar o estudo de outras soluções proprietárias ou não.
1.3.1. Objetivo Geral
Pesquisar soluções, técnicas e metodologias necessárias para a execução de Pentest em
ambiente corporativo, explorando os conceitos, requisitos estruturais necessários, as
limitações e escalabilidades possíveis, identificando e testando as vulnerabilidades e ameaças
4
encontradas nos sistemas de informação vindas tanto da rede interna, quanto de acessos
externos, estudando técnicas usadas por hackers, para que através disso a organização saiba os
pontos fracos para se defender das ameaças, servindo de auxílio para análise e auditoria da
rede.
1.3.2. Objetivos específicos
O artigo tem como intenção alcançar os seguintes objetivos:
• Fazer uma abordagem conceitual sobre tipos de testes, testes de invasão,
identificação de vulnerabilidades;
• Pesquisar normas relacionadas à execução de teste de invasão;
• Apresentar algumas técnicas e ferramentas para realizar Pentest;
• Simular um teste de invasão de forma controlada;
1.4. Organização do trabalho
Este trabalho será dividido em:
• Introdução (Importância do Teste do Teste de Invasão, objetivos);
• Referencial Teórico (Características do teste de invasão em redes, Conceitos,
Normas, Etapas, Tipos de ataques, Tipos de testes de invasão, Técnicas e
Ferramentas utilizadas);
• Estudo de caso;
• Conclusão;
2. CONCEITOS E DEFINIÇÕES
2.1. Hacker
A definição é bastante controversa, mas normalmente hackers são definidos como
pessoas que tem conhecimentos de programação e de sistemas operacionais a fundo, dominam
o Linux e Unix, são muito inteligentes e capazes de manipular os sistemas computacionais.
Procuram estudar muito e sabem identificar falhas de segurança dos sistemas computacionais,
podendo criar programas maliciosos através de técnicas de programação para sucesso em uma
invasão.
De acordo com Castells (2001: p.154). "Os hackers são os protagonistas da Era da
Informação, os sujeitos que detêm a fonte cultural da inovação tecnológica".
No livro de Kevin Mitnick, ele define que: "Alguns hackers destroem os arquivos ou
unidades de disco inteiras das pessoas. Eles são chamados de Crackers ou vândalos. Alguns
hackers novatos não se preocupam em aprender a tecnologia, eles apenas querem baixar as
ferramentas dos hackers para entrar nos sistemas de computadores, esses são chamados de
script kiddies. Os hackers mais experientes, com habilidades em programação, desenvolvem
programas para hackers e os postam na Web e nos sistemas de bulletin board. Em seguida,
temos os indivíduos que não têm nenhum interesse em tecnologia, mas que usam o
computador apenas como uma ferramenta que os ajuda a roubar dinheiro, bens ou serviços."
(MITNICK, 2003).
No mundo de hoje, na linguagem dos analistas de segurança e dos hackers surge um
novo conceito, alguns tipos de hackers que podem ser citados: Hackers black-hat, que são
hackers que invadem, danificam, alteram e furtam informações em benefício próprio
5
(THOMPSON, 2004). E outro grupo são os Hackers white-hat, no qual estão os hackers que
exploram vulnerabilidades para encontrar soluções de segurança, descobrem falhas em
sistemas e as divulgam para que sejam corrigidas. (THOMPSON, 2004).
2.2. Ameaça
Segundo Barker e Lee (2004), ameaça é qualquer circunstância ou evento com o
potencial intencional ou acidental de explorar uma vulnerabilidade específica em qualquer
sistema computacional, resultando na perda de confidencialidade, integridade ou
disponibilidade.
A cada vez, os usuários das organizações estão desenvolvendo suas atividades e
conectados à internet diariamente, muitos tem curiosidades e navegam até mesmo em sites
suspeitos onde tem um ambiente repleto de ameaças digitais, são eles: sites de redes sociais,
estes sofrem invasões e roubo de informações. Recentemente o Linkedin foi invadido,
trazendo em público informações das contas dos usuários, além disso, esse tipo de site está
disseminando cavalos de tróia através de links que levam a páginas contaminadas.
Outro exemplo onde se podem adquirir ameaças são sites de busca, que são iscas
para atrair usuários desatentos, por exemplo, uma notícia de um ator ou atriz que está em alta,
fazendo o internauta entrar no site indicado, que na verdade é um ambiente cheio de pragas
virtuais, o usuário neste caso nem imagina que está sendo vítima de ataques. Sites de
comércio eletrônico também são muito usados nos crimes digitais, atrativos como e-mails
falsos usados para atrair o internauta, como oferta de produtos mais baratos, dentre outros.
Tipos de ameaças:
a. Malwares
Significa software malicioso, são pragas virtuais que se instalam nos computadores
da vítima, utilizados por hackers causando danos e roubando de informações, obtendo até
mesmo controle total da máquina invadida, tornando-a zumbis, podendo ser utilizada para
ataques de DDoS (Distributed Denial of Service ). Exemplo de malware: trojan horse (cavalo
de tróia), vírus, worms, são feitos para causar danos nos computadores, os dois últimos
podem se propagar. As aplicações desenvolvidas com falhas de programação (intencional ou
não intencional) também podem ser consideradas malwares.
b. Vírus
Vírus são programas criados para causar danos ao computador infectado, podendo
danificar o sistema operacional, deixando-o muito lento, até mesmo inutilizável. Tem o poder
de se propagar e infectar outros ativos da rede corporativa, servidores com compartilhamento
de arquivos podem ser afetados e os arquivos deletados automaticamente por essa praga.
Talvez o tipo de ameaça mais conhecido pelas pessoas.
c. Vulnerabilidade
É um conceito utilizado para representar uma falha existente num ativo ou sistema,
que, se exploradas, podem causar prejuízo ao sistema de informação.
Vulnerabilidade sendo um defeito ou fraqueza no design ou na implementação de um
sistema de informações (incluindo procedimentos de segurança e controles de segurança
6
associados ao sistema), pode ser intencionalmente ou acidentalmente explorada, afetando a
confidencialidade, integridade ou disponibilidade. (ROSS et al., 2005).
d. Trojan Horse
Termo proveniente do inglês que significa cavalo de tróia, são programas maliciosos
que compromete a segurança computacional, geralmente é enviado por alguém via e-mail
para que o destinatário clique e execute (FERREIRA, 2008). Muito parecido com vírus,
porém não se auto replica.
e. Worms
Como o vírus, o worm é um software que se propaga de forma automática, se auto
replica e envia cópias para os computadores conectados à rede. A diferença básica do vírus, é
que o worm não precisa de outro programa para se propagar e multiplicar, enquanto o vírus
precisa de outro programa já infectado para se propagar. O worm explora vulnerabilidades dos
sistemas e programas instalados. As formas de envio dessa praga são: envio de mensagens de
e-mails (correio eletrônico), por mensagens via Windows Live (antigo MSN),
compartilhamento de arquivos na rede, etc. Além disso, não é necessário que seja executado,
pela sua característica de se auto propagar infectando a vítima, por exemplo, ao inserir um
pendrive que esteja infectado em um computador, irá executar automaticamente podendo
afetar assim até mesmo o processamento de CPU da máquina, e até mesmo tornando-a zumbis
para realizar ataques. (CERT.br, 2012).
f. Spywares
São programas que funcionam como um espião, o qual monitora as atividades do
computador infectado e envia informações ao seu criador sem o consentimento do usuário.
Está muito relacionado a propagandas (conhecidas como adware), e muitas vezes vêm
embutidas em outros programas freeware. Um exemplo de spyware são os keyloggers,
programas capazes de capturar as teclas digitadas do computador infectado e enviar
automaticamente ao invasor.
2.3. Normas e metodologias
Um ponto importante é a questão da conformidade, testes de invasão devem estar de
acordo com normas nacionais e internacionais. Segundo (Fontes, 2008), a série de normas
ISO/IEC 27000 é composta de 11 normas, voltadas à segurança da informação publicada pela
ISO (International Organization for Standardization) e IEC (International Electrotechnical
Commission). A norma ISO/IEC 27000 avalia riscos e executa controles de segurança, no
qual é um guia com conjunto de padrões para as empresas que desejam segui-las. É
recomendado que, para realizar um teste de invasão devem-se seguir padrões e metodologias,
destacando a família ISO 27000, em especial a norma 27001 e o OSSTMM (Open Source
Security Testing Methodology Manual).
As normas mais conhecidas de segurança exigem a execução de um teste de invasão
e recomendam a utilização dessas, sendo uma das mais conhecidas, a norma BS 7799, que
revela boas práticas de gestão de segurança em TI. Em seguida, surgiu a ISO/IEC 17799 que
foi reorganizada, contendo informações da BS 7799 dentro da ISO 17799, tempos depois
surgiu a ISO/IEC 27002 em substituição a edição anterior (ANBT NBR ISO/IEC
17799:2001).
7
Já a norma PCI DSS (Payment Card Industry Data Security Standard) é uma norma
de segurança de dados que envolve pagamento digital, no qual empresas que trabalham com
pagamentos, cartão de crédito em compras feitas na internet, é exigido que estas executam o
teste de invasão. Na ISO 27005:2008 (gestão de riscos), por exemplo, para organizações que
trabalham com cartão de crédito, recomenda-se que estejam em conformidade com esta norma
PCI DSS, para que se execute Teste de Invasão anual e permanente.
Também é ideal que esteja em conformidade com a Norma ISO 27001, pois esta
define o sistema de gestão de segurança da informação, voltada para mecanismos de controle
para minimizar os riscos.
Além do mais, a norma ISO 27002 fala de conceitos de segurança da informação e
gestão da segurança da informação, que envolve também controles de segurança que já possui
na ISO 27001.
E por fim, o OSSTMM, é um manual de uma metodologia aberta usada para realizar
testes de segurança completo através de padrões. Está ligado diretamente ao órgão ISECOM
(Institute for Security and Open Methodologies). O OSSTMM revela detalhadamente os
principais itens técnicos que precisam ser testados, seguindo as etapas de antes, durante e após
o teste de invasão, inicialmente ele avalia as necessidades do ambiente e depois executa o
teste de forma concisa para obter os melhores resultados. O manual é sempre atualizado e
adicionado melhorias de acordo com as melhores práticas internacionais, sua versão atual é a
3. (OSSTMM 3, 2010).
2.4. Ataques
De um modo geral, ataques são atos intencionais que burlam a segurança de um
meio.
Ataque de um hacker são atos intencionais de tentar manipular um sistema de
informação de uma organização, tendo ou não sucesso, ou seja, é uma ação cujo objetivo é
obter acesso não autorizado a alguns ou todos os recursos computacionais, interferindo ou
paralisando o funcionamento de um servidor ou serviço de rede. Por exemplo: o uso de
softwares scanner para varreduras de portas de rede para descoberta portas abertas ou
vulneráveis. De posse dessas informações é possível invadir os sistemas que a vítima utiliza,
tendo acesso total ou parcial das informações.
Segundo Wadlow (2000) um ataque pode ser ativo: tendo por resultado a alteração
dos dados, passivo: tendo por resultado a liberação dos dados, ou destrutivo: visando à
negação do acesso aos dados ou serviços.
2.5. Teste de Invasão
Teste de invasão pode ser chamado também de teste de penetração, teste de intrusão
ou apenas Pentest, faz uma busca e avaliação da segurança da informação da organização
como um todo, procurando vulnerabilidades através de simulações de ataques controlados,
podendo ser utilizado também para auditoria.
Testes de invasão são testes realizados por especialistas para tentar quebrar a
segurança da informação de uma determinada organização. (WACK, 2003). O objetivo é
identificar as falhas de segurança, utilizando técnicas e ferramentas de ataques. Levando em
consideração que para invadir um sistema, é necessário fazer um levantamento de
informações úteis daquele ambiente a ser testado, através de técnicas de obtenção de
informações, que é a primeira etapa do teste de invasão, além de um planejamento, preparação
e em seguida a execução.
8
Teste de invasão é uma técnica que pode ser útil para maioria das organizações que
prezem a segurança. Mas para isso, é necessário abordar técnicas avançadas utilizadas por
hackers e especialistas para obter acesso a um sistema de forma transparente, minimizando os
riscos. Há possibilidade dos sistemas serem danificados com o teste de invasão, por isso
devem ser realizados por pessoas experientes e capazes, mesmo assim nunca é 100% seguro
que a operação tenha sucesso totalmente. (WACK, 2003).
Teste caixa preta e caixa branca
O teste de invasão pode ser classificado como: teste do tipo caixa preta e caixa
branca.
No teste caixa preta o testador não conhece o ambiente corporativo a ser testado e
avaliado, o qual terá que descobrir por conta própria. Depende do que o cliente quer se
prevenir, por exemplo, se o cliente vai ou não passar informações para o analista que está
auditando, o tipo de ameaça que estará se prevenindo, se for ataques da internet o ideal é
executar um caixa preta, pois a simulação é de um atacante da internet, o analista vai partir do
mesmo nível de conhecimento que um atacante real faria sobre a infra-estrutura a ser
invadida.
No teste do tipo caixa branca, o cliente passa ao testador todas as informações claras
da infra-estrutura a ser testada, como endereçamento de IP (Internet Protocol) da rede,
organograma, mapa da rede etc. Por exemplo, é ideal para se prevenir de ex-funcionários que
já tenham informações da rede interna, simulando o que poderia ocorrer caso alguém que já
foi colaborador da empresa queira tentar burlar a segurança da organização, ou seja, a
simulação com quase todas as informações da rede para proteção de usuários internos.
Teste interno e externo
O teste interno parte do princípio que o ataque seja feito no ambiente interno da
corporação, estando dentro do perímetro de proteção. Hoje em dia se percebe que somente a
proteção por perímetro não é suficiente, ou seja, além disso, tem que haver a proteção de
borda e de host, pois vários ataques reais são originados da rede interna, sendo assim, é
importante simular e levar as falhas de segurança da rede interna, servidores e ativos internos.
No teste externo, a simulação é realizada por ataques externos do ambiente da
empresa, visando conexão com a internet, ou seja, para ver se a organização está preparada
para invasões da internet, tais como tentativas de acesso aos roteadores, firewalls de borda,
servidores Web, DNS Externos, Terminal Service publicado externamente.
Ambos os testes devem ser executados com técnicas de invasão, uma delas seria a
engenharia social que visa buscar obtenção de informações.
Etapas do Teste de Invasão
Para testar a maioria das ferramentas que serão apresentadas foi utilizado a
distribuição Linux Backtrack 5 R3, sendo um sistema que contém uma gama de ferramentas
para Testes de Invasão e segurança da informação:
2.5.1. Obtenção de informações
2.5.1.1
Principais técnicas para obtenção de informações
9
a) Trashing ou Dumpster diving
Termo do inglês que significa lixeira ou lixo, no qual está relacionado ao lixo de
informações que podem ser importantes para um hacker ou intruso que queira saber
informações da empresa.
É um termo que significa buscar informações preciosas da empresa dentro do lixo, está
ligada diretamente com engenharia social, a falha está na cultura das pessoas para lidar com
as informações, procurar informações no lixo. O que tem que ser feito é a classificação das
informações, no qual se geram rótulos e para cada rótulo é gerado um controle, por exemplo,
caso uma informação esteja classificada como confidencial, o funcionário da organização já
sabe lidar com ela e deverá saber o que fazer no caso de descarte, há três tipos de controles
que podem ser implementados: compartilhamento, armazenamento e o descarte, o trashing é a
negligência em cima do descarte.
Segundo Mitnick (2003), trashing é a técnica de vasculhar lixo interno de uma
empresa para encontrar informações descartadas que tivessem algum valor para um hacker
realizar um ataque de engenharia social, como por exemplo, informações de cargo dos
funcionários, telefones dos setores, tipo de atividade desenvolvida, informações dos
servidores, como endereço IP, dentre outras.
b) Engenharia Social
É a arte de explorar o fator humano para obter informações precisas dos próprios
colaboradores para poder realizar ataques.
Segundo a cartilha de segurança CERT.Br, “Engenharia social é um método de ataque
onde alguém faz uso da persuasão, muitas vezes abusando da ingenuidade ou confiança do
usuário, para obter informações que podem ser utilizadas para ter acesso, não autorizado, a
computadores ou informações”.
Os colaboradores tem que estar cientes que as informações das empresas têm um valor
muito importante, se usadas de má forma podem trazer grandes prejuízos, podendo em
algumas vezes até levar à falência, impactando diretamente em sua vida tendo seus empregos
ameaçados.
“A engenharia social usa a influência e a persuasão para enganar as pessoas e
convencê-las de que o engenheiro social é alguém que na verdade ele não e, ou pela
manipulação. Como resultado, o engenheiro social pode aproveitar-se das pessoas
para obter as informações com ou sem o uso da tecnologia” (MITNICK, 2003).
c) WHOIS
O Whois é usado para fazer consultas de informações legítimas de um determinado
domínio conseguindo informações relevantes da empresa, como: nome de quem registrou o
domínio, data do registro, contato técnico, contato comercial, informações do site, por
exemplo: Se colocar o endereço IP do site, com isso é possível descobrir se é um range de
endereçamento IP todo ou não.
d) Entrada DNS (Domain Name System)
Está relacionado com informações realizadas através de consulta a servidores DNS
(Sistema de nome de domínio). Através do WHOIS consegue-se descobrir quem é o servidor
de nome autoritativo dele, como consultas específicas, por exemplo: quem são os servidores
de e-mails MX, além disso, tem uma vulnerabilidade nos servidores DNS que é a
transferência de zona, isso é uma feature (característica) do servidor para poder clonar os
10
servidores DNS, ex.: Se existe um servidor já criado como primário, e deseja-se criar outro
igual, ou seja, também pode responder igual ao primeiro através da transferência de zona de
um para o outro.
Alguns servidores de DNS como o bind, antigamente vinham já com essa
funcionalidade habilitada, o que era um problema, pois através de um ataque de transferência
de zona pode-se ter acesso a resoluções de zona que estavam configuradas para resoluções de
nomes públicos, neste caso o atacante teria acesso como, intranet, nome dos servidores
internos, etc. e no caso do servidor estar vulnerável a transferência de zona, servidores da
Microsoft que usam o Active Directory além das resoluções de nome criadas, ele também cria
uma entrada DNS para cada cliente DHCP, podendo mapear até Workstation.
e) Google Hacking
É uma técnica usada para buscar na internet informações das empresas, como por
exemplo, nas redes sociais podemos verificar diversas informações dos usuários. Uma
informação que possa levar a outra é e-mail que está disponível muitas vezes para o público,
no caso de um e-mail corporativo, podem-se coletar os e-mails válidos e verificar também os
contatos que estão conectados a este usuário, com isso é possível realizar ataques de força
bruta, geralmente os e-mails corporativos são iguais aos logins de rede dos funcionários.
Muitas pessoas não sabem o poder que o Google pode nos oferecer dependendo do
tipo de busca a ser feita, e que se utilizado por usuários maliciosos pode causar danos
devastadores. O Google hacking é a arte de hackear através de pesquisas realizadas no campo
de busca do Google no qual usa seus motores de busca com operadores aritméticos (por
exemplo: +,-,) através de uma pesquisa podendo obter informações sobre vulnerabilidades de
um determinado site caso esteja configurado incorretamente, rastreamento de servidores,
dentre outras informações. Por exemplo, se entrar com seguinte conteúdo na busca:
"microsoft outlook Web access" logon . Neste caso será visualizado uma série de portais de
Webmails corporativos, no qual seu criador pensa que é confidencial, na realidade todos
podem ter ver. (OLIVEIRA, 2005).
f) IP Spoofing
É a falsificação de endereços IP's que faz com que uma máquina A utilize o IP da
máquina B, mascarando seu endereço IP verdadeiro. O termo spoofing ocorre tanto no
protocolo ARP (ARP Spoofing), DNS (DNS Spoofing) quanto no IP, portanto o IP Spoofing é
o ataque mais conhecido. (RAMOS, 2005).
O ataque de IP Spoofing pode envolver várias etapas:
No primeiro momento será a escolha das máquinas que serão alvos, por exemplo,
VM_01 e VM_02. Em segundo lugar, será feita uma espécie de relação de confiança entra as
partes, em seguida entra o papel do atacante com a VM_ATACK que tentará interceptar o
canal e fazer a conexão com a VM_02 fazendo com que a VM_02 pense que está se
conectando com a VM_01 sendo que na realidade é a máquina do farsante VM_ATACK.
A máquina do farsante abre uma conexão TCP na máquina destino VM_02, no qual
responde com uma mensagem de reconhecimento e estabelece a conexão com número
sequência b1. Em seguida, a VM_ATACK se torna VM_01 e envia para VM_02 uma flag
TCP SYN se passando pela origem da VM_01, na sequência VM_02 responde o SYN com
número de sequência b2 + ACK enviando para o verdadeiro host VM_01, pois a VM_02 tem
que pensar que está se trocando informações com VM_01.
A máquina do atacante VM_ATACK não consegue ver esta mensagem, mesmo assim
pode mandar um ACK para VM_02 dizendo que recebeu a mensagem com números de
11
sequencia b1. Caso ele consiga fazer isso, VM_02 pensará que tem a conexão verídica com
VM_01, sendo que na verdade esta conexão foi feita com a máquina do atacante
VM_ATACK, no qual pode estar executando comandos diversos diretamente em VM_02.
Mesmo assim o ataque pode falhar, o intruso terá que impedir que as mensagens da
VM_02 possam chegar até a VM_01, pois se esta mensagem alcançar VM_01, esta negaria
ter a conexão por não ter solicitado nenhuma conexão, logo o ataque spoofing falharia, porque
a máquina VM_01 enviaria de cara uma flag TCP Reset para encerrar a conexão. Uma forma
de obter sucesso nesse ataque é enviando uma grande quantidade de pacotes para a máquina
VM_01 para que esgote seu processamento impedindo que ela responda as mensagens da
máquina VM_02.
Figura 01: Representa o IP Spoofing
2.5.1.2
Ferramentas para obtenção de informações:
•
SET (Social-Engineering Toolkit): Ferramenta desenvolvida por David Kennedy,
usada para fazer uma série de ataques de engenharia social, dentre eles pode-se fazer
um roubo de dados através de páginas fake "falsificação de páginas".
•
WHOIS: Ferramenta usada para obter informações de domínios. Exemplo de uso:
#whois www.site.com.br
•
DIG (Domain Information Groper): Ferramenta usada para consulta de servidores
DNS, muito usado para verificar problemas de DNS. Ex: #dig site.com.br
12
•
Google Hacking: O próprio google para fazer googlehacking utilizando operadores
para buscar informações específicas na rede. Ex: Colocando na busca do google: (“a
arte de invadir” +livro Mitnick) irá aparecer informações somente do livro de Mitnick.
2.5.2. Varreduras
2.5.2.1
Principais técnicas de varreduras
a) Mapeamento, Identificação hosts vivos, portas e serviços
Ao concluir a etapa de obtenção das informações, começa o processo de varreduras e
mapeamento do ambiente corporativo. Contando com técnicas de port scanner e varreduras
buscando identificar os hosts ativos, as portas abertas e os serviços que rodam em
determinados servidores da rede corporativa, além do mais, dependendo da ferramenta a ser
utilizada é possível identificar até mesmo o sistema operacional que está rodando por trás do
serviço scaneado. Por exemplo, a porta 445 aberta, provavelmente é uma porta de
compartilhamento de arquivos da Microsoft de um host Windows.
b) Wardriving
Técnica utilizada especificamente para redes sem fio. O termo que vem do inglês que
significa busca de redes sem fio através de um carro com uma antena e um notebook com
placa de rede wireless, rodando a cidade para captar as redes wireless, visando identificar o
maior número de redes possível e catalogar a quantidade de redes encontradas, sejam elas
abertas ou fechadas, dentro das redes fechadas, verificar quantas usam protocolos seguros e
inseguros.
Há um projeto chamado War Driving Day, que é promovido pelo SERPRO-RJ e
empresas de segurança que fez este tipo de varredura na cidade do Rio de Janeiro no ano
2011. Visa educar as pessoas sobre a importância da segurança nessas redes, o objetivo do
projeto é conscientizar os usuários a importância da segurança da informação que envolve
essas redes sem fio. (WARDRIVINGDAY, 2011).
c) Identificação de vulnerabilidades
Após fazer toda varredura na rede, inicia-se o processo de identificação das
vulnerabilidades dos hosts encontrados. Através dessas vulnerabilidades pode ser realizada
uma invasão, no caso de serem exploradas. Na internet há várias listas de vulnerabilidades já
conhecidas, essas podem ser encontradas em sites de fabricantes de softwares e sistemas
operacionais, sites de busca da internet, entre outros locais. Este site:
“http://www.amanhardikar.com/mindmaps/PracticewithURLs.html” apresenta uma lista de
endereços com vulnerabilidades em aplicações Web, sistemas operacionais vulneráveis, etc.
(AMANHARDIKAR, 2012).
De acordo com Nakamura (2007), os softwares de varreduras de vulnerabilidades
fazem vários tipos de testes, buscando encontrar brechas e furos de segurança nos sistemas e
serviços da rede corporativa.
Uma vez encontradas as vulnerabilidades após o processo de varreduras, é feito um
estudo de cada uma delas, identificando as falhas e como explorar tais falhas para saber qual a
ferramenta de ataque que se encaixa melhor para realizar a invasão, disparando ataques para
obter acesso não autorizado no alvo.
13
2.5.2.2
•
Ferramentas relativas a varreduras
Nmap (Network Mapper)
É uma ferramenta livre utilizada para fazer uma varredura na rede em busca de portas
abertas, hosts e serviços ativos, com ela é possível scanear informações sensíveis da vítima
como, o sistema operacional, ver se a porta está aberta ou fechada, etc. É possível verificar
com a ferramenta o host alvo e em seguida invadi-lo através da porta aberta. Ex: #nmap –sV
192.168.0.31. Com este comando é possível saber algumas informações, uma delas o SO
(sistema operacional) que é neste caso, o Windows e com porta 445 aberta, agora é possível
tentar uma invasão para tentar compartilhar os arquivos do SO com uso de outras ferramentas.
•
Aircrack-ng e Aerodump
É uma suíte de ferramentas relacionadas à wardriving utilizadas para captura de redes
sem fio 802.11, onde é possível mapear, atacar e quebrar a chave dessas redes. Sendo um dos
pacotes do aircrack (usado para crackear as chaves), o aerodump-ng é usado para coleta dos
dados, ele faz um dump das informações dos Access Points e estações detectadas e grava em
um arquivo. Para posteriormente injetar os frames com o aireplay-ng e em seguida fazer o
ataque para quebra da senha com o aircrack-ng.
•
Nessus
É um software usado para varreduras de vulnerabilidades documentadas, possui a
versão gratuita que é limitada, faz varreduras somente da rede interna e não pode ser usada
comercialmente, já a versão paga trabalha com endereços IP's ilimitados e é necessário
adquirir licença, além disso obtém atualizações dos bancos de dados frequentemente.
•
OpenVas (Open Vulnerability Assessment System)
É um software livre baseado no Nessus, com a função de scanner de vulnerabilidades
em sistemas computacionais. Possui um conjunto de scripts em busca de vulnerabilidades.
Com a coleta das vulnerabilidades encontradas ele gera um relatório com informações de
problemas/falhas que podem ser corrigidos no sistema scaneado. (COSTA, Ricardo F.)
•
Nikto
Também é um software de código aberto para scanner de vulnerabilidades, mas é
voltado para testes de servidores Web. Além disso, com ele é possível observar as
configurações dos servidores Web, como os arquivos de index e opções do servidor HTTP.
Este programa já vêm instalado na distribuição BackTrack 5, exemplo de uso simples, entre
na pasta: #cd /Pentest/Web/nikto
#./nikto.pl –c all -host www.seusite.com.br -o
arquivosalvo.txt. Com isso ele gera um arquivo para poder avaliar as opções de uso do
programa Nikto com as vulnerabilidades encontradas para posteriormente solucionar essas
falhas.
14
2.5.3. Invasão
2.5.3.1
Principais técnicas de invasão
a) Sniffing
É uma técnica de capturar e analisar informações dos pacotes que trafegam na rede
através de ferramentas de captura, como por exemplo: tcpdump e wireshark. Muitas vezes,
dependendo do ponto de rede que for conectado com programa de captura é possível ver a
origem e destino dos pacotes, o tipo de protocolo trafegado, além do mais, informações como
senha de usuários, número de cartões de créditos, dentre outras informações.
As ferramentas de sniffing foram criadas para ajudar os administradores de rede a
identificar os problemas ocorridos na rede, mas tem sido muito utilizadas por invasores para
capturar o tráfego da rede em busca de informações que acham importantes para posteriores
ataques. A forma ideal para um administrador utilizar as ferramentas de captura é conectar um
notebook, por exemplo, em um switch da rede que queira capturar o tráfego, em seguida fazer
o espelhamento de uma das portas do switch para que esta que for conectada fique em modo
de escuta, na sequência deve-se colocar a placa de rede do notebook em modo promíscuo para
capturar todos os pacotes que passam naquele segmento.
Os protocolos mais vulneráveis a uma captura de pacote sniffing são os que
transportam dados sem nenhum tipo de codificação ou segurança, como: FTP (File Transfer
Protocol), Telnet, HTTP (Hypertext Transfer Protocol), etc. (NUNES, 2004).
b) Exploits
Termo que vem do inglês que significa explorar. Exploit é qualquer coisa que explore
uma vulnerabilidade. São pequenos programas desenvolvidos para explorar falhas em
sistemas vulneráveis, podem ser usados para realizar ataques remotos ou locais. (ALMEIDA,
2008).
Seu uso é ideal quando uma vulnerabilidade for descoberta através de ferramentas de
busca de vulnerabilidades como, por exemplo, o Nessus, em seguida procurar o exploit que
melhor se encaixa para aquela vulnerabilidade, com isso dispara-se o ataque no alvo.
Através de ferramentas exploits é possível obter acesso com privilégios
administradores em sistemas operacionais, dentre outros ataques que podem ser realizados.
Podem ser usados para ataques num servidor local ou remotamente, por isso deve-se escolher
o melhor exploit para cada tipo de aplicativo e cada tipo de sistema operacional que for
encontrado a vulnerabilidade. Neste artigo será abordado o uso do Framework Metasploit,
que é uma ferramenta que possui uma variedade de exploits.
c) Negação de serviço
Negação de serviço são ataques conhecidos como DoS (Denial of Service) e DDoS
(Distributed denial of service) usados para deixar um servidor ou serviço indisponível através
do excesso de conexões realizadas simultaneamente como se fossem verídicas, fazendo com
que sobrecarreguem os recursos computacionais e a infra-estrutura de rede do alvo.
De acordo Mirkovic (2004) o ataque DoS tem como meta interromper algum serviço
legítimo da rede, como servidores que possuem páginas na internet, internet banking line. A
negação de serviço é feita pelo envio de mensagens para o alvo escolhido, interferindo em seu
funcionamento, deixando-o totalmente indisponível ou tão lento de forma que os usuários
legítimos não conseguem acesso.
15
Uma das formas de negação de serviço é a exploração de vulnerabilidades de uma
conexão com a internet do host ou aplicativo de destino interferindo diretamente no serviço
Web oferecido, sendo assim o hacker envia mensagens específicas para verificar as
vulnerabilidades. Com isso, se aproveita dessas e as explora, ao invés de consumir os recursos
do servidor, ele deixa o servidor inacessível. Outra forma de negar serviço é enviar muitas
requisições para a máquina destino, fazendo com que esgote seus recursos computacionais,
até mesmo consumo da banda de internet do alvo.
O DoS já era poderoso, com o tempo surgiu uma nova ameaça de negação de serviço
chamado de DDoS (Distributed Denial of Service), ataque distribuído de negação de serviço,
foi baseado no DoS, bem mais robusto. Portanto, DDoS é a junção de negação de serviço e
ataque distribuído. (RNP, 2000)
O DDoS é um ataque de DoS robusto, que pode utilizar vários outros computadores
espalhados em várias partes do mundo para atacar uma vítima num mesmo momento, este
tipo de ataque é muito difícil de ser combatido, pois o ataque vêm de muitos lugares com
faixa endereçamento IP's diferentes.
O ataque pode ser realizado da seguinte forma: para que o atacante consiga que várias
máquinas efetuem o ataque no sistema alvo, é realizada infecção de vários computadores
avulsos através de programas instalados nas máquinas clientes, sendo assim o hacker terá o
controle das máquinas zumbis para realizar os ataques DDoS no momento desejado. Essa
infecção ocorre de diversas maneiras, através de envio de e-mails contendo link de trojans,
páginas na internet com mensagem chamativa "clique aqui", etc. Além do mais, possui outras
formas, como por exemplo: LOIC (Low Orbit Ion Cannon).
Para executar um ataque DDoS, em geral é seguido uma hierarquia, onde o hacker é o
comandante do ataque. É ele quem coordena os hosts mestres para realizarem o ataque num
determinado horário, enviando informações dos pacotes. Os hosts mestres por sua vez, “são
como se fossem os tenentes” do ataque, no qual recebem as ordens e os parâmetros
(quantidade, tamanho de pacotes, etc) do hacker atacante, e por fim os hosts mestres
comandam milhares de computadores zumbis para executar o ataque no mesmo momento. Os
zumbis “são como soldados”, devido a esta hierarquia fica difícil descobrir quem foi o
comandante do ataque, pois de alguma forma sua identidade ficou preservada em uma camada
superior, neste caso o analista de segurança terá fazer o reverso do ataque, e terá que passar
por várias etapas exigindo assim um trabalho e conhecimento redobrado para descobrir o
autor do ataque, na maioria das vezes nem é possível descobrir a verdadeira identidade do
atacante principal.
Deve-se relatar que tanto no DoS quanto DDoS, a finalidade não é ter acesso à base de
dados do alvo atacado e sim a sobrecarga do serviço para deixá-lo indisponível. Uma vez que
DDoS é realizado e o ataque tenha sucesso, fica difícil um servidor aguentar a carga, mesmo
sendo robusto, pois é ataque por muitos zumbis incluindo os usuários legítimos que queiram
acessar o serviço naquele mesmo tempo.
Além dos computadores domésticos que se tornam zumbis, muitos hackers criam sua
própria rede de zumbis para disseminar ataques DDoS, são chamados de redes botnets.
2.5.3.2
•
Ferramentas de Invasão
Dsniff
É um conjunto de ferramentas sniffing voltadas para testes de invasão e auditoria da
rede, fica escutando os pacotes trafegados na rede. Dentre elas podem ser citadas: dsniff,
filesnarf, mailsnarf, msgsnarf, urlsnarf, and Webspy (WIKIPEDIA, 2012). Com estas
ferramentas é possível verificar o tráfego da rede, conseguindo obter desde pacotes dos e-
16
mails até senha de usuários. Mas também possui outras ferramentas que fazem sniffing como
o tcpdump e o wireshark.
•
Metasploit
É um framework para desenvolvimento e execução de exploits contra hosts remotos, é
uma ótima ferramenta para teste de invasão. Possui 4 versões, o Metasploit Framework foi o
projeto original que é código aberto, e outras 3: Metasploit Community Edition (free),
Metasploit Express (uso comercial, sendo paga), Metasploit Pro (uso comercial, sendo paga),
cada uma com diferentes funcionalidades. Ferramenta roda em diferentes plataformas, tanto
no Windows quanto no Linux. (METASPLOIT, 2012).
Para escolher o exploit mais adequado a ser usado no ataque, é preciso descobrir
informações importantes do sistema alvo, como por exemplo, a versão do sistema
operacional, portas abertas e serviços instalados. Tais informações podem ser adquiridas
usando ferramentas port scanning como nmap e scanner de vulnerabilidades como o Nessus.
É possível fazer uma série de ataques, desde que a vulnerabilidade seja descoberta e
explorada pelo metasploit, um exemplo pode ser citado: possui uma vulnerabilidade no
Windows que quando instalado se não for atualizado e instalado os service packs, através do
framework é possível invadir e criar usuários dentro do sistema operacional para futuros
acessos, até mesmo é possível incluir backdoors dentro do sistema operacional.
•
Hydra
Ferramenta muito utilizada para testes de invasão para quebra de senha (password
attack) por força bruta usando palavras chaves através de wordlist (lista de palavras), após ter
gerado essa lista de palavras é só entrar com a ferramenta Hydra para poder testar todas as
combinações de senhas para descobrir a senha do alvo, caso for encontrada a senha da vítima
a ferramenta mostra o resultado na tela. Suporta uma vasta quantidade de protocolos para
atacar como: HTTP, SMTP, IMAP, POP3, etc. (THC-HYDRA, 2012).
•
T50
É uma ferramenta muito robusta utilizada para testes de stress na rede, mas também é
usada para realizar ataques de negação de serviço, desenvolvida por um brasileiro chamado
Nelson Brito. Tem suporte de até 15 protocolos na versão 5.3 (TCP, UDP, ICMP, IGMPv2,
IGMPv3, EGP, DCCP, RSVP, RIPv1, RIPv2, GRE, ESP, AH, EIGRP and OSPF) enviando
simultaneamente, atingindo até 1 milhão de pacotes por segundo. Licença General public
licence (GPL). (BRITO, 2011).
A ferramenta por default vem para testar somente redes privadas (RFC 1918), mas é
possível alterar o código fonte removendo as linhas que correspondem à RFC 1918 e
recompilar o programa novamente, assim é possível atacar redes públicas.
2.5.4. Mantendo o acesso
2.5.4.1
Principais técnicas para manter acesso
É possível manter acesso aos sistemas invadidos, para posteriormente efetuar outros
ataques através destes hosts, além disso, ter o controle desses hosts a fim de obterem
informações novas sobre contas bancárias, cartões de crédito, etc. é interessante para os
atacantes, para isso, os hackers utilizam algumas técnicas e ferramentas como:
17
a) Backdoor
Significa porta dos fundos. Instalado no sistema para obter acessos remotos futuros
na máquina comprometida, sem que haja necessidade de recorrer novamente aos métodos
utilizados na realização da invasão, sem que seja notado na maioria dos casos. Alguns
fabricantes de equipamentos de TI instalam backdoors em seus produtos para obterem acessos
futuros para administrá-los remotamente, porém isso pode ser considerado falha de segurança.
(CERT.br, 2012).
b) Cavalos de Tróia
Como já mencionado na “secção d” do “ítem 2.2”, cavalo de tróia (trojan-horse) é um
programa escondido dentro de outro, que quando instalados executam atividades maliciosas
camufladas trazendo transtornos à vítima, além de executar comandos prejudiciais. Podem
abrir portas do computador invadido para manter acesso a este meio, roubar senhas, copiar
dados do usuário, realizar abertura repentina de programas, alteração do tráfego da placa de
rede sem estar sendo usado, dentre outras. Ele se diferencia do vírus por não se replicar
automaticamente. Muitas vezes estes códigos maliciosos são instalados pelo próprio usuário
sem seu consentimento, por exemplo: páginas da internet que convencem a vítima a clicar em
um plugin para ver fotos, vídeos, porém, esses plugins podem estar embutidos de trojans, uma
vez executados a máquina está infectada. Os trojans podem também vir embutidos de
keyloggers e backdoors.
c) Rootkits
Rootkit é um conjunto de ferramentas utilizado para realizar invasões em sistemas de
forma automatizada com acessos privilegiados, possui técnicas avanças de programação de
modo que se esconde dentro do sistema comprometido, sua função é se esconder do usuário e
dos softwares de segurança que protegem o sistema operacional, por exemplo, antivírus, roda
em diferentes plataformas de sistemas operacionais.
2.5.4.2
•
Ferramentas para manter acesso
NetCat
É uma ferramenta que faz uma série de atividades voltadas para segurança e até
mesmo testes invasão na rede, por alguns ficou até conhecido como canivete suíço do TCP/IP,
pois é possível fazer desde Port Scanner até abertura de portas TCP/UDP de acordo com o
Guia de referência SANS. (SANS-INSTITUTE)
De acordo com GIACOBBI, Netcat é uma funcionalidade que pode ser utilizada na
rede para ler e escrever dados através de conexões usando o protocolo TCP/IP, está sob
licença GNU General Public License (GPL) sendo distribuído gratuitamente podendo
funcionar na maioria dos sistemas operacionais.
No guia do SANS para Netcat são fornecidas várias dicas e comandos para usar essa
ferramenta.
18
•
Meterpreter
De acordo com o site oficial do Metasploit, o Meterpreter é um payload com
multifuncionalidades que podem ser estendidas dinamicamente em um tempo de execução.
Isto é possível devido a seu shel básico que permite adicionar novas funcionalidades.
(AHORONI, 2007).
Conforme Miller (2004) descreve no manual do Meterpreter, é um payload avançado
que está incluso no Framework Metasploit. O objetivo é fornecer recursos avançados para
testar vulnerabilidades de sistemas operacionais, implantar backdoor através do seu próprio
plugin chamado persistence, obter acesso privilegiado, desabilitar antivírus, etc. O
Meterpreter pode ser acessado e executado através de payloads diferentes. Inicialmente foi
desenvolvido para explorar vulnerabilidades somente do Windows, mas posteriormente foi
alterado para funcionar também no linux. (MILLER, 2004). Alguns dos payloads que podem
ser citados para explorar vulnerabilidades do Windows são:
a. win32 bind meterpreter: Este payload vincula uma porta na máquina de destino e espera
por uma conexão. Depois de estabelecida a conexão o servidor do Meterpreter é carregado e a
ligação existente é utilizada para o canal de comunicação Meterpreter. (MILLER, 2004);
b. win32 reverse meterpreter: Este payload deixa liberada uma porta aberta na máquina para
que o atacante tenha acesso novamente. Esta conexão é usada para fazer upload do servidor
Meterpreter após os quais ele é usado para o canal de comunicação Meterpreter. (MILLER,
2004).
•
VNC (Virtual Network Computing)
É uma ferramenta utilizada para fazer conexão remota de hosts. Muito utilizado por
técnicos de suporte para dar assistência aos usuários remotamente. Rodando por trás da
ferramenta ele possui um protocolo que também é chamado VNC que foi desenvolvido para
atender a possibilidade da conexão remota com interface gráfica do computador alvo. Para ter
o acesso remoto é preciso que as duas partes tenham o programa instalado.
Porém ele pode ser usado como uma forma de invasão, alguns hackers podem explorar
vulnerabilidades nos computadores que tenham VNC instalado e tentar invadi-los. Na
ferramenta metasploit é possível injetar uma carga vncinject utilizando um exploit
ms08_067_netapi, caso a máquina esteja vulnerável é possível obter sucesso na invasão.
2.5.5. Cobrindo os rastros
Cobrir rastros é uma maneira de omitir a presença de certas atividades que foram executadas
no sistema invadido.
2.5.5.1
Principais Técnicas para cobrir rastros
a) Tunelamento
É uma técnica utilizada para fazer uma conexão de maneira que seja difícil detectar
aquela conexão que o atacante está fazendo.
São canais feitos pelos hackers para realizar conexões diretas entre o computador do
invasor e o da vítima, eles utilizam esta técnica para burlar os sistemas de firewalls. Um dos
túneis mais usados pelos atacantes é o HTTP Tunel, pois utiliza a porta 80 do protocolo
HTTP e encapsula as comunicações dentro deste protocolo, é tanto que poucos firewalls
filtram esta porta, por que também é usada para acesso internet e serviços Web.
19
b) Esteganografia
É uma técnica usada para esconder um arquivo dentro do sistema de arquivos de
maneira que seja difícil sua descoberta. Usando essa técnica é possível esconder arquivos
executáveis dentro de outros arquivos (que podem ser imagens), de modo que o usuário não
perceba a presença do arquivo executável podendo ser um vírus ou outras pragas.
Segundo Pinheiro (2005) a esteganografia é a arte de ocultar informações dentro de
imagens, áudio e vídeo, a informação é escondida nos bits menos significativos dos bytes do
arquivo. Só pode ser decifrada por quem conheça o código que cifrou e onde o arquivo se
encontra.
2.5.5.2
•
Ferramentas para cobrir rastros
HTTP Tunel
É um software que está sob licença GNU General Public Licence (GPL), é usado para
tunelar qualquer tipo de tráfego via HTTP.
Muitas pessoas utilizam esta ferramenta para burlar um firewall ou proxy da empresa,
onde os acessos a internet são restritos. Geralmente os administradores da rede bloqueiam
portas para ter mais segurança, liberado os clientes da rede interna saírem para internet apenas
pela porta 80. Por exemplo, sendo assim alguns programas como P2P deixam de funcionar e
páginas podem ser bloqueadas com uso de filtro de conteúdos, uma das coisas que o HTTP
Tunnel faz é criar uma conexão onde o cliente local sai pela porta 80 passando pelo programa
HTTP Tunnel, possibilitado o usuário ter acesso a qualquer tráfego http pela porta 80, assim
tendo internet liberada, etc, porém o administrador da rede não pode bloquear esta porta,
porque senão ninguém da rede navegará na internet. (WIKIPEDIA, 2012).
Essa ferramenta age como um servidor, fazendo como que a comunicação de
aplicativos que rodam na internet fica mais segura, protegendo contra invasores, por exemplo,
mesmo que os usuário da empresa utilizam o proxy http para trafegar na internet, é possível
trafegar os dados através de tunel por um canal de comunicação mais seguro através da
ferramenta http tunnel, assim obtendo mais segurança.
•
Steghide
É um software que tem a função de esteganografia de arquivos, com ela é possível
esconder arquivos diversos dentro de outro arquivo de imagem e vídeo (HETZL). Sendo
assim, é possível esconder um vírus, por exemplo, em um arquivo do tipo “jpeg”.
3. ESTUDO DE CASO
Foi montado um cenário contendo duas máquinas, uma com distribuição BackTrack 5
e outra com Windows XP:
20
Inicialmente deve ser feito uma varredura com alguma ferramenta de scanner de
vulnerabilidades, por exemplo, o Nessus. Ao descobrir se o alvo está vivo “ativo” e se tem
alguma vulnerabilidade, neste caso foi utilizado o Nessus HomeFeed para o windows, que é
uma versão gratuita para usuários domésticos, e também foi usado o nmap, após o scanner
segue-se para o próximo passo, a execução da ferramenta Metasploit presente na distribuição
Backtrack 5 R3. No final do scanner do nmap foi encontrado portas abertas do alvo e a
vulnerabilidade da Microsoft.
Figura 04: Tela do NMAP
Figura 05: Tela do NESSUS
Para abrir o Metasploit, uma das formas é clicar no menu inicial, BackTrack, Exploitation
Tools, Network Exploitation Tools, Metasploit Framework e por fim msfconsole:
21
Figura 06: Tela inicial do Metasploit
Uma vez encontrada a vulnerabilidade, entre com o metasploit para poder invadir o
alvo. As duas ferramentas, tanto o nmap quanto o Nessus, encontraram a vulnerabilidade
“ms08_067” no alvo.
De acordo com o boletim microsoft:
Esta é uma vulnerabilidade de execução remota de código. Um invasor que explorou
essa vulnerabilidade com êxito pode ter o controle total de um sistema afetado
remotamente. Em sistemas baseados no Microsoft Windows 2000, Windows XP e
Windows Server 2003, um invasor poderia tirar proveito dessa vulnerabilidade sobre a
RPC sem autenticação e executar códigos arbitrários. O Svchost.exe pode travar caso
haja falha na tentativa de exploração. Se a falha ocorrer no Svchost.exe, o Serviço do
servidor será afetado. O Serviço do servidor fornece compartilhamento de arquivo,
impressão e pipe nomeado sobre a rede. (MICROSOFT, 2008)
A vulnerabilidade é causada pelo Serviço do servidor, que não controla corretamente
as solicitações de RPC especialmente criadas. (MICROSOFT, 2008)
O próximo passo fazer uma busca dessa vulnerabilidade no metasploit pelo comando
msf > search ms08_067, então deve-se usar este exploit para o alvo desejado.
22
Figura 07: Tela do Metasploit
Para usar o exploit, entre no contexto desse módulo do exploit, conforme a tela
anterior: “use exploit/windows/smb/ms08_067_netapi”
Na sequência, deve-se entrar com o comando “show options” para ver todas as
features desse módulo, visto que possui três, são elas: RHOST, RPORT e SMBPIPE.
Exploit target, o target neste caso não é o alvo, é a variação do alvo, por exemplo, é
um módulo para windows, mas um módulo tem variantes, como windows xp, windows vista,
etc.
Payload, neste caso é um módulo que na verdade explora uma vulnerabilidade. O
Payload é um código arbitrário para executar comandos, o payload por default para o
windows é o meterpreter (payload desenvolvido pelo metasploit).
Entre com o comando set rhost 10.1.1.10
Em seguida “show options” novamente, veja que o ip foi setado na configuração do
target. Agora entre com o comando “exploit”
23
Figura 08: Tela do Metasploit
Entre com comando: “?”, veja que terá uma série outros comandos do payload
meterpreter que podem ser executados, alguns como: getuid, sysinfo, ipconfig, shell (com
este comando o atacante fica totalmente dentro da máquina windows, podendo executar
comandos do próprio Windows, conseguindo visualizar os arquivos e pastas do explorer),
reboot para dar boot remoto, dentre outros.
Figura 09: Tela de alguns comandos do Metasploit
24
4. CONCLUSÃO
A segurança da informação tem um papel fundamental para as organizações,
impactando direta e indiretamente no negócio da empresa e minimizando os riscos. Devido a
isto, realizar um teste de invasão na infra-estrutura de TI é de suma importância que deve
incluído nas políticas de segurança da informação interna, lembrando que devem-se seguir
todas as etapas do teste de invasão para que os resultados sejam obtidos com sucesso.
O artigo apresentou algumas técnicas e ferramentas que devem ser utilizadas em um
teste de invasão, lembrando que isto é apenas um meio de descobrir e corrigir falhas nos
sistemas de informação da instituição, porém segurança é vista mais amplamente, com
diversas outras ferramentas, técnicas e até mesmo pessoas que podem ser abordadas para
atingir resultados positivos.
É sempre importante observar e também realizar auditorias preventivas na rede, para
que o negócio da empresa não seja afetado, evitando assim fraudes internos e externos.
Vale salientar que o aprofundamento desta pesquisa se deu graças ao conhecimento de
pessoas mais experientes, como o orientador do artigo, com sua vasta experiência na área de
tecnologia, sendo uma peça fundamental para o aproveitamento do trabalho, o qual soube me
guiar e direcionar para atingir a meta proposta.
REFERÊNCIAS
THOMPSON, Marco Aurélio. O Livro Proibido do Curso de Hacker - Salvador. ABSI
(Associação Brasileira de Segurança na Internet), 2004.
BRODSKY, Sérgio. Hackers – Um Levante Na Propriedade Intelectual - São Paulo, 2004.
CASTELLS, Manuel. A Sociedade em Rede. São Paulo: Paz e Terra, 1999.
HIMANEN, Pekka. A ética dos HACKERS e o espírito da era da informação. Rio de Janeiro:
Campos, 2001.
MITNICK, Kevin D. e SIMON, William L. A Arte de Invadir - As verdadeiras histórias por
trás das ações de hacker, instrusos e criminosos eletrônicos. Tradução: Maria Lúcia G. L.
Rosa. São Paulo: Pearson Education do Brasil, São Paulo, 2006.
MITNICK, Kevin D.; SIMON, William L. A. A Arte de Enganar - Ataque de Hackers:
Controlando o Fator Humano na Segurança da Informação. Tradução: Kátia Aparecida
Roque. São Paulo: Pearson Education do Brasil. São Paulo, 2003.
FERREIRA, Fernando N. Freitas, ARAUJO, Márcio Tadeu de. Política de segurança da
informação - Guia prático para elaboração e implementação. 2 ed. Revisada. Rio de Janeiro:
Ed. Ciência Moderna Ltda., 2008.
ROSS, R., Katzke, S., Johnson, A., Swanson, M., Stoneburner, G., Ro-gers, G., and Lee, A.
(2005). Recommended security controls for federal informationsystems. NIST Special
Publication 800-53.
25
PEREIRA, André L. Grupo hacker AntiSec divulga dados de 1 milhão de usuários da Apple,
2012. Disponível em: <http://www.tecmundo.com.br/ataque-hacker/29446-grupo-hackerantisec-divulga-dados-de-1-milhao-de-usuarios-da-apple.htm>. Acesso em 30 jun. 2012.
WADLOW, Thomas A. Segurança de redes: projeto e gerenciamento de redes seguras.
Tradução: Fábio Freitas da Silva. Rio de Janeiro: Campus, 2000.
WACK, John; TRACY, Miles; SOUPPAYA, Murugiah. NIST -SP800-42: Guideline on
Network Security Testing. Washington: Natl, Inst. Stand. Technol. Espec., 2003
ABNT - ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. ABNT NBR ISO/IEC
27002 - Tecnologia da Informação - Técnicas de segurança - Código de prática para a gestão
de segurança da informação. ABNT, 2005.
PCISECURITYSTANDARDS.ORG. Payment Card Industry (PCI) Data Security Standard.
Requirements and Security Assessment Procedures Version 2.0, 2010. Disponível em:
<https://www.pcisecuritystandards.org/documents/pci_dss_v2.pdf>. Acesso em 30 jun. 2012
NAKAMURA, E.T.; GEUS, P.L. Segurança de redes em ambientes coorporativos. 2.ed. São
Paulo: Futura, 2003.
DIAS, Cláudia. Segurança e Auditoria da Tecnologia da Informação. AxcelBooks. Rio de
Janeiro, 2000.
MILLER,
Matt.
Metasploit’s
Meterpreter.
2004.
Disponível
em:
http://www.nologin.org/Downloads/Papers/meterpreter.pdf>. Acesso em 03 out. 2012
<
CERT.BR. Cartilha de Segurança para Internet, versão 4.0 / CERT.br – São Paulo: Comitê e
Gestor da Internet no Brasil, 2012. Disponível em: <http://cartilha.cert.br>. Acesso em 26 jun.
2012
TDI. Teste de invasão (TDI). Disponível em: <http://www.testedeinvasao.com.br/>. Acesso
em 22 jun. 2012
TESTAR.ME.
Teste
de
Invasão
"Pen
Test".
Disponível
em:
<http://www.testar.me/pages/testar_me_teste_de_invasao_wiki.html>. Acesso em 26 jun.
2012
SOARES, Rafael. 2010. Disponível em: <http://www.seginfo.com.br/auditoria-teste-deinvasaoPentest-planejamento-preparacao-e-execucao>. Acesso em 15 mar. 2012
HERZOG, Pete. ISECOM. OSSTMM 3 - The Open Source Security Testing Methodology
Manual.
December
14,
2010.
Disponível
em:
<http://www.isecom.org/mirror/OSSTMM.3.pdf>. Acesso em 27 jun. 2012
BRITO, Nelson. Protocol T50 5.3. Web Security Forum. April, 2011. Disponível em:
<http://t50.sourceforge.net/resources.html>. Acesso em 12 mar. 2012.
NMAP. Network Mapper. Disponível em: <http://nmap.org>. Acesso em 26 set. 2012
26
ALMEIDA, Aléxis Rodrigues. Como funcionam os exploits. 2008. Disponível em:
<http://www.invasao.com.br/2008/12/12/como-funcionam-os-exploits/>. Acesso em: 28 set.
2012
MARQUES, Carlos J. An Analysis of the IDS Penetration Tool: Metasploit. Department of
Technology Systems. East Carolina University Greenville, NC, U.S.A. Disponíel em:
<http://www.infosecwriters.com/text_resources/pdf/jmarquez_Metasploit.pdf>. Acesso em 09
mar. 2012
METASPLOIT. Metasploit. Disponível em: <http://www.metasploit.com>. Acesso em 27 set.
2012
COCCHIARO, Nicola. Homepage of SteGUI, a Steghide GUI. 2008. Disponível em:
<http://stegui.sourceforge.net/>. Acesso em acesso 01 out. 2012
HETZL,
Stefan.
Steghide
manual.
Disponível
em:
<http://steghide.sourceforge.net/documentation/manpage.php> Acesso em 14 Mai. 2002
OLIVEIRA, Breno Guimarães de. Google: Ferramenta de ataque e defesa a sistemas. GRIS –
Grupo de Resposta a Incidentes de Segurança, Rio de Janeiro, 2005.
LAUFER, Rafael P. et al. Negação de Serviço: Ataques e Contramedidas. Rio de Janeiro:
UFRJ. Disponível em: <http://www.gta.ufrj.br/ftp/gta/TechReports/LMVB05a.pdf>. Acesso
em 26 mar. 2012
MIRKOVIC, Jelena et al. Internet Denial of Service: Attack and Defense Mechanisms.
Prentice Hall PTR. United States. December 30, 2004
GIACOBBI,
Giovanni.
The
GNU
Netcat
<http://netcat.sourceforge.net>. Acesso em 30 set. 2012
project.
Disponível
em:
GIACOBBI, Giovanni. Manual Reference Pages - NETCAT. Disponível em:
<http://www.irongeek.com/i.php?page=backtrack-3-man/netcat>. Acesso em 30 set. 2012
SKOUDIS, Ed. Netcat Cheat Sheet. Pocket Reference Guide. SANS Institute. Disponível em:
<http://www.sans.org/security-resources/sec560/netcat_cheat_sheet_v1.pdf>. Acesso em 30
set. 2012
COSTA, Ricardo F. OpenVAS: Framework para detecção de vulnerabilidades. Disponível
em:
<http://www.linuxdescomplicado.com.br/2011/11/openvas-framework-para-deteccaode.html>. Acesso em 26 set. 2012
FERREIRA, Fernando N. Freitas, ARAUJO, Márcio Tadeu de. Política de segurança da
informação - Guia prático para elaboração e implementação. 2.ed. Revisada. - Rio de Janeiro:
Ciência Moderna Ltda., 2008.
PINHEIRO,
José
M.
Santos.
Esteganografia
Digital.
<http://www.projetoderedes.com.br/artigos/artigo_esteganografia_digital.php>. Acesso em 19
set. 2012
27
TENABLE. Nessus Product. Disponível em: <http://www.tenable.com/products/nessus>.
Acesso em 26 set. 2012
WIKIPEDIA. Nessus. Disponível em: <http://pt.wikipedia.org/wiki/Nessus>. Acesso em 26
set. 2012
AIRCRACK-NG . Aircrack-ng .Disponível em: <http://www.aircrack-ng.org>. Acesso 26 set.
2012
SOCIAL-ENGINEER.ORG .Computer Based Social Engineering Tools: Social Engineer
Toolkit
(SET)
.Disponível
em:
<http://www.socialengineer.org/framework/Computer_Based_Social_Engineering_Tools:_Social_Engineer_Too
lkit_(SET)>. Acesso em 26 set. 2012
CIRT.NET. Nikto2 .Disponível em: <http://cirt.net/nikto2>. Acesso em 27 set. 2012
THC.ORG. THC-Hydra, 2012 .Disponível em: <http://www.thc.org/thc-hydra>. Acesso em
29 set. 2012
MDH3LL. Tutorial básico THC-HYDRA
db.com/papers/13672>. Acesso em 29 set. 2012
.Disponível
em:
<http://www.exploit-
REALVNC.COM. RealVNC. Disponível em: <http://www.realvnc.com>. Acesso em 28 set.
2012
VIDEIRO,
Rafael.
Controle
computadores
<http://vnc.softonic.com.br>. Acesso em 28 set. 2012
à
distância.
WARDRIVINGDAY.ORG. O projeto War Driving
<http://www.wardrivingday.org>. Acesso em 30 set. 2012
Day.
Disponível
em:
Disponível
em:
WEBER, Sebastian. HTTPTunnel. Disponível em: <http://http-tunnel.sourceforge.net>.
Acesso em 30 set. 2012
BRINKHOFF,
Lars.
httptunnel.
Disponível
<http://www.nocrew.org/software/httptunnel.html>. Acesso em 30 set. 2012
em:
WIKIPEDIA. HTTP tunnel. Disponível em: <http://en.wikipedia.org/wiki/HTTP_tunnel>.
Acesso 30 set. 2012
Download

Davi Eduardo Rodrigues Domingues