
goLoL é um scanner de hosts Windows com suporte duplo para binários LOLBAS e LOLDrivers. Ele lista técnicas LOLBAS executáveis no seu nível de privilégio atual (com mapeamentos MITRE ATT&CK) e pode escanear arquivos .sys locais em busca de correspondências de hash de LOLDrivers vulneráveis/maliciosos.
goLoL é um scanner de hosts Windows com suporte duplo para binários LOLBAS e LOLDrivers. Ele lista técnicas LOLBAS executáveis no seu nível de privilégio atual (com mapeamentos MITRE ATT&CK) e pode escanear arquivos .sys locais em busca de correspondências de hashes de drivers vulneráveis/maliciosos do LOLDrivers.
Nota: Esta não é uma ferramenta segura para OPSEC.
Autor: Aaron Kidwell
█████ █████
░░███ ░░███
███████ ██████ ░███ ██████ ░███
███░░███ ███░░███ ░███ ███░░███ ░███
░███ ░███░███ ░███ ░███ ░███ ░███ ░███
░███ ░███░███ ░███ ░███ █░███ ░███ ░███ █
░░███████░░██████ ███████████░░██████ ███████████
░░░░░███ ░░░░░░ ░░░░░░░░░░░ ░░░░░░ ░░░░░░░░░░░
███ ░███
░░██████
░░░░░░

%WINDIR%, %ProgramFiles%, %USERPROFILE% e WindowsAppsT1003.003: NTDS).sys locais e compara com o catálogo JSON ao vivo do LOLDriversnet localgroup (um processo filho no Windows)| Seu contexto | O que você vê |
|---|---|
| Usuário padrão | Técnicas de nível de usuário |
| Membro do grupo Administradores local | Técnicas de nível de usuário + administrador |
| NT AUTHORITY\SYSTEM | Técnicas de nível de usuário + administrador + SYSTEM |
Comandos de nível administrador ainda podem exigir um shell elevado, mesmo se sua conta estiver no grupo Administradores. Entradas de nível SYSTEM são ocultadas a menos que o token do processo seja SYSTEM (S-1-5-18).
Instalação remota (requer um release com tag no GitHub, ex.: v0.1.0):
go install github.com/aaron-kidwell/goLoL@latest
O binário é colocado no seu GOPATH/bin (ou ~/go/bin). No Windows, certifique-se de que esse diretório está no seu PATH.
Clonar e compilar:
git clone https://github.com/aaron-kidwell/goLoL.git
cd goLoL
go build -ldflags="-s -w" -trimpath -o golol.exe .
goLoL oferece suporte a dois modos de escaneamento:
-driver para correspondências de hashes de drivers vulneráveis/maliciososExecute a partir da raiz do módulo (necessário para pacotes internal/):
go run .
Compile um binário (recomendado… remove informações de debug, ~30% menor):
go build -ldflags="-s -w" -trimpath -o golol.exe .
.\golol.exe
-s -w remove a tabela de símbolos e dados de debug DWARF. Um go build padrão deste projeto tem ~9,5 MB; com essas flags cai para ~6,4 MB.
Aliases de ordenação: b, priv / p, mitre / a. Valores inválidos exibem um erro e mostram a ajuda.
# Padrão: agrupado por nome do binário (A-Z)
go run .
# Modo driver (escaneia arquivos .sys locais contra hashes do LOLDrivers)
go run . -driver
# Consultar um único binário
go run . -s certutil
.\golol.exe -s certutil.exe
# Nível administrador primeiro, depois usuário (nível SYSTEM primeiro ao executar como SYSTEM)
go run . -sort privilege
# Ordenado por ID MITRE ATT&CK
go run . -sort attack
# Saída amigável para shell reverso / telnet
go run . -plain
# Combinar bandeiras
go run . -plain -sort attack
Contagens e binários variam por host. A captura de tela no topo deste README mostra o modo interativo (terminal colorido, agrupado por binário).
Modo simples (-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, baixa o catálogo JSON do LOLDrivers, calcula hash de arquivos .sys locais e relata correspondências de hash.-driver)..
├── docs/
│ └── screenshot.png # Captura de tela do README
├── main.go
├── internal/
│ ├── mitre/
│ │ └── names.go # Mapa de ID MITRE ATT&CK para rótulo
│ └── privileges/
│ ├── privileges_windows.go # Verificações de token / grupo Administradores
│ └── privileges_stub.go # Stub para não-Windows
├── go.mod
└── go.sum
Para testes de segurança autorizados, uso em laboratório e educação apenas. Execute apenas em sistemas que você possui ou para os quais tem permissão explícita de avaliação. As entradas do LOLBAS descrevem técnicas que podem ser abusadas por atacantes; use com responsabilidade. O autor não se responsabiliza pelo uso indevido.
As técnicas e metadados são provenientes do LOLBAS Project e do LOLDrivers. goLoL não é afiliado nem endossado por nenhum desses projetos.
MIT
| Bandeira | Descrição |
|---|
-h, -help | Mostra ajuda |
-driver | Escaneia drivers locais e lista correspondências conhecidas (vulneráveis/maliciosas) do LOLDrivers |
-plain | Saída somente ASCII (sem cores, Unicode ou controle de cursor) |
-s, -search | Mostra um binário específico pelo nome (certutil ou certutil.exe); informa se não está no disco |
-sort | Ordenar resultados: binary (padrão), privilege ou attack |
| Componente | Localização |
|---|
| Catálogo LOLBAS | https://lolbas-project.github.io/api/lolbas.json |
| Catálogo LOLDrivers | https://www.loldrivers.io/api/drivers.json |
| Detecção de privilégio | internal/privileges |
| Nomes de técnicas MITRE | internal/mitre |
| Resolução de caminhos e saída | main.go |