Software">
Nothing Special   »   [go: up one dir, main page]

Forensics: Banking Troubles

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 46

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université des Sciences et de la Technologie Houari Boumediene

Faculté d’Electronique et d’Informatique


Département Informatique
Rapport de projet : Sécurité Applicative

Filière: Informatique

Spécialité: M2 SSI
………………………………..

Énoncé rapide
Forensics.

À remettre avant le : 16/01/2022

Projet Proposé par:


M. A.Berbar
Réalisé par :
 Rédacteur 1 :
Nom : SAOUDI
Prénom : Yanis
Matricule : 161633040787
 Rédacteur 2 :
Nom : MELLAH
Prénom : Mouloud
Matricule : 171731019331

Date de début : 07/01/2022 Date de fin : 13/01/2022


Durée du travail : 40 heures
Table des Matières
Table des Matières 1
Synthèse Général 2
4- Réponses détaillés 5
Question 1 : 5
Réponse : 5
Question 2 : 7
Réponse : 7
Question 3 : 12
Réponse : 12
Question 4 : 19
Réponse : 19
Question 5 : 23
Réponse : 23
Question 6 : 27
Réponse : 27
Question 7 : 33
Réponse : 33
Question 8 : 37
Réponse : 37
Question 9 : 43
Réponse : 43
Question 10 : 44
Réponse : 44

1
Synthèse Général
Réponse à la question 1
● Répertorier les processus: rekall -f Memvictime.vmem psscan
● Voir l'arborescence exacte:
volatility -f Memvictime.vmem –profile=WinXPSP2x86 –output=dot –output-file
= infected_tree.dot
● Le processus le plus probablement responsable de l’exploit est : AcroRd32.exe (PID
1752)

Réponse à la question 2
● Répertorier les sockets : ./vol sockscan -f Memvictime.vmem
● Processus suspects dont les connexions sont ouvertes:
- AcroRD32.exe (PID 1752) 2 sockets qui acceptent toute connexion de
l’extérieur.
- svchost.exe (PID 880) ouvre 3 sockets qui acceptent toute connexion de
l’extérieur.
- firefox.exe (PID 888) ouvre 5 sockets et accepte toutes les connexions de
l'extérieur “0.0.0.0” via le port TCP 6.

Réponse à la question 3

➔ Par le processus AcroRd32.exe


http://search-network-plus.com/cache/PDF.php?st=Internet%20Explorer%206.0
http://search-network-plus.com/load.php?a=a&st=Internet%20Explorer%206.0&e=2
http://search-network-plus.com/load.php?a=a&st=Internet Explorer 6.0&e=1
http://search-network-plus.com/load.php?a=a&st=Internet Explorer 6.0&e=2
http://search-network-plus.com/load.php?a=a&st=Internet Explorer 6.0&e=3

➔ Par le processus firefox.exe


http://search-network-plus.com/cache/PDF.php?st=Internet%20Explorer%206.0
http://search-network-plus.com/favicon.ico

➔ Par le processus svchost.exe

http://193.104.22.71/~produkt/69825439870/73846525#N
http://193.104.22.71/~produkt/9j856f_4m9y8urb.php
http://193.104.22.71/~produkt/9j856f_4m9y8urb.php&N

2
Réponse à la question 4
les services contenant des URLs de banques sont :
wuauclt.exe (pid 232) VMwareTray.exe (pid 1108)
msiexec.exe (pid 244) VMwareUser.exe (pid 1116)
wuauclt.exe (pid 440) wscntfy.exe (pid 1132)
winlogon.exe (pid 644) svchost.exe (pid 1244)
services.exe (pid 688) svchost.exe (pid 1384)
lsass.exe (pid 770) spoolsv.exe (pid 1460)
vmacthlp.exe (pid 852) vmtoolsd.exe (pid 1628)
svchost.exe (pid 880) AcroRd32.exe (pid 1752)
firefox.exe (pid 888) explorer.exe (pid 1756)
svchost.exe (pid 948) VMUpgradeHelper (pid 1836)
svchost.exe (pid 1040) alg.exe (pid 2024)
svchost.exe (pid 1100)

L’URL de la banque est :


Ahttps://onlineeast#.bankofamerica.com/cgi-bin/ias/*/GoToWelcome

Réponse à la question 5
Le nombre de fichiers extrait est de 427 dont :
jpg = 5
gif = 103
bmp = 3
htm = 3
ole = 2
zip = 6
exe = 103
png = 195
pdf = 7

L’un des 7 PDFs extrait (00601560.pdf) est apparu vulnérable car il contient du code JavaScript
malicieux. Celui-ci contient aussi 5 objets, 1 streams, 1 AA

Réponse à la question 6
l’extrait s’est fait en utilisant l’outil peepdf avec la commande suivante :
python2 peepdf.py -g /home/yanis/Desktop/output/pdf/00601560.pdf -i
une fois dans l’interface peepdf, on exécute ceci :
extract js > js_malveillant.txt
La commande précédente permet d’extraire le code JavaScript caché dans le PDF 00601560

3
Réponse à la question 7
les fichiers suspects chargés par les processus de l’ordinateur victime sont:
● sdra64.exe winlogon.exe Pid 644
● user.ds fils de winlogon.exe Pid 644
● local.ds fils de winlogon.exe Pid 644
● user.ds.lll fils de svchost.exe Pid 880
● _AVIRA_2109 fils de winlogon.exe Pid 644

Réponse à la question 8
La plupart des antivirus (53 sur 71) repèrent la suspicion comme étant un cheval de Troie
Zeus/Zbot.

Réponse à la question 9
- La clé est : \SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon
- Comme valeur, zeus/bot ajoute le chemin d'accès à sdra64.exe à la valeur existante de
C:\WINDOW\system32\userinit.exe

Réponse à la question 10

1. L'utilisateur s’est connecté avec un compte administrateur lui permettant d’avoir divers
privilèges.
2. Un Shellcode JavaScript a été injecté dans un fichier PDF et remis par voie Mail,
celui-ci a été ouvert avec Acrobat Reader.
3. Le code Shell réussit à exploiter une vulnérabilité sur Acrobat Reader qui permet de
télécharger un Trojan (chevaux de Troie) et l’exécuter.
4. Celui-ci récupère le bot en le téléchargeant et l’exécute à son tour.
5. Une fois le bot exécuté, il se décompresse et s'offusque dans winlogon.exe, celui-ci est
connu pour être utilisé par des keyloggers pour le vol des intéractions utilisateur-clavier.
6. Le bot met en place un mécanisme de persistance grâce à la modification des clés de
registres et génère un processus “svchost.exe” via lequel il peut communiquer avec ses
serveurs de commandes et de contrôles.
7. Le bot émigre librement entre les processus en cours d’exécution et essaye de récupérer
le maximum d’info possible (d'où sa présence dans plus de 20 processus en cours
d’exécution)

4
4- Réponses détaillés

Question 1 :
Répertorier les processus en cours d’exécution sur la machine de la victime. Quel processus
était le plus probablement responsable de l'exploit initial?

Réponse :
a- os utilisé: Parrot 4.10
b- outil: Rekall Memory Forensic framework 1.7.2.rc11 (Hurricane Ridge)
c- commande: rekall -f Memvictime.vmem psscan

5
d- description :
En utilisant le plugin psscan de rekall, on peut lister les processus en cours d'exécution, et d’après
la description de l’incident qui énonce que l’utilisateur à reçu un mail contenant une pièce jointe
PDF, on suspecte fortement le processus AcroRd32.exe (PID 1752) qui a été lancé par le
processus firefox.exe (PID 888). Celui-ci est élu candidat pouvant être le vecteur d’attaque.
On peut voir l'arborescence exacte des processus en exécutant la commande suivante :
“ volatility -f Memvictime.vmem –profile=WinXPSP2x86 –output=dot –output-file =
infected_tree.dot “
Pour ouvrir le fichier généré on exécute la commande suivante :
xdot infected_tree.dot
Le résultat sera comme ceci:

6
Question 2 :
Répertorier les sockets ouverts sur la machine de la victime pendant l’infection.

Réponse :
Avant de lister les sockets ouverts sur la machine, on essaye de voir les connexions effectuées
depuis celle-ci d’abord.

a- os utilisé: parrot 5.0 (LTS)


b- outils:
- Rekall Memory Forensic framework 1.5.3.post1.dev67 (Furka)
- Volatility Foundation Volatility Framework 2.6
- grep (GNU grep) version 3.4
c- commande: rekall connscan -f moulou/Memvictime.vmem

On peut observer des connexions qui ont été ouvertes vers l’extérieur comme ceci :

- firefox.exe (PID 888) vers l’adresse suivante: 212.150.164.203 port 80 ce qui parait
peu normal
- AcroRD32.exe (PID 1752) vers des l’adresse suivante: 212.150.164.203 port 80 ce qui
est suspect.
- svchost.exe (PID 880) vers les adresses suivantes 193.104.22.71 port 80 ce qui parait
peu normal

7
En analysant les sockets via la commande suivante :
./vol sockscan -f Memvictime.vmem
Le résultat est reflété dans les figures suivantes:

- firefox (PID 888) ouvre 5 sockets et accepte toutes les connexions de l'extérieur “0.0.0.0” via
le port TCP 6
rekall -f moulou/Memvictime.vmem sockets | grep 888

8
- AcroRD32.exe (PID 1752) ouvre 2 sockets et accepte lui aussi toutes les connexions de
l’extérieur via le port TCP 6 et le port udp 17.. ce qui est anormal
rekall -f moulou/Memvictime.vmem sockets | grep 1752

- svchost.exe (PID 880) ouvre 3 sockets accepte à son tour toutes les connexions de l’extérieur
via le port TCP 6
rekall -f moulou/Memvictime.vmem sockets | grep 880

En cherchant ces adresses suspectes dans Whois Database, on trouve que l’adresse :
212.150.164.203 se trouve en Israel, la commande qui nous a permis de trouver ce résultat est
la suivante : whois 212.150.164.203
Son résultat est affiché comme suit :

9
Concernant l’adresse IP 193.104.22.71, celle-ci se trouve en Iran , la commande qui nous a
permis de trouver ce résultat est la suivante : whois 193.104.22.71
Son résultat est affiché comme suit :

10
-

11
Question 3 :
les URLs suspects pouvant se trouver dans la mémoire du processus suspect

a- os utilisé: parrot 5.0 (LTS)


b- outils : - Rekall Memory Forensic framework 1.5.3.post1.dev67 (Furka)
-GNU strings (GNU Binutils for Debian) 2.35.2

Réponse :

➔ Le processus AcroRD32.exe
c- commande: rekall -f moulou/Memvictime.vmem
après exécution de cette commande on aura ce que reflète la figure suivante:

Dans le champ de saisis fournis, on exécute: >>> memdump (pids=1752)


Ceci permet d’obtenir un dump de la mémoire adressable utilisé par le processus
AcroRD32.exe (PID 1752)

Le fichier généré par cette commande est : “1752.dmp”

12
On Utilise strings pour rechercher des adresses IP suspectes et des noms d'hôtes qu’on a trouvé
avant comme par exemple les adresses : “193.104.22.71” et “212.150.164.203”
Ceci peut se faire en exécutant la commande suivante :

strings AcroRd32.exe_1752.dmp | grep "^http://"|sort|uniq

13
En comparant avec les résultats des sockets et en cherchant dans la liste d’archives des noms
de domaines malicieux (comme https://www.malwaredomainlist.com/), on a une
correspondance pour l’adresse IP 212.150.164.203 , comme le montre la figure suivante:

Cela nous ramène donc à extraire depuis le dump précédent, les liens suivants :
http://search-network-plus.com/cache/PDF.php?st=Internet%20Explorer%206.0
http://search-network-plus.com/load.php?a=a&st=Internet%20Explorer%206.0&e=2
http://search-network-plus.com/load.php?a=a&st=Internet Explorer 6.0&e=1
http://search-network-plus.com/load.php?a=a&st=Internet Explorer 6.0&e=2
http://search-network-plus.com/load.php?a=a&st=Internet Explorer 6.0&e=3

14
Ce nom de domaine est aussi répertorié sur Symantec comme étant un risque à la sécurité
comme le montre la figure suivante:

Concernant toujours le processus AcroRd32, on remarque que celui-ci a ouvert deux sockets
en même temps le 2010-02-27 à 20:12:32, comme le montre la figure ci dessous

L’une des requêtes est une requête tcp 6 et une autre udp 17 qui ne peut être qu’une résolution
de nom dns search-network-plus.com. Ceci peut être confirmer en vérifiant l'historique
d’internet explorer avec la commande suivante :
volatility -f Memvictime.vmem –profile=WinXPSP2x86 iehistory

L résultat de la commande précédente est illustré dans la fgure suivante :

15
La commande précédente fait une reconstruction du cache/historique d’internet explorer. En
défilant cette historique, on remarque que le processus AcroRd32 lance une requête vers
search-network-plus.com le 2010-02-27 à 20:12:34 soit 2 secondes après la connexion UDP
en interne (127.0.0.1) vu dans la figure avant la précédente, comme le montre la figure
suivante :

16
Donc tout laisse à penser que la connexion udp établie en haut est bel et bien une résolution
de nom de domaine.

Remarque :
La requête http faite par le processus AcroRd32.exe a eu pour but de télécharger un fichier
exécutable “file.exe”, cette requête a fonctionné puisque la réponse du serveur a été “ 200 ok
” comme le montre la figure précédente et suivante :

➔ Le processus firefox.exe
c- commande: rekall -f moulou/Memvictime.vmem
>>>memdump (pids=888)
Cette commande permet d’obtenir un dump de la mémoire adressable du processus firefox.exe
(PID 888)

17
On utilise strings pour rechercher des adresses IP suspectes et des noms d'hôtes qu’on a
trouvés, qui sont : 193.104.22.71, 212.150.164.203, www.search-network-plus.com.
Et cela, en exécutant la commande suivante :
strings firefox.exe_888.dmp |grep "^http://"|sort|uniq| grep
"193.104.22.71\|212.150.164.203\|search-network-plus.com"

les URLs suspects pour le processus firefox (pid 888) sont :


● http://search-network-plus.com/cache/PDF.php?st=Internet%20Explorer%206.0
● http://search-network-plus.com/favicon.ico

➔ Le processus svchost.exe
c- commande: rekall -f moulou/Memvictime.vmem
>>>memdump (pids=880)
obtenir un dump de la mémoire adressable du processus svchost.exe (PID 880)

18
On utilise strings pour rechercher des adresses IP suspectes et des noms d'hôtes qu’on a trouvé
193.104.22.71, 212.150.164.203 ,www.search-network-plus.com.
en exécutant la commande :
strings svchost.exe_880.dmp |grep "^http://"|sort|uniq| grep
"193.104.22.71\|212.150.164.203\|search-network-plus.com"

les URLs suspectes pour processus svchost (pid 880):

➔ http://193.104.22.71/~produkt/69825439870/73846525#N
➔ http://193.104.22.71/~produkt/9j856f_4m9y8urb.php
➔ http://193.104.22.71/~produkt/9j856f_4m9y8urb.php&N

Question 4 :
Autres processus contenant des URL pouvant indiquer des problèmes bancaires Si oui, quels
sont ces processus et quelles sont les URLs

Réponse :
a- os utilisé: Parrot 4.10
b- outil: Rekall Memory Forensic framework 1.7.2.rc11 (Hurricane Ridge)

Pour chercher les processus contenant des URLs bancaires , on récupère d’abord toutes les
zones mémoires utilisés par l’ensembles des processus un par un et chacun dans un fichier à
part, cela peut être fait avec la commande suivante :

c- commande: rekall -f ../Memvictime.vmem memdump

19
Le résultat de la commande précédente se reflète dans la création de tous les dumps de chaque
processus comme le montre la figure ci dessous :

20
L’étape suivante est d’écrire un script python qui fera ceci :
● une itération sur tous les fichiers résultant de la commande précédente.
● Chacun sera converti en string.
● Chercher des mots clés comme : “bank”, “banque” , “finance” et identifier les processus
contenant cela.

Le Script python écrit est présenté comme ceci:

En exécutant le script précédent, on aura les résultats suivants :

21
Comme le montre la figure précédente, les services dont l’URL de la banque apparaît dans
leurs dump sont :

wuauclt.exe (pid 232) VMwareTray.exe (pid 1108)


msiexec.exe (pid 244) VMwareUser.exe (pid 1116)
wuauclt.exe (pid 440) wscntfy.exe (pid 1132)
winlogon.exe (pid 644) svchost.exe (pid 1244)
services.exe (pid 688) svchost.exe (pid 1384)
lsass.exe (pid 770) spoolsv.exe (pid 1460)
vmacthlp.exe (pid 852) vmtoolsd.exe (pid 1628)
svchost.exe (pid 880) AcroRd32.exe (pid 1752)
firefox.exe (pid 888) explorer.exe (pid 1756)
svchost.exe (pid 948) VMUpgradeHelper (pid 1836)
svchost.exe (pid 1040) alg.exe (pid 2024)
svchost.exe (pid 1100)

L’URL est la suivante comme trouvé :

22
Ahttps://onlineeast#.bankofamerica.com/cgi-bin/ias/*/GoToWelcome
Une recherche plus poussé sur les hostnames et URLs unicode peut être fait avec une règle yara
en utilisant la commande suivante :
volatility -f Memvictime.vmem yarascan -Y "/(www|http).+\.(com|net|org)/"
le résultat est plus détaillé mais la conclusion est la même, on peut voir une portion du résultat
dans la figure suivante :

Question 5 :
Les fichiers qui ont pu être extraits du processus initial

Réponse :
a- os utilisé: parrot 5.0 (LTS)
b- outils:
- volatility Foundation Volatility Framework 2.6
- foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus
- Le site virustotal.com
- peepdf 0.3 r275

c- commande: ./vol -f Memvictime.vmem memdump -p 1752 --dump-dir dump_files


Le fichier PDF malveillant réside dans le processus AcroRD32.exe (PID 1752), donc en
exécutant la commande précédente, cela nous permet de récupérer l’espace mémoire qu’utilise
le processus au PID 1752, comme le montre la figure suivante :

23
À l'aide de l'outil Foremost , on peut extraire tous les fichiers du processus suspect avec
la commande : foremost 1752.dmp

La commande précédente crée un répertoire “output”, où tous les fichiers extraits sont mis
dedans, comme ceci :

24
En ouvrant le fichier “audit.txt”, on aura un sommaire des résultats de la commande
précédente, et comme le montre la figure suivante, 427 fichiers ont été extraits et parmis eux 7
fichiers PDFs (ce sont les fichiers qui nous intéresse car l’attaque s’est faite à l’aide d’un
fichier PDF).

En analysant les fichiers PDFs extrait un par un sur le site “ virustotal.com ”, un seul fichier
PDF (00601560.pdf) est détecté par 27 antivirus comme étant un virus comme le montre la
figure suivante :

25
En comparant le fichier en question (00601560.pdf) avec les autres, en remarque que celui ci a
une taille supérieur (607083 octets) et donc on peut supposer que celui-ci contient un code
malveillant injecté dedans, comme le montre la figure suivante :

L’étape suivante est d’avoir le plus d’information sur le fichier pdf malveillant et l’explorer, et
pour cela on utilise l’outil peepdf, et on execute la commande suivante :
python peepdf.py -g ../00601560.pdf

26
Comme soupçonné, le PDF précédent contient du code Javascript, ce qui est anormal.

Question 6 :
Techniques utilisées pour exécuter l'exploit.

Réponse :
a- os utilisé: Parrot 4.10
b- outil:
● Rekall Memory Forensic framework 1.7.2.rc11 (Hurricane Ridge)
● Volatility Foundation Volatility Framework 2.6
● peepdf 0.3 r275

Notre approche se basera sur l’extraction du code Javascript enfouie dans le fichier PDF, pour
cela on utilisera l’outil “peepdf” en exécutant la commande suivante :
python2 peepdf.py -g /home/yanis/Desktop/output/pdf/00601560.pdf -i

27
En étant en interface de ligne de commande de l’outil peepdf, on extrait le code Javascript du
fichier PDF vers un fichier texte, en exécutant la commande suivante :
extract js > js_malveillant.txt

le résultat de la commande précédente est illustré comme ceci :

28
L'inspection du fichier texte contenant le code Javascript donne le résultat suivant :

29
30
Une fonction Javascript utilisé dans le code malveillant attire notre attention, celle-ci est la
fonction suivante :
HNQYxrFW(eval,VIfwHVPz(xtdxJYVm,JkYBYnxN),BGmiwYYc)

function HNQYxrFW ( KChuBWpl, aTkRRqKD, HVqLGmiA) {


KChuBWpl ( HVqLGmiA(aTkRRqKD) ); }

31
On remarque ici que la fonction HNQYxrFW précédente fait un appel indirect à la fonction
eval() de javascript par le biais de l’argument KChuBWpl, en effet :
KChuBWpl ( HVqLGmiA(aTkRRqKD) ); == eval ( HVqLGmiA(aTkRRqKD) );
puisque eval = KChuBWpl

Donc, la fonction précédente utilise une méthode d’obfuscation du code javascript pour cacher
et rendre difficilement lisible son code malveillant.
Celui-ci peut être sur la machine de l’utilisateur avec les permissions données au sites ou au
modules complémentaires et aussi ouvre une brèche pour d'éventuelles autres attaques.
Source :
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/eval

32
Jetons un œil aux privilèges des processus AcroRD32.exe et firefox.exe pour avoir une idée de
l’étendu des dégâts pouvant être causé par le code malveillant.
Lister les privilèges peut être fait en utilisant la commande suivante:
volatility -f Memvictime.vmem –profile=WinXPSP2x86 privs

On voit que AcroRD32.exe à un tas de privilèges suspects qui, dans la normal des choses, ne
lui aurait pas été affecté.

Question 7 :
Répertorier les fichiers suspects chargés par des processus sur l’ordinateur de la victime et
détecter la charge utile possible de l’exploit initial qui affecterait le compte bancaire de la
victime.

Réponse :

a- os utilisé: Parrot 4.10 et Parrot 5.0


b- outils:
● Rekall Memory Forensic framework 1.7.2.rc11 (Hurricane Ridge)
● Volatility Foundation Volatility Framework 2.6
● grep (GNU grep) version 3.4

d- commande : rekall -f Memvictime.vmem filescan

33
En utilisant la commande précédente, on peut répertorier tous les fichiers qu’ont ouverts les
processus suspects au moment où la mémoire a été vidé.
on utilise la commande suivante pour voir ce que le processus AcroRd32.exe (PID 1752)
charge:
rekall -f Memvictime.vmem filescan | grep 1752

En rouge, il y a un fichier temporaire lié à l'URL :


http://search-networkplus.com/cache/PDF.php?st=Internet%20Explorer%206.0
il a été trouvé dans le processus Firefox, et peut être lié au téléchargement initial de logiciel
malveillant.
on récupère la zone mémoire utilisée par processus AcroRd32.exe (PID 1752)
./vol -f Memvictime.vmem memdump -p 1752 --dump-dir .

34
et on l’analyse sur virus total:

En faisant des recherches sur le comportement connu jusqu'à maintenant et aux différents
fichiers suspects présents dans la machine, on trouve que l’infection est fortement liée à Zeus
(ou Zbot).
La source suivante :
https://blogs.blackberry.com/en/2020/04/threat-spotlight-zeus-infostealer-trojan
nous donne plus d’informations sur le mécanisme d'infection possible. Zeus initialement
s'injecte dans winlogon.exe et se superpose au premier véritable processus svchost qu'il trouve.
(comme dans notre cas ces deux processus sont les deux détecté comme malicieux).
On trouve aussi que les indicateurs de compromission sont suivant :

● Noms des fichiers


◦ c:\windows\system32\sdra64.exe
◦ c:\windows\system32\lowsec\local.ds
◦ c:\windows\system32\lowsec\user.ds
● Mutexes
◦ _AVIRA_2109
● Registry Keys
◦ SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\userinit

L’étape suivante est de vérifier l’existence des fichiers (+ mutextes + clés de registres)
malicieux précédemment cité, une manière très rapide consiste à créer un fichier nommé
malicious contenant les informations suivantes :

35
Grâce à la commande suivante :

./vol -f Memvictime.vmem handles | grep -nif malicious\

on peut trouver quel programmes fonctionnent selon quel processus : et on trouve les résultats
suivants:

les fichiers sont donc:

● sdra64.exe winlogon.exe Pid 644


● user.ds fils de winlogon.exe Pid 644
● local.ds fils de winlogon.exe Pid 644
● user.ds.lll fils de svchost.exe Pid 880
● _AVIRA_2109 fils de winlogon.exe Pid 644

36
Question 8 :
Les antivirus repèrent t-il la suspicion ? quel est le résultat général

Réponse :
a- os utilisé : parrot 5.0 (LTS)

b- outils :
● Volatility Foundation Volatility Framework 2.6
● Virustotal.com
● ·Sublime text 3.3.2 Build 3211

Extraire l'exécutable de winlogon.exe se fait avec la commande suivante :


volatility -f Memvictime.vmem –profile=WinXPSP2x86 procdump -p 644 –dump-dir.
Après extraction de celui-ci on le met sur le site https://www.virustotal.com comme ceci :

Ici notre but n’est pas de l’analyser car cela a déjà été fait dans l’une des questions
précédentes, mais d’avoir plus d’information sur une quelconque analyse similaire déjà faite, et
aussi la récupération de la signature du malware en question.
Comme le montre la figure suivante, une analyse similaire de ce malware remonte à avril
2010.. et cette année est la même fournis sur volatility durant l’analyse des processus dumpés
quand la machine était infectée, donc on se rapproche du encore plus de l’identification du
malware.

37
Sur volatility on utilise le plugin “malfind” pour trouvé du code malveillant caché ou bien
injecté et cela à travers la commande suivante :
volatility -f Memvictime.vmem –profile=WinXPSP2x86 malfind –dump-dir .

38
Le résultat est le suivant :

En filtrant les dumps précédents, et en les analysant, La signature du Trojan Zeus/Zbot se


distingue et est détecter par 53 antivirus parmis 71 comme le montre la figure suivante :

39
Zeus est une variante d'un cheval de Troie connu, qui se compose de deux éléments:
● Un serveur de commande et de contrôle appelé Zeus
● Un hôte (un bot) qui doit être installé sur les ordinateurs des victimes.

La partie bot de Zeus est capable de voler les informations d'identifications des utilisateurs pour
les services en ligne (identifiants bancaires, identifiants des réseaux sociaux ..etc), il peut agir
comme un redirecteur à des fins de phishing et est également capable de modifier les sites Web
visités côté client, en injectant du code HTML dans des pages demandées.

Zeus peut être détecté en appliquant une règle Yara développé spécialement Felix Bilstein, le
début et la fin de la règle est montré dans les deux figures suivantes :

40
La règle précédente (fichier check_zeus.yara) peut être exécuté sur volatility en utilisant la
commande suivante :
volatility -f Memvictime.vmem –profile=WinXPSP2x86 yarascan
–yara-file=check_zeus.yara

le résultat de son exécution est comme suit :

41
42
Question 9 :
Les entrées de registre associées associées à la charge utile

Réponse :
a- os utilisé : parrot 5.0 (LTS)
b- outils : Volatility Foundation Volatility Framework 2.6

Comme indiqué dans la question 7, dans les indications de compromission de zeus bot, celui-ci
modifie la sous clé userinit de l'entrée du registre
\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon afin de maintenir la
persistance.
En utilisant le plugin hivelist de volatility, celui-ci affichera les décalages nécessaires pour les
conteneurs de registre SOFTWARE:
./vol -f Memvictime.vmem hivelist

dans le cas de \windows\system32\config\software, il ya une exécution automatique du trojan


dès l'exécution de windows, la valeur d’adresse suivante 0x1526748 est imprimé dans le
registre \SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon.

Pour afficher les valeurs de la clé Winlogon, on exécute la commande suivante :


./vol printkey -o 0xe1526748 -f Memvictime.vmem -K "Microsoft\\Windows
NT\\CurrentVersion\\Winlogon"

43
Comme affiché : pour maintenir la persistance, zeus bot ajoute le chemin d'accès à sdra64.exe
à la valeur existante de C:\WINDOW\system32\userinit.exe

Question 10 :
Quelle technique a été utilisée dans l'exploit initial pour injecter du code dans les autres
processus?

Réponse :
1. L'utilisateur s’est connecté avec un compte administrateur lui permettant d’avoir divers
privilèges.
2. Un Shellcode JavaScript a été injecté dans un fichier PDF et remis par voie Mail,
celui-ci a été ouvert avec Acrobat Reader.
3. Le code Shell réussit à exploiter une vulnérabilité sur Acrobat Reader qui permet de
télécharger un Trojan (chevaux de Troie) et l’exécuter.
4. Celui-ci récupère le bot en le téléchargeant et l’exécute à son tour.

44
5. Une fois le bot exécuté, il se décompresse et s'offusque dans winlogon.exe, celui-ci est
connu pour être utilisé par des keyloggers pour le vol des intéractions utilisateur-clavier.
6. Le bot met en place un mécanisme de persistance grâce à la modification des clés de
registres et génère un processus “svchost.exe” via lequel il peut communiquer avec ses
serveurs de commandes et de contrôles.
7. Le bot émigre librement entre les processus en cours d’exécution et essaye de récupérer
le maximum d’info possible (d'où sa présence dans plus de 20 processus en cours
d’exécution)

45

Vous aimerez peut-être aussi