
goLoL — это сканер хостов Windows с двойной поддержкой двоичных файлов LOLBAS и драйверов LOLDrivers. Он перечисляет методы LOLBAS, которые можно запускать при вашем текущем уровне привилегий (с сопоставлениями MITRE ATT&CK), и может сканировать локальные файлы .sys на предмет совпадений хэшей уязвимых/вредоносных драйверов LOLDrivers.
goLoL — это сканер узлов Windows с двойной поддержкой двоичных файлов LOLBAS и LOLDrivers. Он выводит список техник LOLBAS, которые можно выполнить с вашим текущим уровнем привилегий (с отображением MITRE ATT&CK), и может сканировать локальные файлы .sys на соответствие хешам уязвимых/вредоносных драйверов из LOLDrivers.
Примечание: Этот инструмент не является OPSEC-безопасным.
Автор: Aaron Kidwell
█████ █████
░░███ ░░███
███████ ██████ ░███ ██████ ░███
███░░███ ███░░███ ░███ ███░░███ ░███
░███ ░███░███ ░███ ░███ ░███ ░███ ░███
░███ ░███░███ ░███ ░███ █░███ ░███ ░███ █
░░███████░░██████ ███████████░░██████ ███████████
░░░░░███ ░░░░░░ ░░░░░░░░░░░ ░░░░░░ ░░░░░░░░░░░
███ ░███
░░██████
░░░░░░

%WINDIR%, %ProgramFiles%, %USERPROFILE% и WindowsAppsT1003.003: NTDS).sys и сравнивает с живым каталогом JSON LOLDriversnet localgroup (один дочерний процесс в Windows)| Ваш контекст | Что вы видите |
|---|---|
| Обычный пользователь | Техники уровня пользователя |
| Член локальной группы Администраторы | Техники уровня пользователя + уровня администратора |
| NT AUTHORITY\SYSTEM | Техники уровня пользователя + администратора + SYSTEM |
Команды уровня администратора могут требовать повышенную оболочку, даже если ваша учетная запись входит в группу Администраторы. Записи уровня SYSTEM скрыты, если токен процесса не является SYSTEM (S-1-5-18).
Удаленная установка (требуется тегированный релиз на GitHub, например v0.1.0):
go install github.com/aaron-kidwell/goLoL@latest
Двоичный файл помещается в ваш GOPATH/bin (или ~/go/bin). В Windows убедитесь, что этот каталог находится в вашем PATH.
Клонирование и сборка:
git clone https://github.com/aaron-kidwell/goLoL.git
cd goLoL
go build -ldflags="-s -w" -trimpath -o golol.exe .
goLoL поддерживает два режима сканирования:
-driver для поиска хешей уязвимых/вредоносных драйверовЗапуск из корня модуля (требуется для пакетов internal/):
go run .
Сборка двоичного файла (рекомендуется.. удаляет отладочную информацию, примерно на 30% меньше):
go build -ldflags="-s -w" -trimpath -o golol.exe .
.\golol.exe
-s -w удаляет таблицу символов и отладочные данные DWARF. Обычная сборка go build этого проекта весит примерно 9,5 МБ; с этими флагами размер уменьшается до примерно 6,4 МБ.
Псевдонимы сортировки: b, priv/p, mitre/a. Недопустимые значения выводят ошибку и показывают справку.
# 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
Количество и двоичные файлы различаются в зависимости от хоста. Скриншот в начале этого README показывает интерактивный режим (цветной терминал, группировка по двоичному файлу).
Обычный режим (-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 загружает каталог JSON LOLDrivers, хеширует локальные файлы .sys и сообщает о совпадениях хешей.-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
Только для авторизованного тестирования безопасности, лабораторного использования и обучения. Запускайте только на системах, которые вам принадлежат или на которые у вас есть явное разрешение. Записи LOLBAS описывают техники, которые могут быть использованы злоумышленниками, поэтому используйте ответственно. Автор не несет ответственности за неправомерное использование.
Техники и метаданные взяты из проектов LOLBAS Project и LOLDrivers. goLoL не связан и не поддерживается ни одним из этих проектов.
MIT
| Флаг | Описание |
|---|
-h, -help | Показать справку |
-driver | Сканировать локальные драйверы и вывести известные уязвимые/вредоносные совпадения из LOLDrivers |
-plain | Вывод только в ASCII (без цветов, Unicode или управления курсором) |
-s, -search | Показать один двоичный файл по имени (certutil или certutil.exe); сообщает, если файл не найден на диске |
-sort | Сортировка результатов: binary (по умолчанию), privilege или attack |
| Компонент | Расположение |
|---|
| LOLBAS catalog | https://lolbas-project.github.io/api/lolbas.json |
| LOLDrivers catalog | https://www.loldrivers.io/api/drivers.json |
| Privilege detection | internal/privileges |
| MITRE technique names | internal/mitre |
| Path resolution & output | main.go |