Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
— |
ndh2k14_wargame_public_forensic1 [2017/04/09 15:33] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | |||
+ | |||
+ | Ici, le but est de trouvé combien de bitcoin nous nous sommes fait voler. On nous fournit un fichier, HoldUp.img, de 16Mo. | ||
+ | |||
+ | La commande **file** nous apprend qu'il s'agit d'une image de type ext3 : | ||
+ | |||
+ | {{:holdup-file.png?200|}} | ||
+ | |||
+ | Il ne nous reste plus qu'à monter cette image avec la commande mount : **mount -t ext3 Holdup.img ./MountFile** | ||
+ | |||
+ | En explorant le point de montage nous trouvons un seul et unique fichier, une archive au format .zip. | ||
+ | Après extraction nous nous retrouvons avec un dossier contenant 16387 fichiers portant l'extension .tc et un script python "**splitter.py**". | ||
+ | |||
+ | Regardons le script de plus prêt, voici sont contenu : | ||
+ | |||
+ | ''import time'' | ||
+ | ''import hashlib'' | ||
+ | |||
+ | ''fic = open('CoinSteal.tc','r')'' | ||
+ | ''res = fic.read()'' | ||
+ | |||
+ | ''for i in range(16384):'' | ||
+ | '' time.sleep(2)'' | ||
+ | '' fic2 = open('coins/'+hashlib.md5(str(time.time())).hexdigest()+'.tc','wb')'' | ||
+ | '' index_deb=i*512'' | ||
+ | '' index_fin=index_deb+512'' | ||
+ | '' fic2.write(res[index_deb:index_fin])'' | ||
+ | '' fic2.close()'' | ||
+ | |||
+ | ''fic.close()'' | ||
+ | |||
+ | Nous pouvons voir qu'il s'agit d'un script qui a servit à découper un fichier en plusieurs sous fichiers, avec une temporisation de 2 ms entre chaque tour de boucle. Nous allons donc reconstruire le fichier original en listant tous les fichiers par date de création (grâce à l'option --full-time qui permet d'afficher les millisecondes) que nous enverrons ensuite à awk pour ne prendre que le nom des fichiers et on redirige le tout. | ||
+ | |||
+ | ''for file in $(ls -ltr --full-time | awk '{print $9}'); do cat $file >> ../concat; done;'' | ||
+ | |||
+ | Nous nous retrouvons alors avec un fichier de 8Mo avec l'extension .tc : truecrypt. | ||
+ | Nous utilisons maintenant truecrack pour tenter de crack tout ça, avec un dictionnaire anglais car tout est en anglais dans les épreuves. | ||
+ | |||
+ | ''truecrack -t concat -w dico'' | ||
+ | |||
+ | Et il nous trouve le mot de passe "iloveyou". | ||
+ | |||
+ | Nous utilisons maintenant truecrypt pour décoder le tout et nous obtenons un fichier .obs que nous ouvrons avec LibreOffice. Le flag est dans un des onglet du fichier. :) | ||
+ | |||
+ | |||
+ | |||