
goLoL es un escáner de hosts de Windows con soporte dual para binarios LOLBAS y LOLDrivers. Lista las técnicas LOLBAS ejecutables en su nivel de privilegio actual (con mapeos MITRE ATT&CK) y puede escanear archivos locales .sys en busca de coincidencias de hash de LOLDrivers vulnerables o maliciosos.
goLoL es un escáner de hosts Windows con soporte dual para binarios LOLBAS y LOLDrivers. Enumera las técnicas LOLBAS ejecutables en tu nivel de privilegio actual (con mapeos MITRE ATT&CK) y puede escanear archivos .sys locales en busca de coincidencias de hash de LOLDrivers vulnerables/maliciosos.
Nota: Esta no es una herramienta segura para OPSEC.
Autor: Aaron Kidwell
█████ █████
░░███ ░░███
███████ ██████ ░███ ██████ ░███
███░░███ ███░░███ ░███ ███░░███ ░███
░███ ░███░███ ░███ ░███ ░███ ░███ ░███
░███ ░███░███ ░███ ░███ █░███ ░███ ░███ █
░░███████░░██████ ███████████░░██████ ███████████
░░░░░███ ░░░░░░ ░░░░░░░░░░░ ░░░░░░ ░░░░░░░░░░░
███ ░███
░░██████
░░░░░░

%WINDIR%, %ProgramFiles%, %USERPROFILE% y WindowsAppsT1003.003: NTDS).sys locales y los compara con el catálogo JSON en vivo de LOLDriversnet localgroup (un proceso hijo en Windows)| Tu contexto | Lo que ves |
|---|---|
| Usuario estándar | Técnicas de nivel de usuario |
| Miembro de Administradores local | Técnicas de nivel de usuario + nivel de administrador |
| NT AUTHORITY\SYSTEM | Técnicas de nivel de usuario + nivel de administrador + nivel SYSTEM |
Los comandos de nivel de administrador pueden requerir un shell elevado incluso si tu cuenta está en el grupo de Administradores. Las entradas de nivel SYSTEM están ocultas a menos que el token del proceso sea SYSTEM (S-1-5-18).
Instalación remota (requiere una versión etiquetada en GitHub, ej. v0.1.0):
go install github.com/aaron-kidwell/goLoL@latest
El binario se coloca en tu GOPATH/bin (o ~/go/bin). En Windows, asegúrate de que ese directorio esté en tu PATH.
Clonar y compilar:
git clone https://github.com/aaron-kidwell/goLoL.git
cd goLoL
go build -ldflags="-s -w" -trimpath -o golol.exe .
goLoL admite dos modos de escaneo:
-driver para coincidencias de hash de controladores vulnerables/maliciososEjecuta desde la raíz del módulo (necesario para los paquetes internal/):
go run .
Compila un binario (recomendado... elimina información de depuración, ~30% más pequeño):
go build -ldflags="-s -w" -trimpath -o golol.exe .
.\golol.exe
-s -w elimina la tabla de símbolos y los datos de depuración DWARF. Un go build predeterminado de este proyecto ocupa ~9.5 MB; con esas banderas se reduce a ~6.4 MB.
Alias de orden: b, priv / p, mitre / a. Los valores no válidos muestran un error y la ayuda.
# Predeterminado: agrupado por nombre de binario (A-Z)
go run .
# Modo controlador (escanea archivos .sys locales contra hashes de LOLDrivers)
go run . -driver
# Busca un binario específico
go run . -s certutil
.\golol.exe -s certutil.exe
# Primero nivel administrador, luego usuario (nivel SYSTEM primero al ejecutar como SYSTEM)
go run . -sort privilege
# Ordenado por ID de MITRE ATT&CK
go run . -sort attack
# Salida amigable para shell inverso / telnet
go run . -plain
# Combina banderas
go run . -plain -sort attack
Los recuentos y binarios varían según el host. La captura de pantalla al inicio de este README muestra el modo interactivo (terminal en color, agrupado por binario).
Modo simple (-plain):
[*] Comprobando token del proceso...
[*] Obteniendo catálogo LOLBAS...
[+] Se encontraron 147 binarios, 299 técnicas
==============================================================
Rol: administrador
Orden: binary
Binarios: 147
Técnicas: 299
==============================================================
[1] Esentutl.exe
Ruta: C:\Windows\System32\esentutl.exe
...
-driver, descarga el catálogo JSON de LOLDrivers, calcula el hash de archivos .sys locales y reporta coincidencias de hash.-driver)..
├── docs/
│ └── screenshot.png # Captura de pantalla del README
├── main.go
├── internal/
│ ├── mitre/
│ │ └── names.go # Mapa de ID de MITRE ATT&CK a etiqueta
│ └── privileges/
│ ├── privileges_windows.go # Comprobaciones de token/grupo Administradores
│ └── privileges_stub.go # Bloque para no Windows
├── go.mod
└── go.sum
Solo para pruebas de seguridad autorizadas, uso en laboratorio y educación. Ejecuta únicamente contra sistemas que poseas o para los que tengas permiso explícito de evaluar. Las entradas LOLBAS describen técnicas que pueden ser abusadas por atacantes, úsalas con responsabilidad. El autor no se hace responsable del mal uso.
Las técnicas y metadatos provienen del LOLBAS Project y de LOLDrivers. goLoL no está afiliado ni respaldado por ninguno de los dos proyectos.
MIT
| Bande ra | Descripción |
|---|
-h, -help | Muestra ayuda |
-driver | Escanea controladores locales y lista coincidencias conocidas vulnerables/maliciosas de LOLDrivers |
-plain | Salida solo ASCII (sin colores, Unicode ni control del cursor) |
-s, -search | Muestra un binario por nombre (certutil o certutil.exe); informa si no está en disco |
-sort | Ordena resultados: binary (predeterminado), privilege o attack |
| Componente | Ubicación |
|---|
| Catálogo LOLBAS | https://lolbas-project.github.io/api/lolbas.json |
| Catálogo LOLDrivers | https://www.loldrivers.io/api/drivers.json |
| Detección de privilegios | internal/privileges |
| Nombres de técnicas MITRE | internal/mitre |
| Resolución de rutas y salida | main.go |