Skip to content

ijzosve/Rootkit-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

RootkitAnalysis

Sample

Le sample que j'ai upload dans ce repo provient de https://github.com/hoangcuongflp/Stuff/tree/ee100760a05f524ff73837222d80f1dd12da3cee/WindowsRegistryRootkit-master/src

Qu'est-ce qu'est un rootkit ?

  • Programme qui effectue le raccordement du système ou modifie la fonctionnalité du système d'exploitation
  • Masquer les fichiers, processus, autres objets pour masquer sa présence
  • Intercepte et modifie le flux d'exécution normal
  • Peut contenir des composants en mode utilisateur et en mode noyau
  • Certains rootkits peuvent être installés en tant que pilotes de périphérique
  • Types: rootkits en mode utilisateur et en mode kernel

Rootkits en mode utilisateur ?

  • Fonctionne dans le Ring 3
  • Accrochage dans l'espace utilisateur ou l'espace application
  • Quelques techniques courantes du mode utilisateur Rootkit:
  • Accrochage IAT (Import Address Table)
  • Accrochage API en ligne
  • Rootkit doit effectuer des correctifs dans l'espace mémoire de chaque application en cours d'exécution

Rootkits en mode noyau ?

  • Fonctionne dans le Ring 0
  • Accrochage ou modification du système dans l'espace noyau
  • Quelques techniques de rootkit en mode noyau:
  • Accrochage SSDT (System Service Descriptor Table)
  • DKOM (Direct Kernel Object Manipulation)
  • Accrochage IDT (Interrupt Descriptor Table)
  • Installation en tant que pilotes de périphérique
  • Accrochage IRP du pilote

Cycle d'appel de fonction sous Windows

  • La capture d'écran ci-dessous montre le cycle de vie de l'API sur le système Windows


Niveaux de hook / modification sur Windows

  • La capture d'écran ci-dessous montre des tableaux et des objets que le Rootkit peut accrocher / modifier pour masquer sa présence


Note

  • La théorie et les techniques du rootkit seront traitées en profondeur dans un autre repo. Cette session se concentre sur l'analyse des rootkits.

Première Demo

Exécution du sample mader.exe

  • L'exécution du sample supprime un pilote et le charge en tant que service du kernel


Activité réseau

  • Le malware fait une requête DNS et télécharge des fichiers supplémentaires




Kernel Callbacks (rappels du kernel)

  • Rootkit utilise des rappels pour surveiller l'activité de création de processus


Accrochage SSDT

  • Rootkit modifie les pointeurs dans le SSDT pour se protéger contre la suppression ou la suppression



Soumission de rootkit à VirusTotal

  • VirusTotal confirme le Rootkit après avoir vidé et soumis le pilote de la mémoire


Deuxième Demo

Exécution du sample prolaco.exe

  • Prolaco.exe dépose deux fichiers sur «Googlxe.exe» et «Rundll45.exe» sur le système de fichiers



Désactive les produits de sécurité

  • Empêche les produits de sécurité de fonctionner en recherchant les produits de sécurité et en supprimant leur valeur de clé de Registre


Envoie de spams

  • Le malware envoie des spams d'invitation à certaines organisations



Cache le processus

  • L'identifiant de processus 1080 envoie le spam, mais les rootkits cachent ce processus de la liste des processus en utilisant la technique DKOM



Masque le processus de l'outil de sécurité

  • Masque le processus à partir de l'explorateur de processus


Détecter le processus caché

  • La comparaison de la liste des processus à l'aide du plugin «pslist» et «psscan» de Volatility montre le processus caché prolaco.exe (pid 1080)

Pslist


Psscan


Vider le processus caché

  • Vider le processus caché de la mémoire et le soumettre à VirusTotal confirme la présence d'un processus caché malveillant



Troisième Demo

Exécution du sample darkmegi.exe

  • Le sample supprime un pilote et appelle également les processus rundll32 et iexplore




Activité réseau

  • Permet au DNS d'interroger et de télécharger des fichiers supplémentaires



Sets Callbacks (définit les rappels)

  • Définit les kernel callbacks sur montior pour un chargement d'image / DLL


Examen du conducteur

  • Le pilote crée un périphérique et accepte les codes de contrôle des programmes en mode utilisateur



Objet Device et Driver

  • L'examen des objets périphérique et pilote montre l'adresse de base et l'adresse de la routine DriverEntry

  • A savoir que le rootkit est tiré d'un sample sur github, l'auteur se trouve dans les citations cherchez-les.

Routine DriverEntry

  • L'examen de la routine DriverEntry montre la présence d'une DLL «com32.dll»


Vidage de la DLL de la mémoire

  • La DLL vidée de la mémoire, qui a été chargée par rundll32.exe



Vidage du pilote de périphérique

  • Dumping du conducteur après avoir déterminé l'adresse de base du conducteur



Soumission de DLL et de pilote

  • VT confirme le composant Rootkit après avoir soumis les échantillons

Résultats de VT pour le pilote sous-jacent


Résultats de VT pour le sous-programme DLL


Quatrième Demo

Exécution du sample carberp.exe

  • L'exemple crée des fichiers .tmp et appelle explorer.exe et svchost.exe



Activité réseau

  • Un logiciel malveillant effectue des activités DNS et http



Soumet des informations sur le processus

  • Soumet les informations de processus sur le système au serveur de commande et de contrôle



Patch SYSCALL

  • Correctifs SYSCALL dans ntdll.dll pour masquer sa présence



Crochets API en ligne

  • Hooks API appelle pour voler des données http, les fonctions de hook pointent vers un emplacement inconnu



Exécutable intégré

  • Vidage de l'exécutable incorporé qui a été déterminé en examinant la fonction d'accrochage.



Soumission EXE intégrée

  • VirusTotal confirme l'exécutable en tant que composant de Carberp


About

Clear explanation of a rootkit with a sample included.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published