Articles

La journalisation

Image
  Sur un système, une multitude de choses a lieu chaque minute. Ces petits changement peuvent avoir leur importance en cas d'erreur, de problème, afin d'en identifier la cause par exemple, en retraçant les actions qui ont été effectuées. Ainsi, sur les systèmes Linux et Windows, il existe un système de sauvegarde de tous ces changements, les enregistrant dans un ou plusieurs fichiers selon la nature de ces changements. C'est ce qu'on appelle la journalisation. Windows Journaux d'évènements Les journaux d'évènements Windows sont localisés dans le répertoire C:\Windows\System32\winevt\logs . Ce sont des fichiers .evtx contenant des informations concernant les événements survenus sur le système. Il existe 4 journaux d'événements principaux :  Sécurité Application Installation Système Ils peuvent être lus avec l'Observateur d'événements de Windows. Crédit : aidewindows.net Chaque événement possède un numéro appelé Event ID ainsi qu'un descriptif don...

Différences entre ext3/ext4

Image
  Le système Linux supporte les formats de fichier ext2, ext3 et ext4. Nous nous intéresserons ici uniquement aux format ext3 et ext4, plus fréquemment utilisés de nos jours. Ext3 Ce format de fichier est apparût en 2001. Il possède certaines caractéristiques dont : un système de journalisation (suivi des modifications) pouvant intégrer les métadonnées et son contenu ou uniquement les métadonnées selon le mode choisi une taille maximale de fichier de 16Go à 2To un maximum de 32 000 sous-répertoires une taille de partition de 2To à 32 To 3 temps de fichiers : MAC Ext4 Ce format de fichier est apparût en 2008. Il possède certaines caractéristiques dont : un système de journalisation que l'on peut désactiver et possédant une somme de contrôle une taille maximale de fichier de 16Go à 16To un maximum de 64 000 sous répertoire une taille de partition aximale de 1024 Po 4 temps de fichiers : MACB une rétrocompatibilité avec les fichiers ext3 l'allocation multibloc etc...

Techniques d'anti-debugg communes

Image
La plupart des malwares implémentent des mécanismes d'anti-debug. Cela à pour conséquence de crasher le malware lorsque celui-ci détecte qu'il est en train d'être analysé. Il existe plusieurs techniques d'anti-debug, mais les plus communes et classiques sont les suivantes. Vérification de la présence de breakpoints Lorsque l'on positionne un breakpoint dans le débuggeur, on insert dans le code une instruction spécifique au breakpoint. Cette instruction lève une interruption et le CPU se met en pause (en réalité, il sauvegarde son état (adresse, mémoire...) puis s'arrête, mais ne termine pas le programme). Breakpoint logiciel : int 3 Il s'agit tout simplement de l'instruction correspondant au breakpoint (0xCC en hexadécimal). On peut la rencontrer aussi sous forme d'une valeur xorée (0xCC ^ 0x99, 0xCC ^ 0x55…) afin d'éviter d'être repérée. Breakpoint matériel (hardware) Le but ici est de vérifier la présence des registres de d...

Cryptographie symétrique et asymétrique

Image
  aa Cryptographie symétrique Cryptographie asymétrique

Techniques de persistence des malwares

Image
  Pour maintenir sa présence sur une machine, les malwares peuvent avoir recours à plusieurs techniques de persistance. Pour les débusquer et les déloger, il est nécessaire de les chercher à plusieurs endroits, pas toujours trivial. Persistance en clé de registre Run et RunOnce C'est la technique de persistance la plus commune et la plus basique. Le malware se loge dans le répertoire de programmes lancés au démarrage en créant une entrée dans la clé de registre HKCU\Software\Microsoft\Windows\CurrentVersion\Run ou HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce . Si le malware possède des privilèges élevés, il pourrait également modifier  clés de registre Run et RunOnce de la ruche HKLM, rendant le malware persistant pour tous les utilisateurs de la machine.   Sessionn manager Lors du démarrage d'une machine, le smss, chargé de la gestion des sessions, est lancé. Ce dernier charge le contenu de la clé HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manage...