Aller au contenu

MacOS - Keychain

Vérification du SHA du ZIP

Sha ZIP

08507D14461CD87D6B7D7119E44EBBC2A81F4CE814C33D59CF14175ED967DDFE

Vérification du SHA de l'img initiale

SHA donné par root me :

2e98f133c5b43d5a68bfce22f2d2dbb03e0e97e07938905e16a81701d5891284

SHA du fichier :

2E98F133C5B43D5A68BFCE22F2D2DBB03E0E97E07938905E16A81701D5891284

Vérificaiton de la correspondance : Sha ZIP

Analyse

Le zip qui nous ai donné contient un fichier img.

En ouvrant l'img avec Active Disk Editor, nous pouvons repérer le format du disque : HSF+.

HSF+

Ce type de format correspond à un système de fichier Apple. Un outils nommé HFSExplorer, permet d'explorer ce type de disque.

HFSExplorer

Une fois HFSExplorer lancé, ouvrir l'img en tant que fichier :

HFSExplorer

Une fois l'img chargé, nous pouvons accéder au fichiers : HFSExplorer

Il ne reste plus qu'a exporter les données, cela créera un dossier "Untitiled".

untitled

Recherche

Première preuve

Mainantenant analysons les sous dossier. En fouillant dans les dossier, on peut trouver un dossier SharePoint avec un Prénom et un Nom : Luis Pereira. Le fichier est accessible sous :

untitled\private\var\db\dslocal\nodes\Default\sharepoints

Sharepoint

Deuxième preuve

Un fichier contient un SHA1 sous :

untitled\private\var\db\dslocal\nodes\Default\config

SHA 1 : D64C8A6D6F7B975BA40DB5A8EFA3E96590DF32B4

Troisième preuve

Un fichier contient un SHA512 :

untitled\private\var\db\dslocal\nodes\Default\users

t3rr0r1st3@LKDC:SHA1.5D825F681FDC0C4F195F964DB0A82FA25118EBA9

Quatrième preuve

Un fichier Keychain est présent sous :

untitled\Users\t3rr0r1st3\Library\Keychains

Les fichiers KEYCHAIN sont utilisés pour stocker des données d'authentification sous MAC OS X.

Nous pouvons trouvons bon nombre d'outils sur interent permetant de lire ces fichier Keychain. Pour ma part j'ai choisi d'utiliser l'outils : Chainbreaker disponible sur Github en python2.

Une fois l'arcihe téléchargé et python2 installé, nous pouvons lancer le script, avec comme paramètre le hash ainsi que dump-all qui permet d'extraire tout les mot de passe. Cependant le keychain est bloqué (locked) et n'affiche pas tous les mots de passes. Pour avoir accès à l'ensemble des mots de passes il faut ajouter le mot de passe du keychain en paramètre.

C:\Python27\python.exe .\chainbreaker.py "W:\CTF\RootMe\macOS - Keychain\Search\20221006-01-02\untitled\Users\t3rr0r1st3\Library\Keychains\login.keychain-db" --dump-all

J'obtient comme résultat :

2022-10-06 11:40:15,605 - INFO - Runtime Command: .\chainbreaker.py W:\CTF\RootMe\macOS - Keychain\Search\20221006-01-02\untitled\Users\t3rr0r1st3\Library\Keychains\login.keychain-db --dump-all
2022-10-06 11:40:15,605 - INFO - Keychain: W:\CTF\RootMe\macOS - Keychain\Search\20221006-01-02\untitled\Users\t3rr0r1st3\Library\Keychains\login.keychain-db
2022-10-06 11:40:15,605 - INFO - Keychain MD5: 08dba60137c895cd772f5da75249638a
2022-10-06 11:40:15,605 - INFO - Keychain 256: 0aecc0f94333705b830a71edfb81858ee48dfd77a2a0c69bdd2bf435a5960eda
2022-10-06 11:40:15,605 - INFO - Dump Start: 2022-10-06 11:40:15.274000
2022-10-06 11:40:15,605 - INFO - Dump Summary:
2022-10-06 11:40:15,605 - INFO -        1 Keychain Password Hash
2022-10-06 11:40:15,605 - INFO -        18 Generic Passwords
2022-10-06 11:40:15,605 - INFO -        0 Internet Passwords
2022-10-06 11:40:15,605 - INFO -        0 Appleshare Passwords
2022-10-06 11:40:15,605 - INFO -        0 Private Keys
2022-10-06 11:40:15,605 - INFO -        0 Public Keys
2022-10-06 11:40:15,605 - INFO -        0 x509 Certificates
2022-10-06 11:40:15,605 - INFO - Dump End: 2022-10-06 11:40:15.605000

On retrouve donc un MD5 et un SHA256 :

  • Keychain MD5: 08dba60137c895cd772f5da75249638a
  • Keychain 256: 0aecc0f94333705b830a71edfb81858ee48dfd77a2a0c69bdd2bf435a5960eda

Mais également le Hash du password Keychain :

$keychain$*928f46ae7c27a88c411328d1127823905f6075f3*74b2be601cd10435*404fcfb79978167c3a7354ae45ea43d14f8282f5026e6168cfa8fe9fc1dd3d4ede1093b9d7a88347c98c38c7dbe11e92

Keychain

Je vais lancer une tentative de cassage de hash avec Hashcat. Le paramètre -m 23100 permet de casser des hash de Apple Keychain.

Voici la commande :

.\hashcat.exe -m 23100 -a 0 .\hash.txt .\rockyou.txt --keep-guessing -w 3

Le fichier hash.txt contient le hash du keychain.

Hashcat ne semble rien donné : hashcat rockyou

Cinquième preuve (le mot de passe user)

La présence d'un fichier KCpassword qui est présent lorsqu'un utilisateur active l'autologin.

/etc/kcpassword

Des outils permetent de retrouver le mot de passe utilisateur en passant par le fichierkcpassword.

decode-kcpassword.py

python .\decode-kcpassword.py .\20221006-01-03-kcpassword

Commande finale :

PS C:\Users\sam\Downloads\decode-kcpassword-master> python .\decode-kcpassword.py .\20221006-01-03-kcpassword
f0r3ns1ccl4v13

user_mdp

kcpass.py

Kcpass.py nécessite l'utilisation d'une suite binaire. Pour cela il faut lancer la commande xxd.

kcpass

.\xxd.exe .\20221006-01-03-kcpassword
xxd

On récupère la suite de caractère : 1bb92010bccfec89c0d52b0bb86123b57ab499f2465591a0

Enfin on envoie la commande kcpass avec la suite alphanumérique :

C:\Python27\python.exe .\kcpass.py 1bb92010bccfec89c0d52b0bb86123b57ab499f2465591a0

Mot de passe utilisateur : f0r3ns1ccl4v13

kcpass

Et de la on retrouve le mot de passe utilisateur :

        Kcpasswd: 0x1bb92010bccfec89c0d52b0bb86123b57ab499f2465591a0.
        Magic Xor: 0x7d895223d2bcddeaa3b91f.
        Used Magic Xor: 0x7d895223d2bcddeaa3b91f7d895223d2bcddeaa3b91f7d895223d2bcddeaa3b91f.

        The password is: "f0r3ns1ccl4v13".

Mot de passe utilisateur : f0r3ns1ccl4v13

Enfin le mot de passe gmail

Il ne reste plus qu'a utiliser le script python pour déchiffrer le keychain avec le mot de passe :

C:\Python27\python.exe .\chainbreaker.py "W:\CTF\RootMe\macOS - Keychain\Search\20221006-01-02\untitled\Users\t3rr0r1st3\Library\Keychains\login.keychain-db" --password f0r3ns1ccl4v13 --dump-all

gmail

Mot de passe gmail : ihateapple89

Flag

Concaténation des deux mots de passes :

f0r3ns1ccl4v13ihateapple89

Conversion en SHA256 :

9e17dcbb0c89f9d2602f447dd08a175de68cb737a46a4c77dd8387c4c47787ac

Accès au "disque"

Reconstituer la table de partition

Commencer par ouvrir l'image disk avec Active Disk Editor(version 7.3.01), et activer l'édition.

  • Il faut commencer par mettre la signature du MBR : 55 AA.
  • Au niveau la partition 1, il faut préciser le System ID HFS+, en l'occurance : AF
  • Puis, préciser le secteur de début de la partition : 2.
  • Enfin mettre le total de secteur. Pour cela se rendre tout en bas et répérer le nombre total de secteur : 298878 (il faut retirer 1, car il y a une copie du premier secteur).

MBR

Enfin, lancer fdisk sur linux.

fdisk 20221006-01-04.img

Tapez p afin d'afficher les partitions :

p

Enfin tapez v afin de vérifier d'éventuelles erreurs :

p

Conservation de la preuve

p