Você está na página 1de 121

Auditoria e Testes de Invasão

Bootcamp Online: Analista em Cibersecurity

Maximiliano de Carvalho Jacomo

2020
Auditoria e testes de invasão
Maximiliano de Carvalho Jacomo
© Copyright do Instituto de Gestão e Tecnologia da Informação.
Todos os direitos reservados.

Auditoria e Testes de Invasão – Página 2 de 121


Sumário

Capítulo 1. Conceito: Pentester (Teste de Intrusão).................................................. 5

1.1. Relembrando conceitos – Conexões TCP ....................................................... 7

1.2. Ethical Hacker vs. Black Hacker ...................................................................... 9

1.3. Times de segurança ...................................................................................... 11

1.4. Pentester vs. Ethical Hacking ........................................................................ 20

1.5. Avaliação de Vulnerabilidade vs. Pentester ................................................... 22

1.6. Tipos de Pentest ............................................................................................ 27

1.7. Metodologia do teste de penetração .............................................................. 30

1.7.1. Modalidades de um Pentest .................................................................... 31

Capítulo 2. Fases do Teste de Penetração ............................................................. 33

2.1. Fase 1: Planejamento .................................................................................... 35

2.2. Fase 2: Reconhecimento do Alvo .................................................................. 36

2.3. Fase 3: Análise de Vulnerabilidades .............................................................. 37

2.4. Fase 4: Exploração (Ganho de Acesso) ........................................................ 38

2.5. Fase 5: Pós-exploração (Mantendo Acesso) ................................................. 39

2.6. Fase 6: Eliminação dos Rastros / Reporte ..................................................... 40

Capítulo 3. Ferramentas e Técnicas de Ethical Hacker........................................... 42

3.1. Reconhecimento (Footprinting) ...................................................................... 42

3.1.1. Engenharia Social .................................................................................... 45

3.1.2. Netcraft .................................................................................................... 47

3.1.3. Lookups com Whois ................................................................................ 48

3.1.4. Reconhecimento com DNS...................................................................... 49

3.1.5. Detectando os alvos ativos ...................................................................... 55

3.1.6. Fingerprint................................................................................................ 57

Auditoria e Testes de Invasão – Página 3 de 121


3.1.7. Coletando informações de usuários ........................................................ 63

3.1.8. Maltego Footprinting Raiz ........................................................................ 68

3.2. Análise de vulnerabilidades ........................................................................... 70

3.2.1. Varredura com NMAP .............................................................................. 71

3.2.1.1. Varreduras Furtivas com NMAP ......................................................... 73

3.2.1.2. Descobrindo firewall e IDS .................................................................. 74

3.2.1.3. Zenmap ............................................................................................... 76

3.2.2. Scanner OpenVas ................................................................................... 78

3.2.3. Nmap Scripting Engine ............................................................................ 81

3.2.3. Metasploit modo scanner ......................................................................... 84

3.2.5. Scanner Web Application......................................................................... 85

3.2.6. Capturando o tráfego – Wireshark ........................................................... 86

3.3. Exploração (ganho de acesso) ...................................................................... 91

3.4. Detonando senhas ......................................................................................... 98

3.4.1. Encontrando senhas com o Hydra e o Medusa ....................................... 99

3.4.2. Encontrando senhas com Hashdump - Metepreter ............................... 103

3.5. Engenharia social Toolkit ............................................................................. 105

3.6. Explorando o alvo (pós-exploração) ............................................................ 112

3.7. Eliminação dos rastros ................................................................................. 113

Capítulo 4. Tópicos especiais: HoneyPot .............................................................. 115

Referências...... ...................................................................................................... 120

Auditoria e Testes de Invasão – Página 4 de 121


Capítulo 1. Conceito: Pentester (Teste de Intrusão)

De acordo com Fontes (2006), segurança da informação trata-se de um


conjunto de procedimentos, políticas e ações para a proteção das informações,
permitindo que o negócio da organização seja contínuo e sua missão alcançada.
Assim sendo, a segurança da informação precisa ser um componente crítico de todas
as empresas.

Existem vários métodos para testar a segurança da informação em uma


empresa. Um teste de intrusão é um deles, pois além de possibilitar testar os ativos
de TI contra diversos tipos de ameaças, também possibilita mensurar a postura e a
maturidade da segurança da informação no ambiente corporativo.

De forma generalizada, pode-se dizer que um teste de intrusão (ou


simplesmente “Pentest”) é um exame que tem como principal objetivo mensurar os
mecanismos de proteção e segurança aplicados em uma infraestrutura de TI,
consecutivamente em seus ativos, por meio do reconhecimento e exploração de
vulnerabilidades. Ou seja:

“Um método para obter segurança na segurança de um sistema de TI,


tentando violar parte ou toda a segurança desse sistema, usando as mesmas
ferramentas e técnicas que um adversário utilizaria.”

Normalmente os testes de intrusão são utilizados para identificar o nível de


risco técnico resultante das vulnerabilidades de software e hardware. Exatamente
quais técnicas são usadas, quais metas são permitidas, quanto de conhecimento do
sistema é fornecido aos testadores de antemão e quanto de conhecimento do teste é
fornecido às equipes de segurança dentro do mesmo regime de teste.

Um teste de intrusão com um escopo bem definido, pode garantir que os


controles de segurança testados foram configurados de acordo com as boas práticas,
normas e políticas estabelecidas pela alta administração da empresa, bem como a
existência de vulnerabilidades comuns ou conhecidas publicamente nos
componentes testados no momento do teste.

Auditoria e Testes de Invasão – Página 5 de 121


Pense da seguinte maneira: se você quiser descobrir a eficácia do sistema
de segurança de sua casa, poderá contratar alguém para tentar “driblar” esse sistema
e assaltar a sua casa. Isso é essencialmente o que um teste de intrusão faz. Se você
ainda não possui um sistema de segurança residencial, a invasão em etapas seria
muito fácil, concorda? É importante que após a implementação de mecanismos de
proteção em sua residência, faça testes em tais mecanismos, para garantir que as
medidas de proteção adotadas estejam funcionando perfeitamente. O mesmo
acontece com um teste de intrusão. Se uma empresa nunca realizar uma avaliação
de segurança adequada sobre as medidas e práticas de segurança implementadas
em seus ativos de TI, para descobrir se elas possuem vulnerabilidades ou se estão
adequadamente aptas a responder de forma eficiente e eficaz diversos tipos de
ameaças, acaba sendo prematuro dizer que a empresa está segura e, em alguns
casos, poderá haver desperdício de tempo e dinheiro.

Mas por que uma empresa deve realizar um teste de intrusão?

Mesmo com as mais fortes medidas de proteção e segurança implementada


dentro de uma infraestrutura de TI, existem vulnerabilidades que expõem os ativos de
TI da empresa a riscos desconhecidos. Essas lacunas podem ser tão inocentes
quanto um aplicativo desatualizado ou a postura de um funcionário durante um bate-
papo com colegas a respeito de um novo projeto, acesso a um sistema etc.

De qualquer modo, uma dessas lacunas poderia fornecer uma rota direta para
o vazamento ou roubo de dados digitais confidenciais, como dados financeiros,
informações sobre novos produtos e serviços, documentos estratégicos ou
classificados.

A execução de um teste de intrusão neste contexto, torna-se uma ferramenta


essencial para identificar os caminhos de acesso, essas “lacunas”, classificando o
valor potencial de cada um e fornecendo um roteiro claro para a correção. Um teste
de intrusão não é apenas uma prática comercial inteligente, mas também um requisito
anual para aquelas empresas que devem permanecer em conformidade com as
principais regulamentações, como: PCI, SOX, FACTA, GDPR e LDPD.

Auditoria e Testes de Invasão – Página 6 de 121


1.1. Relembrando conceitos - Conexões TCP

Para que duas pessoas realizem uma comunicação de forma eficiente, é


preciso que ambas conheçam a mesma forma de comunicação e estabeleçam regras
para que essa comunicação ocorra de forma legível. Ou seja, é preciso que se
estabeleça um protocolo de comunicação.

No universo dos sistemas computacionais, de acordo com Tanenbaum


(2011), um protocolo é um acordo entre as partes que se comunicam, estabelecendo
como se dará a comunicação. Neste contexto é correto afirmar que o TCP é um
protocolo de comunicação utilizado por equipamentos computacionais, para realizar
a comunicação entre eles de forma confiável e eficiente. Porém, é comum
observamos a união de outro protocolo, o “IP”, dando a conotação de um único
protocolo TCP/IP. Mas essa definição é errônea, pois ambos o TCP e o IP possuem
funções e atuam em camadas diferentes durante o processo de comunicação.

Diferente de outros protocolos, o TCP é um protocolo que foi projetado para


estabelecer uma conexão orientada, confiável de forma ordenada entre duas pontas,
características essas não presentes em outros protocolos, como o IP e o UDP. Isto é,
uma comunicação “fim a fim” por meio de um processo conhecido como “Three-way
Handshake”, ou simplesmente aperto de mão!

Toda a comunicação realizada pelo protocolo TCP é realizada por meio de


portas ou sockets, que por sua vez são associados a um endereço estabelecido pelo
outro protocolo o “IP”, dando-se então a origem do termo TCP/IP. O processo “Three-
way Handshake” realizado pelo protocolo TCP, acontece utilizando-se de duas flags
contidas em um cabeçalho de um pacote de dados TCP, a ACK (Acknowledgement
— Reconhecimento) e a SYN (Synchronize — Sincronizar). Vamos explicar o
processo:

 Fase 1: o cliente envia um pacote de dados com a flag “SYN”, ativada;

 Fase 2: o servidor envia um pacote resposta com as flags “SYN+ACK”


ativadas;

Auditoria e Testes de Invasão – Página 7 de 121


 Fase 3: o cliente devolve uma resposta ao servidor com a flag “ACK” ativada
no pacote.

Fazendo uma analogia, para a nossa linguagem de comunicação:

 Cliente pergunta: Ei servidor! Estou enviando um pacote de dados para você


que contém um número 1000 (sequência inicial da transmissão), vamos
sincronizar?

 Servidor responde: Sim, por que não?! Vou enviar a você a minha sequência
que é a 2000, ok? Já estou enviando também o SYN e pode enviar a próxima
sequência ACK da sua mensagem (1001).

 Cliente responde: Ok! Lá vai o meu pacote com a sequência 1001, envie-me o
seu ACK com a sequência 2001...

E assim por diante, até que o cliente termine a conversa mandando um pacote
com a flag “FIN”, conforme demonstrado na Figura 1.

Figura 1 – Three-Way Handshake.

É importante ressaltar que a existência de números sequências distintas é


necessária para que se haja a sincronização entre ambas as partes — cliente e
servidor. Realizada a sincronização entre ambos, a troca de informações (pacotes de
dados) começa.

Auditoria e Testes de Invasão – Página 8 de 121


O TCP é um protocolo presente na camada de transporte do modelo de
arquitetura OSI e como já comentamos, trabalha utilizando o conceito de portas
lógicas de comunicação em conjunto com o outro protocolo IP. Abaixo temos alguns
serviços que trabalham sobre TCP e suas portas lógicas:

Figura 2 – Alguns serviços e portas do TCP.

1.2. Ethical Hacker vs. Black Hacker

Sempre que estou falando do assunto para os cursos de segurança da


informação e segurança cibernética, eu realizo a seguinte pergunta aos meus alunos:
"Qual é a diferença entre um Ethical Hacker e Black Hacker?” Inevitavelmente, a
questão da ética vem à tona. Isso porque é a ética que os conceitua e diferencia.

Por definição, o Ethical Hacker é um indivíduo que realiza avaliações de


segurança da informação e segurança cibernética em uma infraestrutura de TI, com
o consentimento da alta administração da empresa; enquanto o Black Hacker é um
indivíduo desconhecido da empresa que não possui acordo e muito menos
autorização da alta administração. Seu principal propósito é realizar um ataque contra
os sistemas de segurança da empresa, visando prejudicar a empresa em algum
aspecto ou roubar dados e informações para algum lucro pessoal ou financeiro.

As vezes um Black Hacker demonstra um comportamento ético. Um exemplo


é a história de Adrian Lamo, um famoso Black Hacker que, após invadir diversos
sistemas corporativos, informou às suas vítimas os passos realizados durante o
ataque, assim como as formas de proteção que deveriam ser adotadas para mitigar
futuros ataques de intrusão.

Auditoria e Testes de Invasão – Página 9 de 121


Observa-se que, mesmo demonstrando uma forte convicção de ética, Lamo
foi condenado por crimes cibernéticos nos Estados Unidos em 2004, por possuir um
comportamento ético contrário às leis contra crimes cibernéticos vigentes nos Estados
Unidos.

Na segurança da informação e segurança cibernética, os Black Hackers são


aqueles que realizam a intrusão não autorizada aos sistemas e infraestruturas de TI
de uma empresa. Embora a razão por trás dessa atividade varia de uma simples
curiosidade para o ganho financeiro, o comum é que o façam sem permissão. Em
alguns casos, o Black Hacker pode estar localizado fisicamente em países que
possuem leis fracas contra crimes virtuais, no entanto suas ações ainda podem ser
consideradas ilegais quando violam as leis de países onde o alvo (vítima) situa-se.

Entretanto, há uma grande dificuldade em punir e processar um Black Hacker


quando seu próprio país não vê nada de errado em suas ações. Esta dificuldade pode
ser mais bem demonstrada pela prisão de Dmitry Sklyarov, em 2001. Dmitry foi preso
depois de chegar aos Estados Unidos para assistir uma conferência de segurança da
informação em uma faculdade americana. Sua prisão estava relacionada com seu
trabalho em derrotar a cópia proteção de e-books, por meio da quebra da criptografia
inserida nestes e-books, projetada pela companhia americana Adobe Systems.

Na ocasião, Dmitry foi preso por violar o Digital Millennium Copyright Act
(DMCA), uma lei que se destina a impedir as pessoas de encontrar maneiras de
contornar ou derrota criptografia de um software proprietário. O problema era que a
DMCA é uma lei de direitos autorais dos EUA e não é aplicável na Rússia, onde Dmitry
morava e publicou sua pesquisa.

Apesar disso, o FBI — o escritório americano responsável por investigar


crimes federais — o prendeu enquanto estava em solo americano. Eventualmente,
todas as acusações foram retiradas em troca de seu testemunho.

Nos Estados Unidos, as ações Dmitry foram consideradas ilegais, mas não
houve tais proibições em seu próprio país. Isso porque ele não fez nada para violar
leis de direitos autorais na Rússia. É importante ressaltar que mesmo não violando

Auditoria e Testes de Invasão – Página 10 de 121


nenhuma lei em seu país, o trabalho de Dmitry foi feito sem a permissão da empresa
americana Adobe Systems, tornando-se por definição um Black Hacker.

Um Ethical Hacker é um indivíduo que realizam avaliações de segurança


dentro de um acordo contratual. Assim como nos filmes do Velho Oeste, Ethical
Hacker pode ser considerado o mocinho da história. Seu principal objetivo é ajudar
as empresas e suas equipes de segurança a melhorar seus mecanismos de proteção
em relação a segurança de seus ativos de TI contra Black Hackers.

Atualmente há muitos esforços em codificar as responsabilidades éticas dos


Ethical Hackers, em prol de uma melhor compreensão de como os dados
confidenciais serão tratados durante um Pentest e sua postura perante a ética, que
convenhamos é bastante subjetiva. Por exemplo, entidades como ISSAC, CISSP e
ISC, reconhecidas mundialmente em formar profissionais Ethical Hacker, impõe
códigos de ética e conduta rigorosos para os candidatos que desejam obter a
certificação de Ethical Hacker.

1.3. Times de segurança

Quando estamos conversando sobre segurança cibernética, os termos "Red


Team e Blue Team, “Time Vermelho" e "Time Azul", são frequentemente
mencionados. Há muito tempo associados às forças armadas, esses termos são
usados para descrever equipes que usam suas habilidades para atacar ou defender
determinado posição ou elemento. Na segurança cibernética, não há muita diferença.

O Red Team (Time Vermelho) é composto de uma equipe de especialistas


em segurança, que estão focadas em realizar testes de penetração em diferentes
ambientes de TI e em seus níveis de programas de segurança. Eles estão lá para
detectar, prevenir e eliminar vulnerabilidades.

Uma equipe vermelha imita ataques do mundo real que podem atingir uma
empresa e executa todas as etapas necessárias que os invasores “Black Hackers”

Auditoria e Testes de Invasão – Página 11 de 121


usariam. Ao assumir o papel de um invasor, eles mostram às empresas quais
vulnerabilidades exploráveis representam uma ameaça à sua segurança cibernética.

Uma prática comum realizada pelas empresas é contratar alguém de fora


para compor ou formar a equipe vermelha. No geral, esse indivíduo trata-se de
alguém equipado com habilidades e conhecimentos necessário para explorar
vulnerabilidades de segurança, mas desconhece as defesas incorporadas à
infraestrutura da empresa. Ou seja, trata-se de um Ethical Hacker.

As técnicas que uma equipe vermelha usa variam de tentativas entre: explorar
falhas humanas por meio de técnicas de engenharia social (arte de enganar pessoas)
em colaboradores, com o objetivo de obter acesso aos sistemas, dados ou
informações de diversos tipos de classificação — como a utilização de códigos e
scripts de programação desenvolvidos exclusivamente para explorar falhas (bugs) em
sistemas operacionais, protocolos etc.

Nesse contexto, para serem realmente eficazes, as equipes vermelhas


precisam conhecer todas as táticas, técnicas e procedimentos que um invasor usaria
durante uma tentativa de invasão a um ambiente de TI de uma empresa.

É importante ressaltar que as equipes vermelhas (Red Team) oferecem


benefícios críticos, incluindo uma melhor compreensão da possível exploração de
dados e a prevenção de violações futuras. Ao simular ataques cibernéticos em suas
infraestruturas de TI, as empresas garantem que as medidas de proteção
implementadas por suas equipes de segurança estejam em conformidade com as
políticas e defesas adequadas à segurança, além de possibilitar uma visão real dos
riscos associados aos ativos de TI. Mas, como tudo não são “flores”, uma grande
desvantagem de se ter um time vermelho é o “custo”. Manter um Red Team dentro
de um ambiente corporativo requer um investimento considerável em ferramentas
tecnológicas, contratação de pessoas altamente especializadas e treinamento
constante.

O Blue Team (Time Azul) também se trata de uma equipe formada por
especialistas em segurança da informação, semelhante a uma equipe vermelha. Isso

Auditoria e Testes de Invasão – Página 12 de 121


porque também avaliam os níveis de proteção e segurança de um ambiente de TI
corporativo e identificam possíveis vulnerabilidades. Porém, o que diferencia uma
equipe azul de uma equipe vermelha é o seu objetivo.

Uma equipe vermelha, conforme estudados anteriormente realiza o processo


de uma invasão, valendo-se de táticas e técnicas características e utilizadas por um
Black Hacker. Já no caso de uma equipe azul, por sua vez, está lá para encontrar
maneiras de defender, mudar e reagrupar mecanismos de proteção e defesa para
tornar a resposta a incidentes muito mais forte. Em resumo, o Red Team busca
explorar vulnerabilidades por meio de ações ofensivas de ataque. Já o Blue Team
busca detectar ações ofensivas e defender os ativos de TI contra diversos tipos de
ameaças.

É importante salientar que as equipes vermelha e azul precisam estar cientes


das mesmas táticas, técnicas e procedimentos maliciosos para criar estratégias de
resposta as ameaças. E ambas estão envolvidas na missão de fortalecer a segurança
dos ativos de TI, por meio de técnicas e ferramentas como, por exemplo, softwares
IDS (Sistema de Detecção de Intrusões), que fornece uma análise contínua de
atividades incomuns e suspeitas.

Para entendermos melhor sobre a importância e valor de se ter equipes


vermelha e azul em um ambiente corporativo, em 2018 a revista InfoSec,
especializada em assuntos relacionados à segurança da informação, segurança
cibernética e demais outros assuntos do gênero, realizou uma pesquisa em sua rede
social Twitter, no qual perguntou aos seus seguidores qual dos times, “Red ou Blue”,
eram mais importantes e essenciais para se ter em uma empresa. Após um rápido
tempo, a InfoSec no início entendeu que seus leitores estavam indecisos com a
escolha. Porém, logo após perceberam que a vencedora da disputa seria a equipe
vermelha, apesar do resultado apertado (Figura 3).

Auditoria e Testes de Invasão – Página 13 de 121


Figura 3 – Resultado da pesquisa realizada pela revista Infotec.

É compreensível o porquê os leitores escolheriam a equipe vermelha,


com estatísticas baseadas em quem são nossos seguidores e na
natureza de suas carreiras. Sempre existe uma "animosidade" leve
entre as equipes vermelha e azul, portanto, perguntar a diferentes
grupos de pessoas provavelmente nos daria respostas diferentes.
Uma coisa estamos feliz — ninguém estava envolvido no nosso
pequeno truque! A verdade é que não há time vermelho sem o time
azul, ou vice-versa. Não era nossa intenção enganar ninguém, mas
era uma pergunta enganosa! A resposta real para a pergunta é:
Ambos. (Descrição da resposta da revista InfoSec, após publicar o
resultado de sua pesquisa)

Conforme observamos, o Red Team (Time Vermelho) usa suas habilidades


para testar as medidas de proteção implementadas pelos Blue Team (Time Azul).
Porém, às vezes a equipe vermelha pode encontrar buracos que a equipe azul
ignorou completamente e, nesses casos, é responsabilidade da equipe vermelha
mostrar como essas coisas podem ser melhoradas. Assim sendo, é vital que as
equipes vermelha e azul trabalhem juntas contra criminosos cibernéticos, para que a
segurança cibernética possa ser eficiente e eficaz.

Não há tal coisa como “o time vermelho é melhor que o azul e vice-versa”,
não há benefício em escolher lados ou investir em apenas um. O importante é lembrar
que o objetivo de ambos os lados é evitar crimes cibernéticos.

Auditoria e Testes de Invasão – Página 14 de 121


Conforme podemos perceber, as equipes vermelha e azul não poderiam ser
mais opostas em suas táticas e comportamentos. Podemos até fazer uma analogia
com a filosofia chinesa Yin–Yang, no qual defende a teoria que tudo no universo
possui uma dualidade. Ou seja, existe sempre dois lados, preto e branco, bem e mal,
sol e noite, ataque e defesa, e assim por diante; e no contexto de equipes vermelha
e azul, essas diferenças são principalmente o que as tornam parte de um todo
eficiente e eficaz. Podemos dizer que as equipes vermelhas atacam e as equipes
azuis defendem, mas o objetivo principal é compartilhado entre ambas: melhorar a
postura da segurança da empresa.

Porém, alguns problemas comuns com a cooperação entre ambas podem


existir. Como exemplo, podemos citar: (a) a equipe vermelha se considera elite
demais para compartilhar informações com a equipe azul; (b) a equipe vermelha é
puxada para dentro da organização e torna-se castrada, restrita e desmoralizada,
resultando em uma redução catastrófica em sua eficácia; (c) ambas as equipes não
são projetadas para interagir entre si de forma contínua, neste sentido as lições
aprendidas de cada lado podem se perder ao longo do tempo; (d) algumas vezes a
gerência de segurança da informação não vê ambas as equipes como parte do
mesmo esforço e, por esse motivo não há informações, gerenciamento ou métricas
compartilhadas entre ambas.

As empresas que sofrem de um ou mais desses problemas, provavelmente


pensam que precisam de uma nova equipe para resolvê-los. Eis que surge uma nova
equipe: Purple Team (Time Roxo).

Nascida da tentativa de conciliar equipes vermelhas e azuis, a equipe roxa é


um conceito que não descreve verdadeiramente a existência de uma equipe
totalmente nova. Ela é composta de uma combinação de ambas as equipes,
“vermelha e azul’, promovendo o envolvimento e a integração entre ambas, para que
trabalhem juntas em prol da segurança da informação e segurança cibernética de
uma empresa.

Precisamos dizer que as empresas precisam da cooperação mútua de ambas


as equipes para fornecer uma auditoria completa de ambos os lados, com registros

Auditoria e Testes de Invasão – Página 15 de 121


de todos os testes realizados e registros das especificidades relevantes. A equipe
vermelha fornece informações sobre as operações que eles executaram enquanto
"atacavam"; e a equipe azul fornece documentação sobre as ações que eles
executaram para preencher as lacunas e solucionar as vulnerabilidades e os
problemas encontrados.

Tanto a equipe vermelha quanto a equipe azul são essenciais. Sem suas
constantes auditorias de segurança, a implementação de testes de penetração e o
desenvolvimento de infraestrutura de segurança, empresas não estariam cientes de
sua própria segurança. Ou seja, não teriam conhecimento da eficiência e eficácia dos
seus mecanismos e medidas de segurança.

Atenção, o "Purple Team" (Time Roxo) deve ser pensado como uma função
ou um conceito, e não como uma nova equipe/time que precisa ser contratado e
implementado em um ambiente corporativo de forma permanente. Esse conceito é o
de cooperação e benefício mútuo em direção a um objetivo comum.

Portanto, talvez exista um engajamento da equipe roxa, onde terceiros


analisem como suas equipes Vermelho e Azul trabalham entre si e recomendam
correções; ou talvez haja um exercício da equipe roxa, em que alguém monitora as
duas equipes em tempo real para ver como elas funcionam. Ou talvez haja uma
reunião do time roxo, onde os dois times se unem, compartilham histórias e
conversam sobre vários ataques e defesas.

Embora seja bom ter pessoas dedicadas a proteger uma organização por
meio de métodos de defesa ou ataque, as empresas e seus sistemas não
permanecem estáticos. Processos adicionais, automações, produtos e serviços estão
sendo constantemente construídos por desenvolvedores e arquitetos — com o
aumento da área potencial de ataque a cada nova alteração ou integração.

Pensando nisso, April C. Wright, ativista feminina, Ethical Hacker, professora


e líder de uma comunidade que promove a proteção da segurança e da privacidade
dos dados e da informação a mais de 25 anos, durante uma conferência internacional
sobre segurança da informação e cibersegurança, a DefCamp nos Estados Unidos,

Auditoria e Testes de Invasão – Página 16 de 121


apresentou um novo conceito intitulado “Orange is the new Purple” (Laranja é o novo
Roxo).

Em sua apresentação, April defendeu a tese de tornar os desenvolvedores,


arquitetos, engenheiros e programadores de softwares uma equipe, a Yellow Team
(equipe amarela), e fornecer a eles a capacidade de tornar os produtos desenvolvidos
por eles mais seguros.

Vale lembrar que o foco de um desenvolvedor está na funcionalidade, ou seja,


tornar o fruto do seu desenvolvimento, o sistema no caso, mais funcional possível o
mais rápido possível. Nesse sentido, quando a funcionalidade de um aplicativo ou
sistema funciona para todos os usuários e partes interessadas de forma correta, os
desenvolvedores ficarão tranquilos porque realizaram seu trabalho perfeitamente.

Porém, os desenvolvedores nunca sabem, ou realmente pensam, se fizeram


algo inseguro, até que isso seja apontado para eles como parte de um teste de
penetração realizado por um Red Team ou como parte de uma violação descoberta
por um Blue Team.

É importante ressaltar que empresas e equipes de segurança são afetadas


por vulnerabilidades e configurações incorretas, e todas têm a mesma fonte: a pessoa
ou grupo que realizou o desenvolvimento do software. Como diz o ditado: se a
depuração é o processo de remoção de bugs, a programação é o processo de colocar
bugs no aplicativo. O teste prova apenas a presença de bugs, não a ausência deles.

Para ajudar a resolver isso, as empresas devem implementar um ciclo no qual


há uma interação entre as equipes RED, BLUE e YELLOW, no sentido que: a Yellow
Team desenvolve o software, aplicativo ou sistema; a Red Team realiza os testes
para descobrir e expor as vulnerabilidades; o Blue Team realiza a defesa e, geram os
resultados em conjunto com o Red Team, que são encaminhados para o Yellow Team
realizar as devidas correções.

A ideia por trás do ciclo apresentado é de que o Yellow Team precisa


aprender com Red Team e trabalhar lado a lado com o Blue Team.

Auditoria e Testes de Invasão – Página 17 de 121


A partir do conceito difundido por April C. Wright, que por sinal foi recebido
com esplendor por várias entidades e pessoas que estão envolvidas direta ou
indiretamente com a segurança da informação, cibersegurança e afins no mundo a
fora, novas estruturas de times foram criadas com base nas três cores básicas:
Vermelho, Azul e Amarelo. Isso fez com que habilidades e competências fossem
misturadas, criando-se assim conceitos e mecanismos de proteção novos para
diversas áreas e ambientes de TI.

Figura 4 – Paleta de Cores da Segurança da Informação.

A seguir podemos observar as habilidades e competências de cada equipe e,


consecutivamente, o resultado da união/integração desses times principais, fazendo
surgir um novo time e um novo conjunto de habilidades e competências que irão
garantir uma maior segurança em um ambiente corporativo.

Figura 5 – Red Team + Blue Team = Purple Team.

Auditoria e Testes de Invasão – Página 18 de 121


Figura 6 – Yellow Team + Blue Team = Green Team.

YELLOW TEAM GREEN TEAM BLUE TEAM


• Formado por • Proporciona a melhoria • Conceito de Segurança
desenvolvedores, contínua da segurança Defensiva.
engenheiros, arquitetos defensiva por meio da
e programadores de implementação de • Trabalha para proteger
software. conceitos relacionados toda a infraestrutura de
à segurança by design TI.
• Devem aprender com o e by default.
Red e o Blue Team • Altamente
para desenvolver • Realiza auditoria interna especializada em
sistemas mais seguros. nos mecanismos de resposta aos incidentes
proteção de segurança.
•Devem pensar em implementados.
segurança e • São caçadores de
privacidade by default • Aplica conceitos de ameaças.
e by design. análise forense para
resolver incidentes de
segurança da • Realizam diversos
informação. trabalhos de análise de
logs de diversos
sistemas de segurança.

Figura 7 – Yellow Team + Red Team = Oragen Team.

YELLOW TEAM ORANGE TEAM RED TEAM


• Formado por • Promove a • Conceito de Segurança
desenvolvedores, conscientização sobre a Ofensiva.
engenheiros, arquitetos segurança da
e programadores de informação entre ambas • Formada por Ethical
software. as equipes RED e Hackers.
YELLOW.
• Devem aprender com o • Analisa e explora
Red e o Blue Team • Promove a construção vulnerabilidades em
para desenvolver de ambientes e sistemas locais e web.
sistemas mais seguros. sistemas mais seguros
por meio de processos
de aprendizagem de • Executa testes de
• Devem pensar em penetração do tipo
segurança e competências e
habilidades de ambas Black Box.
privacidade by default e
by design. as equipes, RED e
YELLOW. • Utiliza-se de diversas
técnicas para ludibriar
• Inspira o pensamento as defesas impostas e
crítico sobre as enganar pessoas —
medidas adotadas para engenharia social.
proteção do ambiente e
sistemas de TI.

Auditoria e Testes de Invasão – Página 19 de 121


1.4. Pentester vs. Ethical Hacking

Quando se trata de aprender sobre Pentest e Ethical Hacking, é comum


assumirmos que ambos possuem o mesmo significado. Isso porque ambos se
enquadram na mesma categoria de "segurança ofensiva". Porém, há diferenças entre
os dois.

Debaixo do guarda-chuva da segurança ofensiva, existem várias disciplinas,


como teste de intrusão, engenharia social, formação de equipes em vermelho “Red
Team”, engenharia reversa de software, Hackers Éticos e muito mais, conforme
observa-se abaixo.

Figura 8 – Guarda-chuva da Segurança da Informação.

Conforme estudamos anteriormente, o teste de intrusão tem como objetivo


encontrar vulnerabilidades, conteúdos maliciosos, falhas e riscos. Isso é feito com o
propósito de fortalecer o sistema de segurança de uma organização e defender os
ativos de TI contra diversos tipos de ameaças.

O teste de intrusão é um procedimento oficial e formalizado que deve ser


considerado útil pelas equipes de segurança e não uma tentativa prejudicial, visto que
faz parte de um processo realizado por um Ethical Hacking. Embora seja útil para
melhorar as estratégias de segurança cibernética, os testes de intrusão podem não
resolver todas as questões de segurança, mas minimizam significativamente a

Auditoria e Testes de Invasão – Página 20 de 121


probabilidade de um ataque bem-sucedido e, nesse sentido, deve ser realizado de
forma regular nas empresas.

Um teste de intrusão ajuda a determinar se um sistema ou infraestrutura de


TI é vulnerável a um ataque cibernético, se as medidas defensivas são suficientes e
quais medidas de segurança falharam no teste. Ele mostra os pontos fortes e fracos
de qualquer infraestrutura de TI em um determinado ponto do tempo. O processo de
teste de intrusão não é casual, envolve muito planejamento e, principalmente, não
deve obstruir o fluxo de trabalho regular do ambiente corporativo.

O profissional Ethical Hacking visa identificar as vulnerabilidades e corrigi-las


antes que os hackers “maliciosos e mal-intencionados” (Black Hackers) as explorem,
para executar um ataque cibernético. O Ethical Hacking é denominado como ético
porque é executado somente após a obtenção das permissões necessárias para
invadir o sistema de segurança. O profissional que realiza a intrusão trabalha por
motivos éticos e a favor da segurança e é assim que os Hackers Éticos podem ser
diferenciados dos Black Hackers.

O papel de um Hacker Ético é desafiador, pois ele deve invadir o sistema sem
afetar o funcionamento dele, localizando as vulnerabilidades. O Hacker Ético entende
e relata atividades maliciosas e sugere medidas adequadas para derrotar os
invasores em suas tentativas. Além da tarefa de hackear o ambiente corporativo, um
Hacker Ético também estuda outras metodologias relacionadas à segurança e sugere
sua implementação. No geral, Hackers Éticos carregam o fardo da segurança de toda
a infraestrutura de TI. A seguir, observa-se algumas diferenças:

Pentest Ethical Hacking

O objetivo é abranger vários ataques


O principal objetivo é encontrar
através de diferentes técnicas de
vulnerabilidades no ambiente de
hackers para encontrar falhas de
destino.
segurança.

Auditoria e Testes de Invasão – Página 21 de 121


O teste de intrusão concentra-se na Hacking ético é um termo abrangente e
segurança de uma área específica o teste de intrusão é uma das funções
definida para o teste. do hacker ético.

Espera-se que o hacker ético esteja


ciente da execução de diferentes O hacker ético deve ter um
metodologias e conheça o objetivo de conhecimento abrangente das
cada uma, assim como a forma e metodologias de hacking.
quando executar.

O hacking ético é um passo em direção


É necessário ter experiência prévia em ao teste de intrusão. A menos que se
hacking ético para ser um bom analista. conheça as metodologias, elas não
podem conduzir um teste.

Um hacker ético pode trabalhar em um Sendo um hacker ético, você deve estar
domínio e rede específica. O ciente dos aspectos técnicos do
conhecimento esperado é mais software e hardware e de dispositivos
específico em nível de especialista. digitais conectados à rede.

Para resumir, o hacking ético é como aprender todos os aspectos técnicos da


condução de um veículo versus o teste de intrusão, no qual você reúne todas as
habilidades adquiridas para dirigir o carro.

1.5. Avaliação de Vulnerabilidade vs. Pentester

Avaliações de vulnerabilidade e testes de intrusão são técnicas usadas pelas


equipes de segurança de TI e por um hacker ético para identificar e resolver
problemas de segurança nas redes, infraestrutura, aplicativos e outras áreas de TI de
uma empresa. Essas avaliações e testes compartilham um objetivo comum, mas os
métodos e ferramentas usados para encontrar e corrigir falhas de segurança são
diferentes.

Auditoria e Testes de Invasão – Página 22 de 121


Ambos são essenciais para uma compreensão clara e completa dos riscos
em todo o ecossistema de TI e devem ser usados juntos para identificar e remediar
possíveis vetores de ataque e pontos fracos tecnológicos.

Uma ferramenta de análise e verificação de vulnerabilidades utiliza uma


abordagem ampla para identificar falhas e vulnerabilidades em toda a empresa
através de uma verificação de uma lista de riscos conhecidos, fornecidos por um
banco de dados de vulnerabilidades, e podem ser executados automaticamente e de
forma programada.

No geral, é composta de quatro áreas principais: interface do usuário, lista de


vulnerabilidades, mecanismo de verificação e ferramenta de relatório, podendo
priorizar vulnerabilidades com base na gravidade, urgência e facilidade de correção,
fornecendo sugestões para corrigir falhas identificadas.

A análise e verificação de vulnerabilidades permite a identificação precoce e


confiável de pontos fracos da infraestrutura de TI e seus ativos. Essas ferramentas
dependem do fornecedor/desenvolvedor do software, identificando regularmente as
ameaças e integrando-as em um banco de dados de vulnerabilidades. Como essas
ferramentas avaliam problemas de segurança conhecidos anteriormente, também
destacam ações restaurativas para corrigir as falhas encontradas. A avaliação da
vulnerabilidade concentra-se na identificação confiável de riscos e na correção de
falhas de TI em toda a empresa.

Já um Pentest (teste de intrusão), usa uma abordagem direcionada para


tentar romper a segurança e as defesas de TI, tentando simular um ataque real por
Black Hacker e outros maus atores, que buscam obter acesso a sistemas críticos e
informações confidenciais da empresa.

No geral, um Pentest, adapta-se de acordo com as defesas/resistência


encontrada no ambiente alvo e tenta encontrar novos vetores de ataque para superar
os obstáculos. Ou seja, as medidas de proteção. Um Pentest não se preocupa
somente com vulnerabilidades específicas previamente identificadas, e o hacker ético
pode-se valer de uma variedade de softwares, scripts de programação e outros

Auditoria e Testes de Invasão – Página 23 de 121


métodos como engenharia social — a arte de enganar pessoas, para penetrar nas
defesas impostas pelas equipes de segurança da informação e segurança
cibernética.

O Pentest permite uma compreensão profunda de como o ecossistema de TI


pode ser violado. Ele usa uma combinação de ferramentas especializadas, um
entendimento da abordagem de um Black Hacker e outras técnicas, para obter
resultados. O Pentest se concentra em como uma ameaça ou pessoal mal-
intencionada pode realmente violar os sistemas de TI por meio de um ataque
direcionado.

Com a migração das infraestruturas locais, aplicativos e dados para a nuvem,


as avaliações de vulnerabilidades e os testes de intrusão devem funcionar em todos
os ambientes de TI. Quer a empresa opere a TI no localmente “on-primeses” ou conte
com uma nuvem privada, pública ou híbrida, as equipes de segurança devem
certificar-se de usarem ferramentas que possam identificar vulnerabilidades onde
quer que estejam, além de lidar com as integrações e conexões entre esses
ambientes. Dentre as principais diferenças entre ambos, análise de vulnerabilidades
e Pentest, destacam-se:

 As avaliações de vulnerabilidade são baseadas em lista, enquanto testes de


intrusão são baseados em objetivos.

 Os testes de intrusão são adaptáveis à realidade da empresa e as avaliações


de vulnerabilidade usam um método consistente e baseados em ferramentas.

 As avaliações de vulnerabilidade analisam uma ampla gama de riscos,


enquanto o teste de intrusão usa uma abordagem muito mais direcionada.

 As equipes de segurança devem usar o teste de intrusão e as avaliações de


vulnerabilidade juntas, visando mensurar as ameaças e riscos de sua
infraestrutura e ativos de TI, bem como a maturidade de seus mecanismos de
proteção e suas operações de segurança de TI.

Auditoria e Testes de Invasão – Página 24 de 121


É importante ressaltar que uma segurança de TI menos madura obterá mais
benefícios das avaliações e verificações de vulnerabilidades. Isso porque, como
essas ferramentas analisam todo o ecossistema de TI, elas expõem os vetores de
ataque e falhas de segurança mais comuns, além, de oferecem relatórios
abrangentes e ações de mitigação; favorecendo assim a alocação de recursos de
segurança de forma mais concisa e restauração de mecanismos de proteção mais
rápidos e fáceis.

A verificação de vulnerabilidades é uma ferramenta ideal quando uma


empresa sabe que possui problemas de segurança, mas não onde eles estão. Isso
porque as ferramentas de verificação de vulnerabilidades usam vulnerabilidades
previamente identificadas e podem testar rápido e completamente, todos os ativos de
TI em relação a essas vulnerabilidades.

Por outro lado, empresas que já possuem uma segurança de TI madura


podem se valer da avaliação de vulnerabilidade na implementação de novos
sistemas, testando e corrigindo falhas no ambiente de desenvolvimento ou teste antes
de entrar em produção.

No caso do teste de intrusão, esse torna-se mais útil para empresas com uma
forte maturidade em suas operações de segurança de TI. Como o teste de intrusão é
feito sob medida para sua infraestrutura, aplicativos e defesas exclusivas, ele pode
fornecer informações precoces sobre como um Black Hacker comprometeria a
infraestrutura e os ativos de TI em um ambiente corporativo.

Para simplificar ainda mais o entendimento sobre a avaliação de


vulnerabilidades e o Pentest, vamos observar as vantagens e desvantagens de cada
um deles. De acordo com Sêmola (2013), análises de vulnerabilidade identificam,
quantificam e priorizam o que há de mais frágil nos sistemas, a fim de tornar a
segurança dos ativos de TI mais robusta. Esse tipo de análise é indicado para testar
uma grande quantidade de sistemas em um curto período. Porém, para Machado
(2014), uma análise de vulnerabilidade é diferente de um Pentest porque seus
objetivos são distintos. Enquanto o teste de intrusão explora táticas específicas de
invasão, a análise de vulnerabilidades identifica todas as brechas existentes em um

Auditoria e Testes de Invasão – Página 25 de 121


sistema. As equipes de segurança da informação e segurança cibernética podem
fazer as PoC (Provas de Conceitos), com base nos resultados que a ferramenta
apresenta. O autor ainda destaca como principais vantagens:

 Análises com ferramentas automatizadas.

 Identificação e mitigação de riscos.

 Redução da probabilidade de vazamento de dados.

 Normalmente não causa interrupções de serviços.

Porém, como desvantagens, Machado (2014) enfatiza:

 Pode apresentar falsos positivos.

 Não explora a vulnerabilidade.

 Só encontra riscos já conhecidos (não reconhece Zero Day).

 O resultado pode conter erros.

Diante das considerações dos autores Sêmola e Machado, pode-se concluir


que um Pentest leva mais tempo de execução se comparado a uma análise de
vulnerabilidade. Isso faz com que seja mais preciso e eficaz, permitindo a organização
e suas equipes de segurança de TI obter uma visão real das ameaças, riscos e
impactos para o modelo de negócio, além da possibilidade de detecção de
vulnerabilidades não conhecidas ou catalogadas. Stalling (2017) cita as seguintes
vantagens de um Pentest, perante a análise de vulnerabilidades: a medição do
impacto das ameaças junto ao modelo de negócio; a possibilidade encontrar
vulnerabilidades não identificadas; a geração de informações reais; a validação da
postura de segurança da organização quanto a maturidade para lidar com ameaças
atuais; e, por fim, a mistura de testes automatizados com testes manuais.

Porém, o autor ainda demonstra como desvantagem o fator “tempo”. Segundo


Stalling (2017), um Pentest leva mais tempo para ser concebido e executado se

Auditoria e Testes de Invasão – Página 26 de 121


comparado a uma análise de vulnerabilidades, afirmando assim o posicionamento de
Sêmola e Machado, anteriormente citado e adaptado nesta apostila.

1.6. Tipos de Pentest

Independente da natureza do teste de intrusão, já sabemos que o principal


objetivo é obter acesso restrito ou irrestrito ao sistema de informação. Aqui vale uma
ressalva, entende-se sistema de informação como: o ambiente de TI, servidores,
estações, documentos e informações confidenciais, caixas de e-mail e aplicações
web.

Bem, é comum que as empresas fiquem na dúvida sobre qual tipo de


Pentesting deve ser escolhido e realizado, afinal existem inúmeros. A seguir expomos
os mais comuns, de acordo com Moreno (2017):

 Pentest Web: realiza testes de vulnerabilidades e exploração em ambientes


e aplicações web.

 Pentest Mobile: realiza testes de vulnerabilidades e exploração em aplicativos


e sistemas operacionais para dispositivos moveis.

 Pentest Rede: focado em explorar a infraestrutura de rede.

 Pentest Wireless: nesse tipo de teste é examinada a rede sem fio utilizada no
ambiente corporativo, seu foco está em testar vulnerabilidades e explorar os
pontos de acessos, protocolos e credenciais administrativas.

 Pentest Físico: aqui a busca concentra-se nas vulnerabilidades e exploração


das falhas situadas nos controles de acessos ao ambiente, mapeando
fraquezas aos recursos físicos da empresa.

 Pentest Engenharia Social: o foco é testar “pessoas”. Ou seja, encontrar


vulnerabilidades nos próprios colaboradores e as explorar utilizando técnicas
psicológicas para tentar induzi-los a passar informações importantes.

Auditoria e Testes de Invasão – Página 27 de 121


 Pentest Stress (DDoS): verifica a disponibilidade de uma aplicação suportar
uma demanda de requisições.

 Pentest Externo: realizado a partir da Internet para encontrar vulnerabilidades


que permitam a exploração de fora para dentro do ambiente corporativo.

 Pentest Interno: normalmente alocado no cliente, para encontrar


vulnerabilidades que possam ser exploradas de dentro para fora do ambiente
corporativo.

É importante ressaltar que seja qual for o tipo de teste a ser realizado, haverá
a necessidade de definição de uma metodologia a ser seguida.

Nesse contexto, observa-se que há vários tipos de metodologias que podem


ser utilizadas para a realização de um teste de intrusão. Isso permite a divisão do
processo, que no geral é extremamente complexo com uma série de partes menores
e administráveis. Essas metodologias são conhecidas como manuais de boas
práticas em um Pentest. As mais comuns, de acordo com Schultz (2018), são:

 PTES (Penetration Test Execution Standard): define e levanta a


conscientização sobre o que um Pentest real pode significar e estabelece uma
base de princípios fundamentais requeridos para a condução dele.

 OSSTMM (Open Source Security Testing Methodology Manual): padrão


internacional baseado em métodos científicos para auxiliar no processo de
segurança, uma das metodologias mais completas e robustas;

 ISSAF (Information System Security Assessment Framework): busca


resultados da auditoria da forma mais rápida possível, e é capaz de modelar
os requisitos de controle internos para a segurança da informação.

 OWASP (Open Web Application Security Project): é direcionada para testes


em servidores e aplicações web.

Para definir o tipo e a metodologia a ser seguida, é preciso compreender o


cliente. Esse é um passo primordial para o sucesso de um teste de intrusão. Desta

Auditoria e Testes de Invasão – Página 28 de 121


forma, antes de definir um escopo para a construção de um teste de intrusão, ouvir o
cliente é primordial para dar andamento ao processo e, perguntas importantes
precisam ser feitas, visando atender as expectativas e necessidades do cliente de
forma clara e eficiente. Schultz (2018) apresenta como exemplo, as seguintes
perguntas:

a. O que se espera do Pentest?

b. É o primeiro teste?

c. O que é considerado valioso na organização?

d. Quais as suas preocupações?

e. O teste é feito para cumprir algum requisito de compliance? (exemplo: LPGD)

f. Existe algum sistema frágil?

g. Qual o objetivo do Pentest?

h. O que será considerado como sucesso no projeto?

i. Existe alguma limitação?

De posse das respost/as, o Ethical Hacker pode estruturar o Pentest e


respectivamente os procedimentos necessários, de acordo com as expectativas e
necessidades do cliente.

Lembre-se: além das várias modalidades (tipos) de teste de intrusão, você


também conta com uma grande diversidade de alvos para testar contra os mais
avançados métodos e ameaças virtuais. A seguir observe quais elementos você pode
validar sua estratégia de proteção:

Auditoria e Testes de Invasão – Página 29 de 121


Figura 9 – Tipos de Pentest.

1.7. Metodologia do teste de penetração

Acredito que até aqui você já deva ter entendido que um teste de penetração
nada mais é do que um método utilizado pelas equipes de segurança da informação,
para descobrir e avaliar vulnerabilidades em um ambiente de TI.

Os testes de penetração são importantes e precisam ser realizados de forma


eficiente e seguindo uma metodologia. Daí cabe entendermos, o que é metodologia?

Auditoria e Testes de Invasão – Página 30 de 121


Segundo o artigo publicado por Porto no site escolaeducacao.com.br, o
termo metodologia é derivado de método, do latim “methodus”, cujo significado
representa o caminho ou a via para a concretização de algo. Método é, portanto, o
meio pelo qual se percorre para alcançar um determinado fim ou a condição fornecida
para se chegar a respectivo conhecimento.

A metodologia deve auxiliar a explicar não apenas os produtos da


investigação científica, mas principalmente seu próprio processo, pois suas
exigências não são de submissão restrita a procedimentos rígidos, mas antes da
fecundidade na produção dos resultados (BRUYNE, 1991, p. 29).

Segundo Strauss e Corbin (1998), o método de pesquisa é um conjunto de


procedimentos e técnicas utilizadas para se coletar e analisar os dados. O método
fornece os meios para se alcançar o objetivo proposto, ou seja, são as “ferramentas”
das quais fazemos uso na pesquisa, a fim de responder nossa questão.

Um teste de intrusão é constituído de cinco fases, que possuem métodos


predefinidos que auxiliam na produção dos resultados.

1.7.1. Modalidades de um Pentest

Quanto as modalidades de um teste de intrusão, ou seja, métodos que podem


ser adotados para a realização de um teste de intrusão, podemos classificá-los de
três formas:

 White Box: modalidade de teste, na qual as informações sobre todo ambiente


de TI da organização são previamente fornecidas ao Ethical Hacker. No geral,
são testes mais extensivos e com abrangência maior.

 Black Box: modalidade de teste na qual busca-se a maior similaridade em


comparação a uma invasão real. Ou seja, é o tipo de teste mais próximo de
uma invasão real. Isso porque nenhuma informação sobre o ambiente de TI é
fornecida ao Ethical Hacker, fazendo com que ele adote métodos específicos
para adquirir o máximo possível de informações sobre os ativos e recursos de

Auditoria e Testes de Invasão – Página 31 de 121


TI disponíveis no alvo, identificando os pontos fracos “vulnerabilidades” e os
possíveis impactos associados a exploração desses pontos fracos.

 Gray Box: modalidade de teste em que há um “meio termo” entre o que se


sabe e o que não se sabe sobre o alvo. Ou seja, o Ethical Hacker possui
algumas informações sobre o ambiente de TI do alvo a ser analisado e outras
não. Esse tipo de teste é realizado para analisar possíveis falhas de segurança
advindas do ambiente interno da organização, tais como: verificação de
permissões de acesso, compartilhamento de recursos, sistemas etc.

Figura 10 – Diferenças entre Black, Gray e White Box.

Auditoria e Testes de Invasão – Página 32 de 121


Capítulo 2. Fases do Teste de Penetração

Antes de apresentar os conceitos relacionados as fases de um teste de


penetração, precisamos entender que para cada uma das fases será necessário a
utilização de ferramentas e técnicas específicas e aderentes a fase em questão.
Porém, adquirir as técnicas necessárias requer por parte das equipes de segurança
um processo de estudos contínuo e acumulativo.

Quanto as ferramentas necessárias, as equipes de segurança devem um


trabalho árduo de pesquisa junto a diversos fornecedores, bem como configurá-las
de forma correta em um sistema operacional. Mas, como dizem por aí... “seus
problemas acabaram!”

Para facilitar esse trabalho árduo, um grupo de especialistas em segurança


da informação e segurança cibernética fundaram uma organização denominada
Ofensive Security. Essa organização tem como objetivo oferecer serviços de
treinamento, certificação, consultoria e fornecimento de conjuntos de soluções,
produtos e ferramentas de segurança que visam atender as necessidades de diversas
entidades, tais como: governos, empresas e pessoas entusiastas em segurança em
âmbito global.

Entre os produtos e ferramentas desenvolvidas pela Ofensive Security,


citamos o site Exploit Data Base, no qual mantém um banco de dados atualizados de
exploits utilizados para explorar vulnerabilidades em diversos tipos de sistemas de TI
e uma distribuição Linux, denominada KALI Linux — uma espécie de “canivete suíço”
que possui diversas ferramentas separadas em grupos, que por sua vez
correspondem a cada uma das fases de um teste de penetração, incluindo um
sistema operacional completo Open Source.

Atualmente, o Kali Linux é adotado mundialmente por diversas equipes de


segurança para realização de auditorias em segurança da informação e segurança
cibernética, permitindo que elas executem testes de penetração em seus ambientes
de TI.

Auditoria e Testes de Invasão – Página 33 de 121


Como se trata de um kit completo para realizar um Pentest, mundialmente
utilizado por Ethical Hackers, iremos em nossa disciplina usá-lo como base para
apresentarmos as ferramentas e técnicas. Assim sendo, é importante que você realize
o download da última versão do Kali Linux, no site http://kali.org, e instale todo o
sistema operacional em seu computador por meio de uma máquina virtual, através
dos softwares de virtualização, como por exemplo o Virtual Box ou VMWare Player
— ambos podem ser encontrados na internet facilmente.

Outro ponto importante a comentar, está relacionado a instalação do Kali


Linux e suas ferramentas. Essa disciplina não irá ensinar a instalar e configurar a
distribuição Kali Linux, fornecida pela Ofensive Security. Isso porque o propósito da
disciplina é o de conceituar temas relacionados a Ethical Hacker e demonstrar
algumas das principais ferramentas e técnicas utilizadas durante as fases de um teste
de penetração.

Como dica, na internet existem diversos guias e tutorias que podem auxiliar
você a instalar e configurar a distribuição Kali Linux, bem como os processos de
instalação e criação de máquinas virtuais. Nesse contexto, caso tenha dificuldades
recorra a esses guias e tutoriais que, como mencionado, são facilmente encontrados
na internet através dos mecanismos de busca como Google, Yahoo, Bing etc.

Disto isso, vamos a seguir conceituar e explorar as fases de um teste de


penetração e respectivamente nos capítulos seguintes, apresentar e demonstrar
algumas das principais ferramentas e técnicas utilizadas durante o processo de um
teste de penetração. Preparados? Vamos lá...

No geral, um teste de penetração possui entre cinco ou sei fases,


dependendo da metodologia a ser seguida e, cada fase poderá receber diversas
nomenclaturas. Como exemplo, podemos citar a primeira fase de um teste de
penetração. Essa fase costuma ser denominada por alguns autores e Ethical Hackers
como: Informação do Alvo. Já para outros autores e Ethical Hackers, essa fase pode
ser denominada como: Coleta de Informações ou Reconhecimento.

Auditoria e Testes de Invasão – Página 34 de 121


Vale ressaltar que independente da nomenclatura utilizada para nomear as
fases de um teste de penetração, os objetivos, ferramentas e técnicas são as
mesmas. Isso significa que não importa o nome dado à fase, mas sim o conceito,
objetivo e propósito que essa fase se destina a cumprir. Sendo assim, vamos tratar o
nosso Pentest com base em seis fases, nas quais teremos:

Figura 11 – Fases do Pentest.

Planejamento do Reconhecimento Análise de


Teste do Alvo Vulnerabilidades

Eliminação /
Exploração Pós-exploração
Reporte

2.1. Fase 1: Planejamento

Certamente trata-se de uma etapa primordial de um teste de penetração, pois


é nesse momento que será definido o escopo do projeto, ou seja, de todo o teste de
penetração, além das assinaturas de contrato e acordos relacionados ao projeto,
como por exemplo os acordos de confidencialidade, os contratos que garantem ao
executor do teste as devidas autorizações para a realização do teste por parte da alta
administração da empresa, entre outras questões legais.

Entre as definições do escopo do projeto, podemos citar: o que será testado,


quais as formas (tipos) de testes serão realizadas, qual a abrangência do teste, que
tipos de relatórios serão entregues ao final do teste, quais serão as premissas e
restrições do teste etc.

Auditoria e Testes de Invasão – Página 35 de 121


Conforme comentamos, trata-se de uma etapa crucial e importantíssima.
Entretanto, muitos esquecem de definir o escopo ou criam escopos mal definidos.
Essa falha em definir o escopo ou de não planejar adequadamente os objetivos,
partes envolvidas, critérios, premissas e restrições, podem causar erros ou resultados
inadequados ou fora das expectativas e necessidades da empresa.

É importante ressaltar que nessa fase as questões legais devem ser


decididas, o contrato de trabalho deve ser elaborado contendo todas as informações
sobre o teste que será realizado, os prazos e os valores. Essa ação garante a ambas
as partes uma conformidade jurídica, ética e um caráter profissional.

Lembre-se, um teste de intrusão é algo sério e provavelmente dados,


informações e sistemas críticos serão envolvidos durante o teste, então cabe ao
Ethical Hacker proceder com ética por meio da confecção de um contrato legal entre
as partes envolvidas. Ou seja, o cliente (empresa) e o Ethical Hacker.

Um Ethical Hacker deve buscar uma assessoria jurídica para auxiliá-lo na


elaboração dos contratos, acordos de confidencialidade e demais documentos,
visando a salvaguarda de suas ações e evitando que essas ações sejam confundidas
com as ações de um criminoso virtual.

2.2. Fase 2: Reconhecimento do Alvo

Aqui, nada pode ser deixado de lado. Isso porque o máximo possível de
informações sobre o alvo deverá ser coleta para garantir o objetivo do teste de
intrusão. Trata-se da realização da maior parte do trabalho realizado pelo Ethical
Hacker, durante todo o teste de intrusão, garantindo assim a maior probabilidade de
acesso ao alvo auditado.

Todas os dados e informações relacionadas ao segmento da empresa, ativos


de TI como: servidores, roteadores, firewalls, sistemas de informações, informações
sobre os funcionários, e-mails, telefones, parceiros e fornecedores relacionados à

Auditoria e Testes de Invasão – Página 36 de 121


empresa e até mesmo o lixo, devem ser coletadas, organizadas e posteriormente
analisadas de forma minuciosa pelo Ethical Hacker.

Nessa etapa, podemos aplicar a engenharia social – a arte de enganar as


pessoas, visando obter dados e informações significativas e relevantes as próximas
fases do teste de intrusão. Pode até parecer bobagem, mas muitas das vezes um
simples telefonema realizado a um funcionário que não possui nenhum tipo de
treinamento, ou esteja conscientizado quanto a importância da proteção de dados e
informações, pode já garantir a exploração com sucesso de uma infraestrutura de TI.

Ferramentas de busca na internet como: Google, Yahoo, Bing e as redes


sociais com Facebook, Twitter, LinkedIn etc., podem também auxiliar na busca de
informações sobre o alvo em poucas horas! Isso porque não só a empresa, mas
também seus colaboradores, acabam publicando de forma intencional ou não
informações que podem comprometer toda a segurança de TI de uma organização,
sem levar em conta o sigilo e a proteção dos dados de uma empresa.

Alguns estudiosos do assunto e especialistas em segurança da informação


ainda citam que a falta de treinamento e aperfeiçoamento dos colaboradores
envolvidos em processos críticos da empresa acabam sendo suscetíveis as
investidas de ameaças, fornecendo informações valiosas.

É importante que o Ethical Hacker utilize as mesmas artimanhas que um


Black Hacker durante a fase de reconhecimento, para obter informações e poder
mensurar as falhas que poderiam ser exploradas no futuro por um Black Hacker.

2.3. Fase 3: Análise de Vulnerabilidades

Também reconhecida como fase de varredura de vulnerabilidades, essa


etapa destina-se a descobrir por meio de ferramentas de análise de vulnerabilidades
como OpenVas e Nessus, as vulnerabilidades “pontos fracos” do alvo a ser testado.

Auditoria e Testes de Invasão – Página 37 de 121


Realizar a varredura de vulnerabilidades nos hardwares utilizados,
servidores, firewalls, sistemas de informação, sistemas operacionais, tipo de serviços
utilizados, portas de conexão existentes e abertas, entre outras informações
levantadas na etapa anterior, é essencial para garantirmos a exploração do sistema-
alvo.

A verificação por exemplo de sistemas de IDS presente na infraestrutura de


TI da organização, deve ser analisado de forma mais minuciosa pelo Ethical Hacker.
Isso permitirá a aplicabilidade de mecanismos engenhosos relacionados à dificuldade
imposta pela equipe de segurança. Previamente, o executor do teste sabe que várias
regras devem existir no firewall, por exemplo.

2.4. Fase 4: Exploração (Ganho de Acesso)

Fase em que o alvo é violado, ou seja, é comprometido com base nas


vulnerabilidades analisadas pelo Ethical Hacker. Neste momento, o Ethical Hacker
pode explorar o ambiente interno da organização, pois já venceu as barreiras de
proteção.

Nessa fase, o Ethical Hacker pode, por exemplo: verificar as estruturas de


diretórios e arquivos contidos em um sistema operacional, as configurações adotadas
em senhas, os compartilhamentos de redes existentes na infraestrutura de TI, os
bancos de dados existentes e várias outras ações que permitam extrair o máximo de
dados e informações dos sistemas que a empresa utiliza.

Lembre-se que o sucesso da fase de exploração depende da realização com


sucesso das duas outras fases anteriores: Reconhecimento do Alvo e Análise de
Vulnerabilidades. Diversas ferramentas e técnicas serão utilizadas durante essa fase,
como exemplo, podemos citar:

 Ferramentas que possibilitam decodificar hashes de senhas.

 Ferramentas que possibilitam ataques de força bruta a sistemas de acesso.

Auditoria e Testes de Invasão – Página 38 de 121


 Ferramentas que possibilitam o mapeamento de portas de comunicação.

 Ferramentas que possibilitam explorar falhas e vulnerabilidades.

 Técnicas de engenharia social para coletar dados importantes, como senhas.

 Entre outras.

2.5. Fase 5: Pós-exploração (Mantendo Acesso)

Uma vez realizado o acesso ao sistema alvo, por meio das técnicas de análise
de vulnerabilidades e exploração, é preciso que o Ethical Hacker mantenha esse
acesso. Isso é realizado por meio da instalação de malwares do tipo Backdoor e
Rootkit.

A implantação de tais mecanismos que garantam o retorno a qualquer


momento é essencial para futuras explorações ao sistema alvo. Essa prática realizada
pelo Ethical Hacker, além de possibilitar o seu retorno, consolida todo o trabalho
realizado anteriormente, validando assim o sucesso do teste de intrusão.

Deve-se compreender que tais procedimentos podem causar ao sistema alvo


rupturas e novas brechas de vulnerabilidades, que podem também ser exploradas por
ameaças. Neste sentido é importante que o Ethical Hacker tenha total conhecimento
do que está sendo feito, a fim de evitar problemas junto aos ativos de TI, que possam
prejudicar o funcionamento da organização como um todo.

Há casos em que o Ethical Hacker pode até corrigir deficiências e outras


vulnerabilidades encontradas pelo caminho, visando deixar uma brecha única e
exclusiva que somente ele poder utilizar.

Auditoria e Testes de Invasão – Página 39 de 121


2.6. Fase 6: Eliminação dos Rastros / Reporte

A invasão a um ambiente de TI, sem a devida autorização da empresa, é


considerada uma ação criminosa por várias áreas jurídicas. Sabendo disso, os Black
Hackers aplicam técnicas criteriosas a fim de eliminar as “pegadas” deixadas durante
a fase de exploração a um sistema alvo.

Um Ethical Hacker também realiza essas técnicas a fim de verificar a


eficiência dos mecanismos de proteção, quanto ao registro de “logs” que possam
comprovar e validar o acesso não autorizado ao sistema alvo durante um teste de
intrusão.

As ações realizadas nessa fase contribuem de forma significativa para a


correção dos mecanismos utilizados para rastrear as ações realizadas pelas ameaças
e possibilitam a realização de estudos e pesquisas que trazem como resultado o
aumento das competências e habilidades das equipes de segurança.

Conhecer as “pegadas” deixadas por um invasor é essencial para mensurar


o quanto o sistema alvo foi comprometido e o que foi afetado. Neste contexto, as
equipes de segurança e um Ethical Hacker deve pensar e agir como os invasores,
entendendo seus métodos de operação e as tecnologias utilizadas durante a invasão.
Essa ação contribuirá no processo de investigação de incidentes de segurança.

A emissão de relatórios é outra atividade contida nessa etapa e considerada


por muitos Ethical Hackers a parte menos “divertida” de todo processo de invasão.
Porém, possui uma importância significativa. Isso porque os relatórios gerados
possibilitam as equipes de segurança e a alta administração da empresa
compreender as vulnerabilidades que foram exploradas. Daí a importância da
confecção de relatórios detalhados contendo todos os processos e procedimentos
realizados durante o teste e consecutivamente os ativos comprometidos.

Atenção, o Ethical Hacker deve detalhar no relatório diversos tipos de


informações, como por exemplo: quais métodos foram utilizados para invadir e
comprometer o sistema alvo; as evidências que comprovam as vulnerabilidades
exploradas, os impactos causados, as ferramentas utilizadas e por fim as sugestões

Auditoria e Testes de Invasão – Página 40 de 121


de correções necessárias que devem ser adotadas e aplicadas para mitigar as
vulnerabilidades e o risco.

Auditoria e Testes de Invasão – Página 41 de 121


Capítulo 3. Ferramentas e Técnicas de Ethical Hacker

Neste capítulo, iremos estudar algumas das principais ferramentas e técnicas


utilizadas para a realização de um teste de penetração. Vale ressaltar que um Ethical
Hacker deverá adquirir habilidades e competências em diversos planos para realizar
o seu trabalho. Para isso ele conta com um “cardápio” completo, que contém milhares
de ferramentas e técnicas disponíveis.

Como o “cardápio” do Kali Linux é bem completo, acaba sendo difícil


abordarmos e aprendermos todas as ferramentas e técnicas contidas no Kali Linux
em pouco tempo. Neste sentido, optaremos em apresentar as mais comuns e
utilizadas que, por sua vez, já servem como uma base inicial para a sua caminhada
na aquisição de habilidades e competências para se tornar um Ethical Hacker.

Por fim, gostaria de salientar que um Ethical Hacker precisa expandir sua
base de conhecimentos, e para isso ele precisará: realizar um trabalho intensivo de
pesquisa, dedicar horas de estudos complementares e principalmente ter força, foco
e fé!

Porém, antes de iniciarmos, vamos relembrar alguns conceitos sobre o


protocolo TCP/IP. Afinal, trata-se do protocolo utilizado por todos os dispositivos
computacionais que se conectam à uma rede e é base para diversos outros sistemas,
serviços e demais protocolos.

3.1. Reconhecimento (Footprinting)

O Footprinting é um método utilizado por um Ethical Hacker para obter dados


e informações a respeito de um sistema alvo. O conceito “Footprinting” advém do
círculo militar, no qual busca-se estudar o terreno de maneira estratégica antes que
esse possa ser atacado e conquistado, por meio de táticas de reconhecimento
detalhado.

Auditoria e Testes de Invasão – Página 42 de 121


O Ethical Hacker ou Black Hacker durante o Footprinting obtém dados e
informações importantes sobre o sistema alvo. Isso possibilita minimizar dúvidas
sobre o sistema alvo e auxilia na criação de estratégias, e principalmente a escolha
correta das ferramentas e técnicas necessárias que permitirão sucesso durante o
teste de penetração.

Lembre-se que no Footprinting muitos dados e informações podem ser


obtidas através de meios públicos, como por exemplo os sites de pesquisa na internet,
como o Google e Yahoo. Encontrar informações sobre o alvo a princípio pode ser algo
difícil em uma primeira análise, porém é muito comum a existência de dados e
informações em relação a uma pessoa ou empresa na internet. Basta saber procurá-
las de forma correta!

Como exemplo, a utilização de técnicas baseadas em Google Hacking no


qual permite que seja utilizada expressões regulares na barra de busca da ferramenta
de pesquisa on-line do Google, possibilita encontrar dados e informações mais
precisas e relevantes em milhares de centenas de fontes (sites).

Vamos a um exemplo prático: suponha que o seu desejo seja encontrar


apenas informações que contenham uma determinada palavra, no caso “admin”. Para
tal, basta colocar na barra de busca do Google a expressão “intext:” seguido da
palavra. Exemplo: intext:admin e pronto! O Google irá apenas mostrar os resultados
que contenham “admin” no texto, conforme observado na Figura 12.

Figura 12 – Resultado da pesquisa utilizando a expressão intext:

Auditoria e Testes de Invasão – Página 43 de 121


Outro exemplo que podemos citar utilizando expressões no Google é o “index
of/*”, que possibilita localizarmos informações não indexadas em diversos domínios e
sistemas alvo, que no geral expõe vulnerabilidades. Observe as Figuras 13 e 14:

Figura 13 – Resultado da pesquisa utilizando a expressão index of/*.

Figura 14 – Acesso ao conteúdo.

Conforme observado, a simples expressão “index of/*” permite localizar


conteúdos não indexados e consecutivamente a busca de informações que muitas
das vezes passam desapercebidos pelas equipes de segurança.

Auditoria e Testes de Invasão – Página 44 de 121


3.1.1. Engenharia Social

Reconhecida como uma das técnicas mais utilizadas para a coleta de


informações, a engenharia social permite o Ethical Hacker explorar vulnerabilidades
relacionadas ao fator humano.

Mesmo havendo um processo evolutivo, o homem ainda possui


vulnerabilidades relacionadas a sua natureza. Como exemplo podemos citar a
ignorância, a credulidade, a inocência, o medo, a culpa, a curiosidade, a confiança e
muitos outros fatores que podem ser explorados por indivíduos mal-intencionados.
Observe o exemplo a seguir:

Você encontra um pen drive abandonado em local qualquer em seu horário


de almoço, daí sua primeira ação e a de verificar se há alguma identificação que
revele de quem é esse pen drive, correto? Porém, percebe que há uma etiqueta
escrito “arquivo confidencial”. Bem, a grande pergunta será: Vejo ou não vejo o
conteúdo deste pen drive? Observe que neste momento pelo menos o fator
“curiosidade” exposto anteriormente será o fator motivador que irá explorar uma
vulnerabilidade humana.

Agora, vamos supor que você foi tomado pela curiosidade de abrir o conteúdo
existente no pen drive encontrado, inserindo o mesmo em seu computador no
trabalho. Bem, caso o arquivo contido no pen drive seja um arquivo malicioso, por
exemplo um malware do tipo Backdoor ou Trojan, todas as medidas de proteção
implementadas pelas equipes de segurança no ambiente corporativo, tais como:
firewall, IPS, IDS e outras, não servirão de nada. Isto porque a vulnerabilidade
explorada está relacionada ao fator humano.

Existem diversas técnicas ativas e passivas que um Ethical Hacker ou Black


Hacker pode utilizar, tendo como ponto de partida a engenharia social para obter
dados e informações de pessoas. O pen drive deixado propositalmente em um local
é um exemplo de uma técnica passiva. Já um telefonema para um funcionário
passando-se por um técnico pode ser considerado uma técnica ativa de engenharia
social.

Auditoria e Testes de Invasão – Página 45 de 121


Observe, uma situação hipotética de engenharia social através de uma
técnica ativa, via um simples telefonema a um funcionário:

É importante ressaltar que a melhor tática para mitigar a engenharia social e


tratar vulnerabilidades relacionadas ao fator humano são as políticas de treinamentos
e conscientização envolvendo todos os colaboradores da organização.

Auditoria e Testes de Invasão – Página 46 de 121


3.1.2. Netcraft

Conforme mencionei, às vezes as informações que os servidores web e as


empresas de web hosting reúnem e tornam publicamente disponíveis, podem dizer
muito a respeito de um site ou empresa. Por exemplo, uma empresa chamada
Netcraft faz o log do uptime e faz consultas sobre o software subjacente (essas
informações estão publicamente disponíveis em http://www.netcraft.com). O Netcraft
também provê outros serviços, e suas ofertas relacionadas ao antiphishing e
segurança cibernética são de particular interesse para a segurança de informações.
Por exemplo, a Figura 15 mostra o resultado ao fazermos uma consulta no endereço
http://www.igti.edu.br.

Observe as diversas informações que puderam ser colhidas por meio de uma
simples pesquisa. Exemplo: o domínio foi registrado por meio do GoDaddy, tem um
endereço IP igual a 132.148.194.190 e está hospedado em um servidor Linux com
um servidor web Apache. De posse dessas informações, ao efetuar um teste de
invasão em igti.edu.br, podemos começar excluindo as vulnerabilidades que afetem
somente servidores Apache. Ou, se quisermos tentar usar a engenharia social para
obter credenciais para o site, poderíamos escrever um e-mail que pareça ter sido
enviado pelo GoDaddy, pedindo que o administrador faça login e verifique alguns
parâmetros de segurança do site junto ao servidor Linux ou Apache.

Auditoria e Testes de Invasão – Página 47 de 121


Figura 15 – Resultado da Pesquisa Utilizando o Netcraft.

3.1.3. Lookups com Whois

Todos os registradores de domínio mantêm registros dos domínios que eles


hospedam. Esses registros contêm informações sobre o proprietário, incluindo
informações de contato. Por exemplo, se executarmos o comando whois no shell do
nosso Kali Linux para solicitar informações sobre igti.edu.br, vamos obter muitas
informações, como por exemplo: o CNPJ da empresa, dados como o nome e o e-mail
dos responsáveis administrativos e técnicos pelo domínio, a localidade em que esse
domínio foi registrado, data de criação, modificação e vencimento do domínio etc.

Auditoria e Testes de Invasão – Página 48 de 121


Figura 16 – Resultado obtido com o comando whois.

Essas informações podem ser mascaradas através da utilização de


servidores proxy, que por sua vez ocultam detalhes pessoais das informações. No
entanto, podemos ver os servidores de domínio e com isso obter outros tipos de dados
e informações do alvo.

3.1.4. Reconhecimento com DNS

Podemos usar servidores DNS (Domain Name System) para obter


informações sobre o alvo, especificamente relacionadas aos domínios de internet
pertencentes ao mesmo e que podem conter diversos tipos de sistemas e aplicações
sendo executados. Os servidores DNS traduzem o URL legível aos seres humanos,
em um endereço IP. Por exemplo, podemos usar uma ferramenta de linha de
comando como o nslookup, para obter o endereço IP do domínio igti.edu.br.

Auditoria e Testes de Invasão – Página 49 de 121


A execução de outros comandos no shell, como por exemplo o comando ping,
podem retornar esse tipo de informação, mas lembre-se: o propósito é diferente. Por
exemplo, o comando ping tem como propósito verificar se um determinado host se
encontra ativo através do protocolo ICMP, o envio de pacotes ICMP_ECHO e o
recebimento de mensagens ICMP_ECHO_REPLAY.

Também podemos usar o nslookup para descobrir os servidores de e-mail


para o mesmo site, ao procurar registros MX, conforme demonstrado na Figura 17.

Figura 17 – Resultado da Pesquisa do MX Utilizando o nslookup.

Observe que no caso exposto, o nslookup informa que a empresa utiliza como
servidores de correio eletrônico os serviços fornecidos pelo Google.

Auditoria e Testes de Invasão – Página 50 de 121


Outro utilitário para coletar informações de um DNS é o “host”. Podemos pedir
ao “host” que forneça os servidores de nome para um domínio por meio do comando
host -t ns domínio.

Administradores de sistemas, ao configurar servidores DNS, normalmente


adotam como medida de backup a inserção de um servidor principal de nomes e um
servidor secundário, e com isso realizam a transferência de zonas entre DNS.

Não há melhor maneira de preencher todas as entradas do servidor DNS


secundário do que consultar o servidor principal e solicitar todas as suas entradas.
Infelizmente, muitos administradores de sistema configuram as transferências de
zona DNS de forma não segura, de modo que qualquer pessoa pode transferir os
registros de DNS de um domínio para si e assim obter informações que não deveriam
estar à vista de qualquer um.

Neste contexto, podemos ainda utilizar outro comando poderoso para obter
informações sobre um determinado alvo, incluindo as zonas de DNS. O DIG (Grupo
de Informações de Domínio) é um utilitário flexível, utilizado para obter informações
junto aos servidores de nomes DNS. Seu funcionamento consiste em realizar
consultas junto ao DNS e apresentar as respectivas respostas.

Equipes de segurança e administradores de rede e sistemas utilizam o DIG


para encontrar problemas de DNS, devido à sua flexibilidade e facilidade de uso.
Sendo considerado por muitos uma ferramenta muito poderosa.

É importante termos em mente os tipos de registros mais comuns, que serão


apresentados após a execução do comando DIG. De acordo com a RFC1035,
disponível em https://tools.ietf.org/html/rfc135, são eles:

 A – Associa um nome a um endereço IP.

Auditoria e Testes de Invasão – Página 51 de 121


 NS (NameServer) – Define quais servidores são os autoritativos para o
domínio.

 SOA (Start-Of-Authority) – Detalhes da autoridade do domínio que descreve o


servidor que tem autoridade sobre a zona, além do contato técnico, número
serial e outros campos de timeout.

 MX (Mail eXchanger) – Define os servidores de correio (e prioridade) para o


domínio.

 PTR (Pointer) – Retorna o nome associado a um endereço IP.

 CNAME (Canonical NAME) – Usados para criar apelidos para o domínio.

 TXT (TeXT) – Usados para descrições, comentários e observações de um


domínio. Também são usados para definir configurações de SPF.

Abaixo, alguns exemplos de saída do comando DIG.

Figura 18 – DIG: resolução nome (A).

Auditoria e Testes de Invasão – Página 52 de 121


Figura 195 – DIG: resolução servidor mail (MX).

Abaixo, exemplificaremos a coleta de uma zona de DNS de um domínio


utilizando a ferramenta DIG.

Nossos passos foram em primeiro lugar descobrir quais são os servidores


DNS que o alvo possui, em segundo verificar a transferência de zonas está habilitada
e sem nenhum tipo de proteção que impeça que ocorra a cópia das informações
contidas no DNS.

Figura 20 – Resultado obtido após a execução do DIG.

Auditoria e Testes de Invasão – Página 53 de 121


Por questões éticas, ocultamos o domínio (kkk), mas percebe-se claramente
que este domínio possui configurado a transferência de zonas entre seus servidores
DNS, prática comum e necessária para garantir a disponibilidade do serviço de DNS
da empresa. Porém, a questão está relacionada a não proteção da transferência de
informações entre os servidores primário e secundário de DNS, permitindo assim um
Black Hacker coletar informações para si, apenas direcionando a saída das
informações para um arquivo texto, por exemplo, e posteriormente examiná-lo com
calma para entender os serviços disponíveis, como: e-mail, web, ftp etc.

Figura 21 – Cópia das Informações Contidas no DNS.

Outra ferramenta interessante que ajuda a coletar informações sobre


domínios é o DNSMAP. O DNSMAP permite o Ethical Hacker descobrir subdomínios
relacionados ao domínio principal. Um ponto interessante dessa ferramenta é que a
mesma possui um wordlist (lista de palavras) interna, utilizada para realizar as
consultas de pesquisas junto aos DNS. Porém, para exemplificar, vamos criar nossa
própria lista. Para isso siga os seguintes passos:

1. Entre no diretório /tmp no Kali;

2. Crie com o comando touch o arquivo lista.txt;

3. Edite o arquivo lista.txt com o comando vi e acrescente algumas palavras,


como por exemplo: curso, ftp, painel, admin, canvas, mysql e salve o arquivo;

4. Agora digite na linha de comando do shell: dnsmap igti.edu.br -w lista.txt.

Auditoria e Testes de Invasão – Página 54 de 121


Observe que o resultado da consulta mostrou a existência dos subdomínios
admin e inclusive o endereço IP. Com isso obtivemos mais uma vez, informações
importantes que poderão ser utilizadas futuramente.

3.1.5. Detectando os alvos ativos

Saber se um determinado alvo (sistema, servidor, domínio etc.) está ativo, ou


seja, em pleno funcionamento, é essencial. Afinal, como podemos testar algo que se
encontra “off-line”? Para auxiliar nesta tarefa, podemos utilizar vários comandos, entre
os quais destacamos: PING, FPING e HPING3.

Partindo do ponto que é de comum conhecimento de todos vocês a função e


funcionalidade do comando PING, vamos demonstrar os demais.

 FPING: essa ferramenta permite realizar testes de ping em vários hosts ao


mesmo tempo. Para tal, basta criar um arquivo denominado por exemplo
“alvos.txt”, inserir dentro deste arquivo os endereços IP de diversos host alvos,
que você deseja saber se estão ativos, e depois executar o comando: fping -f
alvos.txt. Endereços IP que apresentarem no final “is alive” significa que estão
ativos.

 HPING3: essa ferramenta é um pouco mais poderosa que o FPING. Isso


porque é possível detectar hosts, regras de firewall e realizar análises de
portas. Abaixo temos uma análise em modo --V verboso, --scan na porta 80,
host alvo 192.168.82.37 (no caso, o servidor apache de nosso Kali Linux).

Auditoria e Testes de Invasão – Página 55 de 121


Como resultado de nossa busca, temos o host ativo e a porta 80 HTTP ativa.
O Hping3, um software que monta datagramas para simular comunicações, a fim de
testar o processo Three-Way Handshake do protocolo TCP; e a flag SYN, enviando
requisições de pacotes através de diferentes tipos de payloads e headers. No caso,
ele utiliza a biblioteca libpcap para realizar essa atividade, conseguindo enviar
pacotes através de filtros pré-estabelecidos. Vamos a outro teste básico para
compreendermos melhor o HPING3.

Observe que ele retornou informações como qualquer ping, mas se


verificarmos minuciosamente veremos informações importantes, como flags. Isso tem
tudo a ver com o payload, quando no TCP estamos realizando o processo Three-
Way- Handshake, as portas do sistema retornam flags junto ao payload, definindo se
elas estão disponíveis ou não para conexão. Por exemplo a flag=AS, que significa
disponível, enquanto a flag=RA significa indisponível. Agora faremos outro teste, pela
qual bloquearemos a comunicação ICMP utilizando o firewall Iptables do Kali Linux.

Auditoria e Testes de Invasão – Página 56 de 121


Neste momento há a comunicação. Agora vamos aplicar o bloqueio via
iptables e posteriormente testar utilizando o comando ping.

Observe que não há resposta devido ao filtro de pacotes pelo firewall, pois o
firewall está filtrando comunicações ICMP. Utilizaremos então o Hping3 para o envio
de requisições do tipo SYN.

Note que, ao utilizar o HPING3 com o método furtivo SYN, a ferramenta


permite a consulta mesmo que existam regras de bloqueio para pacotes ICMP.

3.1.6. Fingerprint

Outro método importante realizado na fase de reconhecimento é o


Fingerprint. Esse método consiste na tentativa de obter dados e informações sobre
os sistemas operacionais que estão sendo executados no alvo. Por meio da captura
de banners, um invasor ou Ethical Hacker pode determinar qual a melhor alternativa
para explorar o alvo, através do conhecimento por exemplo de informações como:
versão do sistema operacional, releases do sistema operacional e outras.

Fique sabendo você que não só os sistemas operacionais possuem banners


que informam diversos dados, outros sistemas e aplicativos, tais como SSH, Telnet,
Apache, SNMP etc., também pode fornecem informações por meio de banner, que

Auditoria e Testes de Invasão – Página 57 de 121


por sua vez podem expor possíveis vulnerabilidades que posteriormente são
utilizadas por um exploit, na fase de exploração (ganho de acesso).

NMAP – criado por Gordon Fyodor Lyon, é um software que permite o


escaneamento e a análise de portas lógicas, incluindo a detecção de seus banners.
Em um teste de intrusão, o Ethical Hacker utiliza NMAP em várias fases do teste,
porém aqui mostraremos sua utilização quando o assunto é o Fingerprint. Para
verificar a versão do NMAP do seu Kali Linux, basta digitar no shell o seguinte
comando: nmap -O (letra).

Agora vamos a uma consulta simples, observe o resultado e tente identificar


as informações (banners) apresentados após a consulta.

Note que além do nmap retornar as portas que estão abertas, mostrou
também o sistema operacional.

O Nmap possui uma série de funções específicas, sendo que especificaremos


a função –PO, que desativa o método utilizado pelo nmap para identificar se um host
está ativo, enviando um ICMP tipo 8 e um TCP ACK destinado à porta 80. Nas versões
mais recentes, esse método só caracteriza nas varreduras mais específicas e não

Auditoria e Testes de Invasão – Página 58 de 121


nas varreduras de portas. No entanto, este método possibilita a identificação do
Nmap, pelo IDS ou IPS de um alvo, alertando assim a equipe segurança, que por sua
vez conseguirá verificar a sua atividade.

Como já mencionado, podemos extrair banners de outros serviços que estão


rodando na máquina alvo, basta o simples comando nmap –sV, ou seja, s de scan e
V de versão. Para a leitura de banners, necessitamos de uma conexão, portanto
podemos classificar os banners de aplicações TCP como scanners TCP Connect.
Nas versões mais recentes do Nmap podemos executar a leitura de banners
implementando a opção –A. Repare a nossa próxima consulta em que são exibidas
as versões relativas aos serviços.

No exemplo a seguir utilizamos o nmap para detectarmos o banner do


protocolo SSH do alvo. Observe:

Auditoria e Testes de Invasão – Página 59 de 121


Outra ferramenta muito útil que podemos utilizar nas táticas de fingerprint é o
NETCAT, conhecida pelos analistas de segurança como canivete suíço. É muito
poderosa, com ela também podemos realizar varreduras de porta e conexões
reversas.

Sua utilização é muito simples, no comando abaixo tentaremos a visualização


de banner na porta 80 de nosso servidor, lembre-se de executar o comando em modo
verboso –v, isso para que você possa visualizar a mensagem (UNKNOWN) [ip] 80
(www) open, depois da mensagem bastará digitar GET HTTP para o retorno do
banner, conforme mostrado a seguir:

Auditoria e Testes de Invasão – Página 60 de 121


Outra ferramenta muito interessante é o SPARTA. Trata-se de um aplicativo
GUI python que simplifica o teste de penetração da infraestrutura de rede, auxiliando
a pessoa ou equipe, que realiza o teste de penetração na fase de varredura e
exploração. Esse framework permite a economia de tempo relacionados a instalação
e configuração de comandos e uso de outras ferramentas, permitindo assim o Ethical
Hacker gastar mais tempo concentrando-se na análise dos resultados.

O Sparta pode verificar um intervalo de endereços IP em uma rede, mas


também pode verificar nomes de domínio de sites. Depois de conhecer o intervalo de
endereços IP na rede ou no aplicativo Web que deseja verificar, clique em “Clique
aqui para adicionar host (s) ao escopo” na guia “Digitalizar”.

Figura 22 – Interface Sparta.

Uma varredura do Nmap será realizada imediatamente, investigando as


portas padrão para verificar se alguma coisa está aberta e disponível. Observe que
os resultados apresentados serão fantásticos! Podemos citar como exemplo a captura
de telas, portas, protocolos e muito mais.

Auditoria e Testes de Invasão – Página 61 de 121


Figura 23 – Resultados obtidos com Sparta.

Podemos observar nas Figuras 22 e 23 os resultados realizados após um


reconhecimento realizado pelo Sparta. No caso apresentado, descobrimos que
existem três serviços ativos: SSH, HTTP e MYSQL com as suas respectivas portas
de conexão: 22, 80 e 3306. Ou seja, de posse dessa informação, podemos procurar
vulnerabilidades que permitirão a exploração (ganho de acesso) ao alvo.

Auditoria e Testes de Invasão – Página 62 de 121


Figura 24 – Captura da página HTTP do alvo.

3.1.7. Coletando informações de usuários

Além das atividades de coleta de informações de alvos, como domínio,


sistemas operacionais, servidores, portas, serviços etc., podemos também, durante a
fase de reconhecimento, coletarmos informações de usuários (pessoas), para
posteriormente aplicarmos técnicas como a engenharia social.

Uma das maneiras é rastrear o usuário para sabermos informações sobre,


por exemplo, saber o endereço IP do usuário, qual o navegador de internet o usuário
está utilizando, em que momento ele acessou uma página web e assim por diante.
Para isso, podemos utilizar sites como: https://grabify.link/ ou https://blasze.com/ para
auxiliar nesse rastreamento e coleta de informações.

A técnica consiste em enganar um usuário, através do envio de um link


camuflado de um site legitimo, que após acessado pelo usuário começa a fornecer
informações sobre ele.

Auditoria e Testes de Invasão – Página 63 de 121


Figura 25 – Site Grabify.

Observe na Figura 25 que inserimos o endereço www.igti.edu.br no campo e


posteriormente iremos clicar no botão “create URL”. Nesta sequência, o endereço
será camuflado e o atacante poderá enviar este link por e-mail ou compartilhá-lo em
uma rede social, induzindo o usuário (pessoas) a clicá-lo. Experimente essa técnica
clicando no endereço a seguir: https://grabify.link/WIYK15.

Figura 26 – Obtendo informações com Grabify.

Auditoria e Testes de Invasão – Página 64 de 121


Podemos observar na figura anterior a captura de algumas informações
(minhas no caso), como por exemplo: o endereço IP, data e hora em que acessei o
site igti.edu.br, qual tipo e versão de navegador de internet estou usando, qual é meu
provedor de internet (ISP) etc., após clicar no link preparado pelo Grabify.

Também é possível realizar um rastreamento de usuário, especificamente


através do rastreamento por e-mail. Para tal, podemos utilizar a ferramenta
mailtracking disponível no site http://www.mailtracking.com/mailtracking/.

O funcionamento é muito simples e eficaz. Como partida, deve-se realizar um


cadastro gratuito de um e-mail no qual permitirá a utilização da ferramenta por um
período gratuito (avaliação).

Após o cadastro, o site abre uma página administrativa, na qual permitirá você
acompanhar os “passos” do receptor do e-mail após o seu recebimento, como por
exemplo em que data e hora o e-mail foi aberto, se no caso deste e-mail possuir
anexo, em que momento esse anexo foi aberto e assim por diante. Daí você me
pergunta: professor, mas por que um Ethical Hacker ou um Black Hacker precisa
dessas informações?

Pois bem, imagine a seguinte situação: um Black Hacker cria um código


malicioso destinado a explorar uma vulnerabilidade em seu computador e o anexa de
formal oculta em um documento qualquer em pdf, que provoque sua curiosidade.

Figura 27 - Tela Login Mailtracking.

Auditoria e Testes de Invasão – Página 65 de 121


Exemplo: “gatinhos felizes.pdf”. Ao clicar no pdf para realizar a sua leitura,
automaticamente o código malicioso é iniciado de forma secreta em seu sistema
operacional. Através do mailtracking o Black Hacker saberá o exato momento que
você recebeu o e-mail e abriu o arquivo pdf. Assim, ele poderá começar a utilizar o
código malicioso enviado obscuramente no arquivo pdf, realizar a invasão de seu
sistema e, por exemplo, roubar alguma informação que você considera valiosa.
Entendeu? Abaixo podemos observar prints do uso do mailtracking:

Para realizar um rastreamento de um e-mail, basta enviar um e-mail e ao final


do endereço eletrônico acrescentar: .mailtracking.com no final do e-mail observe:

Algum tempo depois, a vítima recebe o e-mail com o anexo em sua caixa
postal e realiza a leitura e abertura do anexo, conforme podemos observar nas
Figuras 28 e 29 a seguir:

Auditoria e Testes de Invasão – Página 66 de 121


Figura 286 – Comprovante de Recebimento do E-mail.

Figura 29 – Leitura e Abertura do E-mail Recebido.

A seguir apresenta-se a tela do mailtracking, informando que o e-mail foi


entregue e acessado pela vítima (Figura 29). Ao acessar o log, vamos visualizar todas
as informações coletadas no rastreamento (Figura 30).

Figura 30 – Tela informando que a vítima recebeu o e-mail.

Auditoria e Testes de Invasão – Página 67 de 121


Figura 31 – Detalhamento de informações coletadas.

3.1.8. Maltego Footprinting Raiz

Visando facilitar ainda mais a fase de reconhecimento, temos o Maltego.


Trata-se de uma ferramenta que recolhe diversas informações de várias fontes
públicas, com o propósito de auxiliar as equipes de segurança a investigarem dados
e informações disponíveis do ambiente de forma fácil, visando mitigar diversos tipos
de vulnerabilidades que podem ser utilizadas pelos Black Hackers. Com o Maltego,
podemos descobrir os relacionamentos existentes entre todas as entidades e
tecnologias que um ambiente de TI possui.

O Maltego possui duas modalidades: “comunidade”, totalmente grátis porém


com limitações em suas funções e funcionalidades; e a “assinatura”, na qual após a
aquisição obtém-se acesso total a um universo de funções e funcionalidades.

Auditoria e Testes de Invasão – Página 68 de 121


Figura 32 – Interface Maltego.

Observe que após a realização de um reconhecimento utilizando o Maltego,


será possível coletar inúmeras informações, como domínios, tecnologias utilizadas,
relacionamento entre as entidades existentes no domínio e no ambiente de TI etc.

Figura 33 – Exibição dos relacionamentos existentes no domínio igti.edu.br.

Auditoria e Testes de Invasão – Página 69 de 121


Figura 34 – Exibição das tecnologias existentes no site.

3.2. Análise de vulnerabilidades

A terceira fase de um teste de penetração baseia-se em técnicas de


varreduras ou “scanning”. O escaneamento de portas (Port Scan) é uma das técnicas
mais comuns e utilizadas por um Ethical Hacker ou Black Hacker para descobrir
serviços/recursos vulneráveis em um sistema-alvo.

Computadores conectados numa rede oferecem serviços/recursos que


utilizam portas lógicas de comunicação dos protocolos TCP e UDP. Portanto, o
escaneamento dessas portas consiste em enviar uma sinalização de cada uma das
65.536 portas TCP, por exemplo. Com a resposta do escaneamento pode-se
determinar se uma porta está sendo ou não utilizada e, caso esteja, o Ethical Hacker
pode explorá-la através de vários métodos e técnicas, a fim de encontrar possíveis
falhas de segurança no alvo.

Existem três tipos de escaneamento, sendo o primeiro o escaneamento de


porta, o segundo de vulnerabilidade e o terceiro de redes. No escaneamento de porta,

Auditoria e Testes de Invasão – Página 70 de 121


são verificadas as portas e serviços ativo. No escaneamento de vulnerabilidades são
detectadas as vulnerabilidades presentes no alvo e, por fim, no escaneamento de
rede são identificados os hosts (dispositivos computacionais) ativos na rede.

Existem vários programas de escaneamento de portas que se destacam


conforme suas características, porém enfatizaremos alguns contidos no Kali Linux,
como o Nmap, que anteriormente descobrimos que é uma ferramenta que permite
aos administradores de rede, bem como Black Hackers, aplicar inúmeras técnicas de
reconhecimento e varreduras localizando sistemas alvos ativos, assim como os seus
serviços, protocolos e portas em destaque.

Logo adiante iremos também abordar o analisador de vulnerabilidades


OpenVas, que possibilita de forma simples e rápida obtermos informações sobre as
vulnerabilidades presente em nossos servidores, sistemas operacionais e rede. Mas
vamos começar pelo NMAP como scanner, e não mais como ferramenta de
reconhecimento.

3.2.1. Varredura com NMAP

Ferramenta criada em setembro de 1997, por Gordon Fyodor Lyon, o NMAP


(Network Mapper), em português “Mapeador de Redes”, é utilizado em grande escala
no Pentest. As principais funcionalidades do NMAP são varreduras de portas,
descoberta de serviços e a detecção de versões. Existem versões para UNIX ou para
Windows, em modo texto ou modo gráfico NMAP (Zenmap). De acordo com seu
criador, os métodos suportados pelo NMAP são:

 TCP SYN (-sS) examina portas de maneira rápida e modo invisível, mais difícil
de ser detectado por firewalls ou IDS.

 TCP Connect (-sT) executa varredura utilizando o Three-way Handshake, é


facilmente detectada.

 UDP (-sU) possibilita varredura do protocolo UDP.

Auditoria e Testes de Invasão – Página 71 de 121


 TCP FIN (-sF, -sX, -sN) utilizados na tentativa de travessia de firewalls.

 TCP ACK (-sA) tática utilizada para detecção de regras de firewall.

 TCP Windows (-sW) varreduras por janelas, parecido com o método ACK,
porém consegue detectar portas abertas versus filtradas e não filtradas. Alguns
sistemas são vulneráveis a esse tipo de scan, como o FreeBSD.

Faremos a seguir uma varredura básica do tipo ping scan, que consiste no
envio de um ICMP ECHO REQUEST para o nosso Kali Linux. Esta simples varredura
nos permite saber se o host está ativo e se respostas ICMP estão podendo passar
por um firewall.

A seguir, faremos uma varredura do tipo TCP Connect ou conexão completa


Three-way Handshake. Esse tipo de varredura não é aconselhável, pois qualquer IDS
ou firewall poderia detectar facilmente.

Auditoria e Testes de Invasão – Página 72 de 121


Observe que o nmap nos retorna algumas portas abertas, dentre elas 80
HTTP e, diante do resultado, podemos deduzir a existência de um servidor WEB
rodando nesta porta. Porém, para termos a certeza, vamos usar o comando nmap –
sV para detecção de versão de serviços e vamos varrer somente a porta 80.

Agora obtivemos a certeza de que há um servidor WEB sendo executado


neste host e que está respondendo na porta 80 do protocolo TCP, utilizando o serviço
HTTP. Quanto ao tipo do servidor, observamos que se trata do Apache na versão
2.4.41 em um sistema operacional Linux Debian. Deste ponto em diante poderíamos
buscar vulnerabilidades associadas ao servidor Apache na versão 2.4.41 e, caso
encontradas, explorá-las por meio, por exemplo, de exploits.

É importante dizer que o NMAP é uma excelente ferramenta com diversas


opções a serem exploradas. Então as explore sem medo de ser feliz!

3.2.1.1. Varreduras Furtivas com NMAP

Ao contrário de varreduras do tipo TCP Connect que podem ser detectadas


facilmente, podemos utilizar varreduras furtivas do tipo TCP Syn. Ao executarmos um
scanner do tipo SYN (-sS) não significa que estaremos livres de ser pegos por um
IDS ou firewall, apenas dificultaremos a detecção.

Auditoria e Testes de Invasão – Página 73 de 121


Neste tipo de conexão, o three-way handshake não ocorre por completo e
apenas metade do processo é executado, daí o nome Stealth Scan (Half-open Scan)
ou scanner furtivo de meia conexão (Figura 36). O atacante envia o pacote Syn que
é o primeiro passo de uma conexão de três vias; caso a vítima responda com um Syn
– Ack, então poderemos deduzir que o estado da porta é OPEN, caso receba um RST
o estado da porta será CLOSED. Note que, neste caso, não houve a conexão real ou
TCP Connect, pois não ocorreu a conclusão do handshake (Figura 35) e, neste caso,
não foi registrada a conexão, possivelmente não será detectada por um firewall ou
IDS.

Figura 35 – Handshake completo (facilita a detecção de um IDS ou firewall).

Figura 36 – Handshake incompleto (dificulta a detecção de um IDS ou firewall).

3.2.1.2. Descobrindo firewall e IDS

Existem ainda técnicas furtivas para detecção e subversão de firewalls ou


IDS. Isso pode ser feito através de um exame utilizando ACK, ou seja, no exame por
TCP ACK apenas um bit ACK ligado será enviado e, por convenção de normas RFC,
o alvo tem por obrigação responder com pacotes RST, então podemos verificar se
existem filtragens ou não. A seguir, faremos um exame TCP ACK contra nosso alvo
Kali Linux e limitaremos apenas as portas 80.

Auditoria e Testes de Invasão – Página 74 de 121


Observe que o resultado ao
lado apresentado revela que a
porta 80 não está sendo filtrada
por nenhum tipo de firewall ou
IDS.

Agora vamos ativar a regras junto ao iptables “firewall” para bloquear a porta
80 e, novamente, realizar a varredura.

Agora podemos observar que a


porta 80 está sendo filtrada. Ou
seja, existe um mecanismo de
proteção (no caso o firewall)
verificando as solicitações de conexões a porta 80 do protocolo tcp e serviço http.

Como já mencionado anteriormente, varreduras podem ser facilmente


detectadas, basta um firewall ou IDS estarem configurados corretamente e LOGs
serão gerados. Porém, podemos, então, utilizar um recurso muito interessante do
NMAP, o despiste.

A tática consiste em forjar um IP de origem que esteja ativo. No exemplo a


seguir utilizaremos nosso Kali Linux e, para despistar, vamos utilizar o IP
192.168.87.30, enquanto o nosso alvo será o já conhecido 192.168.82.37. Deve-se
deixar claro que, se tentarmos utilizar um IP de origem que não esteja ativo, poderá
ocorrer a negação de serviço devido a inundação por SYN.

Desta forma “despistamos” o


firewall ou IDS. Pois nos
registros de LOGs constará
como IP atacante o IP
192.168.87.30 e não o IP realmente utilizado durante a varredura. Porém, vale
ressaltar que os equipamentos mais novos de firewall e IDS, ou IPS, já possuem
tecnologias para reconhecer esse tipo de “despiste”.

Auditoria e Testes de Invasão – Página 75 de 121


3.2.1.3. Zenmap

Não podemos deixar de fora o Zenmap, versão gráfica do poderoso NMAP.


A interativa, que exibe os resultados de forma organizada, mostrando detalhes com
a varredura em andamento, podendo desenhar o mapa topológico da rede testada, é
de fácil utilização.

A seguir, realizaremos uma varredura contra nosso alvo “igti.edu.br”, o


comando utilizado será nmap –T4 –A –v, ou seja, temporização agressiva em modo
verboso. Ao iniciar a varredura, você poderá navegar através das abas contidas na
interface; note aba ports / hosts a porta 80 RPC em estado OPEN.

Podemos ainda observar o mapa de topologia da rede e informações


referentes ao sistema operacional instalado no alvo, simplesmente navegando entre
as abas.

Auditoria e Testes de Invasão – Página 76 de 121


Auditoria e Testes de Invasão – Página 77 de 121
3.2.2. Scanner OpenVas

Descobrir vulnerabilidades em sistemas computacionais é uma tarefa árdua


para muitos administradores de sistemas e analistas de segurança, principalmente
porque se existe diversos equipamentos, sistemas e recursos para serem
gerenciados, além do trabalho de pesquisa que precisa ser feito para entender as
vulnerabilidades encontradas e encontrar as melhores soluções. Então agora imagine
você poder fazer todo esse trabalho de verificação e análise de vulnerabilidades que
afetem a segurança, usando uma única ferramenta! Portanto, conheça o OpenVas
(Open Vulnerability Assessment System).

Trata-se de um framework open-source disponível no Kali Linux, com


capacidade de analisar e verificar vulnerabilidades em diversos tipos de ambientes
de TI, de maneira automática, por meio de um conjunto de scripts, ferramentas e um
banco de dados constantemente atualizado, que contém inúmeras vulnerabilidades
detectadas por fabricantes, desenvolvedores, comunidades de segurança e
entusiastas.

O OpenVas é uma ferramenta de extrema utilidade para as equipes de


segurança da informação e segurança cibernética no combate de ameaças, devido a
sua capacidade de analisar de maneira simples as vulnerabilidades encontradas em
um ambiente de TI e sugerir correções, com base em um banco de dados com mais
de 50.000 vulnerabilidades cadastradas.

Figura 37 – Interface OpenVas.

Auditoria e Testes de Invasão – Página 78 de 121


Como mencionada, uma das grandes vantagens do uso dessa ferramenta
para a fase de varredura e o seu banco de dados de vulnerabilidades, que está
constantemente sendo atualizado pelo desenvolvedor e sua comunidade. Um ponto
interessante é que essas vulnerabilidades são classificadas de acordo com a sua
severidade.

Figura 38 – CVEs e NVTs OpenVas.

Auditoria e Testes de Invasão – Página 79 de 121


CVEs (Common Vulnerabilities and Exposures), ou Vulnerabilidades e
Exposições Comuns, é uma lista de entradas criada em 1999 pela empresa MITRE1,
que tem como objetivo identificar e categorizar vulnerabilidades em dispositivos
computacionais (hardware e software), para auxiliar as equipes de segurança da
informação e segurança cibernética. NTVs (do inglês, National Vulnerability
Database), ou Banco de Dados Nacional de Vulnerabilidades, é um repositório
controlado e mantido pelo governo dos Estados Unidos que tem como objetivo
realizar o gerenciamento de vulnerabilidades baseado em padrões usando o SCAP
(Security Content Automation Protocol), que permite medição de segurança e
conformidade em conjuntos de hardwares e softwares desenvolvidos.

Ambas são consideradas referência mundial quanto a verificação de


vulnerabilidades, falhas de softwares e hardwares relacionados à segurança,
configurações incorretas, bugs, nomes de produtos e métricas de impacto. Caso
tenha curiosidade em conhecê-las, acesse: https://cve.mitre.org/ e
https://nvd.nist.gov/.

Um ponto importante que não podemos deixar de mencionar, para melhor


compreensão, são os conceitos relacionados aos seguintes itens:

 VULNERABILIDADE: é uma fraqueza que pode ser explorada em um ataque


cibernético para obter acesso não autorizado ou executar ações não
autorizadas em um sistema de computador. As vulnerabilidades podem
permitir que os invasores executem códigos, acessem a memória do sistema,
instalem diferentes tipos de malware e roubem, destruam ou modifiquem dados
confidenciais.

 EXPOSIÇÃO: é um erro que dá ao invasor acesso a um sistema ou rede. As


exposições podem levar a violações de dados, vazamentos de dados e
informações de identificação pessoal sendo vendidas na dark web. De fato,

1 Mitre é uma organização sem fins lucrativos, que opera centro de pesquisas e desenvolvimentos
financiados pelo governo federal nos Estados Unidos.

Auditoria e Testes de Invasão – Página 80 de 121


algumas das maiores violações de dados foram causadas por exposição
acidental, e não por ataques cibernéticos sofisticados.

Para compreender melhor o funcionamento do OpenVas, convido você a


assistir o nosso webinar sobre esta ferramenta no endereço abaixo. Porém, em nossa
aula interativa iremos realizar uma varredura.

Figura 39

Fonte: https://www.youtube.com/watch?v=BWuH0fQ5QJE.

3.2.3. Nmap Scripting Engine

Agora vamos discutir outra ferramenta que oferece o recurso de scanning de


vulnerabilidades. Assim como o OpenVas evoluiu a partir de um framework de
exploração de falhas, até se tornar um pacote completo de análise de vulnerabilidades
com centenas de bibliotecas de vulnerabilidades e módulos, o Nmap, de modo
semelhante, evoluiu além de seu objetivo inicial, que era o de efetuar scanning de
portas. O NSE (Nmap Scripting Engine) permite executar scripts publicamente
disponíveis e possibilita a criação de seus próprios scripts. Você encontrará os scripts
empacotados com o NSE no Kali em /usr/share/nmap /scripts. Os scripts disponíveis
se enquadram em diversas categorias, incluindo coleta de informações, avaliação

Auditoria e Testes de Invasão – Página 81 de 121


ativa de vulnerabilidades, pesquisa de sinais de comprometimentos anteriores e
assim por diante. A listagem (Figura 40) mostra os scripts NSE disponíveis em sua
instalação default do Kali.

Figura 40 – Diretório default Nmap Scripting Engine.

Para obter mais informações sobre um script ou uma categoria de scripts em


particular, use a flag --script-help no Nmap. Por exemplo, para ver todos os scripts
que estão na categoria default, digite nmap --script-help default, como mostrado na
listagem abaixo. Muitos fatores contribuem para determinar se um script estará na
categoria default, incluindo a sua confiabilidade e o fato de o script ser seguro, com
poucas chances de causar danos ao alvo.

Se a flag -sC for usada para dizer ao Nmap para executar um scan de scripts,
além de um scanning de portas, ele executará todos os scripts da categoria default,
como mostrado a seguir:

Auditoria e Testes de Invasão – Página 82 de 121


Como você pôde ver, o Nmap Scripting Engine descobriu uma boa
quantidade de informações interessantes. Por exemplo, vemos que o servidor SMTP
na porta 25 do alvo Windows Server 2008R2 permite o uso do comando VRFY, que
permite ver se um nome de usuário existe no servidor de e-mails. Se tivermos um
nome de usuário válido, o uso desse comando fará com que ataques para adivinhar
credenciais tenham muito mais chances de serem bem-sucedidos.

Auditoria e Testes de Invasão – Página 83 de 121


3.2.3. Metasploit modo scanner

O Metasploit também pode ser utilizado como um scanning de


vulnerabilidades por meio de vários módulos auxiliares. De modo diferente dos
exploits, esses módulos não nos permitirão o controle do computador-alvo, porém nos
ajudarão a identificar vulnerabilidades a serem exploradas posteriormente. Como
exemplo da funcionalidade desses módulos, observe o resultado do metasploit após
uma análise para descobrir qual o software utilizado como servidor FTP no nosso alvo
(Windows Server).

Vale ressaltar que os módulos auxiliares do Metasploit possibilitam efetuar o


scan de vários hosts ao mesmo tempo, o que fará você economizar tempo quando
estiver testando um ambiente extenso. Ainda podemos utilizar Metasploit para
verificar uma determinada vulnerabilidade, observe:

No caso, verificamos se o alvo possui a vulnerabilidade MS17-010, que é bem


comum em diversos sistemas operacionais da família Microsoft Windows e que
possibilitou mais de 300 mil computadores serem infectados com o Ransomware
WannaCry no ano de 2018, causando um grande transtorno para diversas empresas
e equipes de TI e segurança da informação.

Auditoria e Testes de Invasão – Página 84 de 121


3.2.5. Scanner Web Application

Atualmente existem centenas de milhares de aplicações WEB destinadas há


vários propósitos e objetivos. Como exemplo, podemos citar aplicações web
destinadas a controles financeiros, de pessoal etc., e todas também podem conter
vulnerabilidades. Neste contexto é preciso que as equipes de segurança realizem
uma análise de vulnerabilidades para descobrir quais aplicações possuem
vulnerabilidades que precisam ser corrigidas. Um Pentest poderá realizar essa
análise com o propósito de informar a empresa e suas equipes de TI as possíveis
falhas expostas que precisam ser corrigidas.

O NIKTO é um scanner de vulnerabilidades de aplicações web, incluído no


Kali Linux, que é como o OpenVas para aplicações web: ele procura problemas como
arquivos perigosos, versões desatualizadas e erros de configuração. Para executar o
Nikto em um determinado alvo, basta informar o host seguido da flag -h, como
mostrado a seguir:

Observe que após a análise realizada, percebe-se que o servidor WEB em


referência possui diversos métodos habilitados, o que pode proporcionar uma
exploração mais avançada e posteriormente um roubo de dados e informações.

O OWASP-ZAP é um outro scanner de código aberto e gratuito, e uma


plataforma de teste para testar a segurança de aplicativos da web, podendo encontrar
diversos tipos de vulnerabilidades em sites e aplicações web.

Auditoria e Testes de Invasão – Página 85 de 121


Figura 41 – Interface OWASP-ZAP.

Por fim, temos o WPSCAN, um scanner dedicado a busca de vulnerabilidades


em aplicações desenvolvidas em wordpress.

3.2.6. Capturando o tráfego – Wireshark

Antes de prosseguirmos para a exploração de falhas (4ª fase), usaremos a


ferramenta de monitoração Wireshark, para efetuar o sniffing e a manipulação do
tráfego de modo a obter informações úteis de outros computadores da rede local. Em
um teste de invasão interno, quando estivermos simulando uma ameaça interna ou

Auditoria e Testes de Invasão – Página 86 de 121


um invasor que tenha conseguido acessar a periferia do sistema, capturar o tráfego
de outros sistemas da rede pode nos proporcionar informações adicionais
interessantes (quem sabe até mesmo nomes de usuário e senhas), que poderão nos
ajudar na exploração de falhas. O problema é que a captura de tráfego pode gerar
uma quantidade massiva de dados potencialmente úteis. Capturar todo o tráfego
somente em sua rede local pode fazer com que várias telas do Wireshark sejam
preenchidas rapidamente, e descobrir qual tráfego é útil em um teste de invasão pode
ser difícil. Vamos dar uma olhada em diversas maneiras de manipular uma rede para
ter acesso ao tráfego, ao qual não deveríamos ter permissão para visualizar.

Se você se encontrar em uma rede que utilize hubs no lugar de switches, a


captura do tráfego não destinado ao seu computador será fácil, pois quando um hub
da rede recebe um pacote, ele o reenvia por meio de broadcast a todas as portas,
deixando a cargo de cada dispositivo decidir a quem pertence o pacote. Em uma rede
com hubs, capturar o tráfego de outros sistemas é tão fácil quanto selecionar use
promíscuos mode (usar o modo promíscuo) em todas as interfaces no Wireshark. Isso
diz ao nosso NIC (Network Interface Controller), para acessar tudo o que for visto por
ele, o que, em uma rede com hub, corresponde a todos os pacotes. De modo diferente
dos hubs, os switches enviam tráfego somente para o sistema desejado, portanto, em
uma rede com switches não podemos ver, por exemplo, todo o tráfego de/e para o
controlador de domínio, sem que enganemos a rede para que ela nos envie esse
tráfego. A maioria das redes com as quais você se deparar nos testes de invasão,
provavelmente será composta de redes com switches; até mesmo alguns hardwares
de redes legadas que argumentam ser um hub podem ter a funcionalidade de um
switch.

Vamos começar usando o Wireshark para capturar tráfego em nossa rede


local. Inicie o Wireshark no Kali. Para efetuar a captura na interface local de rede,
selecione Capture / Options e escolha a interface local de rede. Você começará a ver
o tráfego chegando e poderá capturar todo o tráfego destinado ao computador Kali,
bem como qualquer tráfego de broadcast (tráfego enviado para toda a rede).

Auditoria e Testes de Invasão – Página 87 de 121


Para uma demonstração do tráfego que podemos capturar em uma rede com
switches, vamos começar nos conectando ao nosso alvo Windows Server a partir de
nosso computador Kali, por meio de FTP.

Auditoria e Testes de Invasão – Página 88 de 121


Você deverá ver pacotes do sistema com endereço IP 172.18.22.45 para
172.18.22.39 e vice-versa no Wireshark, com o campo Protocol (Protocolo) marcado
como FTP. O Wireshark está capturando o tráfego sendo enviado de/e para o nosso
computador Kali.

Observe que no exemplo apresentado, ao capturarmos os pacotes de dados


por meio do Wireshark, coletamos algumas informações que “não deveriam” ser
visualizadas. Aqui já temos um ponto de vulnerabilidade – a exposição de
informações como usuário e senha para conexão ao serviço de FTP, trafegando
livremente na rede!

Mesmo após ter filtrado o tráfego, pode haver várias conexões FTP
capturadas durante o mesmo intervalo de tempo, portanto pode continuar sendo difícil
dizer o que está acontecendo. Mas, depois que encontrarmos um pacote interessante,
por exemplo o início de um login FTP (demonstrado anteriormente), podemos explorar
a conversação mais detalhadamente ao clicar no pacote com o botão direito do mouse
e selecionar Follow TCP Stream.

Auditoria e Testes de Invasão – Página 89 de 121


É importante ressaltar que “snifar” pacotes da rede podem trazer sérios
problemas a empresa. Isso porque, dos dados capturados, podem revelar
informações importantes a um invasor. Note no exemplo abaixo que um simples e-
mail trocado entre funcionários pode ser capturado utilizando-se o Wireshark, e
posteriormente, após uma análise minuciosa dos dados, podemos encontrar até
dados bancários da empresa ou outras informações.

Figura 42 – Captura do protocolo SMTP via Wireshark.

Auditoria e Testes de Invasão – Página 90 de 121


Figura 43 – Datagrama contendo informações importantes.

3.3. Exploração (ganho de acesso)

Após todo o trabalho, finalmente chegamos a parte divertida: a exploração de


falhas. Na fase de exploração de falhas do teste de invasão, executamos exploits
contra as vulnerabilidades descobertas para obter acesso aos sistemas-alvo.
Algumas vulnerabilidades, como o uso de senhas default, são tão fáceis de serem
exploradas que nem parecem ser uma exploração de falhas. Outras são muito mais
complicadas. Mas antes vamos conhecer o Metasploit como ferramenta de
exploração, ou seja, como uma ferramenta que proporcionará o ganho de acesso em
um determinado alvo, após a descoberta de uma vulnerabilidade.

Metasploit se tornou uma ferramenta padrão de mercado para os analistas de


segurança, Ethical Hackers e Black Hackers. Disponibilizado inicialmente em 2003, o
Metasploit conquistou status de cult por toda a comunidade de segurança da
informação e cibersegurança. Embora atualmente o Metasploit seja propriedade da

Auditoria e Testes de Invasão – Página 91 de 121


empresa de segurança Rapid7, uma edição de código aberto continua disponível,
com o desenvolvimento amplamente direcionado pela comunidade de segurança a
segurança da informação e cibersegurança.

A arquitetura modular e flexível do Metasploit ajuda os desenvolvedores a


criarem exploits funcionais de maneira eficiente, à medida que novas vulnerabilidades
são descobertas. Como você verá, o Metasploit é intuitivo e fácil de usar, além de
oferecer um modo centralizado de executar códigos de exploits confiáveis, cuja
precisão já tenha sido garantida pela comunidade.

Agora, por que usar o Metasploit? Retornaremos a vulnerabilidade que


descobrimos em nosso Windows Server “MS17-010”, você se lembra? Bem,
utilizando o Metasploit você poderá explorar essa vulnerabilidade e avaliar o risco
causado por ela.

É importante ressaltar que as equipes de segurança precisam compreender


como cada vulnerabilidade se comporta e que tipos de exploits podem ser utilizados
para explorá-la. Neste contexto, pesquisar códigos na Internet que explorem essa
vulnerabilidade torna-se essencial para garantir as melhores medidas de segurança.
Sites como o Packet Storm Security, SecurityFocus e o Exploit Database,
disponibilizam repositórios com códigos para exploit conhecidos. Entretanto,
considere-se avisado: nem todos os códigos públicos de exploit fazem o que eles
dizem que fazem. Alguns códigos de exploit podem destruir o sistema-alvo ou até
mesmo atacar o seu sistema, em vez de atacar o alvo. Permaneça sempre vigilante
ao executar qualquer código que você encontrar online e leia o código
cuidadosamente antes de confiar nele. Além do mais, os exploits públicos que você
encontrar podem não atender diretamente às suas necessidades. Pode ser
necessário realizar algum trabalho adicional para portá-los ao seu ambiente de teste
de invasão. Independentemente de desenvolvermos um exploit desde o início ou de
usarmos um exploit público como base, continua sendo necessário fazer esse exploit
funcionar em seu teste de invasão. Nosso tempo provavelmente será mais bem
empregado em tarefas que sejam difíceis de automatizar e, felizmente, podemos usar

Auditoria e Testes de Invasão – Página 92 de 121


o Metasploit para fazer com que explorar vulnerabilidades conhecidas, como o MS17-
010, seja rápido e descomplicado.

Para iniciarmos o Metasploit no Kali, precisamos em primeiro lugar iniciar o


banco de dados que ele utiliza, que no caso é o “PostgreSQL”. Uma vez, instalado o
PostgreSQL no Kali Linux, existem diversas maneiras de iniciarmos o PostgreSQL.
Para exemplo ilustrativo ou realizar de uma maneira que você possa observar o banco
de dados iniciado:

Agora precisamos iniciar o Metasploit e, para isso, executamos o comando


“msfconsole” no terminal shell do nosso Kali Linux. Observe:

Figura 44 – Tela inicial do Metasploit.

Observe que após seu início, o Metasploit nos informa a quantidade de


exploits, módulos auxiliares e assim por diante, que constam em sua base de dados
(seta vermelha na Figura 44).

Auditoria e Testes de Invasão – Página 93 de 121


Vale lembrar que esta base está em constante atualização por parte da
Rapid7 e a comunidade de segurança da informação e cibernética. Para manter seu
Metasploit devidamente atualizado, basta executar no terminal do shell do Kali Linux
o comando “msfupdate” e aguardar até o final das atualizações.

Aqui, vai uma dica: caso em algum momento você se sinta perdido ao utilizar
o msfconsole, basta digitar “help” para obter uma lista de todos os comandos
disponíveis e consecutivamente a descrição de cada um deles. Caso deseje uma
informação mais detalhada sobre o comando, digite help seguido pelo nome do
comando. Veja o exemplo:

Caso deseje saber mais detalhes do comando “cd”, por exemplo, digite: help cd

Vamos agora usar o Metasploit para explorar uma vulnerabilidade MS-17-010


do nosso alvo. Lembrando que essa vulnerabilidade já possui correção junto a
Microsoft, através do seu boletim de segurança 4013389. Porém, uma pergunta
rápida a você: como sabemos que esse patch está ausente em nosso alvo Windows
Server 2008R2? Bem, realizando uma varredura de vulnerabilidades, com o comando
nmap, por exemplo.

Auditoria e Testes de Invasão – Página 94 de 121


Figura 45 – Resultado da varredura realizada pelo NMAP - MS17-010
encontrado!

Vamos agora procurar por essa vulnerabilidade no site da comunidade do


Rapid7, com o fim de sabermos qual será o módulo utilizado junto ao msfconsole,
para realizarmos a exploração do alvo.

Auditoria e Testes de Invasão – Página 95 de 121


Conforme observamos, há pelo menos cinco módulos que podem ser
acionados no msfconsole e que poderemos utilizar para realizar o ganho de acesso.
Vamos utilizar para o nosso teste de penetração o exploit: eternalblue_doublepulsar
(aquele utilizado pelo Ransomware WannaCry em 2018) e, posteriormente, iremos
configurar o “payload” e as informações, como: IP e Porta do equipamento remoto
(alvo) e do equipamento local (invasor); sistema operacional e processo do alvo, entre
outras informações que coletamos na fase de varredura. Mas, antes, vou apresentar
alguns conceitos básicos que precisa saber, para realizar a configuração junto ao
msfconsole:

 LHOST e LPORT: refere-se ao endereço IP (LHOST) e porta de comunicação


(LPORT) que será utilizada pelo invasor.

 RHOSTS e RPORT: refere-se ao endereço IP (RHOSTS) e porta de


comunicação (RPORT) do alvo a ser verificado ou invadido.

 TARGET: corresponde a informações sobre o sistema-alvo, podendo essas


serem tipo de sistema operacional, versão, arquitetura etc., de acordo com o
exploit ou módulo que está sendo utilizado.

 PAYLOADS: podendo ser denominado também de “carga útil”, são scripts


simples que Ethical Hackers ou Black Hackers podem utilizar, para interagir com
um sistema-alvo testado ou invadido. Os payloads podem ser do tipo: únicos
(singles) – scripts muito pequenos e projetados para criar algum tipo de
comunicação e depois passar para o próximo estágio, por exemplo apenas a
criação de um usuário; preparado (staged) – no geral utilizado para carregar
um arquivo maior no sistema de uma vítima; estágios (stages) – scripts que
oferecem recursos avançados sem limites de tamanho, como meterpreter e
que possuem diversos outros scripts auxiliares.

 EXPLOIT (exploração): são scripts (chaves) utilizados para obter acesso ao


sistema-alvo e assim realizarmos os testes de penetração. Os exploits podem
ser executados por meio do msfconsole (interface texto) ou pelo Armitage
(interface gráfica). Ambas disponíveis na distribuição Kali Linux.

Auditoria e Testes de Invasão – Página 96 de 121


Bem, agora que sabemos o básico, vamos colocar a “mão na massa”! Em
primeiro lugar, vamos voltar onde paramos, configurar o exploit no msfconsole e
posteriormente configurar os itens acima mencionados, com os comandos “set” e
“use”. Caso tenha dúvida, lembre-se do comando “show”, pois ele irá mostrar a você
as opções referentes ao comando. Exemplo: show target – irá informar que tipos de
alvos (sistemas operacionais) podem sem configurados no exploit que estamos
utilizando.

Feito as configurações, vamos executar o comando “exploit”. Se tudo estiver


correto, haverá então o ganho de acesso ao sistema-alvo.

Figura 46 – Exploração realizada com sucesso no sistema-alvo.

Auditoria e Testes de Invasão – Página 97 de 121


Agora, pode-se realizar diversos tipos de explorações e testes no sistema-
alvo comprometido, como por exemplo, criação de usuários, captura de arquivos
Hash de senhas, captura e gravação de texto, áudio, vídeo e imagens, navegação de
diretórios e explorando compartilhamentos de redes, realizando download e upload
de arquivos, reconfiguração do sistema, instalando códigos maliciosos, capturando
pacotes da rede interna, eliminando registros de logs, gerando credenciais e senhas
de acesso, conectando-se aos bancos de dados, instalando novos serviços, entre
outras coisas mais. Ou seja, realizando as fases 5 e 6 de um teste de penetração.

Figura 47 – SYSINFO (obtendo informações do sistema comprometido).

Aproveite esse tempo para conhecer um pouco mais sobre o framework


Metasploit, bem como o msfconsole e seus comando, criando um laboratório virtual e
aprimorar seus conhecimentos de Ethical Hacker.

3.4. Detonando senhas

No geral, as senhas representam o ponto que oferece a menor resistência em


atividades de um Pentesting. Uma empesa com um sistema e uma equipe de TI
robusta de segurança pode corrigir falhas de vulnerabilidades em sistemas
operacionais e sistemas de informação, porém quando o assunto está relacionado
aos usuários e as senhas que eles utilizam em seu dia a dia em si, torna-se uma
atividade difícil e de extrema importância. Isso porque, na questão segurança da

Auditoria e Testes de Invasão – Página 98 de 121


informação e segurança cibernética, o ativo de TI “pessoa” é o ponto mais vulnerável
e suscetível a um ataque.

Neste contexto, as empresas estão despertando para os riscos e ameaças


inerentes à autenticação baseada em senhas. Ataques por meio de força bruta e
palpites embasados em ataques baseados em engenharia social, senhas fracas,
ausência de uma gestão de identidade e acesso, e a implementação de mecanismos
de autenticação de dois fatores, contribuem para aumentar as falhas de
vulnerabilidades, possibilitando que invasores e ameaças comprometam o ambiente
corporativo e sua infraestrutura de TI, representando um risco sério para a empresa.

Assim como usamos ferramentas automatizadas para descobrir


vulnerabilidades, podemos usar ferramentas para tentar fazer login automaticamente
em serviços e descobrir credenciais válidas. Essas ferramentas usam uma técnica
chamada força bruta. Ou seja, tentam usar todas as combinações possíveis de nome
de usuário e senha, baseada em dicionários previamente gerados de forma
automática.

O problema com a força bruta é que, à medida que senhas mais fortes são
usadas, o tempo necessário para descobri-las por meio dessa técnica pode
ultrapassar horas, anos e até mesmo a duração de uma vida. Provavelmente
poderemos descobrir credenciais funcionais mais facilmente se fornecermos palpites
embasados sobre as senhas corretas a uma ferramenta automatizada de login.
Palavras que se encontram em dicionários são fáceis de serem lembradas, portanto,
apesar dos avisos de segurança, muitos usuários as incorporam nas senhas.

3.4.1. Encontrando senhas com o Hydra e o Medusa

O Hydra é uma ferramenta que possibilita descobrir senhas através da


utilização de dicionários de lista de usuários e senhas, realizando testes online nos
serviços em execução, como: serviços de telnet, ssh, smtp etc., no sistema-alvo.

Auditoria e Testes de Invasão – Página 99 de 121


Após a fase de varredura em um sistema-alvo “Linux”, descobrimos que ele
possui diversos serviços e portas disponíveis e possivelmente com possibilidades de
vulnerabilidades a serem exploradas. Utilizando a ferramenta Sparta, podemos
facilmente descobrir essas vulnerabilidades. Observe na Figura 48 que o sistema-
alvo possui um servidor de e-mail e, este por sua vez, contém uma vulnerabilidade na
qual expõe a lista de usuários cadastrados que pode ser visualizada na barra superior
do Sparta.

Figura 48 – Varredura de vulnerabilidades com Sparta.

Auditoria e Testes de Invasão – Página 100 de 121


Figura 49 – Lista de usuários.

Agora que sabemos os nomes dos usuários, vamos utilizar o próprio Sparta
para descobrir as senhas, inserindo um dicionário contendo os nomes de usuários
descobertos e outro dicionário contendo possíveis senhas para tentarmos encontrar
uma senha. Não esqueça de configurar o IP e o serviço do sistema-alvo que deseja
ganhar o acesso.

 Dica: um ótimo dicionário com mais de 14 milhões de combinações de senha


é o rockyou.txt, que pode ser encontrado facilmente na internet.

Após a realização do ataque de força bruta, o Hydra nos apresentou um


resultado satisfatório, contendo um achado. Ou seja, uma senha de um de nossos
usuários listados (Figura 49 e 48). Para validarmos o ganho de acesso, vamos testar
o usuário e senha encontrada, através de uma conexão ssh no sistema-alvo,
conforme demonstrado abaixo (Figura 50).

Auditoria e Testes de Invasão – Página 101 de 121


Figura 50 – Realizando o ganho de acesso.

Figura 51 – Ataque de força bruta (Hydra).

Podemos ainda realizar o mesmo processo de ataque de força bruta, através


do terminal shell do Kali Linux, observe:

Auditoria e Testes de Invasão – Página 102 de 121


Outra ferramenta de ataque de força bruta, também muito eficiente é o
Medusa. Semelhante ao Hydra, o Medusa pode facilmente descobrir senhas por meio
da utilização de dicionários de usuários e senhas.

É importante que o Ethical Hacker explore todas essas ferramentas, fazendo


uso dos seus manuais por meio do comando “help” ou “man” no Kali Linux. Afinal,
conhecer as funções e funcionalidades é a chave para o sucesso de qualquer teste
de penetração.

3.4.2. Encontrando senhas com Hashdump - Metepreter

Outra maneira de quebrar senhas é obter uma cópia das hashes de senha e
tentar revertê-las para o seu formato texto simples. É mais fácil falar do que fazer isso,
pois as hashes foram concebidas para serem o produto de uma função unidirecional
de hash: dada uma entrada, você pode calcular a saída usando a função de hash;
porém dada a saída, não há nenhuma maneira confiável de determinar a entrada.
Desse modo, se uma hash for comprometida, não deverá haver nenhum modo de
calcular a senha em formato texto simples. Entretanto, podemos fornecer um palpite
para uma senha, gerar sua hash usando a função unidirecional de hash e comparar
o resultado com a hash conhecida. Se as duas hashes forem iguais, é porque
descobrimos a senha correta.

Após o ganho de acesso a um sistema-alvo, no caso o Windows Server por


meio da exploração da vulnerabilidade MS-17-010, com o Meterpreter, vamos utilizar

Auditoria e Testes de Invasão – Página 103 de 121


o comando Hashdump para visualizar e copiar os hashes encontrados para o arquivo
hash.txt

Podemos agora utilizar no próprio meterpreter o script mimikatz (comando


load mimikatz), para calcularmos os hashes encontrados e posteriormente executar
o comando wdigest para visualizar o resultado. Observe:

Observe que revelamos a senha do usuário “Pedrão”, que neste momento


está logado no sistema-alvo. Agora vamos utilizar o John the Ripper para
descobrirmos as demais senhas dos outros usuários.

Primeiramente copiamos o resultado do Hashdump em um arquivo texto e,


posteriormente, executamos o John the Ripper para “quebrar” os hashes. Atenção:
este processo poderá demorar minutos, horas ou dias, pois depende da complexidade
da senha criada pelo usuário. Porém, para acelerar o processo, alguns Ethical
Hackers utilizam dicionários, como o exemplo do Hydra e Medusa, visto
anteriormente.

Auditoria e Testes de Invasão – Página 104 de 121


Figura 52 - John The Ripper em ação.

Observe que à medida em que o John the Ripper vai decodificando os


hashes, as senhas vão sendo reveladas (Figura 50).

3.5. Engenharia social Toolkit

Na segurança da informação, é comum dizer que os usuários representam a


vulnerabilidade que jamais poderá ser corrigida. Uma equipe de segurança poderá
instalar todos os controles de segurança necessários e implementar uma política de
segurança robusta, porém, se um funcionário puder ser convencido a dar informações
sensíveis da empresa, tudo terá sido em vão. Por exemplo, considere o famoso
hacker Kevin Mitnick, várias das mais famosas explorações de falhas de Mitnick se
reduziram a entrar em um prédio, convencer o segurança de que ele tinha permissão
para estar lá e, em seguida, sair com o que queria. Esse tipo de ataque que
chamamos de engenharia social, que tem como objetivo explorar as vulnerabilidades
humanas, como por exemplo: um desejo de ser prestativo, a falta de conscientização
a respeito de políticas de segurança e assim por diante.

Os ataques de engenharia social podem envolver requisitos técnicos


complexos ou nenhuma tecnologia. Um engenheiro social pode adquirir um uniforme
de funcionário da TV a cabo e, potencialmente, entrar em uma empresa ou até mesmo
na sala do servidor. O departamento de suporte de TI pode receber um telefonema
desesperado da secretária de um diretor, argumentando que o diretor não está
conseguindo acessar sua conta de webmail.

Auditoria e Testes de Invasão – Página 105 de 121


As pessoas, em geral, querem ser prestativas, portanto, a menos que haja uma
política de segurança em vigor, o funcionário do suporte da TI poderá passar a senha
pelo telefone ou configurá-la com um valor default, mesmo que a pessoa que ligou
não seja quem diz ser. Um vetor comum em ataques de engenharia social é o e-mail.
Se, em algum momento, você estiver sem nada interessante para fazer no trabalho,
dê uma olhada em sua pasta de e-mails spams. Entre as inúmeras propagandas, com
certeza haverá algum e-mail malicioso no qual passará despercebido por você.

Tentar enganar um usuário de modo que ele dê informações sensíveis ao se


fazer passar por uma pessoa de confiança em um e-mail ou por outro meio eletrônico,
é conhecido como ataque de phishing. E-mails do tipo phishing podem ser usados
para atrair alvos a visitarem sites maliciosos ou fazerem download de anexos
maliciosos, entre outras atividades.

Os ataques de engenharia social representam o elemento que faltava,


necessário para enganar os usuários de modo que os tornem vítimas de ataques. As
empresas devem investir tempo e esforço no treinamento de todos os funcionários,
no que diz respeito aos ataques de engenharia social. Independentemente do tipo de
tecnologia de segurança implantada, os funcionários devem poder usar suas
estações de trabalho, seus dispositivos móveis e assim por diante para fazerem o seu
trabalho. Eles terão acesso a informações sensíveis ou a controles de segurança que,
em mãos erradas, podem prejudicar a empresa.

Algumas orientações dadas em treinamentos de segurança podem ser


óbvias, como “não compartilhe sua senha com ninguém” e “confira o crachá de uma
pessoa antes de segurar a porta de uma área segura para que ela possa passar”.
Outras orientações para ter ciência quanto à segurança, podem ser novidade para
muitos funcionários. Por exemplo, em um recente de testes de invasão realizado na
empresa em que trabalho, tive bastante sucesso ao deixar pen drives USB em uma
mesa qualquer com uma etiqueta em que se lia “Folha de pagamento”. Usuários
curiosos começam conectando esses dispositivos, abrem os arquivos e me concedem
acesso a seus sistemas. Treinamentos para conscientização a respeito de segurança
no que diz respeito a arquivos maliciosos, pen drives USB e outros ataques, podem

Auditoria e Testes de Invasão – Página 106 de 121


ajudar a impedir que usuários se tornem vítimas desses tipos de ataques de
engenharia social.

Um framework bem interessante é o Social-Engineer Toolkit. Trata-se uma


ferramenta de código aberto baseada em Python, que foi concebida para ajudar
Ethical Hackers a realizar ataques de engenharia social durante os testes de invasão.

O SET ajudará a criar uma variedade de ataques como campanhas de e-


mails do tipo phishing (com o propósito de roubar credenciais, informações financeiras
e assim por diante, por meio de e-mails para alvos específicos) e ataques baseados
em web (como clonagem do site de um cliente, fazendo com que os usuários sejam
enganados de modo a inserirem suas credenciais de login). O SET já vem instalado
no Kali Linux. Para iniciá-lo, digite setoolkit em um prompt do Kali Linux.

Usaremos o SET (Figura 51) para realizar ataques de engenharia social,


portanto digite 1 no prompt para acessar o menu Social-Engineering Attacks (Ataques
de engenharia social).

Figura 53 – Interface SET.

Auditoria e Testes de Invasão – Página 107 de 121


Criaremos um ataque do tipo: spear-phishing, que permitirá gerar arquivos
maliciosos para ataques do lado do cliente, enviá-los por e-mail e instalar um handler
do Metasploit automaticamente para capturar o payload.

A primeira opção, Perform a Mass Email Attack (Realizar um ataque em


massa via e-mail), permite enviar um arquivo malicioso a um endereço predefinido de
e-mail ou a uma lista de endereços, assim como instalar um listener no Metasploit
para o payload selecionado. A segunda opção, Create a FileFormat Payload (Criar
um payload fileformat), permite criar um arquivo malicioso com um payload do
Metasploit. A terceira opção permite criar um template de e-mail a ser usado em
ataques com o SET. Selecione a opção 1 para criar um ataque por e-mail (teremos a
opção de enviar um único e-mail ou vários e-mails posteriormente.)

Agora vamos selecionar um payload, observe que será mostrado um conjunto


de opções. No nosso exemplo, vamos escolher um arquivo PDF selecionando a
opção: Adobe util.printf() Buffer Overflow.

Auditoria e Testes de Invasão – Página 108 de 121


Você será solicitado a escolher um payload para o seu arquivo malicioso,
escolha o Windows Meterpreter Reverse_TCP x64 (para sistemas operacionais
64bits).

O SET deve pedir as opções relevantes do payload que, nesse caso, são
LHOST e LPORT. Configure o listener do payload com o endereço IP do Kali Linux.
Deixe a porta com a qual será feita a conexão de volta com o valor default (443). A
seguir, você será solicitado a dar um nome ao seu arquivo malicioso, selecione a
opção 2 para renomear o PDF malicioso e digite o nome do arquivo
cupomdescontoifood.pdf. O SET deverá continuar.

Auditoria e Testes de Invasão – Página 109 de 121


Agora decida se o SET deverá enviar o nosso arquivo malicioso a um único
endereço de e-mail ou a uma lista de endereço. No caso, vamos enviar apenas para
um destinatário. Observe que o SET irá perguntar se deseja um template de e-mail
padrão ou deseja criar um template personalizado. Vamos escolher template padrão.

Vamos selecionar a opção 3 e posteriormente digitar o e-mail do nosso alvo.

Auditoria e Testes de Invasão – Página 110 de 121


Após, definirmos o remetente e demais informações sobre o servidor de e-
mail, basta ativarmos o listener do SET e aguardar o usuário alvo, receber o e-mail e
abrir o PDF para ganharmos acesso ao sistema-alvo.

Sessão conectada após o usuário abrir o arquivo PDF.

Auditoria e Testes de Invasão – Página 111 de 121


3.6. Explorando o alvo (pós-exploração)

Um Ethical Hacker, após ganhar o acesso ao sistema-alvo, deve procurar


informações valiosas da mesma maneira que um Black Hacker. Porém,
posteriormente, na entrega dos resultados obtidos, ele deverá comprovar a invasão
ao sistema-alvo e informar quais informações foram capturadas durante o teste. A
seguir veremos alguns comandos úteis nessa jornada.

Procura de arquivos usando o comando “search”. Observe que encontramos


no sistema-alvo um arquivo que continha a palavra “senha”.

Outra maneira de coletar informações é permitir que o usuário logado as


forneça para você, por assim dizer. O Meterpreter contém um keylogger (registrador
de teclas) que podemos usar para registrar as teclas digitadas. Quem sabe o usuário
faça login em sites ou em outros sistemas da rede, enquanto nossa sessão
Meterpreter estiver ativa. Inicie o keylogger na sessão Meterpreter do sistema-alvo
digitando keyscan_start, e posteriormente key_dump para capturar o que está sendo
digitado no teclado. Para finalizar a captura, use key_stop.

Existe alguns ótimos comandos a serem utilizados nessa fase de coleta de


dados após a exploração, como por exemplo o comando screenshot, utilizado para
realizar um print screen da tela do sistema-alvo, e os comandos: record_mic, para
acionar a gravação em tempo real do microfone do sistema-alvo, e o webcam_stream,
para realizar a visualização em tempo real de uma webcam.

Gostou? Quer saber mais comandos? Digite do shell do meterpreter o


comando “help” e descubra o que esse framework é capaz de fazer durante um teste
de intrusão.

Auditoria e Testes de Invasão – Página 112 de 121


3.7. Eliminação dos rastros

Como acredito ser de conhecimento de todos, um dos itens mais importantes


no contexto da TI e que poucas equipes (infelizmente) dão valor, são os arquivos de
LOGs. Isso porque um arquivo de LOG pode dizer muita coisa sobre o que está
ocorrendo em um ambiente de TI. Sabendo disso, um Black Hacker sempre busca
eliminar os rastros deixados após a fase de exploração. Vejamos como isso é
realizado.

Aqui nós temos o sistema-alvo com o “visualizador de eventos” aberto e


totalmente carregado de LOGs.

O processo para limpeza utilizando o meterpreter é bem simples, basta


executar o comando “clearev” para apagar todos os eventos.

Auditoria e Testes de Invasão – Página 113 de 121


No caso do sistema operacional Linux, os arquivos de LOG ficam no diretório
/var/log e, para realizar a limpeza neste caso, após um ataque ao sistema, bastaria
remover os arquivos com o comando rm -rf /*.

Auditoria e Testes de Invasão – Página 114 de 121


Capítulo 4. Tópicos especiais: HoneyPot

Por definição, um HoneyPot é um recurso computacional de segurança


dedicado a ser sondado, atacado ou comprometido. Podendo ser compreendido
melhor como uma configuração de um computador ou rede que tem como principal
objetivo aprimorar o conhecimento das equipes de segurança atraindo Black Hackers
ou Crackers, para posteriormente analisar suas ações e determinar os melhores
mecanismos e medidas de proteção em um ambiente de TI real.

Dentre as vantagens obtidas com a implementação de um HoneyPot,


citamos:

 A redução dos riscos à segurança da informação, uma vez que as equipes de


segurança aprendem o comportamento de um invasor e, com esse
aprendizado, pode implementar meios de mitigar os riscos e as ameaças.

 Avaliação dos mecanismos de segurança implementados, em uma escala


menor se comparado com um teste de intrusão. Um HoneyPot permite a equipe
de segurança, de maneira rápida, mensurar seus mecanismos de proteção
implementados no ambiente de TI.

 Fonte de pesquisa. Um HoneyPot é uma ótima fonte de pesquisa quando o


assunto é comportamento de uma ameaça perante uma vulnerabilidade. Isso
porque o HoneyPot permite coletar as ações que estão sendo executadas.

Mesmo sendo considerada por muitos especialistas em segurança da


informação uma fermenta valiosa à proteção de um ambiente de TI, sua
implementação requer muito cuidado e atenção, pois caso contrário pode se tornar
uma porta de acesso aos Black Hackers.

Auditoria e Testes de Invasão – Página 115 de 121


Figura 54 – Arquitetura de um HoneyPot.

Um HoneyPot muito interessante é o HoneyDrive. Trata-se de uma


distribuição Linux já totalmente configurada com os principais softwares que devem
conter um HoneyPot totalmente funcionais, que após a instalação e algumas
configurações específicas, feitas pelas equipes de segurança para adequá-lo ao seu
ambiente, proporciona grandes resultados.

Figura 55 – Interface do HoneyDrive.

Quanto a classificação de um HoneyPot, esse pode ser classificado de acordo


com a sua localização em um ambiente de TI, podendo estar localizado no ambiente
de produção, no qual busca-se obter informações sobre as técnicas usadas para
tentar violar os sistemas que compõem essa infraestrutura.

Auditoria e Testes de Invasão – Página 116 de 121


O leque de possibilidades oferecidas por um honeypot em uma rede em
produção é muito amplo. Desde a possibilidade de localizar o honeypot no segmento
da rede interna de servidores da empresa, com o objetivo de detectar o possível
acesso dos usuários internos aos recursos críticos da organização (por exemplo, ao
arquivo da folha de pagamento), até a publicação de um serviço da web com a mesma
configuração e design que o mesmo serviço que está em produção ou pré-produção.
A maior desvantagem dessa escolha é o perigo para os sistemas organizacionais,
permitindo (até causando) que o tráfego malicioso coexista com o legítimo.

Podemos ainda ter os HoneyPots de pesquisa que, nesse caso, o principal


objetivo é a coleta da maior quantidade de informações que permita as equipes de
segurança analisar novas tendências nos métodos de ataque, bem como os principais
objetivos perseguidos e as diferentes origens dos ataques. O resultado dessa análise
é incluído em relatórios cujo objetivo é apoiar a tomada de decisões na
implementação de medidas preventivas de segurança.

A principal vantagem de colocar o honeypot em uma rede independente,


dedicada exclusivamente à pesquisa, é a separação do sistema vulnerável do
restante dos sistemas produtivos, evitando assim a possibilidade de sofrer um ataque
através do próprio honeypot; enquanto a desvantagem é a quantidade de recursos
necessários sobre a arquitetura a ser usada, pois haverá mais trabalho a ser
realizado. Isso porque haverá a necessidade de, “vamos dizer”, criar toda uma
infraestrutura de TI do zero.

Outro método de classificação de um HoneyPot é a INTERAÇÃO com o


atacante. Nesse caso, os honeypots são agrupados em dois tipos:

 Baixa interação: o honeypot emula um serviço, um aplicativo ou um sistema


vulnerável. Suas principais características são a instalação e configuração
simples, além da capacidade limitada de obter diferentes tipos de dados.
Exemplos de honeypots desse tipo são: Honeydrive, já mencionado
anteriormente; HoneyC, que tem como objetivo a identificação de servidores
web maliciosos na rede e, para isso, emula vários clientes e coleta o máximo
de informações possível das respostas dos servidores quando eles respondem

Auditoria e Testes de Invasão – Página 117 de 121


às solicitações de conexão. O HoneyC é expansível de várias maneiras:
diferentes clientes, sistemas de pesquisa e algoritmos de análise podem ser
usados; Honeytrap, esse honeypot é destinado à observação de ataques
contra serviços de rede. Ao contrário de outros honeypots, que geralmente se
concentram na coleta de malware, o objetivo do Honeytrap é capturar
explorações; e, por fim, o Glastopf, que emula milhares de vulnerabilidades
para coletar dados de ataques contra aplicativos da web. A base para a coleta
de informações é a resposta correta oferecida ao invasor quando ele tenta
explorar o aplicativo da web. É fácil de configurar e, uma vez indexado pelos
mecanismos de pesquisa, as tentativas de explorar suas vulnerabilidades se
multiplicam.

 Alta interação: nesse caso, o honeypot é um aplicativo com o qual você pode
interagir e responder conforme o esperado, com a diferença de que seu design
é orientado a fazer um registro exaustivo da atividade realizada nele e de que
a informação que ela contém não é relevante em nenhum caso. Como exemplo
podemos citar: HI-HAT (Kit de Ferramentas de Análise de Honeypot de Alta
Interação), uma ferramenta que transforma aplicativos php em aplicativos de
honeypot de alta interação e também oferece uma interface web que permite
consultar e monitorar os dados gravados; HoneyBow, uma ferramenta de
coleta de malware que pode ser integrada ao honeypot de baixa interação da
Nephentes, para criar uma ferramenta de coleta muito mais completa; Sebek,
que funciona como um HIDS (Sistema de Detecção de Intrusão Baseado em
Host), permitindo capturar uma grande variedade de informações sobre a
atividade em um sistema, uma vez que atua em um nível muito baixo. É uma
arquitetura cliente-servidor, com capacidade multiplataforma, que permite que
Honeypots de clientes sejam implantados nos sistemas Windows, Linux,
Solaris etc., responsáveis por capturar e enviar a atividade coletada para o
servidor Sebek. Poderíamos dizer que faz parte de uma terceira geração de
honeypots.

No Brasil, existe um projeto mantido pelo CERT.br que tem como objetivo
aumentar a capacidade de detecção de incidentes, correlação de eventos e

Auditoria e Testes de Invasão – Página 118 de 121


determinação de tendências de ataques na internet brasileira. A configuração utilizada
são de Honeypots de baixa interatividade, que cobrem uma quantidade razoável de
endereços IPv4 da internet no Brasil. Entre as funções que se destacam nesse
projeto, podemos citar o seu sistema de notificação diária aos grupos de tratamento
de incidentes (CSIRTs), que fazem parte do projeto.

Figura 56 – Honeypots que compõe o projeto da CERT.br.

Auditoria e Testes de Invasão – Página 119 de 121


Referências

BRUYNE, P. de et alii. Dinâmica da Pesquisa em Ciências Sociais: Os polos da


prática metodologica. 5. ed. Rio de Janeiro: Francisco Alves, 1991.

CERT.br — O Centro de Estudos, Resposta e Tratamento de Incidentes de


Segurança no Brasil. 2020. Disponível em: <https://cert.br/>. Acesso em: 01 ago.
2020.

FILHO, José Eriberto Mota. Análise de Tráfego em Redes TCP/IP. 1. ed. São Paulo:
Editora Novatec, 2014

FRAGA, Bruno. Técnicas de Invasão: Aprenda as Técnicas Usadas por Hackers em


Invasões Reais. 1. ed. Rio de Janeiro: Editora Labrador, 2016.

MACHADO, Felipe R. Nery. Segurança da Informação: Princípios e controle de


ameaças. 1.ed. Rio de Janeiro: Editora Érica, 2014.

MORENO, Daniel. Introdução ao Pentest. 2. ed. São Paulo: Editora Novatec, 2017.

MORENO, Daniel. Pentest em Aplicações WEB. 1. ed. São Paulo: Editora Novatec,
2018.

PORTO, Lidianne. Você já ouviu falar de Método? Saiba o que é a Metodologia. 2020.
Disponível em: <https://escolaeducacao.com.br/o-que-e-metodologia/>. Acesso em:
01 ago. 2020.

RICHARD, Blum; BRESNAHAN, Cristine. Linux Command Line and Shell Scripting
Bible. 3. ed. USA: Wiley, 2015.

SCHULTZ, Corey P. Kali Linux Cookbook – Effective Penetration Testing Solutions.


2. ed. USA: Packet, 2018

SÊMOLA, Marcos. Gestão da Segurança da Informação. 2. ed. São Paulo: Gen-LTC,


2013.

Auditoria e Testes de Invasão – Página 120 de 121


SINHA, Sanjib. Beginning Ethical Hacking with Kali Linux: Computational Techniques
for Resolving Security Issues. 1. ed. Índia: Apress, 2018.

STALLINGS, Willian. Criptografia e Segurança de Redes: Princípios e Práticas. 6. ed.


São Paulo: Pearson, 2016.

STALLINGS, Willian; BROWN, Lawrie. Segurança de Computadores: Princípios e


Práticas. 2. ed. São Paulo: Elsevier, 2017.

STRAUSS, Anselm; CORBIN, Juliet. Basics of qualitative research: grounded theory


procedures and techniques. Newbury Park, CA: Sage Publications, 1998.

TANENBAUM, Andrew. S. Redes de Computadores. 4. ed. Rio de Janeiro: Editora


Campus (Elsevier), 2011.

TEIXEIRA, Daniel; SINGH, Abhinav; AGARWAL, Monika. Metasploit Penetration


Testing Cookbook. 3. ed. Mumbai: Packt, 2017

Auditoria e Testes de Invasão – Página 121 de 121

Você também pode gostar