Skip to content

badStephane/mal-track

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Mal-Track

Description

L'objectif de ce projet est de comprendre le fonctionnement de base d'un virus informatique dans un environnement Windows et les méthodes simples pour les éliminer.

Dans le cadre de ce projet, j'ai créé un programme qui élimine le logiciel malveillant, supprime son exécution au démarrage de la machine, l'arrête et le supprime de la machine virtuelle, puis affiche l'adresse IP de l'attaquant.

Requirements

  • Windows based machine
  • Access to admin privileges
  • Python
    • psutil (pip install psutil)

Usage

Rechercher le hachage du fichier :

Get-FileHash C:\Path\To\Your\file.exe

Copier le hachage du fichier

Exécuter PowerShell en tant qu'administrateur

PS C:\> python.exe C:\path\to\mal-track.py -h

usage: mal-track.py [-h] [--hash HASH] [--dir DIR] [--hash-type HASH_TYPE]

Find and remove malware from the system

options:
  -h, --help            show this help message and exit
  --hash HASH           hash of the file
  --dir DIR             Root directory to start scanning from
  --hash-type HASH_TYPE
                        Hash type

Answers for audit questions

  • Is the student able to explain clearly how we can manage the startup programs in windows?

    Les programmes de démarrage dans Windows sont des applications et des services configurés pour se lancer automatiquement au démarrage du système d'exploitation.

    Comment les gérer :

  1. Gestionnaire des tâches - Onglet Démarrage
  • Emplacement : accessible via le Gestionnaire des tâches (Ctrl + Maj + Échap), sous l'onglet « Démarrage ».
  • Détails : cet onglet répertorie les programmes qui ont été enregistrés pour démarrer au lancement du système. Ces programmes ont généralement des entrées de registre ou des raccourcis dans des dossiers système spécifiques.
  1. Dossier Démarrage
  • Pour les utilisateurs individuels : \Users<YourUsername>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
  • Pour tous les utilisateurs : C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
  1. Registre Windows

    • Pour l'utilisateur actuel : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    • Pour tous les utilisateurs : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  2. Tâches planifiées

  • Accessible via le Planificateur de tâches (taskschd.msc).

  • Is the student able to explain clearly how he get the ip of the attacker from the malware?

    Le programme recherche les adresses IP d'attaquants potentiels à partir d'un fichier exécutable en effectuant une analyse statique du binaire. Il lit d'abord l'intégralité du contenu du fichier exécutable sous forme de données binaires brutes. Il extrait ensuite toutes les séquences de caractères ASCII imprimables (chaînes) à l'aide d'une expression régulière qui correspond à ces séquences dans le fichier binaire. Une fois les chaînes extraites, la fonction les analyse à l'aide d'une autre expression régulière spécialement conçue pour identifier les adresses IPv4, qui sont généralement formatées sous la forme de quatre séries de chiffres séparés par des points (par exemple, 192.168.0.1).

  • Is the student able to explain clearly how his program works?

    Le script commence par configurer la journalisation. Il crée un répertoire nommé « logs » dans le même répertoire que le script, et les journaux sont enregistrés avec un nom de fichier qui inclut l'horodatage actuel. La configuration de la journalisation spécifie que les journaux doivent être écrits dans un fichier, avec un format qui inclut l'horodatage, le niveau de journalisation et le message.

    La fonction main utilise argparse pour définir et analyser les arguments de la ligne de commande. Elle attend un hachage (--hash), un répertoire racine à partir duquel commencer l'analyse (--dir) et un type de hachage (--hash-type). Si le hachage est fourni et valide, et que le script est exécuté avec des privilèges administratifs, elle appelle la fonction antimalware pour lancer le processus d'analyse.

    La fonction antimalware analyse le système de fichiers à partir du répertoire racine spécifié. Pour chaque fichier, elle calcule le hachage du fichier et le compare au hachage cible. Si une correspondance est trouvée, elle enregistre la correspondance, tue le processus associé, trouve l'adresse IP de l'attaquant dans le fichier, supprime le fichier du démarrage et supprime le fichier.

    La fonction calculate_file_hash lit un fichier par morceaux et calcule son hachage en utilisant le type de hachage spécifié.

    La fonction remove_from_startup supprime un chemin d'accès à un fichier des clés Run et RunOnce du registre Windows, garantissant ainsi que le logiciel malveillant ne s'exécute pas au démarrage.

    La fonction find_ip recherche les adresses IP dans un fichier en extrayant les chaînes imprimables et en utilisant une expression régulière pour trouver les modèles IP.

    La fonction extract_strings extrait les chaînes imprimables d'un fichier binaire.

    La fonction kill_process itère sur tous les processus en cours d'exécution, calcule le hachage de l'exécutable de chaque processus et termine les processus dont le hachage de l'exécutable correspond au hachage cible. La fonction `

    delete_file tente de supprimer un fichier et enregistre le résultat.

About

Migrated from Gitea

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages