Post on 12-Sep-2018
Benefices de l’acces direct aux disques al’aide du framework Metasploit
Danil Bazin <Danil.Bazin@hsc.fr>
HSC by Deloitte
7 avril 2016
1/31 Tous droits reserves HSC by Deloitte - 2016
HSC by DeloitteConseil en securite des systemes d’information depuis 1989.
PME francaise avec 26 ans d’experience.Exclusivement des interventions d’expertise SSI:
Pas de distribution, ni integration, ni infogerance, ni delegation depersonnel ;Prestations : conseil, etudes, audits, tests d’intrusion, formations ;Garantie d’independance.
Domaines d’expertiseSecurite Windows / Unix et linux / embarque / informatique industrielle /applicationsEnquetes inforensiques / Expertise judiciaireSecurite des reseaux : TCP/IP, telephonie, reseaux operateurs, reseauxindustriels...Organisation de la securite, droit des systemes d’information
2/31 Tous droits reserves HSC by Deloitte - 2016
Modules MetasploitDeveloppees par HSC
Modules de post-exploitation de Metasploit:file from raw ntfs : permet de contourner les verrous en ecriture deWindows sur des fichiers cles comme les fichiers de ruches Windows oule fichier NTDS.DITbitlocker fvek : permet de recuperer la cle de chiffrement maitre deBitlocker
Point commun de ces deux modules : utilisation d’unacces direct aux partitions / disques.
3/31 Tous droits reserves HSC by Deloitte - 2016
MetasploitFramework de tests d’intrusion
Framework OpenSource sous licence libre (BSD)cree par H.D Moore en 2003
OpenSource signifiant que n’importe qui peut acceder au code sourceLa licence libre autorise la modification du programme
Rachetee par Rapid7 en octobre 2009Developpe en RubyHeberge sur Github.io
4/31 Tous droits reserves HSC by Deloitte - 2016
MetasploitFramework de tests d’intrusion
La force de Metasploit lui vient de la separation entre:Les exploits (1524 dans la version 4.11.19) : le code qui permet dedeclencher la vulnerabilite et d’executer du code arbitraire, par exemple:
Un PDF forge pour une version vulnerable d’Adobe ReaderPSexec pour executer du code a distance sur un Windows...
les payloads (charges utiles) (436 dans la version 4.11.19) : le codearbitraire qui sera execute sur le poste de la victime, par exemple:
Une porte derobee en ecoute sur le port 443Un reverse-shell allant se connecter sur le port 80 de l’attaquant...
les modules de post-exploitation (260 dans la version 4.11.19) : le codequi utilise la connexion avec la payload pour piller la victime ou l’utiliserpour rebondir:
cachedump : recupere les condensats des mots de passe des comptes du domaines quise sont connectes sur le poste Windows
5/31 Tous droits reserves HSC by Deloitte - 2016
MetasploitFramework de tests d’intrusion
Intensivement utilise en test d’intrusions internes:Peut etre couple avec une base de donnees PostgreSQLPeut etre alimentes avec le resultat de scan nmapContient de nombreux modules d’attaque par force brute et dictionnairesde comptes par defautAjout automatique des mots de passe trouves a la base de donnees
Gere l’execution de code malveillant sur de nombreuxsystemes d’exploitation:
WindowsLinuxAndroidAIX...
6/31 Tous droits reserves HSC by Deloitte - 2016
MeterpreterInterpreteur Metasploit
Le Meterpreter est la payload la plus puissante deMetasploit
Silencieuse : n’ecrit aucun fichier sur le disqueUtilise des communications chiffresExtensible : Des fonctionnalites peuvent etre ajoutes dynamiquementpendant l’executionMulti-canaux : Plusieurs connexions en paralleles peuvent etre transmisesa travers le meme Meterpreter
La version Windows est celle qui possede le plus defonctionnalites:
Permet de s’injecter dans la memoire d’un processus et de migrerdynamiquement dans d’autresUn keylogger permet de saisir les frappes claviers de l’utilisateurLa webcam de la victime peut etre utilise pour prendre des photos
7/31 Tous droits reserves HSC by Deloitte - 2016
MeterpreterDeveloppement
Quelques astuces de developpeur Metasploit:Apres deploiement du Meterpreter, la commande irb lance un terminalruby permettant de tester le code du module en cours de developpementLa commande reload applique sur le module en cours de developpementpermet de recharger le module depuis le code sourceLa commande reload ne s’applique qu’au module courant, il est donc plusrapide pour les tests de grouper toutes les classes en developpementdans le fichier du module
8/31 Tous droits reserves HSC by Deloitte - 2016
MeterpreterRailgun
Railgun : fonctionnalite de post-exploitationpermettant de dialoguer avec l’API Windows de lavictime en utilisant la connexion avec un Meterpreter.
Peut etre facilement appele depuis un Meterpreter avec irbles appels s’effectuent avec des commandes de typesession.railgun.nomdll.nomfonction(liste des arguments de la fonction)
5 fonctions de l’API Windows suffisent pour lesmodules d’acces direct aux disques:
kernel32.GetFileAttributesWkernel32.CreateFileWkernel32.CloseHandlekernel32.ReadFilekernel32.SetFilePointer
9/31 Tous droits reserves HSC by Deloitte - 2016
Win32 Device Namespaces
La fonction kernel32.CreateFileW de l’API Windowspermet d’ouvrir les fichiers sous Windows sous laforme d’un descripteur de fichier.Mais aussi des disques, volumes etc. , en utilisant leprefixe ”\\.\”
Par exemple le volume C peut s’ouvrir avec ”\\.\C:”Celui-ci permet d’acceder a la partition NTFS, (meme si Bitlocker estutilise)L’acces direct a un disque s’effectue avec ”\\.\PhysicalDrive0”Ce descripteur de fichier accede au disque qui commence generalementpar la table des partitionspuis les partitions sont accessibles, en version chiffre si Bitlocker est utilise
10/31 Tous droits reserves HSC by Deloitte - 2016
Contournement du verrou Windows sur lesfichiers systemesObjectifs
Lors de la compromission d’un controleur de domaineWindows, un attaquant cherche a recuperer le fichierNTDS.dit.
Ce fichier contient entres autres la liste des utilisateurs du domaine et lescondensats de leurs mots de passeMais ce fichier est verrouille par le systeme pour eviter des actionsconcurrentes :
11/31 Tous droits reserves HSC by Deloitte - 2016
Contournement du verrou Windows sur lesfichiers systemesSolutions existantes
Afin de contourner cette restriction, la technique laplus couramment employee est d’utiliser les VolumeShadow Copy :
(Get-WmiObject -list win32 shadowcopy).create(”C:\”, ”ClientAccessible”)vssadmin.exe List Shadowscmd /c mklink /D C:\vss2\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\
Mais cette technique genere un instantane de lapartition entiere, ce qui est assez ”bruyant” et intrusif
12/31 Tous droits reserves HSC by Deloitte - 2016
Contournement du verrou Windows sur lesfichiers systemesNTFS
Une autre solution pour recuperer ce fichier consistea utiliser un acces direct au disque pour le recuperer
Mais une fois la partition ouverte, il faut parcourir la structure NTFS pouracceder aux fichiers
Windows utilise son pilote NTFS pour parser lessystemes de fichier NTFS mais ne propose pas d’APILes outils de Forensics comme FTKimager ou TheSleuth Kit utilisent l’acces direct aux disques pourextraire des fichiers
Mais ils sont difficilement integrable a Metasploit
13/31 Tous droits reserves HSC by Deloitte - 2016
Contournement du verrou Windows sur lesfichiers systemesNTFS - Premiers octets
Une partition NTFS commence par un secteur deBoot :
Dans cette section, les tailles des unites sont definiesen fonction de la taille totale de la partition:
Nombre d’octets par secteurNombre de secteur par clusterNombre de cluster par enregistrement de la MFTNumero de cluster de la MFT et de la copie de la MFT (MFTMirr)Numero de serie du volume NTFS
14/31 Tous droits reserves HSC by Deloitte - 2016
Contournement du verrou Windows sur lesfichiers systemesNTFS - Premiers octets
Par exemple avec l’outil de The Sleuth Kit, fsstat :
15/31 Tous droits reserves HSC by Deloitte - 2016
Contournement du verrou Windows sur lesfichiers systemesNTFS - MFT - Premiers enregistrements
La MFT est un tableau d’enregistrement de taille fixeChaque enregistrement represente un fichier/dossierLes premiers enregistrements sont fixes:
0 - $MFT Represente la MFT1 - $MFTMirr represente une copie des premiers enregistrements de laMFT...5 - $ Racine du systeme de fichier
16/31 Tous droits reserves HSC by Deloitte - 2016
Contournement du verrou Windows sur lesfichiers systemesNTFS - MFT - Attributs
Chaque enregistrement de la MFT est un tableaud’attribut
Un attribut peut etre stocke dans la MFT s’il est suffisamment petit, onparle d’attribut residantou seule ses adresses peuvent etre stockes sous forme de data-run (listesd’adresses), on parle d’attribut non-residantPlusieurs type d’attributs existent:
$DATA contient le contenu du fichier$STANDARD INFORMATION contient le proprietaire et les dates de creation, dernieremodification, acces et modification des metadonnees$FILENAME : nom, dates de creation, derniere modification, acces et modification desmetadonnees (valeurs moins precise que celles stockes dans$STANDARD INFORMATION)$INDEX ROOT et $INDEX ALLOCATION sont presents pour les enregistrements derepertoires et stockent la liste des fichiers qu’ils contiennent
17/31 Tous droits reserves HSC by Deloitte - 2016
Indicateurs de compromission (IOC)
Sans compter ceux generes par l’execution duMeterpreter : Aucun
19/31 Tous droits reserves HSC by Deloitte - 2016
References
Brian Carrier. (2005). File System Forensic Analysis.
20/31 Tous droits reserves HSC by Deloitte - 2016
Extraction de la cle maitre BitlockerObjectifs
Un attaquant cherche toujours a perenniser sonacces le plus discretement possible.
Si acces physique ulterieur possible (cas d’un ordinateur portable parexemple) : recuperation des cles de chiffrement pour acceder au systemede fichiers ulterieurement.
21/31 Tous droits reserves HSC by Deloitte - 2016
Solutions existantes pour l’extraction de laFVEK
Deux solutions pour extraire la cle maitre:Dislocker utilise avec la cle de recouvrement (par exemple) si une imagehors-ligne est disponible
En mode verbeux, la cle maitre est affichee
Depuis une image de la RAM (avec winpmem par exemple)Puis analyse avec Volatility avec le plugin bitlocker de elceef
22/31 Tous droits reserves HSC by Deloitte - 2016
BitlockerCles de chiffrement intermediaires
Plusieurs secrets peuvent etre utilises pour dechiffrerune partition Bitlocker:
TPM (Trusted Platform Module)Mot de passeFichier de cle (Startup key), presente sur une autre partition ou sur une cleUSBCle de recouvrement...
23/31 Tous droits reserves HSC by Deloitte - 2016
BitlockerCle de recouvrement
Les cles de recouvrement sont de la forme:709434-416845-498971-632753-185251-065296-323609-146927
Elles peuvent etre generees depuis un volumeBitlocker ouvert a l’aide de la commande
manage-bde -protectors -add -rp C:
Extraites a l’aide de la commande:manage-bde -protectors -get C:
Derivees selon la recette suivante:Chaque partie est divisee par 11 puis concateneeUn sel est ajoute, la stretch keyCondensee 1048576 fois (0x100000) avec la fonction SHA256
24/31 Tous droits reserves HSC by Deloitte - 2016
BitlockerCles
Toutes ces cles de chiffrement permettent dedechiffrer une cle de volume (Volume Master Key(VMK))Cette cle de volume va dechiffrer la cle AES (FullVolume Encryption Key(FVEK)) utilisee pour chiffrerle volume
La FVEK ne peut etre changee, en cas de compromission, le disque doitetre dechiffre puis rechiffre
25/31 Tous droits reserves HSC by Deloitte - 2016
BitlockerStructures du disque
Une partition Bitlocker commence par un en-tete autroisieme octet : ”-FVE-FS-”L’offset 176 contient l’adresse de la structurecontenant les cles de chiffrement du volume:
26/31 Tous droits reserves HSC by Deloitte - 2016
BitlockerOpenssl-CCM
Les cles sont chiffres en utilisantAES-{128,256}-CCMLa bibliotheque Openssl de ruby ne contient pas cemode de chiffrementUne implemenation openssl-ccm en ruby estdisponible sur GitHub mais ne fonctionnait pas :
A cause d’une confusion entre taille de cle et taille deblock
27/31 Tous droits reserves HSC by Deloitte - 2016
Indicateurs de compromission (IOC)
Generation puis suppression d’une cle derecouvrement si celle-ci n’existait pas
29/31 Tous droits reserves HSC by Deloitte - 2016
References
La documentation de libbde est tres comprehensible:https://github.com/libyal/libbde/blob/master/
documentation/BitLockerDriveEncryption(BDE)
format.asciidoc
30/31 Tous droits reserves HSC by Deloitte - 2016