Write-ups Wargame NDH 2k12

Après la fête des 10 ans de la Nuit Du Hack chez Disney, ce week-end s’est déroulé en ligne le CTF public de la Nuit du Hack 2012.

Moins d’une semaine après le petit loupé de la mise en ligne lors de la Nuit du Hack 2012, l’équipe HZV/Sysdream a donc encore bossé dur pour mettre en place ce challenge public.
Le chan IRC était au rendez-vous, réactif, et donc tout était là pour faire de ce CTF une réussite.

Les épreuves étaient très variées et pas moins de 102 personnes (ou équipes sous un seul nom) ont pu scorer. Voici les 3 premiers de ce CTF :

 

Yeah baby Zenk 3ème, ça mérite une petite danse du poney ! (bon en même temps vos des LeetMore était apparemment seul à faire le CTF…) 🙂

 
« Finally, congratulations to w3pwnz for solving 23 challenges, earning 13710 points and winning the Wargame! They also win a free one-year license for Canvas, sponsored by IMMUNITY. « 

Une interface de scoring classique et efficace et 28 challenges à résoudre en Crypto, CrackMe, Forensic, Stegano et WebApp.

Voici la résolution de quelques épreuves plutôt classiques.

[Write-Up] Nuit Du Hack 2K12 – « Password manager 1 »
Catégorie :
Forensic
Score : 500
Description : « Please recover the password from that memory dump »

Nous avions à télécharger l’archive suivante :
http://54.247.160.116/forensics/keep1.tar

Cette dernière contenait le seul fichier ‘memdump.raw‘ (dump physique de la RAM).

On utilise tout d’abord l’outil volatility (Windows ou Linux) pour identifier d’où vient ce dump de RAM.

C:\NDH2K12>volatility.exe imageinfo -f memdump.raw
Volatile Systems Volatility Framework 2.0
Determining profile based on KDBG search…

Suggested Profile(s) : WinXPSP3x86, WinXPSP2x86 (Instantiated with WinXPSP2x86)
AS Layer1 : JKIA32PagedMemory (Kernel AS)
AS Layer2 : FileAddressSpace (memdump.raw)
PAE type : No PAE
DTB : 0x39000
KDBG : 0x8054cde0L
KPCR : 0xffdff000L
KUSER_SHARED_DATA : 0xffdf0000L
Image date and time : 2012-05-09 11:06:48
Image local date and time : 2012-05-09 11:06:48
Number of Processors : 1
Image Type : Service Pack 3

Les process tournant en RAM vont nous éclairer pour la suite de nos recherches Forensic :

C:\NDH2K12>volatility pslist –profile=WinXPSP3x86 -f memdump.raw
Volatile Systems Volatility Framework 2.0 Offset(V)
Name                 PID    PPID   Thds   Hnds   Time
———- ——————– —— —— —— —— ——————-
0x812ed020 System                    4      0     55    231 1970-01-01 00:00:00
0x811cc5a0 smss.exe                368      4      3     19 2012-05-09 20:06:10
[…]
0x81129a48 PassKeep.exe           1864   1508      2     39 2012-05-09 11:06:17
0xffb22da0 PassKeep.exe           1872   1864      2    104 2012-05-09 11:06:17
0x8120cc08 svchost.exe            1972    652      5    106 2012-05-09 11:06:21
0xffb7a440 wscntfy.exe            1040   1044      1     39 2012-05-09 11:06:24
0x8113f910 alg.exe                1228    652      7    104 2012-05-09 11:06:24
0xffb43c08 DumpIt.exe              124   1508      1     25 2012-05-09 11:06:46

On va alors s’intéresser au PID 1872 et dumper le contenu en mémoire de PassKeep.exe

D:\NDH2K12>volatility –profile=WinXPSP3x86 -f memdump.raw -p 1872 memdump -D
Volatile Systems Volatility Framework 2.0
************************************************************************
Writing PassKeep.exe [  1872] to 1872.dmp

Une recherche de strings plus tard nous donnera la clef !

C:\NDH2K12>strings 1872.dmp > 1872.dmp.txt
[…]
admin
admin
J5XfFsmdrBkRE
http://flag.ndh2012.com
Good game
c:\program files\software by design\passkeep
[…]
Il ne restera plus qu’à hacher en MD5 pour scorer :
Texte : J5XfFsmdrBkRE
Résultat : abc7d6294e04e6d6f5c4a9e1aa62370f

 

[Write-Up] Nuit Du Hack 2K12 – « Password manager 2 »
Catégorie :
Forensic
Score : 1500
Description : « Please recover the password from that KeePass memory dump. »

Nous avions à télécharger l’archive suivante :
http://54.247.160.116/forensics/keep2.tar

Cette dernière contenait là encore un seul fichier : memdump.raw (dump physique de la RAM).

Sur le même modèle que l’épreuve « Password manager 1 » on arrive à isoler le PID de KeePassX.exe.

C:\NDH2K12>volatility pslist –profile=WinXPSP3x86 -f memdump.raw
Volatile Systems Volatility Framework 2.0
Offset(V)  Name                 PID    PPID   Thds   Hnds   Time
———- ——————– —— —— —— —— ——————-
0x8111d020 System                    4      0     51    240 1970-01-01 00:00:00
[…]
0xffa25020 KeePassX.exe            768   1584      5    364 2012-04-23 09:16:53

Une fois dumpé et passé à la loupe des strings, il fallait cette fois ci se rendre compte que le fichier n’était pas aussi lisible que le précédent :
La sélection d’un encodage 16-bit little-endian va nous aider à y voir plus clair.

C:\NDH2K12>strings -e l 768.dmp > 768.dmp.l.txt

Cette fois ci, on retrouve plusieurs occurrences de « flag.ndh2012.com », mais une seule avec le password qu’il nous faut passer en MD5 pour scorer :

http://flag.ndh2012.com
textLabel7
Tahoma
7cU6QQKCqxCoHp6ii5WrBCUzVzUGzuS5
\\?\C:\Documents and Settings\ndh\Application Data\KeePassX\config.ini
fieldname
2390

Texte : 7cU6QQKCqxCoHp6ii5WrBCUzVzUGzuS5
Résultat : e413334776721843940e04037e99971a

 
[Write-Up] Nuit Du Hack 2K12 – « Gangbang »
Catégorie :
Stegano
Score : 500
Description : « Action »

Encore un quick-win pour ce grand classique des vidéos « geek » 😉

Nous avions à télécharger l’archive suivante :
http://54.247.160.116/stega/gangbang.tar

Celle-ci ne laissait pas beaucoup de doutes sur le contenu qu’il nous fallait donc analyser.
Dès les premières secondes quelques images semblent être intercalées dans la vidéo.
Plusieurs moyens d’extraction image par image sont possibles, nous retiendront la méthodologie suivante :

C:\NDH2K12>vlc gangbang.avi –video-filter=scene –vout=dummy  –scene-ratio=1    –scene-prefix=img- –scene-path= »C:\NDH2K12\ »

Quelques 834 images sont extraites dont celle-ci :


Le Flag y apparait clairement ainsi que quelques revendications légitimes 😉

[Write-Up] Nuit Du Hack 2K12 – « Apocalypse »
Catégorie :
Stegano
Score : 500
Description : « We were told the end was near. »

Fichier à charger :
http://54.247.160.116/stega/apocalypse.tar

Un fichier texte de 33,4Ko s’offre à nous « Prédictions pour décembre 2012. Les prédictions pour décembre 2012 regroupent plusieurs croyances eschatologiques annonçant de …« .
La source est aisément identifiable sur http://fr.wikipedia.org/wiki/Prédictions_pour_décembre_2012.

 
Mais ce qui attire le plus notre regard dans le fichier texte est la présence de nombreux « blancs » dans le texte.
La présence de stéganographie à base d’espaces en fin de lignes, un grand classique, est donc suspectée http://www.darkside.com.au/snow/

Ce qui se confirme en tentant la commande suivante :

C:\NDH2K12>snow.exe -C apocalype.txt
Encore un coup des Anonymous

Passage en MD5
Texte : Encore un coup des Anonymous
Résultat : 0faec26266432f508d05bf36285ea718

[Write-Up] Nuit Du Hack 2K12 – « Enigmes de S4nch0 #4 »
Catégorie : Crypto
Score : 500
Description : « Resistance is futile. »

Fichier à télécharger :
http://54.247.160.116/crypto/sancho4.tar

Le texte suivant est extrait du fichier « colors » contenu dans le .tar :

[Noir Violet Violet]—[Marron Marron Violet]—[Marron Marron Jaune]—
[Marron Marron Rouge]—[Marron Noir Jaune]—[Marron Rouge Marron]—
[Noir Orange Blanc]—[Marron Marron Vert]—[Noir Orange Rouge]—
[Marron Noir Gris]—[Noir Blanc Violet]—[Marron Marron Blanc]—
[Noir Orange Rouge]—[Marron Marron Vert]—[Marron Marron Violet]—
[Noir Blanc Blanc]—[Marron Noir Violet]—[Marron Marron Vert]—

Pour tous ceux qui ont touché un peu à des cours d’électronique, les indices étaient trop nombreux pour être ignorés !
Ce challenge portait bien sur les codes couleurs des résistances.
http://fr.wikipedia.org/wiki/Résistance_(composant)

Après avoir appliqué cette grille de lecture au texte nous nous retrouvions avec le tableau des valeurs suivantes :
0 Noir – 1 Marron – 2 Rouge – 3 Orange – 4 Jaune – 5 Vert – 6 Bleu – 7 Violet – 8 Gris – 9 Blanc

077 117 114
112 104 121
039 115 032
108 097 119
032 115 117
099 107 115

Ce qui nous fait rapidement penser à un codage de caractères bien connu : http://www.table-ascii.com/

« 077 117 114 112 104 121 039 115 032 108 097 119 032 115 117 099 107 115 »
correspond à :
« Murphy’s law sucks »

Texte : Murphy’s law sucks
Résultat : 49c364f8c9b67d4a1b5b23fcd26ee10e

[Write-Up] Nuit Du Hack 2K12 – « Damn PST »
Catégorie :
Forensic
Score : 1000
Description : « You just found a dead USB key downstairs which happen to store a mysterious pst file »

Fichier à télécharger :
http://54.247.160.116/forensics/pst.tar

Alors que sur le chan IRC de nombreuses voix semblaient évoquer un challenge difficile à résoudre sans version Windows ni Outllook.
Rien de tout cela ne nous a été nécessaire, juste la version Démo de FTK AccessData.

Et voici ce que donne la recherche sur le mot clef « flag » :

Texte : pigeonvoyageur
Résultat : 2b4b609cc86104f7222c940eb4034616

Voici que ce termine ces quelques solutions d’épreuves.

Prochain article d’ici 1 à deux semaines sur l’utilisation de l’outil volatility 😉

Thx to Zenk-Security & Solo (I will have my revenge) ^_^

2 Responses to "Write-ups Wargame NDH 2k12"

Laissez un commentaire