Você está na página 1de 32

Vulnerabilidade

Inserir Título Aqui


de
Inserir Título
Sistemas Operacionais
Aqui e
Redes de Computadores
Vulnerabilidades em Sistemas Operacionais

Responsável pelo Conteúdo:


Prof. Me. Almir Meira Alves

Revisão Textual:
Prof.ª Dr.ª Luciene Oliveira da Costa Granadeiro
Vulnerabilidades em Sistemas Operacionais

Nesta unidade, trabalharemos os seguintes tópicos:


• Introdução;
• O Que são Vulnerabilidades;
• Buffer Overflow (Estouro de Buffer
ou Transbordamento de Dados);

Fonte: iStock/Getty Images


• Proposta de Laboratório;
• Ataque Man-In-The-Middle.

Objetivos
• Compreender e abordar as principais características dos ataques que exploram as vulne-
rabilidades em sistemas operacionais;
• Identificar e tipificar vulnerabilidades em sistemas operacionais de redes.

Caro Aluno(a)!

Normalmente, com a correria do dia a dia, não nos organizamos e deixamos para o úl-
timo momento o acesso ao estudo, o que implicará o não aprofundamento no material
trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas.

Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você
poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns
dias e determinar como o seu “momento do estudo”.

No material de cada Unidade, há videoaulas e leituras indicadas, assim como sugestões


de materiais complementares, elementos didáticos que ampliarão sua interpretação e
auxiliarão o pleno entendimento dos temas abordados.

Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de
discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de
propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de
troca de ideias e aprendizagem.

Bons Estudos!
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Contextualização
O objetivo central desta disciplina é a Análise de Vulnerabilidades em Sistemas
Operacionais e Redes. Esta unidade trata de um de seus principais tópicos, que é o
tratamento das Vulnerabilidades em Sistemas Operacionais.

É no sistema operacional que o usuário final sente o resultado de uma brecha de


segurança explorada. Para o profissional de Forense Computacional, tão importante
quanto ter um comportamento de prevenção contra ataques e invasões, é o “pensar
como um hacker”. Esse profissional tem que conhecer o modus operandi do atacan-
te, conhecer suas ferramentas e técnicas de ataque, para estar preparado para uma
possível defesa contra um ataque malicioso a um sistema computacional.

Por tudo isso, a disciplina tem um caráter hands-on, onde serão apresentados:
• O ambiente virtual da máquina atacante;
• Um exemplo de ataque do tipo Man-in-the-middle, onde um sistema operacional é
invadido e seus pacotes são capturados.

O estudo desta terceira unidade servirá para desvendar e estudar os principais


problemas, falhas e vulnerabilidades dos sistemas operacionais utilizados em redes
de computadores.

Já vamos começar! Esteja pronto para aproveitar a experiência! Porque, aqui, a


aprendizagem é completa, na prática, para você aplicar hoje mesmo em sua vida pes-
soal e profissional.

6
Introdução
Todos os dias, recebemos notícias de que um novo tipo de ataque hacker trouxe prejuízos
e problemas para empresas e usuários de computadores, redes e sistemas operacionais.

Quando um hacker, um malware ou um bot (bot: nomenclatura para “robot”, que


é um software que utiliza um conjunto de máquinas para realizar ataques em massa)
consegue explorar uma vulnerabilidade em um elemento de uma rede, seja ele um
servidor, um ativo de rede ou um sistema operacional de usuário final, o impacto pode
ser grande e atingir milhares de pessoas e empresas no mundo todo.

Hoje, existem ferramentas de funcionamento simples, que permitem a pessoas com


algum conhecimento técnico realizar ataques a computadores e redes.

No ano de 2017, um ataque hacker trouxe muita dor de cabeça para milhares de
usuários de sistemas operacionais. O malware WannaCry, que explorou uma vulne-
rabilidade existente no sistema operacional Windows, provocou problemas para cerca
de 300.000 instalações desse sistema operacional, especialmente aqueles que não
estavam atualizados. Esse ataque acessava o computador, criptografava as pastas do
computador e depois exigia o pagamento de um resgate de US$300.00 para “liber-
tar” o computador.

São situações como essas que o profissional de Segurança da Informação e o perito


forense computacional devem reconhecer e estar preparados para enfrentar.

O Que são Vulnerabilidades


Quando uma aplicação de software é desenvolvida, ou quando um sistema ope-
racional é criado ou atualizado, os seus desenvolvedores sempre pensam em tornar
esse software ou sistema livre de ataques. No entanto, mesmo que um determinado
software nunca tenha sofrido um ataque, isso não significa que ele seja livre de vulne-
rabilidades. Todo programa de computador possui vulnerabilidades. Isso é intrínseco
ao desenvolvimento. E isso não significa que o programa seja ruim.

Uma vulnerabilidade é uma fraqueza existente no software, que “pode criar condi-
ções” para que essa fraqueza seja explorada. A identificação de uma vulnerabilidade
não significa o sucesso do hacker.

Mas há situações em que uma vulnerabilidade pode causar prejuízos, muitos deles
bem grandes. Como exemplo, temos o caso de uma vulnerabilidade que ocorreu em
2014 no iCloud, que é a nuvem privada da Apple. Nesse caso, uma vulnerabilidade
existente no sistema de autenticação permitiu um ataque que causou um vazamento
de dados e tornou públicos muitos dados presentes nessa nuvem.

Na sequência, vamos apresentar algumas das vulnerabilidades mais comuns existen-


tes em sistemas operacionais pessoais e para servidores.

7
7
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Buffer Overflow (Estouro de Buffer


ou Transbordamento de Dados)
Um buffer é um local na memória onde podemos armazenar um conjunto de da-
dos. O buffer overflow é uma condição que ocorre quando um programa tenta inserir
mais dados no buffer que ele consegue suportar, causando o “estouro”. Quando isso
ocorre, os dados excedentes sobrescrevem as primeiras posições da memória, causan-
do erros e corrompendo os dados. Também é possível forçar a execução de códigos
maliciosos nessas condições.

Você pode conferir um vídeo muito interessante, que demonstra em uma animação como
funciona o buffer overflow, no link: https://youtu.be/SOoJcrR4Ijo
Esse vídeo tem 4 minutos e vale a pena ser assistido inteiro, com as legendas em Português.

Portabilidade
Atualmente, vivemos a fase dos aplicativos em nuvem (SaaS ou Software as a
Service). Esses aplicativos devem, sempre que for possível, ser multiplataforma,
funcionando em qualquer sistema operacional. Entretanto, não é comum que ocor-
ram implementações inconsistentes em diferentes sistemas operacionais, causando
vulnerabilidades. Um dos casos mais severos são as diferenças nos parâmetros em
questões de segurança, conforme ocorre a mudança de plataforma ou de versões de
sistemas operacionais.

Cross Site Scripting (XSS)


Essa vulnerabilidade atinge servidores WEB, que, por falta de configurações de
hardening e codificação segura, aceitam a injeção de códigos e scripts de terceiros
sem realizar uma validação mais severa. Dessa forma, o servidor WEB torna-se uma
porta para a entrada e a saída para códigos arbitrários, que são executados nas diversas
páginas ou aplicativos do site.

O CERT.BR, que é o Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança


no Brasil, possui um material muito interessante e simples de ser entendido sobre códigos
maliciosos no seguinte link: https://bit.ly/2TVDqcr

Armazenamento de Senhas em Formatos Recuperáveis


Crackers são hackers maliciosos. Eles são sedentos por senhas (dos outros). Por
isso armazenar logins e senhas em arquivos ou formatos que possam ser recuperados

8
por hackers é uma das vulnerabilidades que podem causar os maiores prejuízos para
o usuário final. Quando um login e uma senha são capturados por um hacker, ele
poderá, muitas vezes, acessar o sistema com privilégios administrativos, tendo acesso
a outros recursos sensíveis, produzindo grandes perdas.

Um exemplo dessa vulnerabilidade ocorreu em 2018, quando um Banco Digital


teve seus servidores invadidos e mais de 100.000 contas de clientes tiveram seus da-
dos pessoais e financeiros expostos indevidamente.

Vazamento de Informação
Nos dias atuais, os logs gerados pelas operações realizadas pelos computadores
passaram a ter um valor muito grande. A análise desses logs pode fornecer informa-
ções valiosas. Se um hacker tiver acesso a essas informações, ele poderá utilizá-las
para realizar ataques. Com a criação do Marco Civil da Internet e da Lei Geral de Pro-
teção de Dados (LGPD), as empresas tornaram-se responsáveis pelo armazenamento
seguro destas informações. Por isso o investimento em tecnologia e a capacitação de
pessoal técnico devem ser constantes.

Muitos hackers também expõem publicamente informações e documentos a que


tem acesso de forma indevida.

Neste vídeo, é apresentada uma rápida reportagem sobre o site Wikileaks, que vazou
milhares de documentos governamentais e corporativos nos últimos anos, a partir do
acesso indevido de hackers a sites e sistemas sigilosos dessas organizações. O link para o
vídeo é o seguinte: https://youtu.be/e4_xLXJD2ws
O vídeo possui 02:30 minutos.

Vulnerabilidades Recentes em Sistemas Antigos


Uma nova onda de malware que se autopropaga pode provocar prejuízos por
conta de duas novas vulnerabilidades: uma no RDP (serviço de desktop remoto) do
Windows e outra falha que atinge máquinas Linux com o serviço SAMBA.

A vulnerabilidade do RDP afeta máquinas com Windows XP e Windows 2003


Server, ambos não suportados pela Microsoft. O nome do Exploit é EsteemAudit.
Cerca de 7% dos computadores pessoais ainda utilizam a versão XP do Windows e
cerca de 600 mil servidores web ainda estão rodando o Windows Server 2003.

Já o SAMBA é um serviço do Linux que torna possível a “conversa” entre arquivos


e pastas entre computadores Windows e Linux. A vulnerabilidade encontrada permite
a execução de código remoto em dispositivos Linux e a criação de um “wormable
malware” – um software malicioso que pode automaticamente infectar outros dispo-
sitivos conectados em rede.

9
9
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Algumas Entidades Importantes


CIS: Center for Internet Security
O Center for Internet Security é uma organização que ajuda a promover a melho-
ria da segurança da informação por meio da Colaboração.

Center for Internet Security: http://www.cisecurity.org/

CVE: Commom Vulnerabilities and Exposures (CVE)


O CVE é a principal base de dados de informações sobre falhas de segurança e vulnerabi-
lidades. Por meio do CVE, é possível identificar as falhas mais recentes que foram reportadas.

Acesse o site do CVE, clique em “Search CVE List” e faça uma busca pelos termos “WINDOWS 10”
e depois por “LINUX UBUNTU” – Veja se os resultados podem fazer você mudar de opinião sobre
Sistemas Operacionais Seguros.
O site do CVE é o: https://cve.mitre.org/

STIG: Security Technical Implementation Guide (STIG)


Segundo o site1, STIG é uma metodologia padronizada para uma instalação e
manutenção segura de software e hardware. Esses guias, quando implementados,
ajudam a reduzir ainda mais as vulnerabilidades. O termo foi cunhado em 1998 pelo
DISA, que cria documentos de configuração em apoio ao Departamento de Defesa
dos Estados Unidos (DoD). As diretrizes de implementação incluem processos adminis-
trativos recomendados e abrangem o ciclo de vida dos dispositivos.

IASE – Information Assurance Support Environment : https://bit.ly/2G4cWmU

Proposta de Laboratório
Anteriormente, nesta disciplina, foi apresentado um cenário de virtualização de
sistemas operacionais, que será usado nesta unidade para a realização das atividades
práticas. Esse cenário é novamente apresentado na figura 1.

1 https://www.perallis.com/news/voce-sabe-o-que-e-cis-cve-e-stig-em-seguranca-de-dados

10
Sistema Atacante
Kali Linux

Ambiente de
Virtualização

Sistema Operacional Sistema Operacional


Linux Windows
Figura 1 – Ambiente de virtualização e máquinas
virtuais para atividades desta disciplina
Fonte: Cedida pelo Autor

Na primeira unidade da disciplina, demonstramos os procedimentos de instalação


e criação das máquinas virtuais dos sistemas Linux e Windows.

Nesta unidade, iremos demonstrar o procedimento de criação da máquina virtual


do Kali Linux, que será o sistema atacante. O Kali Linux é uma das principais dis-
tros de Linux voltadas para a área de Segurança da Informação.

Anteriormente, nesta disciplina, você pode consultar o procedimento para criar


uma máquina virtual básica, que é a base para a instalação de um sistema operacio-
nal virtual.

Na próxima seção, você verá o procedimento de instalação da distro Kali Linux.

11
11
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Instalação do Kali Linux


Para a instalação do Kali Linux, você deve criar a máquina virtual básica. Após rea-
lizar esse procedimento, você deverá identificar uma tela de inicialização de instalação
do sistema operacional, similar ao mostrado na figura 2.

Figura 2 – Tela inicial para a instalação do Kali Linux em ambiente virtual


Fonte: Cedida pelo Autor

Ao clicar na opção “Play virtual machine”, o sistema operacional começará o


processo de instalação. Após o carregamento de drivers iniciais, será mostrada a tela
de seleção do tipo de instalação, conforme mostrado na figura 3.

Figura 3 – Seleção do tipo de instalação do Kali Linux


Fonte: Cedida pelo Autor

Nesse exemplo de instalação, foi selecionada a instalação gráfica, para que o pro-
cesso possa ser todo ilustrado e visualizado.

12
A etapa seguinte é a seleção do idioma de instalação. No nosso exemplo, foi esco-
lhido o idioma Português do Brasil, conforme mostrado na figura 4.

Figura 4 – Seleção de idioma da instalação


Fonte: Cedida pelo Autor

Tão importante quanto a seleção do idioma da instalação é a seleção do tipo de


teclado. No nosso exemplo, foi selecionado o teclado Português Brasileiro, conforme
mostrado na figura 5.

Verifique qual o mapa do seu teclado. A escolha do mapa errado pode trazer alguns proble-
mas para utilizar teclas especiais, como símbolos e acentuação.

Figura 5 – Escolha do idioma do teclado


Fonte: Cedida pelo Autor

Após a seleção do teclado, a instalação irá prosseguir. Esse processo leva alguns
minutos. Tenha paciência e aguarde o processo finalizar. Esse processo é mostrado
na figura 6.

Figura 6 – Instalação de componentes do Kali Linux


Fonte: Cedida pelo Autor

13
13
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Após a instalação de um conjunto de componentes do Linux, a instalação passará


para sua fase de rede. Nessa fase, serão solicitadas algumas informações que irão iden-
tificar o Kali Linux na rede e definirão sua conectividade. A figura 7 mostra o campo
de nomeação do sistema operacional.

Figura 7 – Definição do hostname do sistema


Fonte: Cedida pelo Autor

Após a definição do hostname, a instalação irá solicitar um nome de domínio. Essa


opção é utilizada apenas nas situações em que existe um domínio na rede, como, por
exemplo, o uso do Active Directory no Windows Server ou a utilização desta máquina
como servidora de rede.
Se esse não for o seu caso, deixe esse campo em branco, conforme recomendado
na figura 8.

Figura 8 – Definindo o nome de domínio


Fonte: Cedida pelo Autor

A próxima etapa é de fundamental importância. É o momento em que defini-


mos a senha de root. Essa será a senha do usuário com privilégios administrativos.
Sua senha deverá ser complexa o suficiente para torná-la difícil para outras pessoas,
mas simples para você. A tela de definição da senha de root é mostrada na figura 9.

Figura 9 – Definição da senha de root


Fonte: Cedida pelo Autor

14
Após a definição da senha de root, você deve indicar a Timezone do relógio do seu
sistema. No nosso exemplo, foi utilizada a Hora Oficial de Brasília, conforme mostra-
do na figura 10.

Figura 10 – Definição da Timezone


Fonte: Cedida pelo Autor

Em seguida, você deve informar o esquema de particionamento dos discos para sua
instalação. Se você for utilizar somente esse sistema operacional no seu computador e
ele tiver apenas uma partição, você pode utilizar a primeira opção, para usar o disco
inteiro, conforme mostrado na figura 11.

Figura 11 – Esquema de particionamento dos discos


Fonte: Cedida pelo Autor

Por se tratar de uma instalação em ambiente virtualizado, você deve indicar a par-
tição informada durante a criação da máquina virtual básica. No nosso exemplo, foi
criada uma partição virtual de 20GB. A figura 12 mostra essa partição, que foi esco-
lhida para a instalação.

Figura 12 – Seleção da partição da instalação do Kali Linux


Fonte: Cedida pelo Autor

Após a escolha da partição da instalação principal, você ainda terá a opção de par-
ticionar o disco em partições menores, para isolar alguns diretórios. No nosso caso, foi

15
15
UNIDADE
Vulnerabilidades em Sistemas Operacionais

escolhida a opção em que todos os arquivos serão instalados em uma única partição,
conforme mostrado na figura 13.

Figura 13 – Esquema de particionamento em função dos diretórios principais


Fonte: Cedida pelo Autor

Após definir toda a cadeia de particionamento, você deve escrever as mudanças no


disco, conforme mostrado na figura 14.

Figura 14 – Escrever as mudanças no disco


Fonte: Cedida pelo Autor

Na sequência, é apresentado o resumo do esquema de partições. Selecione a opção


para escrever as mudanças no disco (opção SIM), conforme mostrado na figura 15.

Figura 15 – Confirmação do esquema de particionamento


Fonte: Cedida pelo Autor

A instalação do sistema operacional será reiniciada. Esse processo leva alguns mi-
nutos. A figura 16 mostra o andamento da instalação.

16
Figura 16 – Andamento da instalação do sistema
Fonte: Cedida pelo Autor

Após a instalação do sistema, ele deve estar preparado para ser atualizado e que
pacotes possam ser instalados. Isso é feito por meio de repositórios, também cha-
mados de Espelhos de Rede. A tela apresentada na figura 17 mostra essa opção de
escolha de um espelho de rede. Escolha a opção SIM e continue com sua instalação.

Figura 17 – Escolha de um espelho de rede


Fonte: Cedida pelo Autor

A instalação irá prosseguir. A figura 18 mostra o andamento da configuração de um


espelho de rede e do progresso da instalação do sistema.

Figura 18 – Progresso de instalação do sistema operacional


Fonte: Cedida pelo Autor

Além da escolha de um espelho de rede, é importante escolher o Boot Loader do


sistema operacional. No caso das distros de Linux, o GRUB é a opção mais utilizada.
A figura 19 mostra a tela de seleção de instalação do GRUB.

Figura 19 – Instalação do GRUB


Fonte: Cedida pelo Autor

17
17
UNIDADE
Vulnerabilidades em Sistemas Operacionais

O GRUB deve ser instalado em uma partição que permita que ele seja usado na ini-
cialização. Como nossa instalação é feita em uma partição única, selecione a opção /
dev/sda, que corresponde à partição de inicialização, conforme mostrado na figura 20.

Figura 20 – Escolhendo a partição de instalação do GRUB


Fonte: Cedida pelo Autor

A instalação irá prosseguir até a sua finalização. A figura 21 mostra o progresso


da instalação.

Figura 21 – Parte final da instalação do Kali


Fonte: Cedida pelo Autor

Ao final da instalação, é mostrada a tela apresentada na figura 22.

Figura 22 – Finalização da instalação do Kali


Fonte: Cedida pelo Autor

O sistema será, então, reiniciado. A figura 23 mostra a tela de início de carrega-


mento do Kali após sua instalação.

18
Figura 23 – Tela inicial de carregamento do Kali Linux
Fonte: Cedida pelo Autor

O sistema será carregado. Em seguida, será solicitado o nome de usuário, conforme


mostra a figura 24. No caso do Kali, o usuário padrão é o root.

Figura 24 – Entre com o usuário


Fonte: Cedida pelo Autor

O Kali Linux mostra o usuário e a senha em telas consecutivas. A figura 25 mostra


a tela de inserção da senha.

Figura 25 – Entre com a senha do usuário root


Fonte: Cedida pelo Autor

Por fim, após entrar com a senha, a tela principal do Kali será mostrada, conforme
ilustrado na figura 26.

19
19
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Figura 26 – Tela principal do Kali Linux


Fonte: Cedida pelo Autor

Na próxima seção, será mostrado um exemplo de utilização do Kali Linux para a


realização de um ataque do tipo Man-in-the-middle.

Ataque Man-In-The-Middle
Nos dias atuais, existem milhares de ferramentas de ataques a sistemas computacionais.

Mesmo pessoas com potencial técnico limitado (Newbees) conseguem reali-


zar alguns tipos de ataques hackers. Em poucos minutos, com poucas linhas de
comando ou uma ferramenta gráfica adequada, é possível parar serviços, captu-
rar tráfego, descobrir senhas ou quebrar a segurança de redes sem fio ou cabea-
das. Em muitas empresas, existem regras e políticas de segurança bem definidas.
No entanto, alguns itens podem ser negligenciados, muitas vezes, por desconheci-
mento de suas vulnerabilidades.

• Sua empresa possui câmeras de monitoramento?


• Qual é a política de senhas delas? Existe troca periódica de senhas?
• Essas câmeras, se forem IP, estão inseridas no seu Active Directory?
• Existem regras de Políticas de Grupo (GPO) aplicadas a elas?

Esse é apenas um exemplo de como um hacker pode explorar um elo fraco de segurança.

O hacker ou cibercriminoso pode ser a pessoa ao seu lado... Ou pode ser alguém
distante milhares de quilômetros. Quando o hacker está “do lado de dentro”, pode ser
mais fácil para ele conseguir acessos privilegiados e “escalar” seu poder dentro da rede.

Mas, mesmo se estiverem distantes, os hackers podem entrar “no meio do circui-
to”. Nesse caso, temos os ataques conhecidos como Man-in-the-middle.

20
A seguir, iremos contextualizar esse tipo de ataque e apresentar uma situação prá-
tica de ataque utilizando essa técnica.

Este é um dos ataques mais populares e que trazem mais prejuízos para os siste-
mas atacados.

Neste modelo, o atacante fica localizado no meio de uma transmissão, entre a víti-
ma e o sistema principal.

Servidor

Vítima

Atacante
Figura 27

No nosso exemplo, o atacante está localizado entre a máquina da vítima e um site


que ele irá acessar.

Imagine que você é o atacante (hacker) e precisa interceptar um acesso à Internet


de um usuário desse site. Você precisará conhecer algumas informações sobre a ví-
tima, como o seu endereço IP. Essa informação poderá ser conseguida com técnicas
como a Engenharia Social.

A Engenharia Social representa um conjunto de técnicas que o hacker utiliza para


“ganhar a confiança da vítima” e conseguir informações que o ajudem ou lhe viabili-
zem acessar sistemas computacionais.

De posse do endereço IP da vítima, você deverá escolher uma ferramenta de ataque


que consiga “sniffar”, ou seja, “escutar o tráfego”. O ETTERCAP é um exemplo de
ferramenta de sniffing de rede.

Além da ferramenta de sniffing, o atacante precisará também de uma ferramen-


ta de captura de pacotes. O TCPDUMP é um exemplo de ferramenta da captura
de pacotes.

Por fim, o atacante precisará apenas conhecer os passos e comandos necessários


para iniciar o ataque.

21
21
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Descrição do Procedimento de Ataque Man-In-The-Middle


Para demonstrar como ocorre um ataque do tipo Man-in-the-middle, vamos to-
mar como exemplo um computador que precisa acessar um site de uma rede social.
Esse computador possui um IP e a sua rede possui um gateway, que é um roteador.
Na figura 28, estão descritos os primeiros passos do procedimento e os exemplos de
endereços IPs da vítima e do gateway da rede.

Figura 28
Fonte: Cedida pelo Autor

Conforme descrito na figura 28, enquanto a máquina da vítima faz o acesso à rede
social, o computador atacante irá realizar a captura de pacotes para encontrar uma
brecha de segurança.
A figura 29 mostra o terminal do Kali Linux e a tela da ferramenta Ettercap, que
fará o papel de sniffer da rede.

Figura 29 – Terminal do Kali e ferramenta


Ettercap para Man-in-the-middle
Fonte: Cedida pelo Autor

Para realizar o ataque completo, é necessário aplicar alguns comandos no terminal


do Kali Linux e também selecionar algumas ações que devem ser realizadas no
Ettercap. A figura 30 mostra o passo a passo a ser realizado.

22
Figura 30 – Passo-a-passo dos comandos e ações do ataque man-in-the-middle
Fonte: Cedida pelo Autor

O primeiro comando apresentado na figura 30 permite o encaminhamento de


pacotes entre as interfaces de rede do Kali Linux. Isso facilita o fluxo de pacotes que
passa pelas interfaces e cria condições para sua captura.

A figura 31 mostra a primeira ação a ser realizada no Ettercap. Devemos selecio-


nar a opção UNIFIED SNIFFING, para que seja apresentada a janela onde iremos
escolher a interface que iremos “escutar”.

Figura 31 – Iniciando a utilização do Ettercap


Fonte: Cedida pelo Autor

Na sequência, a figura 32 mostra a tela de seleção da interface de entrada dos pa-


cotes. No exemplo, foi escolhida a interface eth0.

Figura 32 – Tela de escolha da interface de entrada dos pacotes


Fonte: Cedida pelo Autor

Após a escolha da interface de entrada dos pacotes, devemos definir os “alvos do


ataque”. Esses alvos devem ser o IP da máquina vítima e o IP do gateway da rede da

23
23
UNIDADE
Vulnerabilidades em Sistemas Operacionais

vítima. A figura 33 apresenta a opção CURRENT TARGETS, que deve ser seleciona-
da, para depois inserirmos os IPs da vítima.

Figura 33 – Current targets


Fonte: Cedida pelo Autor

Devemos, então, adicionar os alvos. A figura 34 mostra a tela onde devemos inserir
as informações da vítima.

Figura 34
Fonte: Cedida pelo Autor

Clicando em ADD na figura 34, teremos acesso ao popup de seleção do IP do


Gateway da vítima. A figura 35 ilustra este exemplo.

Figura 35 – Seleção do IP do gateway da vítima


Fonte: Cedida pelo Autor

Na sequência, devemos inserir o IP do computador da vítima. A figura 36 mostra


um exemplo desta configuração.

Figura 36 – Seleção do IP da máquina vítima


Fonte: Cedida pelo Autor

24
Após inserir essas informações, temos os alvos definidos. A figura 37 mostra os
alvos (Targets) do ataque.

Figura 37 – Alvos do ataque definidos


Fonte: Cedida pelo Autor

Agora, podemos iniciar a “escuta do tráfego”. Para fazer isso, devemos iniciar o pro-
cesso de sniffing das interfaces do alvo. A figura 38 mostra esse comando no Ettercap.

Figura 38 – Start Sniffing


Fonte: Cedida pelo Autor

Para realizar o ataque Man-in-the-middle, o computador atacante deve utilizar algu-


ma técnica que engane a rede de destino. Uma das técnicas mais eficientes para fazer
isso é o ARP Poisoning, que é uma técnica em que um computador hacker envia men-
sagens ARP (Address Resolution Protocol) que permitam associar seu endereço MAC
(endereço físico da placa de rede) ao endereço IP de outro host, como por exemplo, o
endereço IP do roteador da rede da vítima, fazendo com que todo o tráfego seja enviado
para o endereço IP do atacante ao invés do endereço IP do roteador.
A figura 39 mostra como selecionar o ARP Poisoning no Ettercap.

Figura 39 – Selecionando o ARP Poisoning no Ettercap


Fonte: Cedida pelo Autor

25
25
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Para que possamos alcançar computadores remotos, devemos selecionar essa op-
ção, conforme mostra a figura 40.

Figura 40 – Sniff remote connections


Fonte: Cedida pelo Autor

A base do ataque está pronta! Agora, o computador atacante está “escutando” a


máquina da vítima. Para que seja possível capturar o tráfego e analisá-lo, é preciso que
a vítima acesse algum conteúdo na Internet.

No Kali Linux, utilizaremos a ferramenta TCPDUMP, para capturar os pacotes do


computador da vítima e mostrar o resultado no terminal do Kali. A figura 41 mostra
o comando que deve ser executado no terminal do Kali.

Figura 41 – Comando do TCPDUMP


Fonte: Cedida pelo Autor

O comando executado no terminal do Kali pode ser visto na figura 42.

Figura 42 – TCPDUMP executado no terminal do Kali


Fonte: Cedida pelo Autor

Agora, é preciso ter paciência, pois a captura dos pacotes depende de uma ação da
vítima, como, por exemplo, acessar um site.

Como estamos utilizando um cenário acadêmico, vá até a máquina cliente e acesse


um site qualquer, conforme orientação da figura 43.

Figura 43 – Acesse um site para gerar tráfego


Fonte: Cedida pelo Autor

26
Em nosso exemplo, foi aberta uma janela para acessar o site da rede social Facebook,
conforme mostrado na figura 44.

Figura 44 – Acesso à página do Facebook


Fonte: Cedida pelo Autor

No momento em que a página é acessada, o tráfego é redirecionado para a máqui-


na do atacante, que coleta os pacotes. Siga a recomendação da figura 45.

Figura 45 – Recomendação para verificar o terminal do Kali


Fonte: Cedida pelo Autor

Após alguns segundos, o terminal do Kali irá apresentar os pacotes coletados durante
o ataque Man-in-the-middle. Se você conseguir ver as mensagens passando pelo termi-
nal do Kali, o ataque foi bem-sucedido. Isso pode ser visto na figura 46.

Figura 46 – Ataque man-in-the-middle bem sucedido


Fonte: Cedida pelo Autor

27
27
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Agora, o mesmo procedimento pode ser verificado quando outro site é acessado.
Na figura 47, é mostrado um acesso ao site do Universo On-line.

Figura 47 – Acesso ao site do Universo Online


Fonte: Cedida pelo Autor

E, na figura 48, é mostrada a captura de pacotes durante o acesso ao site do Uni-


verso On-line.

Figura 48 – Captura de pacotes do segundo site acessado


Fonte: Cedida pelo Autor

Esse exemplo mostra que é simples realizar um ataque. Em situações reais, há pou-
cas diferenças em relação a esse exemplo. Talvez a maior dificuldade seja conseguir o
endereço IP da vítima. Um pouco de trabalho e alguma paciência podem ser suficien-
tes para conseguir essa informação.

E se esse ataque acontecesse com você, qual seria o impacto desse vazamento de
dados? E como ficaria a sua reputação digital se isso fosse tornado público? E como
ficaria a reputação digital da sua empresa?

Estamos chegando ao final da Unidade de nossa disciplina. É importante revisar os assun-


tos apresentados nesta unidade e realizar as atividades propostas.
Siga com seus estudos, para que você se torne um profissional mais capacitado e prepara-
do para lidar com as ameaças cibernéticas!

28
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:

Sites
Cybrary Ethical Hacking Free Course
O Cybrary é uma plataforma de capacitação em cibersegurança e possui muitos cursos
gratuitos no formato de videoaulas. No link abaixo, é apresentado o curso de Ethical
Hacking, que aborda as técnicas apresentadas nesta unidade.
https://bit.ly/1J6jhd1
CERT.BR
CERT.BR - Criando um Grupo de Respostas a Incidentes de Segurança em Computadores:
Um Processo para Iniciar a Implantação.
https://bit.ly/2RuoF3w

Livros
Understanding Network Hacks – Attack and Defense with Python
Autor: Bastian Ballmann.
Editora: Springer.

Vídeos
Ataque Man-In-The-Middle Com Kali Linux e Ettercap
Vídeo do professor autor realizando o laboratório do ataque Man-in-the-middle.
https://youtu.be/HZptnYUP6sg
Buffer Overflow para pentesters
BUFFER OVERFLOW PARA PENTESTERS – Vídeo que demonstra, na prática, como
criar uma ferramenta em Python para a realização de pentest.
https://youtu.be/59_gjX2HxyA

29
29
UNIDADE
Vulnerabilidades em Sistemas Operacionais

Referências
COMER, D. Interligação de Redes com TCP/IP. 5. ed. São Paulo: Campus, 2006.

STALLINGS, W.; ROSS, K. Redes de Computadores e a Internet. 5. ed. São Paulo:


Pearson, 2010.

TANENBAUM, A. S. Sistemas Operacionais Modernos. 4. ed. São Paulo: Pearson,


2011 (e-book)

Sites visitados
Cybrary - <https://www.cybrary.it/course/ethical-hacking/>

CERT.BR - <https://www.cert.br/certcc/csirts/Creating-A-CSIRT-br.html>

30

Você também pode gostar