Buscar

Ferramentas Hackers - Exploração de Vulnerabilidades

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

AULA 3
 
 
 
 
 
 
 
 
 
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
1 of 24 30/11/2020 17:38
 
 
Prof. Sandro de Araujo
CONVERSA INICIAL
Um profissional hacker ético deve planejar as suas atividades antes de começar qualquer trabalho
que envolva testes de intrusão. Portanto, será apresentada a importância de se traçarem os objetivos
e de se documentar o escopo dos testes.
Normalmente, as portas e as senhas são os principais alvos dos testes e nesta aula veremos os
conceitos e as utilidades das portas e dos protocolos TCP e UDP, e algumas maneiras de se obter
acesso na autenticação de um sistema, bem como investigar vulnerabilidades em plataformas,
servidores e sistemas operacionais.
Essa aula será dividida em cinco temas:
1. Planejamento para os testes – Parte 1;
2. Planejamento para os testes – Parte 2;
3. Portas;
4. Senhas;
5. Conhecendo o Metasploit.
TEMA 1 – PLANEJAMENTO PARA OS TESTES – PARTE 1
1.1 INICIANDO UM PLANEJAMENTO DE TESTES
Sendo um profissional hacker ético, planeje as suas atividades antes de começar o trabalho. É
importante traçar objetivos e documentar o escopo dos testes, determinando parâmetros e
conhecendo bem as ferramentas que serão usadas para cada teste.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
2 of 24 30/11/2020 17:38
Tenha metas
Estabelecer metas no seu planejamento é importante para não ficar eternamente testando os
sistemas. Abaixo uma lista das principais atividades a serem executadas para a criação de um bom
planejamento:
1. Tendo em mente que a meta mais importante é a descoberta das vulnerabilidades nos
sistemas testados e corrigi-las ou sugerir correções para a equipe de TI da empresa, essa meta
importante é o nosso objetivo geral;
2. Além do objetivo geral, estabeleça também os objetivos específicos: os objetivos
específicos são os passos (metas) que, quando concluídos, atinge-se o objetivo geral;
3. Crie um cronograma com datas de início e fim da duração dos testes. Isso é importante
para a documentação final;
4. Não se esqueça de detalhar o máximo possível os itens 1, 2 e 3 e assinar junto com o
contratante antes de começar os testes. Documente tudo e tenha alguém da empresa
envolvido;
5. Faça perguntas para definir melhor as metas. Algumas perguntas que poderão ser feitas:
a. O teste de penetração vai atender à missão da empresa?
b. Quais informações deverão ser protegidas? Exemplo: propriedade intelectual,
informações de clientes, de funcionários, entre outras;
c. Quando tempo e dinheiro a empresa vai investir no pentest?
6. Depois de traçar os seus objetivos, documente todos os passos que serão
realizados. Outras perguntas poderão ser feitas para ajudar na confecção da
documentação, como:
a. Quando irá começar o pentest?
i. O pentest será no modelo cego (sem informações sobre os sistemas que serão
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
3 of 24 30/11/2020 17:38
testados)?
ii. Ou será baseado no modelo de conhecimento (quando se obtém como o
contratante algumas informações específicas sobre o sistema)?
iii. Vai envolver avaliações de segurança física e ou engenharia social (Algumas
empresas não gostam disso)?
iv. Vai notificar os interessados sobre o que fará e quando fará?
v. Acrescente também outras perguntas que surgirem no decorrer do projeto.
1.2 ESCOLHA DOS SISTEMAS PARA OS TESTES DE VULNERABILIDADES
Não é viável testar todos os sistemas ao mesmo tempo. Testes dessa natureza são complexos e
podem causar sérios problemas para a empresa. O ideal é fracionar o escopo do planejamento em
partes menores, definindo quais sistemas serão testados tendo como parâmetro uma análise de
riscos bem detalhada. A seguir, há uma lista de perguntas que podem ajudá-lo na análise dos ricos:
Quais são os sistemas mais críticos (importantes)?
Quais dos sistemas podem trazer sérios problemas se forem acessados sem autorização?
Quais aparentam ser vulneráveis?
Quais dos sistemas que não têm documentação, são raramente administrados ou sobre os quais
há poucas informações?
Com a resposta das perguntas acima é possível escrever um bom planejamento e definir os
objetivos de cada teste. Após a definição dos objetivos deve-se listar os sistemas que serão testados.
TEMA 2 – PLANEJAMENTO PARA OS TESTES – PARTE 2
Após listar todos os sistemas que passarão pelas baterias de testes, deve-se também considerar
os dispositivos a seguir como parte da listagem no pré-teste.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
4 of 24 30/11/2020 17:38
Roteadores, switches e wireless;
Sistemas que usam a arquitetura cliente-servidor;
Servidores (exemplo: banco de dados, impressão, arquivos, web, entre outros);
Firewalls e outros dispositivos de segurança;
Estações de trabalho e notebooks;
Dispositivos móveis como celulares e tablets;
Entre outros.
A realização de testes para encontrar vulnerabilidades vai depender do porte da infraestrutura da
empresa. Exemplo: se a rede testada for de pequeno porte, é interessante testar tudo. As tomadas de
decisões são feitas conforme o que faz mais sentido.
Os testes podem começar pelos sistemas mais vulneráveis e escalando para os menos
vulneráveis. A seguir, temos algumas perguntas para ajudá-lo na tomada de decisão:
1. Qual é a localidade da rede em que se encontram os computadores e ou servidores que
rodam os aplicativos da empresa?
2. Quais sistemas operacionais e aplicativos estão rodando nos computadores e ou
servidores?
3. Qual é a quantidade e quais informações confidenciais estão armazenadas nos sistemas?
Continue filtrando e melhorando sua metodologia de trabalho. As perguntas acima são só um
início, mas na medida em que for se aperfeiçoando, surgirão novas perguntas a serem respondidas
para uma tomada de decisão mais consistente.
2.1 PADRÕES DE TESTES
É muito fácil travar um sistema, basta cometer uma falha, um deslize ou um simples erro nos
testes para travar um ou todos os sistemas e criar uma dor de cabeça coletiva. Para evitar transtornos,
crie, documente, padronize e faça um cronograma geral dos testes.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
5 of 24 30/11/2020 17:38
Na documentação, é importante descrever com detalhes os testes que serão realizados, como
serão realizados e o que fazer quando uma vulnerabilidade for encontrada. Tenha certeza de que os
testes afetem o mínimo possível o andamento dos processos da empresa. Se for possível, deve-se
notificar a operadora de internet da empresa e o serviço de hospedagem sobre os testes que serão
realizados, pois assim não vão impedir e interferir na realização dos testes caso detectem algo
suspeito.
O cronograma deve conter as datas, a duração e os horários de cada teste. A tabela 1 traz um
exemplo de cronograma de testes.
Tabela 1 – Exemplo de cronograma
PENTESTER TESTE REALIZADO INÍCIO DO TESTE FINAL ESTIMADO DO TESTE
Sandro de Araujo Varrer a rede em busca de vulnerabilidades 16/10/2019 16/10/2019
Sandro de Araujo Varrer os servidores em busca de vulnerabilidades 17/10/2019 17/10/2019
Sandro de Araujo Explorar as vulnerabilidades da rede. 18/10/2019 18/10/2019
Sandro de Araujo Explorar as vulnerabilidades da rede. 18/10/2019 18/10/2019
Um cronograma mantém as coisas transparentes e passa credibilidade para o resultado final no
laudo técnico.
Outra coisa interessante de se fazer é usar o log do sistema para fornecer evidências dos testes
realizados. No Linux você pode fazer isso utilizando o comando script.
O comando script servepara salvar em um arquivo de texto tudo que é exibido no console. Isso é
útil para gravar todos os comandos digitados para consultas futuras, além de auxiliar na depuração
de scripts e criação de scripts para automatizar tarefas (Agility, 2016).
2.2 USANDO O COMANDO SCRIPT
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
6 of 24 30/11/2020 17:38
Seu uso é muito simples. Para inicializar, digite script seguido do caminho do arquivo em que
deseja salvar. Conforme apresentado no exemplo abaixo:
sandro@uninter:~$ script  /home/arquivoCaptura.txt
Para parar a captura digite o comando exit:
sandro@uninter:~$ exit
Todos os comandos digitados e suas respectivas saídas serão gravados no arquivo especificado,
no nosso caso será o “arquivoCaptura.txt”.
A seguir é apresentado um exemplo prático:
sandro@uninter:~$ script /home/exemploCaptura.txt
Script started, file is /home/exemploCaptura.txt
sandro@uninter:~$pwd
/home/sandro
sandro@uninter:~$ echo -e “UNINTER \n CENTRO UNIVERSITÁRIO INTERNACIONAL
UNINTER
CENTRO UNIVERSITÁRIO INTERNACIONAL
sandro@uninter:~$ exit
exit
Script done, file is /home/exemplo_captura.txt
Verificando o que foi gravado:
sandro@uninter:~$ cat /home/exemploCaptura.txt
A seguir, o conteúdo do arquivo exemploCaptura.txt
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
7 of 24 30/11/2020 17:38
sandro@uninter:~$ script /home/exemploCaptura.txt
Script started, file is /home/exemploCaptura.txt
sandro@uninter:~$pwd
/home/diego
sandro@uninter:~$ echo -e “UNINTER \n CENTRO UNIVERSITÁRIO INTERNACIONAL
UNINTER
CENTRO UNIVERSITÁRIO INTERNACIONAL
sandro@uninter:~$ exit
exit
Script done, file is/home/exemploCaptura.txt
Com o comando script estará tudo registrado, com horário e data de início do teste, bem como
as informações do que foi realizado.
Portanto, o comando script pode ser usado para cada teste realizado, a fim de ter todos os
registros para compor o relatório final e se proteger de eventuais problemas que não tenha
cometido. Para o propósito de testes de vulnerabilidades, pode-se realizar a varredura em uma rede,
servidor e/ou um computador, iniciar o script e finalizar no momento em que terminar a varredura.
Quando explorar suas vulnerabilidades, inicia-se outro script. Então temos, para cada atividade e ou
teste, um script específico.
Outro jeito de registrar os testes, só que mais trabalhoso, e garantir a segurança e catalogar
evidências para a documentação é gravar a própria tela.
O objetivo é testar os sistemas informáticos a partir de locais que cibercriminoso atacaria. Não há
como prever se o ataque de um cibercriminoso será de dentro ou fora da rede, portanto realize os
testes em ambientes internos e externos.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
8 of 24 30/11/2020 17:38
Para criar um cenário, deve-se pensar no máximo de possibilidades, independentemente de
intenção humana ou causa observável. O importante é conseguir ver ou prever uma falha que a
equipe de TI não conseguiu ver, seja por falta de experiência ou por descuido. A seguir, alguns
exemplos de hipóteses que vale a pena observar:
No momento dos testes, a rede e ou pessoas podem não estar disponíveis. Portanto precisa-se
descobrir qual é o momento em que haverá disponibilidade para o ataque;
Necessidade de ter ferramentas adequadas para o teste. Caso se depare com um teste
específico do qual não tem uma ferramenta no momento, terá que fazer uma pesquisa
minuciosa ou desenvolver uma;
Testar as ferramentas antes de aplicar nas empresas para ter a certeza de que não vai travar
sistema. Sempre usar as ferramentas tome muito cuidado e se dedique em conhecê-las bem
para saber usá-las;
Já descobrir todos os riscos! Só se você for uma criatura divina da tecnologia. Continue
formulando novas hipóteses para minimizar o máximo dos erros em uma intrusão.
É importante conhecer bem os testes que se deseja realizar para ter várias ferramentas à
disposição. É falta de profissionalismo deparar com um teste que precisa ser realizado e não ter a
ferramenta para tal. Parece repetitivo, mas é importante conhecer o que cada ferramenta faz e suas
limitações. Para isso, a documentação do desenvolvedor e sua participação em fóruns que discutem
sobre a ferramenta vai ajudar muito no aprendizado.
TEMA 3 – PORTAS
E comum escutar em um ambiente de TI que instalar um firewall é uma boa maneira de proteger
a rede de computadores, já que ele controla o uso das portas. Para entender melhor os conceitos e
utilidades dessas portas, veremos uma descrição dos protocolos TCP e UDP.
3.1 PROTOCOLO TCP
A comunicação pela internet é feita, basicamente, por meio de protocolos, sendo o TCP
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
9 of 24 30/11/2020 17:38
(Transmission Control Protocol), um dos mais importantes deles. Isso porque o TCP está incluído no
conjunto de protocolos que formam o TCP/IP, a base de comunicação via dados de toda a internet
(INFO WESTER, 2019).
De acordo Info Wester (2019), as principais características do TCP são:
Garantir a entrega de datagramas IP:  esta talvez seja a principal função do TCP, ou seja,
garantir que os pacotes sejam entregues sem alterações, sem terem sido corrompidos e na
ordem correta. O TCP tem uma série de mecanismos para garantir esta entrega;
Executar a segmentação e o reagrupamento de grandes blocos de dados enviados pelos
programas, garantir o sequenciamento adequado e a entrega ordenada de dados
segmentados: essa característica refere-se ao recurso de dividir grandes arquivos em pacotes
de dados menores e transmitir cada pacote separadamente. Os pacotes podem ser enviados
por caminhos diferentes e chegar fora de ordem. O TCP tem mecanismos para garantir que, no
destino, os pacotes sejam ordenados corretamente, antes de serem entregues ao programa de
destino;
Verificar a integridade dos dados transmitidos usando cálculos de soma de verificação: o
TCP faz verificações para garantir que os dados não foram alterados ou corrompidos durante o
transporte entre a origem e o destino;
Enviar mensagens positivas dependendo do recebimento bem-sucedido dos dados. Ao
usar confirmações seletivas, também são enviadas confirmações negativas para os dados
que não foram recebidos: no destino, o TCP recebe os pacotes de dados, verifica se estão ok e,
em caso afirmativo, envia uma mensagem para a origem, confirmando cada pacote que foi
recebido corretamente. Caso um pacote não tenha sido recebido ou tenha sido recebido com
problemas, o TCP envia uma mensagem ao computador de origem, solicitando uma
retransmissão do pacote. Com esse mecanismo, apenas pacotes com problemas terão que ser
reenviados, o que reduz o tráfego na rede e agiliza o envio dos pacotes;
Oferecer um método preferencial de transporte de programas que devem usar
transmissão confiável de dados baseada em sessões, como bancos de dados
cliente/servidor e programas de correio eletrônico:  o TCP é muito mais confiável do que
protocolos como o UDP (explicado adiante) e é indicado para programas e serviços que
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
10 of 24 30/11/2020 17:38
dependam de uma entrega confiável de dados.
O funcionamento do TCP é baseado em conexões. Assim, para um computador cliente iniciar
uma “conversa” com um servidor, é necessário enviar um sinal denominado SYN para este último. O
servidor então responde enviando um sinal SYN combinado com um sinal de nome ACKpara
confirmar a conexão.
O cliente responde com outro sinal ACK, fazendo com que a conexão esteja estabelecida e
pronta para a troca de dados. Por ser feita em três transmissões, esse processo, é conhecimento como
three-way handshake (algo como triplo aperto de mãos) (Info Wester, 2019). Conforme mostra a
Figura 1.
Figura 1 – Transmissão SYN e ACK
Fonte: Info Wester, 2019.
3.2 PROTOCOLO UDP
Segundo a Info Wester (2019), O UDP (User Datagram Protocol) é tido como um protocolo irmão
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
11 of 24 30/11/2020 17:38
do TCP, mas é mais simples e também menos confiável. Isso acontece porque o funcionamento do
TCP é, como já dito, baseado em conexões, o que não ocorre com o UDP. Como consequência, não
há procedimentos de verificação no envio e recebimento de dados (todavia pode haver checagem de
integridade) e se algum pacote não for recebido, o computador de destino não fará uma nova
solicitação, como acontece com o TCP. Tudo isso faz do UDP um pouco mais rápido, porém
inutilizável em certas aplicações.
Por essas características, pode parecer que o UDP é inútil, mas não é. Há aplicações em que é
preferível entregar os dados o mais rapidamente possível, mesmo que algumas informações se
percam no caminho. É o caso, por exemplo, das transmissões de vídeo pela internet (streaming), em
que a perda de um pacote de dados não interromperá a transmissão. Por outro lado, se os pacotes
não chegarem ou demorarem a chegar, haverá congelamentos na imagem, causando irritação no
usuário.
3.3 PORTAS TCP E PORTAS UDP
Para uma compreensão mais fácil, a Info Wester (2019) descreveu o seguinte exemplo: suponha
que, neste momento, você esteja usando um navegador de internet, um cliente de e-mail e um
software de comunicação instantânea. Todas essas aplicações fazem uso da sua conexão à internet,
mas como o computador faz para saber quais os dados que pertencem a cada programa? Simples,
pelo número da porta que cada um utiliza. Por exemplo, se você está usando um programa de FTP
(File   Transfer   Protocol), a conexão à internet é feita pela porta TCP 21, que é uma porta
convencionada a este protocolo. Se estiver baixando arquivos pelo BitTorrent, uma das portas que
vão de 6881 à 6889 estará sendo utilizada para tal atividade.
Compare seu computador a um prédio. Ao chegar uma correspondência, é necessário saber a
qual apartamento entregá-la. Se no envelope estiver escrito que o destino é o apartamento número
123, onde reside Fulano, basta fazer a entrega. Em seu computador, o conceito é o mesmo: basta
substituir a correspondência pelo pacote de dados, o apartamento pela porta e o Fulano pelo
programa. No entanto, é importante frisar que um aplicativo pode utilizar mais de uma porta.
Conforme mostrado na Figura 2.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
12 of 24 30/11/2020 17:38
Figura 2 – Aplicativo com protocolo TCP usando mais de uma porta
Fonte: Info Wester, 2019.
Ao todo, é possível usar 65536 portas TCP e UDP, começando em 1. Tanto no protocolo TCP
quanto no UDP, é comum o uso das portas de 1 a 1024, já que a aplicação destas é padronizada pela
IANA (Internet Assigned Numbers Authority) (Info Wester, 2019).
De acordo com a IANA (S.d.), as portas TCP mais utilizadas são:
21 - FTP;
23 - Telnet;
25 - SMTP;
80 - HTTP;
110 - POP3;
143 - IMAP;
443 - HTTPS.
Saiba mais
A IANA disponibiliza uma lista completa e atualizada da utilização das portas TCP e UDP.
Para conhecê-la, acesse o link a seguir;
IANA. Service Name and Transport Protocol Port Number Registry. IANA, S.d. Disponível em:
<https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.x
html>. Acesso em: 10 mar. 2020.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
13 of 24 30/11/2020 17:38
Portas conhecidas (Well Known Ports), conforme definidas pela IANA (S.d.) e são usadas pelo Red
Hat Enterprise Linux como as portas de comunicação default para vários serviços, incluindo FTP, SSH e
Samba (MIT EDU, 2019).
3.4 RASTREAR AS PORTAS ABERTAS
As portas de redes podem ser rastreadas com as ferramentas Nmap ou SuperScan e o tráfego
com o Wireshark, TCPdump ou OminPeek.
Com as ferramentas de rastreamento de portas, é possível identificar:
Protocolos que estão sendo usados;
Serviços em execução, como:
E-mail;
Servidores web;
Banco de dados;
Entre outros.
Serviços de acesso remoto;
Autenticação de compartilhamentos.
3.5 PESQUISA SOBRE VULNERABILIDADES
Após a descobertas de potenciais falhas, é interessante confirmar se a falha encontrada é de fato
uma vulnerabilidade. Portanto pesquise em grupos de discussões mensagens de hackers, sites sobre o
assunto e banco de dados de vulnerabilidades. A seguir, são apresentados alguns sites que já têm
registros das vulnerabilidades conhecidas:
<www.kb.cert.org/vuls>.
<cve.mitre.org>.
<nvd.nist.gov>.
Mas se preferir ir direto para os testes, terá que:
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
14 of 24 30/11/2020 17:38
Avaliar manualmente a falha – Refere-se à avaliação das vulnerabilidades pela tentativa de
conexão das portas;
Avaliar automaticamente a falha – Refere-se ao uso de scanners de vulnerabilidades.
Levando-se em conta as falhas de segurança encontradas, podemos:
Obter informações sobre o host e seus dados;
Executar injeção de SQL (SQL Injection);
Iniciar ou parar os serviços ou sistemas;
Ter acesso a outros sistemas;
Obter o terminal remoto ou prompt de comando;
Desabilitar os controles de segurança;
Acessar arquivos confidenciais;
Fazer upload de arquivos;
Capturar telas das atividades do usuário;
Enviar e-mail como administrador;
Entre outros.
Saiba mais
Para investigar vulnerabilidades em plataformas, servidores e em sistemas operacionais,
temos o Metasploit, que é um conjunto de plataformas usadas para realizar testes de invasão.
Com ele, é possível fazer um scan simples, uma análise ou uma invasão completa. Essa
ferramenta cria um ambiente de pesquisa e um ambiente de exploração de vulnerabilidades,
fazendo com que os erros de programação possam ser descobertos para explorar a falha na
segurança do atacado. Pode ser baixado em:
METASPLOIT Community. Rapid7, S.d. Disponível em: <www.rapid7.com/products/metasploi
t/metasploit-community-registration.jsp>. Acesso em: 10 mar. 2020.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
15 of 24 30/11/2020 17:38
TEMA 4 – SENHAS
As senhas dão uma falsa sensação de segurança para seus usuários. Uma das maneiras mais
fáceis e comuns de obter acesso ao sistema é por meio da receptação de senhas e existem várias
formas de obtê-las, seja pela sua solicitação, seja na observação da digitação do usuário sobre os
ombros, com softwares que quebram senhas em computadores locais ou ferramentas remotas.
A grande maioria dos usuários criam senhas fáceis para poder memorizá-las, reutilizam em
outros sistemas e raramente são alteradas. Quando o usuário cria uma senha mais complexa vai
anotá-la em algum lugar.
A senha de administrador é como um pote mel para o atacante, pois com ela pode ser feito
qualquer coisa no sistema. A seguir algumas técnicas para obtenção de senhas:
4.1 SEM O USO DE TECNOLOGIA
4.1.1 ENGENHARIA SOCIAL
Consiste em pedir a senha. Por bizarro que pareça, é a maneira mais usada pelos cibercriminosos.
Exemplo: o atacante telefona para o atacado, passando-se pelo técnico de TI da empresa e fala que
ele tem um e-mail importante preso na fila e que precisada senha para acessar a conta para liberá-lo.
4.1.2 SHOULDER SURFING
Esse é um termo muito usado no mundo hacker e significa “Olhar a tela alheia”. O ato de olhar
por cima do olho de alguém para ver o que está sendo digitado. Para usar essa técnica, o
cibercriminoso precisa se aproximar de suas vítimas, observar se o usuário deixa lembrete em sua
mesa ou em gravações de câmera de segurança do estabelecimento que filmou a digitação da vítima.
4.1.3 ADIVINHAÇÃO
Tentativa de se obterem senhas por meio de suposições, com base em informações sobre
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
16 of 24 30/11/2020 17:38
usuários. Exemplos: data de nascimento, nome dos parentes, dos animais de estimação, entre outros.
4.1.4 SENHA FRACA
Alguns sistemas antigos não exigem senha para entrar ou sua tecnologia de autenticação é
extremamente vulnerável.
4.2 COM O USO DE TECNOLOGIA
A tecnologia à qual nos referimos é o uso de programas que tentam adivinhar uma senha
fazendo todas as combinações possíveis para se obter acesso a um sistema ou à rede de
computadores. Para isso temos algumas técnicas usadas, como as que serão mostradas a seguir:
4.2.1 ATAQUES DE FORÇA BRUTA
Com tempo suficiente, essa técnica pode quebras qualquer senha. Sua metodologia consiste em
fazer todas as combinações possíveis para se obter a senha. Seja essa composta por números, letras e
caracteres especiais. Pode parecer fácil, só que pode levar uma eternidade;
4.2.2 ATAQUES DE DICIONÁRIO
Essa técnica tem como característica a tentativa de todas as sequências de caracteres de uma
lista normalmente derivada de palavras como em um dicionário, por isso o nome ataques de
dicionário. Diferente do ataque de força bruta, o ataque de dicionário só tenta as possibilidades que
considerar maior chance de sucesso.
4.2.3 ATAQUES ARCO-ÍRIS
Consiste no uso de tabelas para decifrar diversos hashs de senha de forma rápida e com grandes
taxas de sucesso. Essas tabelas arco-íris são encontradas facilmente na internet em sites como Project
RainbowCrack (www.project-raibowcrack.com) e o ophcrack. Essas tabelas tornam possível a quebra
de senhas em alguns segundos, minutos, ou horas em vez de dias, semanas, meses ou anos.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
17 of 24 30/11/2020 17:38
TEMA 5 – CONHECENDO O METASPLOIT
Quando o assunto é exploração de vulnerabilidades, boa parte dessas buscas podem ser feitas
usando a ferramenta Metasploit.
Segundo Antonio (2019), o Metasploit é uma estrutura de teste de penetração mais usada no
mundo por fazer parte da vida de equipes de segurança de TI. Quem trabalha com segurança
cibernética tem como rotina diária a verificação de vulnerabilidades e a gerência de avaliações de
segurança.
Antonio (2019) descreve o Metasploit como um conjunto de plataformas usadas para investigar
vulnerabilidades em plataformas, servidores e em sistemas operacionais.
Com o uso do Metasploit é possível realizar testes de invasão (pentests), sendo possível também
fazer desde um scan mais simples até uma análise ou invasão mais completa, explorando
vulnerabilidades em programas instalados.
Essa ferramenta tem como objetivo desenvolver um ambiente de pesquisa e criar um ambiente
de exploração de vulnerabilidades, possibilitando que erros de programação (que influenciam em
falha na segurança) possam ser descobertos (Antonio, 2019).
Depois que se obtém todo o cenário de vulnerabilidade, é realizado o desenvolvimento do
exploit, aplicando técnicas de engenharia reversa ou programação. O exploit é executado e testado
em vários cenários, provando a existência de vulnerabilidades. Vamos entender melhor isso adiante
(Antonio, 2019).
É um framework e open source e passa por constantes atualizações. É desenvolvido em
linguagem Ruby e organizado por módulos com programas que são chamados de exploits, os quais
atacam as falhas encontradas e executam o payload (código malicioso), devolvendo uma sessão de
SSH ou Telnet permitindo o controle remoto do computador atacado.
Saiba mais
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
18 of 24 30/11/2020 17:38
Essa ferramenta pode ser baixada pelo site oficial por meio do seguinte link:
METASPLOIT Community. Rapid7, S.d. Disponível em: <www.rapid7.com/products/metasploi
t/metasploit-community-registration.jsp>. Acesso em: 10 mar. 2020.
Após o download do arquivo, é preciso permissão para executar o arquivo. Após executar o
arquivo, tudo é realizado de forma automática. Uma forma de como iniciar o Metasploit,
considerando o uso do Linux, é digitando os comandos:
service postgresql start
service metasploit start
Em seguida, inicie o Metasploit com o seguinte comando:
msfconsole
Ao iniciarmos o Metasploit pela primeira vez, são criadas diversas tabelas no banco de dados,
que servem para guardar dados de hosts, vulnerabilidades encontradas e outras informações
importantes.
Quase todos os comandos no Metasploit têm a opção de help ( - h) para auxiliar no seu
entendimento. Com o comando help podemos visualizar uma lista de comandos com as suas
explicações.
Exemplo: search - h. O help indicará que o comando search é usado para buscar payloads e
exploits dentro da ferramenta.
Ao encontramos o comando que queremos usar dentro do Metasploit, devemos usar um outro
comando chamado use, para entrar no contexto do módulo que iremos usar. Para retornar ao modo
inicial do Metasploit, devemos digitar o comando back.
Embora possamos usar o Metasploit por linha de comandos, podemos também fazer uso da
interface gráfica via browser: o msfweb.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
19 of 24 30/11/2020 17:38
Resumo de algumas ferramentas do metasploit:
msfconsole – Metasploit em modo console;
msfweb – interface gráfica via browser;
msfplayload – é utilizado para gerar e customizar payloads;
msfcli – é uma interface para automatizar a penetração e exploração;
msflogdump – exibirá as sessões de arquivos de log.
Esta é a base fundamental para uso do Metasploit.
Saiba mais
Para aprender mais sobre os comandos e colocar ações em práticas, é indicado fazer uso do
site Rapid 7, acessando o link a seguir:
RAPID7. Disponível em: <https://www.rapid7.com>. Acesso em: 10 mar. 2020.
NA PRÁTICA
Para esta seção prática, vamos utilizar o artigo de Praciano (2015) que usa o THC Hydra.
Segundo Praciano (2015), o THC Hydra é uma ferramenta clássica usada para quebrar senhas.
Resumidamente, é um programa para crackear senhas de login na rede e tem como atrativo o fato de
ser bastante rápida. Na Figura 3, é apresentada uma interface com a sintaxe do THC Hidra.
Figura 3 – Sintaxe do Hydra
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
20 of 24 30/11/2020 17:38
Fonte: Praciano, 2015.
Como instalar o Hydra
No Ubuntu e em outras versões baseadas no Debian, o processo de instalação pode ser feito
através do apt-get:
sudo apt install hydra
Observação: existe uma versão gráfica do aplicativo hydra-gtk, que não será abordada nesta
aula — mas, se quiser instalar, este é o nome do pacote.
Como usar o Hydra
Na linha de comando (no terminal), você deve invocar o Hydra e informar, basicamente, duas
coisas:
Um alvo a ser atacado — endereço IPv4, IPv6 ou um nome DNS;
Um serviço ou protocolo, dentre os vários suportados, a ser quebrado.
Ataque em um roteador doméstico
Esse exemplo foi realizado em um roteador doméstico — cujo login é admin e a senha é a
mesmacoisa.
hydra -l admin -esn http://192.168.254.254
Veja o resultado apresentado na figura 4:
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
21 of 24 30/11/2020 17:38
Figura 4 – Resultado após a execução do Hydra
Fonte: Praciano, 2015.
Veja o que foi feito:
- l admin – Quando já se sabe, de antemão, o login do sistema em que se deseja entrar,
informe-o na linha de comando com a opção ‘-l’.
- esn – Neste caso, só o que resta adivinhar é a senha. A opção ‘- esn’ faz com que o Hydra
inclua nas suas tentativas a mesma senha do login e a senha em branco – que são situações
corriqueiras em se tratando de roteadores domésticos.
Ataque em um servidor MYSQL local
No exemplo a seguir, um ataque ao servidor MySQL local.
hydra 127.0.0.1 mysql -l root -P /usr/share/dict/portuguese -t 4
Uma situação comum é usar o root como login padrão em instalações “domésticas” do MySQL.
A lista de senhas foi retirada do arquivo de dicionário ‘/usr/share/dict/portuguese’. Você pode
usar outro.
A opção ‘- t 4’ informa ao Hydra para rodar 4 tarefas em paralelo, o que ajuda concluir o trabalho
mais cedo. O padrão do aplicativo é 16. Veja o resultado apresentado na Figura 5:
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
22 of 24 30/11/2020 17:38
Figura 5 – Resultado após a execução do Hydra
Fonte: Praciano, 2015.
FINALIZANDO
Nesta aula, percebemos como planejar os teste, a descoberta das principais portas usadas para
comunicação e serviços como também algumas ferramentas para quebrar senhas.
REFERÊNCIAS
ANTONIO, A. M. Como funciona o Metasploit. PMG Academy, S.d. Disponível em:
<https://www.pmgacademy.com/pt/blog/artigos/como-funciona-o-metasploit>. Acesso em: 10 mar.
2020.
AGILITY. Comando script do Linux. Agility, 13 jan. 2016. Disponível em:
<https://www.somosagility.com.br/comando-script-do-linux/>. Acesso em: 10 mar. 2020.
IANA. Service Name and Transport Protocol Port Number Registry. IANA, S.d. Disponível em:
<https://www.iana.org/assignments/service-names-port-numbers/service-names-port-
numbers.xhtml>. Acesso em: 10 mar. 2020.
INFO WESTER. Portas TCP e UDP. Info Wester, 11 jan. 2007. Disponível em:
<https://www.infowester.com/portastcpudp.php/>. 2019. Acesso em: 10 mar. 2020.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
23 of 24 30/11/2020 17:38
PRACIANO, E. Use o Hydra para quebrar senhas por força bruta. Elias Praciano, 22 jul. 2015.
Disponível em: <https://elias.praciano.com/2015/07/use-o-hydra-para-quebrar-senhas-por-forca-
bruta/>. Acesso em: 10 mar. 2020.
UNINTER - FERRAMENTAS HACKERS - EXPLORAÇÃO DE VU... https://conteudosdigitais.uninter.com/libraries/newrota/?c=/gradNova/20...
24 of 24 30/11/2020 17:38

Continue navegando