
goLoL est un scanner d'hôtes Windows avec prise en charge double des binaires LOLBAS et des pilotes LOLDrivers. Il répertorie les techniques LOLBAS exécutables à votre niveau de privilège actuel (avec des mappages MITRE ATT&CK) et peut analyser les fichiers .sys locaux pour les correspondances de hachage de pilotes vulnérables/malveillants.
goLoL est un scanner d'hôtes Windows prenant en charge les binaires LOLBAS et LOLDrivers. Il liste les techniques LOLBAS exécutables à votre niveau de privilège actuel (avec les correspondances MITRE ATT&CK) et peut analyser les fichiers .sys locaux pour détecter les correspondances de hachage de pilotes vulnérables/malicieux.
Remarque : Cet outil n'est pas sécurisé du point de vue OPSEC.
Auteur : Aaron Kidwell
█████ █████
░░███ ░░███
███████ ██████ ░███ ██████ ░███
███░░███ ███░░███ ░███ ███░░███ ░███
░███ ░███░███ ░███ ░███ ░███ ░███ ░███
░███ ░███░███ ░███ ░███ █░███ ░███ ░███ █
░░███████░░██████ ███████████░░██████ ███████████
░░░░░███ ░░░░░░ ░░░░░░░░░░░ ░░░░░░ ░░░░░░░░░░░
███ ░███
░░██████
░░░░░░

%WINDIR%, %ProgramFiles%, %USERPROFILE% et WindowsAppsT1003.003 : NTDS).sys locaux et les compare au catalogue JSON en direct de LOLDriversnet localgroup (un seul processus enfant sous Windows)| Votre contexte | Ce que vous voyez |
|---|---|
| Utilisateur standard | Techniques de niveau utilisateur |
| Membre des Administrateurs locaux | Techniques de niveau utilisateur + administrateur |
| NT AUTHORITY\SYSTEM | Techniques de niveau utilisateur + administrateur + SYSTEM |
Les commandes de niveau administrateur peuvent nécessiter un shell élevé même si votre compte appartient au groupe Administrateurs. Les entrées de niveau SYSTEM sont masquées sauf si le jeton de processus est SYSTEM (S-1-5-18).
Installation à distance (nécessite une version taguée sur GitHub, par ex. v0.1.0) :
go install github.com/aaron-kidwell/goLoL@latest
Le binaire est placé dans votre GOPATH/bin (ou ~/go/bin). Sous Windows, assurez-vous que ce répertoire figure dans votre PATH.
Clonage et compilation :
git clone https://github.com/aaron-kidwell/goLoL.git
cd goLoL
go build -ldflags="-s -w" -trimpath -o golol.exe .
goLoL prend en charge deux modes d'analyse :
-driver pour les correspondances de hachage de pilotes vulnérables/malicieuxExécutez depuis la racine du module (nécessaire pour les packages internal/) :
go run .
Construisez un binaire (recommandé... supprime les informations de débogage, ~30 % plus petit) :
go build -ldflags="-s -w" -trimpath -o golol.exe .
.\golol.exe
-s -w supprime la table des symboles et les données de débogage DWARF. Une compilation go build par défaut de ce projet fait environ 9,5 Mo ; avec ces indicateurs, elle tombe à environ 6,4 Mo.
Alias de tri : b, priv / p, mitre / a. Les valeurs invalides affichent une erreur et montrent l'aide.
# Par défaut : regroupé par nom de binaire (A-Z)
go run .
# Mode pilote (analyse des fichiers .sys locaux par rapport aux hachages LOLDrivers)
go run . -driver
# Recherche d'un seul binaire
go run . -s certutil
.\golol.exe -s certutil.exe
# Niveau administrateur en premier, puis utilisateur (niveau SYSTEM en premier quand vous êtes SYSTEM)
go run . -sort privilege
# Trié par identifiant MITRE ATT&CK
go run . -sort attack
# Sortie compatible shell inversé / telnet
go run . -plain
# Combinaison de paramètres
go run . -plain -sort attack
Les compteurs et les binaires varient selon l'hôte. La capture d'écran en haut de ce README montre le mode interactif (terminal en couleur, regroupé par binaire).
Mode simple (-plain) :
[*] Vérification du jeton de processus...
[*] Récupération du catalogue LOLBAS...
[+] 147 binaires trouvés, 299 techniques
==============================================================
Rôle : administrateur
Tri : binary
Binaires : 147
Techniques : 299
==============================================================
[1] Esentutl.exe
Chemin : C:\Windows\System32\esentutl.exe
...
-driver, télécharge le catalogue JSON LOLDrivers, hache les fichiers .sys locaux et signale les correspondances de hachage.-driver)..
├── docs/
│ └── screenshot.png # Capture d'écran du README
├── main.go
├── internal/
│ ├── mitre/
│ │ └── names.go # Correspondance ID MITRE ATT&CK vers libellé
│ └── privileges/
│ ├── privileges_windows.go # Vérification de jeton / groupe Administrateurs
│ └── privileges_stub.go # Stub non Windows
├── go.mod
└── go.sum
Pour des tests de sécurité autorisés, une utilisation en laboratoire et à des fins éducatives uniquement. Exécutez uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite d'évaluer. Les entrées LOLBAS décrivent des techniques pouvant être abusées par des attaquants, utilisez-les de manière responsable. L'auteur n'est pas responsable de toute utilisation abusive.
Les techniques et métadonnées proviennent du LOLBAS Project et de LOLDrivers. goLoL n'est affilié ni approuvé par aucun de ces projets.
MIT
| Paramètre | Description |
|---|
-h, -help | Affiche l'aide |
-driver | Analyse les pilotes locaux et liste les correspondances vulnérables/malicieuses connues de LOLDrivers |
-plain | Sortie ASCII uniquement (pas de couleurs, Unicode ou contrôle du curseur) |
-s, -search | Affiche un seul binaire par nom (certutil ou certutil.exe) ; signale s'il n'est pas sur le disque |
-sort | Trie les résultats : binary (par défaut), privilege ou attack |
| Composant | Emplacement |
|---|
| Catalogue LOLBAS | https://lolbas-project.github.io/api/lolbas.json |
| Catalogue LOLDrivers | https://www.loldrivers.io/api/drivers.json |
| Détection des privilèges | internal/privileges |
| Noms des techniques MITRE | internal/mitre |
| Résolution de chemin et sortie | main.go |