BZHCTF 2022 - Des Deux Cotes 1/2

4 minute read

Voici le write-up du challenge “Des Deux Côtés 1/2” en catégorie Forensic que j’ai pu first blood lors du Breizh CTF.

Énoncé

Voir les deux côtés de quelque chose, c’est toujours bon non ?

Vous êtes une APT et un de vos collègues a volé une machine chez une entreprise du CAC40, malheureusement, celle-ci ne veut plus démarrer.. Votre collègue étant un hacker en herbe, il a pensé à faire un dump mémoire avant que la machine rende l’âme !

Retrouvez le fichier qui contient des données confidentielles dans ce dump mémoire !

Auteur: Worty

Format: BZHCTF{}

Solution

Pour ce challenge, on se retrouve face à un dump mémoire classique. On check rapidement le profil volatility, la machine est un windows 7, pas besoin de créer de profil custom, parfait :)

La méthodo classique est de check les process avec pslist pour nous donner une idée de ce qui tournait sur la machine au moment du dump :

$ python2 /opt/Cyber/forensic/volatility/vol.py --profile=Win7SP1x86_23418 -f ./memory.dmp pslist 
Offset(V)  Name                    PID   PPID   Thds     Hnds   Sess  Wow64 Start                          Exit                          
---------- -------------------- ------ ------ ------ -------- ------ ------ ------------------------------ ------------------------------
0x84133270 System                    4      0     77      511 ------      0 2022-02-23 18:09:02 UTC+0000                                 
0x854f4020 smss.exe                224      4      2       29 ------      0 2022-02-23 18:09:02 UTC+0000                                 
0x85748030 csrss.exe               304    296      9      338      0      0 2022-02-23 18:09:03 UTC+0000                                 
0x85b9bd40 wininit.exe             340    296      3       75      0      0 2022-02-23 18:09:03 UTC+0000                                 
0x85b9c578 csrss.exe               352    332      9      209      1      0 2022-02-23 18:09:03 UTC+0000                                 
0x85c23d40 winlogon.exe            392    332      5      130      1      0 2022-02-23 18:09:04 UTC+0000                                 
0x85cac030 services.exe            444    340      7      196      0      0 2022-02-23 18:09:04 UTC+0000                                 
0x85cba2d8 lsass.exe               452    340      6      558      0      0 2022-02-23 18:09:04 UTC+0000                                 
0x85cbc620 lsm.exe                 468    340      9      141      0      0 2022-02-23 18:09:04 UTC+0000                                 
0x85f2bc08 svchost.exe             576    444      9      353      0      0 2022-02-23 18:09:04 UTC+0000                                 
0x85f3d030 svchost.exe             636    444      7      250      0      0 2022-02-23 18:09:05 UTC+0000                                 
0x854f3668 sppsvc.exe              860    444      4      147      0      0 2022-02-24 03:09:07 UTC+0000                                 
0x84c07030 svchost.exe             900    444     14      314      0      0 2022-02-24 03:09:08 UTC+0000                                 
0x84c08800 svchost.exe             924    444     40     1256      0      0 2022-02-24 03:09:08 UTC+0000                                 
0x84c8d030 svchost.exe             972    444     19      450      0      0 2022-02-24 03:09:08 UTC+0000                                 
0x84cc6030 audiodg.exe            1004    972      4      121      0      0 2022-02-24 03:09:08 UTC+0000                                 
0x85aa6810 svchost.exe            1044    444     10      265      0      0 2022-02-24 03:09:09 UTC+0000                                 
0x84cd8410 svchost.exe            1068    444     19      490      0      0 2022-02-24 03:09:09 UTC+0000                                 
0x84d04d40 TrustedInstall         1180    444      6      261      0      0 2022-02-24 03:09:10 UTC+0000                                 
0x85f9b030 spoolsv.exe            1340    444     12      293      0      0 2022-02-24 03:09:10 UTC+0000                                 
0x85fe0030 svchost.exe            1380    444     19      315      0      0 2022-02-24 03:09:10 UTC+0000                                 
0x85550718 svchost.exe            1692    444      6       94      0      0 2022-02-24 03:09:11 UTC+0000                                 
0x84e3e4d0 taskhost.exe            772    444      8      208      1      0 2022-02-24 03:09:17 UTC+0000                                 
0x84c7ac88 dwm.exe                 848    900      3       71      1      0 2022-02-24 03:09:17 UTC+0000                                 
0x84c7f9d8 explorer.exe            880    756     32      881      1      0 2022-02-24 03:09:17 UTC+0000                                 
0x84e79508 regsvr32.exe           1864    880      0 --------      1      0 2022-02-24 03:10:06 UTC+0000   2022-02-24 03:10:07 UTC+0000  
0x85fc0030 svchost.exe            1868    444     11      144      0      0 2022-02-24 03:11:11 UTC+0000                                 
0x84dde0b0 svchost.exe            1724    444      9      311      0      0 2022-02-24 03:11:11 UTC+0000                                 
0x8430dc38 msiexec.exe            3820    444      6      305      0      0 2022-02-23 19:18:52 UTC+0000                                 
0x8545d368 armsvc.exe             2660    444      6      244      0      0 2022-02-23 19:19:17 UTC+0000                                 
0x842a3168 SearchIndexer.         3268    444     11      522      0      0 2022-02-23 19:19:24 UTC+0000                                 
0x84356ca8 AdobeARMHelper         2484   2660      0 --------      0      0 2022-02-23 19:20:53 UTC+0000   2022-02-23 19:20:54 UTC+0000  
0x85ee3d40 firefox.exe            2360    816      0 --------      1      0 2022-02-23 19:24:17 UTC+0000   2022-02-23 19:24:39 UTC+0000  
0x84e17570 RH-Appli-Conne         3936    880      1       36      1      0 2022-02-23 19:24:45 UTC+0000                                 
0x843485b0 RH-Appli-Conne         1668    880      3       94      1      0 2022-02-23 19:25:07 UTC+0000                                 
0x84273030 cmd.exe                1472   1668      0 --------      1      0 2022-02-23 19:25:24 UTC+0000   2022-02-23 19:25:27 UTC+0000  
0x8549b108 WMIADAP.exe            1152    924      5       86      0      0 2022-02-23 19:27:21 UTC+0000                                 
0x84283830 WmiPrvSE.exe           3072    576      8      115      0      0 2022-02-23 19:27:21 UTC+0000                                 
0x84f7e630 notepad.exe            3232    880      1       63      1      0 2022-02-23 19:27:43 UTC+0000                                 
0x86081218 notepad.exe            3732    880      1       63      1      0 2022-02-23 19:27:46 UTC+0000                                 
0x84f3cd40 RH-Appli-Conne         3540    880      1       20      1      0 2022-02-23 19:27:54 UTC+0000                                 
0x842ef7e0 RH-Appli-Conne         3504    880      5       99      1      0 2022-02-23 19:28:06 UTC+0000                                 
0x84da8938 cmd.exe                2404   3504      0 --------      1      0 2022-02-23 19:28:10 UTC+0000   2022-02-23 19:28:12 UTC+0000

On se réfère à notre objectif, lire le contenu d’un fichier avec des données confidentielles. Les process notepad.exe sont donc intéressants.

Deuxième plugin intéressant à regarder est cmdline il va nous donner les commandes réalisées.

WmiPrvSE.exe pid:   3072
Command line : C:\Windows\system32\wbem\wmiprvse.exe
************************************************************************
notepad.exe pid:   3232
Command line : "C:\Windows\system32\NOTEPAD.EXE" C:\Users\Daniel\Documents\RH-Documents\Confidential\Resultat Entretien 2021.txt
************************************************************************
notepad.exe pid:   3732
Command line : "C:\Windows\system32\NOTEPAD.EXE" C:\Users\Daniel\Documents\RH-Documents\Confidential\Employe Secret.txt
************************************************************************
RH-Appli-Conne pid:   3540
Command line : "C:\Users\Daniel\Downloads\RH-Appli-Connect.exe" 
************************************************************************
RH-Appli-Conne pid:   3504
Command line : "C:\Users\Daniel\Downloads\RH-Appli-Connect.exe" 
************************************************************************
cmd.exe pid:   2404

On voit donc le fichier “Employe Secret.txt”, ouvert avec notepad, cela semble être le fichier que nous cherchons. Il nous reste donc à trouver le flag dans son contenu. Lors du CTF je n’ai même pas eu le réflexe de dump le fichier avec le plugin dumpfiles, et au final tant mieux, car le fichier n’était pas dumpable à cause d’une sorcellerie de Worty qui a fait exprès (:

On part donc directement sur un strings et grep avec le titre du document et ça passe nickel, on peux aussi dump la mémoire du process notepad ça fonctionne aussi. on n’oublie pas l’option -el avec strings pour l’UTF16 :)

$ strings -el memory.dmp > resulsts_cmd/strings.16.txt
$ cat resulsts_cmd/strings.16.txt| grep -C 4 -i Secret.txt

...
...
m.delkique@vulncorp.fr/MatthieuVulnCorp123!                                                                                                                                                          
Attenion                                                                                                                                                                                                             
 bien lui fournir sa signature :                                                                                                                                                                            
QlpIQ1RGe2ZyMzNfY3IzZDNudGk0bHN9Cg==        
...

Cette string ressemble fortement à du base64 ;) -> Flag : BZHCTF{fr33_cr3d3nti4ls}

Toujours aller au plus simple et avoir la bonne méthodo face à un dump mémoire.