Des deux côtés 2/2

Contexte

Catégorie : Forensic

Points : 500

Auteur : https://twitter.com/_worty

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

Un de vos employés s'est fait voler sa machine il y a 3 heures, heureusement, votre SI est bien configuré et des snapshots mémoires sont réalisées toutes les 2 heures ! Votre employé vous affirme qu'il a reçu un mail officiel de ses supérieurs pour télécharger une nouvelle application l'aidant dans son travail.. Votre but est d'identifier le nom de ce fichier, et de trouver sur quelle ip ainsi que sur quel port la backdoor s'est connectée !

Le fichier est le même que pour le premier challenge

Format : BZHCTF{malveillant.exe-ip:port}

Début de l'analyse

  • On a un dump mémoire "memory.dmp" de 1.1Go (=volatility)

  • On cherche une appli (exe ?) qui serait en réalité une backdoor

  • La machine volée est une Windows et plus précisément une Win7SP1x86_23418 :

file memory.dmp
memory.dmp: MS Windows 32bit crash dump, PAE, full dump, 262144 pages

python volatility/vol.py -f memory.dmp imageinfo
Volatility Foundation Volatility Framework 2.6.1
INFO    : volatility.debug    : Determining profile based on KDBG search...
Suggested Profile(s) : Win7SP1x86_23418, Win7SP0x86, Win7SP1x86_24000, Win7SP1x86 (Instantiated with WinXPSP2x86)
 AS Layer1 : IA32PagedMemoryPae (Kernel AS)
 AS Layer2 : WindowsCrashDumpSpace32 (Unnamed AS)
 AS Layer3 : FileAddressSpace (/mnt/v/BZHCTF/FOFO/memory.dmp)
 PAE type : PAE
 DTB : 0x185000L
 KUSER_SHARED_DATA : 0xffdf0000L
 Image date and time : 2022-02-23 19:29:05 UTC+0000
 Image local date and time : 2022-02-23 11:29:05 -0800

Recherche de l'application malveillante

Je commence par lister l'ensemble des process en cours sur le système.

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

D'après l'énoncé du challenge, on suppose que le mail est un phishing et que l'application que l'employé a téléchargé ne porte pas un nom barbare (pour mieux le tromper).

L'exe "RH-Appli-Conne" semble être le bon candidat !

. 0x84f3cd40:RH-Appli-Conne                          3540    880      1     20 2022-02-23 19:27:54 UTC+0000
. 0x842ef7e0:RH-Appli-Conne                          3504    880      5     99 2022-02-23 19:28:06 UTC+0000
. 0x843485b0:RH-Appli-Conne                          1668    880      3     94 2022-02-23 19:25:07 UTC+0000
. 0x84e17570:RH-Appli-Conne                          3936    880      1     36 2022-02-23 19:24:45 UTC+0000

Analyse des connexions réseaux

On remarque que l'application se connecte vers l'adresse ip 146.59.156.82 sur le port 1337.

python volatility/vol.py -f memory.dmp --profile=Win7SP1x86_23418 netscan |grep RH
Offset(P)          Proto    Local Address                  Foreign Address      State            Pid      Owner          Created
0x3e1d15e8         TCPv4    192.168.80.131:49636           146.59.156.82:1337   ESTABLISHED      3936     RH-Appli-Conne
0x3e491b48         TCPv4    192.168.80.131:49637           146.59.156.82:1337   ESTABLISHED      1668     RH-Appli-Conne
0x3f09edf8         TCPv4    192.168.80.131:49644           146.59.156.82:1337   ESTABLISHED      3540     RH-Appli-Conne
0x3fcaf2a0         TCPv4    192.168.80.131:49645           146.59.156.82:1337   ESTABLISHED      3504     RH-Appli-Conne

Nous avons donc :

BZHCTF{malveillant.exe-146.59.156.82:1337}

Récupération du fichier

Pour obtenir notre flag complet, il nous manque le nom complet de l'application.

Le plugin filescan nous permet de le récupérer.

python volatility/vol.py -f memory.dmp --profile=Win7SP1x86_23418 filescan |grep -i RH
0x000000003f028378      3      0 R--r-d \Device\HarddiskVolume1\Users\Daniel\Downloads\RH-Appli-Connect.exe

BZHCTF{RH-Appli-Connect.exe-146.59.156.82:1337}

Bonus : extract de la backdoor

Pour aller plus loin on pouvait extraire l’exécutable malveillant et l'analyser sur une plateforme telle que Virustotal.

python volatility/vol.py -f memory.dmp --profile=Win7SP1x86_23418 procdump -p 3936 -D output/
Process(V) ImageBase  Name                 Result
---------- ---------- -------------------- ------
0x84e17570 0x00400000 RH-Appli-Conne       OK: executable.3936.exe

file output/executable.3936.exe
output/executable.3936.exe: PE32 executable (GUI) Intel 80386, for MS Windows

sha256sum output/executable.3936.exe
e23d26169560c4fe1bf966d339d9996d4395ae3b0a696eed181240fedd28c1ee  output/executable.3936.exe

Son hash n'était pas connu de la base de connaissance mais plusieurs antivirus le détecte comme un Meterpreter.

https://www.virustotal.com/gui/file/e23d26169560c4fe1bf966d339d9996d4395ae3b0a696eed181240fedd28c1ee/

Dernière mise à jour