Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Loki — Scanneur basé sur les IOC et YARA pour détecter les indicateurs de compromission via des regex sur les noms de fichiers, des signatures YARA, la correspondance de hachages et des vérifications de connexion retour C2 sur les endpoints. | Kitploit
Outils/GitHubGitHub/neo23x0/loki
Gestion des Indicateurs de Compromission (IOC)Scanners de VulnérabilitésAnalyse de HachageAnalyse ForensiqueAnalyse de MalwareCriminalistique NumériqueRenseignement sur les MenacesRéponse aux Incidents
GitHubneo23x0/loki

Loki

Scanneur basé sur les IOC et YARA pour détecter les indicateurs de compromission via des regex sur les noms de fichiers, des signatures YARA, la correspondance de hachages et des vérifications de connexion retour C2 sur les endpoints.

3.8k612il y a 7 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
Site web

Not Maintained

J'ai écrit un nouveau scanner YARA open source appelé LOKI RS (Rust). LOKI (Python) est désormais officiellement déprécié.

Note Importante

Ce projet est maintenant en mode de maintenance inactive. Cela signifie que bien que je fusionne les pull requests pour les corrections de bugs et les problèmes simples, je manque actuellement de temps pour ajouter de nouvelles fonctionnalités ou étendre les existantes. Depuis des années, mon attention s'est portée sur le développement d'un scanner plus avancé, THOR, qui offre une série d'améliorations par rapport à ce projet. Une version gratuite, THOR Lite, est disponible ; elle est plus rapide, plus stable et rigoureusement testée dans nos environnements CI — tout simplement une meilleure solution. Vous pouvez trouver une comparaison des scanners open source, gratuits et commerciaux ici.

J'ai également commencé à travailler sur une version de LOKI basée sur Rust appelée LOKI 2. Cependant, je ne sais pas quand elle atteindra la parité fonctionnelle avec la version actuelle de LOKI. De plus, j'ai créé un organigramme pour vous aider à décider quel scanner correspond le mieux à vos besoins.

Logo

Loki - Scanner simple d'IOC et de YARA

Scanner pour indicateurs simples de compromission

La détection est basée sur quatre méthodes de détection :

root@kitploit:~
1. IOC de nom de fichier
   Correspondance regex sur le chemin/nom complet du fichier

2. Vérification de règle Yara
   Correspondance de signature Yara sur les données de fichiers et la mémoire des processus

3. Vérification de hachage
   Compare des hachages malveillants connus (MD5, SHA1, SHA256) avec les fichiers scannés
   
4. Vérification de connexion retour C2
   Compare les points de terminaison de connexion des processus avec les IOC C2 (nouveau depuis la version v.10)
   

Vérifications supplémentaires :

root@kitploit:~
1. Vérification du système de fichiers Regin (via --reginfs)
2. Vérification d'anomalies de processus (basée sur [Sysforensics](http://goo.gl/P99QZQ)
3. Scan SWF décompressé (nouveau depuis la version v0.8)
4. Vérification de vidage SAM

Le binaire Windows est compilé avec PyInstaller et devrait s'exécuter comme une application x86 sur les systèmes x86 et x64.

Comment exécuter LOKI et analyser les rapports

Exécution

  • Téléchargez la version la plus récente de LOKI depuis la section releases
  • Extrayez le dossier du programme
  • Exécutez loki-upgrader.exe sur un système avec accès Internet pour récupérer les dernières signatures
  • Apportez le dossier du programme sur le système cible à scanner : support amovible, partage réseau, dossier sur le système cible
  • Ouvrez une invite de commande "cmd.exe" en tant qu'Administrateur et exécutez-le à partir de là (vous pouvez aussi exécuter LOKI sans privilèges administratifs mais certaines vérifications seront désactivées et les objets pertinents sur le disque ne seront pas accessibles)

Rapports

  • Le rapport résultant affichera une ligne de résultat VERTE, JAUNE ou ROUGE.
  • Veuillez analyser les résultats vous-même en :
    1. téléchargeant des échantillons non confidentiels sur Virustotal.com
    2. Recherchez le nom de fichier sur le web
    3. Recherchez sur le web des mots-clés du nom de règle (ex. EQUATIONGroupMalware_1 > rechercher "Equation Group")
    4. Recherchez le hachage MD5 de l'échantillon sur le web
  • Veuillez signaler les faux positifs via la section "Issues", accessible depuis la barre latérale droite (mentionnez l'indicateur de faux positif comme un hachage et/ou un nom de fichier ainsi que le nom de la règle qui a déclenché)

Prérequis

Aucun prérequis si vous utilisez l'EXE compilé.

Si vous voulez le compiler vous-même :

  • yara : Il est recommandé d'utiliser la version la plus récente des paquets compilés pour Windows (x86) - Téléchargez-le ici : https://github.com/VirusTotal/yara-python/releases
  • colorama : pour ajouter de la couleur
  • psutil : vérifications de processus
  • pywin32 : conversions de chemins (PyInstaller problème ; Windows uniquement)

Utilisation

root@kitploit:~
usage: loki.py [-h] [-p path] [-s kilobyte] [-l log-file] [-r remote-loghost]
               [-t remote-syslog-port] [-a alert-level] [-w warning-level]
               [-n notice-level] [--allhds] [--alldrives] [--printall]
               [--allreasons] [--noprocscan] [--nofilescan] [--vulnchecks]
               [--nolevcheck] [--scriptanalysis] [--rootkit] [--noindicator]
               [--dontwait] [--intense] [--csv] [--onlyrelevant] [--nolog]
               [--update] [--debug] [--maxworkingset MAXWORKINGSET]
               [--syslogtcp] [--logfolder log-folder] [--nopesieve]
               [--pesieveshellc] [--nolisten]
               [--excludeprocess EXCLUDEPROCESS] [--force]

Loki - Simple IOC Scanner

optional arguments:
  -h, --help            show this help message and exit
  -p path               Path to scan
  -s kilobyte           Maximum file size to check in KB (default 5000 KB)
  -l log-file           Log file
  -r remote-loghost     Remote syslog system
  -t remote-syslog-port
                        Remote syslog port
  -a alert-level        Alert score
  -w warning-level      Warning score
  -n notice-level       Notice score
  --allhds              Scan all local hard drives (Windows only)
  --alldrives           Scan all drives (including network drives and
                        removable media)
  --printall            Print all files that are scanned
  --allreasons          Print all reasons that caused the score
  --noprocscan          Skip the process scan
  --nofilescan          Skip the file scan
  --vulnchecks          Run the vulnerability checks
  --nolevcheck          Skip the Levenshtein distance check
  --scriptanalysis      Statistical analysis for scripts to detect obfuscated
                        code (beta)
  --rootkit             Skip the rootkit check
  --noindicator         Do not show a progress indicator
  --dontwait            Do not wait on exit
  --intense             Intense scan mode (also scan unknown file types and
                        all extensions)
  --csv                 Write CSV log format to STDOUT (machine processing)
  --onlyrelevant        Only print warnings or alerts
  --nolog               Don't write a local log file
  --update              Update the signatures from the "signature-base" sub
                        repository
  --debug               Debug output
  --maxworkingset MAXWORKINGSET
                        Maximum working set size of processes to scan (in MB,
                        default 100 MB)
  --syslogtcp           Use TCP instead of UDP for syslog logging
  --logfolder log-folder
                        Folder to use for logging when log file is not
                        specified
  --nopesieve           Do not perform pe-sieve scans
  --pesieveshellc       Perform pe-sieve shellcode scan
  --nolisten            Dot not show listening connections
  --excludeprocess EXCLUDEPROCESS
                        Specify an executable name to exclude from scans, can
                        be used multiple times
  --force               Force the scan on a certain folder (even if excluded
                        with hard exclude in LOKI's code

Signature et IOC

Depuis la version 0.15, les signatures Yara résident dans le sous-dépôt signature-base. Vous n'obtiendrez pas le sous-dépôt en téléchargeant LOKI en tant que fichier ZIP. Il sera inclus lorsque vous clonerez le dépôt.

Les fichiers IOC pour les hachages et les noms de fichier sont stockés dans le dossier './signature-base/iocs'. Tous les fichiers '.yar' placés dans le dossier './signature-base/yara' seront initialisés avec l'ensemble de règles déjà inclus. Utilisez la valeur 'score' pour définir le niveau du message lors d'une correspondance de signature.

Vous pouvez ajouter des IOC de hachage, c2 et de nom de fichier en ajoutant des fichiers dans le sous-dossier './signature-base/iocs'. Tous les fichiers IOC de hachage et de nom de fichier doivent être au format utilisé par LOKI (voir les fichiers par défaut). Les fichiers doivent contenir les chaînes "hash", "filename" ou "c2" dans leur nom pour être récupérés lors de l'initialisation.

Pour les IOC de hachage (séparés par une nouvelle ligne)

root@kitploit:~
Hash;Description [Reference]

Pour les IOC de nom de fichier (séparés par une nouvelle ligne)

root@kitploit:~
# (optional) Description [Reference]
Filename as Regex[;Score as integer[;False-positive as Regex]]

Exclusions de scan définies par l'utilisateur

Depuis la version v0.16.2, LOKI prend en charge la définition d'exclusions définies par l'utilisateur via "excludes.cfg" dans le nouveau dossier "./config". Chaque ligne représente une expression régulière qui est appliquée au chemin complet du fichier lors du parcours des répertoires. De cette façon, vous pouvez exclure certains répertoires quel que soit leur nom de lecteur, des extensions de fichier dans certains dossiers, et tous les fichiers et répertoires appartenant à un produit sensible à l'analyse antivirale.

Le fichier '''exclude.cfg''' ressemble à ceci :

root@kitploit:~
# Excluded directories
#
# - add directories you want to exclude from the scan
# - double escape back slashes
# - values are case-insensitive
# - remember to use back slashes on Windows and slashes on Linux / Unix / OSX
# - each line contains a regex that matches somewhere in the full path (case insensitive)
#   e.g.:
#   Regex: \\System32\\
#   Matches C:\Windows\System32\cmd.exe
#
#   Regex: /var/log/[^/]+\.log
#   Matches: /var/log/test.log
#   Not Matches: /var/log/test.gz
#

# Useful examples
\\Ntfrs\\
\\Ntds\\
\\EDB[^\.]+\.log
Sysvol\\Staging\\Nntfrs_cmp
\\System Volume Information\\DFSR

Captures d'écran

Scan Loki

Écran

Correspondances Regin

Écran

Faux positifs Regin

Écran

IOC basés sur les hachages

Écran

IOC basés sur les noms de fichier

Écran

Fichier journal généré

Écran

Contact

Scanner LOKI sur notre page d'accueil d'entreprise https://www.nextron-systems.com/loki/

Twitter @cyb3rOps @thor_scanner

Si vous êtes intéressé par une solution d'entreprise pour le scan d'APT, jetez un œil au grand frère de Loki, THOR.

Compiler le scanner

Téléchargez PyInstaller, accédez au répertoire du programme pyinstaller et exécutez :

root@kitploit:~
python ./pyinstaller.py -F C:\path\to\loki.py

Cela créera un loki.exe dans le sous-dossier ./loki/dist.

Astuce Pro (optionnelle)

Pour inclure la msvcr100.dll afin d'améliorer la compatibilité du système d'exploitation cible, modifiez la ligne du fichier ./loki/loki.spec qui contient a.binaries, comme suit :

root@kitploit:~
a.binaries + [('msvcr100.dll', 'C:\Windows\System32\msvcr100.dll', 'BINARY')],

Utiliser LOKI sur Mac OS X (ou ultérieur) ou Linux

  • Initialisez un environnement virtuel Python pour loki. Pour ce faire, assurez-vous d'avoir le module Python venv, puis exécutez python -m venv path/to/venv où path/to/venv est le chemin vers votre environnement virtuel. Testez votre environnement virtuel en exécutant path/to/venv/bin/python --version. Mettez à niveau les modules de votre environnement virtuel pour pip, setuptools et wheel en exécutant path/to/venv/bin/python -m pip install --upgrade pip setuptools wheel.
  • Installez les bibliothèques path/to/venv/bin/python -m pip install colorama yara-python psutil rfc5424-logging-handler netaddr
  • Exécutez loki-upgrader.py path/to/venv/bin/python path/to/loki/loki-upgrader.py où path/to/loki est le chemin du dépôt Loki.

Sources Yara

Téléchargez les sources Yara ici

Antivirus - Faux positifs

Le scanner compilé peut être détecté par les moteurs antivirus. Cela est dû au fait que le scanner est un script python compilé qui implémente certaines fonctionnalités de scan de système de fichiers et de processus qui sont également utilisées dans le code malveillant compilé.

Si vous ne faites pas confiance à l'exécutable compilé, veuillez le compiler vous-même.

Licence

Loki - Scanner simple d'IOC Copyright (c) 2015 Florian Roth

Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la Licence, soit (à votre discrétion) toute version ultérieure.

Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION À UN USAGE PARTICULIER. Voir la GNU General Public License pour plus de détails.

Vous devriez avoir reçu une copie de la GNU General Public License avec ce programme. Sinon, voir http://www.gnu.org/licenses/

Télécharger l’outil
  • Exécutez loki sudo path/to/venv/bin/python loki.py