Skip to content

Commit 3865ac6

Browse files
authored
Update BadPunk-WriteUp.md
1 parent c5cc77c commit 3865ac6

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

BadPunk-WriteUp.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,18 +119,20 @@ La suite va concaténer le dossier AppData\\Local\\Temp de l'utilisateur avec "s
119119
Ici un appel à CreateFile pour crée le fichier "s".<br><br>
120120
![alt text](https://github.com/Lexsek/CTFSecurityDay2019/blob/master/images_badpunk/creatfiles.png "screen BadPunk.exe")<br><br>
121121

122-
Deux variables sont initialisées, elles serviront à stocker le résultat des instructions RTDSC (ReaD TimeStamp Counter). Elle retourne dans le couple de registre EDX:EAAX le nombre de ticks écoulés depuis la dernière mise à zéro du processeur.<br><br>
122+
Deux variables sont initialisées, elles serviront à stocker le résultat des instructions RTDSC (ReaD TimeStamp Counter). Elle retourne dans le couple de registre EDX:EAX le nombre de ticks écoulés depuis la dernière mise à zéro du processeur.<br><br>
123123
![alt text](https://github.com/Lexsek/CTFSecurityDay2019/blob/master/images_badpunk/rtdsc_1.png "screen BadPunk.exe")<br><br>
124124

125125
Après avoir écrit dans le fichier "s", le malware vérifie le temps écoulé entre les deux appels à RTDSC via une soustration, si la différence est supérieure à 15000 ticks, le malware appelle deux fonctions, WriteMbr et Reboot !<br><br>
126126
![alt text](https://github.com/Lexsek/CTFSecurityDay2019/blob/master/images_badpunk/writefile_andrtdsc.png "screen BadPunk.exe")<br><br>
127127

128128
Regardons d'un peu plus près le write MBR:<br><br>
129-
Cette fonction va s'occuper de faire un CreateFile sur \\.\PhysicalDrive0 (correspond au MBR), et d'écraser son contenu.
130-
(image)
129+
Cette fonction va s'occuper de faire un CreateFile sur \\.\PhysicalDrive0 (correspond au MBR), et d'écraser son contenu avec un WriteFile.<br><br>
130+
![alt text](https://github.com/Lexsek/CTFSecurityDay2019/blob/master/images_badpunk/mbr1.png "screen BadPunk.exe")<br><br>
131+
![alt text](https://github.com/Lexsek/CTFSecurityDay2019/blob/master/images_badpunk/mbr2.png "screen BadPunk.exe")<br><br>
131132
Et pour le reboot :<br><br>
132133
Ici, le malware appelle OpenProcessToken, vérifie qu'il à les droit SeShutdownPrivileges, et si c'est le cas, redémarre la machine.
133-
(image)
134+
![alt text](https://github.com/Lexsek/CTFSecurityDay2019/blob/master/images_badpunk/reboot.png "screen BadPunk.exe")<br><br>
135+
![alt text](https://github.com/Lexsek/CTFSecurityDay2019/blob/master/images_badpunk/reboot2.png "screen BadPunk.exe")<br><br>
134136

135137
Après avoir passé ces étapes, le malware crée un deuxième fichier dans le répertoire temporaire sous le nom de "ss", et appelle la fonction que j'ai renommée en Write_SS_File_Xor42_Of_S_File_And_Being_Debugged_WriteMBR_INTO_REBOOT. Cette fonction s'occupe principalement de lire notre premier fichier "s" écrit correspondant au screenshot de la machine au format image BMP, de le xorer avec la clé 0x42 et de l'écrire dans le fichier "ss"<br><br>
136138
![alt text](https://github.com/Lexsek/CTFSecurityDay2019/blob/master/images_badpunk/ssfile_wrap.png "screen BadPunk.exe")<br><br>

0 commit comments

Comments
 (0)