
goLoL è uno scanner di host Windows con doppio supporto per binari LOLBAS e LOLDrivers. Elenca le tecniche LOLBAS eseguibili al tuo attuale livello di privilegi (con mappature MITRE ATT&CK) e può scansionare i file .sys locali per individuare corrispondenze di hash con LOLDrivers vulnerabili o dannosi.
goLoL è uno scanner per host Windows con doppio supporto per i binari LOLBAS e LOLDrivers. Elenca le tecniche LOLBAS eseguibili al tuo attuale livello di privilegi (con mapping MITRE ATT&CK) e può scansionare i file .sys locali per trovare corrispondenze di hash con LOLDrivers vulnerabili/maligni.
Nota: questo strumento non è OPSEC-safe.
Autore: Aaron Kidwell
█████ █████
░░███ ░░███
███████ ██████ ░███ ██████ ░███
███░░███ ███░░███ ░███ ███░░███ ░███
░███ ░███░███ ░███ ░███ ░███ ░███ ░███
░███ ░███░███ ░███ ░███ █░███ ░███ ░███ █
░░███████░░██████ ███████████░░██████ ███████████
░░░░░███ ░░░░░░ ░░░░░░░░░░░ ░░░░░░ ░░░░░░░░░░░
███ ░███
░░██████
░░░░░░

%WINDIR%, %ProgramFiles%, %USERPROFILE% e WindowsAppsT1003.003: NTDS).sys locali e li confronta con il catalogo JSON live di LOLDriversnet localgroup (un solo processo figlio su Windows)| Il tuo contesto | Cosa vedi |
|---|---|
| Utente standard | Tecniche del livello utente |
| Membro del gruppo Administrators locale | Tecniche dei livelli utente + admin |
| NT AUTHORITY\SYSTEM | Tecniche dei livelli utente + admin + SYSTEM |
I comandi di livello admin possono comunque richiedere una shell elevata anche se il tuo account è nel gruppo Administrators. Le voci di livello SYSTEM sono nascoste a meno che il token del processo sia SYSTEM (S-1-5-18).
Installazione remota (richiede una release taggata su GitHub, es. v0.1.0):
go install github.com/aaron-kidwell/goLoL@latest
Il binario viene inserito nella tua GOPATH/bin (o ~/go/bin). Su Windows, assicurati che quella directory sia nel tuo PATH.
Clonazione e build:
git clone https://github.com/aaron-kidwell/goLoL.git
cd goLoL
go build -ldflags="-s -w" -trimpath -o golol.exe .
goLoL supporta due modalità di scansione:
-driver per corrispondenze di hash di driver vulnerabili/maligniEsegui dalla root del modulo (richiesto per i pacchetti internal/):
go run .
Compila un binario (consigliato.. rimuove le informazioni di debug, ~30% più piccolo):
go build -ldflags="-s -w" -trimpath -o golol.exe .
.\golol.exe
-s -w rimuove la tabella dei simboli e i dati di debug DWARF. Una go build predefinita di questo progetto è di ~9.5 MB; con quei flag scende a ~6.4 MB.
Alias di ordinamento: b, priv / p, mitre / a. Valori non validi stampano un errore e mostrano la guida.
# Default: grouped by binary name (A-Z)
go run .
# Driver mode (scan local .sys files against LOLDrivers hashes)
go run . -driver
# Look up a single binary
go run . -s certutil
.\golol.exe -s certutil.exe
# Admin tier first, then user tier (SYSTEM tier first when running as SYSTEM)
go run . -sort privilege
# Sorted by MITRE ATT&CK ID
go run . -sort attack
# Reverse shell / telnet friendly output
go run . -plain
# Combine flags
go run . -plain -sort attack
Conteggi e binari variano in base all'host. Lo screenshot all'inizio di questo README mostra la modalità interattiva (terminale a colori, raggruppati per binario).
Modalità plain (-plain):
[*] Checking process token...
[*] Fetching LOLBAS catalog...
[+] Found 147 binaries, 299 techniques
==============================================================
Role: administrator
Sort: binary
Binaries: 147
Techniques: 299
==============================================================
[1] Esentutl.exe
Path: C:\Windows\System32\esentutl.exe
...
-driver, scarica il catalogo JSON di LOLDrivers, calcola l'hash dei file .sys locali e segnala le corrispondenze di hash.-driver)..
├── docs/
│ └── screenshot.png # README screenshot
├── main.go
├── internal/
│ ├── mitre/
│ │ └── names.go # MITRE ATT&CK ID to label map
│ └── privileges/
│ ├── privileges_windows.go # Token / Administrators group checks
│ └── privileges_stub.go # Non-Windows stub
├── go.mod
└── go.sum
Solo per test di sicurezza autorizzati, uso in laboratorio e formazione. Esegui solo su sistemi che possiedi o per cui hai esplicito permesso di valutazione. Le voci LOLBAS descrivono tecniche che potrebbero essere abusate dagli attaccanti, quindi usale in modo responsabile. L'autore non è responsabile per un uso improprio.
Le tecniche e i metadati provengono dal LOLBAS Project e da LOLDrivers. goLoL non è affiliato né approvato da nessuno dei due progetti.
MIT
| Flag | Descrizione |
|---|
-h, -help | Mostra la guida |
-driver | Scansiona i driver locali ed elenca le corrispondenze note vulnerabili/maligni da LOLDrivers |
-plain | Output solo ASCII (niente colori, Unicode o controllo del cursore) |
-s, -search | Mostra un singolo binario per nome (certutil o certutil.exe); segnala se non è su disco |
-sort | Ordina i risultati: binary (predefinito), privilege o attack |
| Componente | Posizione |
|---|
| Catalogo LOLBAS | https://lolbas-project.github.io/api/lolbas.json |
| Catalogo LOLDrivers | https://www.loldrivers.io/api/drivers.json |
| Rilevamento privilegi | internal/privileges |
| Nomi tecniche MITRE | internal/mitre |
| Risoluzione percorsi e output | main.go |