Writeup #LeHACK 2019, WorldGolfChampion

closeCet article a été publié il y a 5 ans 10 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

En cette année 2019 le niveau des challenges était bien plus équilibré que l’année dernière qui était particulièrement ardue de l’aveu même des organisateurs. On a terminé cinquantième sur un peu plus de trois cents avec un score supérieur à zéro, et j’ai quelques faits d’arme à mon actif 🙂 Je ne vais pas tout écrire, à la limite je partagerai ceux des confrères (et je sauvegarderai aussi), on commence donc par un petit exercice au pays de Wireshark et de Keepass.

l’exercice repose donc sur un fichier pcap. L’analyse de celui-ci montre la présence d’une session telnet. On filtre donc dessus et on admire :

Ouais le thème de Wireshark en sombre c’est pas encore ça

Oui, connexion serveur avec login, mot de passe, pas pour rien qu’ont dit qu’il faut préférer SSH. En regardant les commandes il tente d’ouvrir un coffre fort Keepass, sans grand succès, manifestement il ne se souvient pas de son mot de passe, c’est dommage parce qu’à cause de telnet on voit pas mal de choses en clair. Pire, pour une raison que j’ignore, il nous affiche un base64 du fichier, c’est magique, on peut le récupérer :

Il reste alors à l’attaquer, sans surprise les mots de passes présents dans la capture ne fonctionnent pas. Il y a donc eu un petit moment de flottement à bases de recherche de techniques de bruteforce, via keepass2john, mais je n’ai pas réussi à le faire fonctionner. C’est alors qu’un voisin de circonstance, Gabin a eu l’idée déterminante : il s’avère que tous les mots de passe testés ont le même format (ouais la fatigue faisait déjà son office à ce moment-là), à savoir « woods » suivi de quatre chiffres. Il n’en fallait pas plus pour écrire un petit script de bruteforce à base de kpcli pour tester les 10000 combinaisons possibles, et bingo :

Il y a trois mots de passe dans le coffre-fort, le premier sans nom (le « blank title ») est le bon 🙂

Encore merci Gabin pour le temps gagné 🙂

6 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires
Creased
08/07/2019 08:36

Une méthode plus rapide quand le nombre de passwords à tester est plus grand : utiliser John The Ripper et attaquer un condensat du fichier KDBX en utilisant keepass2john.

Exemple :

keepass2john db.kdbx >hash.txt
john –format=KeePass –wordlist=wordlist.txt hash.txt

bbanakaffalatta
bbanakaffalatta
09/07/2019 10:28
Répondre à  Seboss666

on pouvait utiliser keepass2john avec une wordlist correspondant au format woodsXXXX, ca a pris que quelques secondes

Aethlios
Aethlios
08/07/2019 11:20

L’encodage en base64 du kdbx, ça doit être parce que le mec voulait récupérer le fichier à l’arracher depuis son serveur. Vu que c’est un fichier binaire, il peut copier le fichier encodé à la main et le décoder en local.

shin
shin
08/07/2019 19:27

Merci beaucoup pour ce WriteUp, j’ai bloqué dessus car j’ai essayé avec john sans succès. Bien joué pour la méthode scriptée.

Prototype
Prototype
11/07/2019 11:24

Heu…c’était aussi la date de naissance de sa femme -_-‘ 😀