goLoL 是一款 Windows 主机扫描工具,同时支持 LOLBAS 可执行文件和 LOLDrivers。它列出当前权限等级下可运行的 LOLBAS 技术(附带 MITRE ATT&CK 映射),并可扫描本地 .sys 文件,查找与易受攻击/恶意的 LOLDrivers 哈希匹配项。
注意: 这并不是一个 OPSEC 安全的工具。
作者: Aaron Kidwell
█████ █████
░░███ ░░███
███████ ██████ ░███ ██████ ░███
███░░███ ███░░███ ░███ ███░░███ ░███
░███ ░███░███ ░███ ░███ ░███ ░███ ░███
░███ ░███░███ ░███ ░███ █░███ ░███ ░███ █
░░███████░░██████ ███████████░░██████ ███████████
░░░░░███ ░░░░░░ ░░░░░░░░░░░ ░░░░░░ ░░░░░░░░░░░
███ ░███
░░██████
░░░░░░

%WINDIR%、%ProgramFiles%、%USERPROFILE% 和 WindowsApps 位置T1003.003: NTDS).sys 文件计算哈希,并与实时 LOLDrivers JSON 目录匹配net localgroup(Windows 上一个子进程)| 你的上下文 | 你看到的内容 |
|---|---|
| 标准用户 | 用户级技术 |
| 本地 Administrators 组成员 | 用户级 + 管理员级技术 |
| NT AUTHORITY\SYSTEM | 用户级 + 管理员级 + SYSTEM 级技术 |
即使你的账户在 Administrators 组中,管理员级命令仍可能需要提权 shell。SYSTEM 级条目仅在进程令牌为 SYSTEM(S-1-5-18)时显示。
远程安装(需要 GitHub 上有标记的 release,例如 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 MB;使用这些标志后降至约 6.4 MB。
排序别名:b、priv / p、mitre / a。无效值会打印错误并显示帮助。
# 默认:按可执行文件名称分组(A-Z)
go run .
# 驱动模式(扫描本地 .sys 文件,匹配 LOLDrivers 哈希)
go run . -driver
# 查找单个可执行文件
go run . -s certutil
.\golol.exe -s certutil.exe
# 管理员级优先,然后是用户级(以 SYSTEM 身份运行时 SYSTEM 级优先)
go run . -sort privilege
# 按 MITRE ATT&CK ID 排序
go run . -sort attack
# 兼容反弹 Shell / telnet 的输出
go run . -plain
# 组合参数
go run . -plain -sort attack
数量和可执行文件因主机而异。本 README 顶部的截图显示了交互模式(彩色终端,按可执行文件分组)。
纯文本模式(-plain):
[*] 检查进程令牌...
[*] 获取 LOLBAS 目录...
[+] 发现 147 个可执行文件,299 种技术
==============================================================
角色: administrator
排序: binary
可执行文件: 147
技术: 299
==============================================================
[1] Esentutl.exe
路径: C:\Windows\System32\esentutl.exe
...
-driver 模式下,下载 LOLDrivers JSON 目录,计算本地 .sys 文件的哈希,并报告哈希匹配项。-driver 模式下的驱动匹配元数据)。.
├── docs/
│ └── screenshot.png # README 截图
├── main.go
├── internal/
│ ├── mitre/
│ │ └── names.go # MITRE ATT&CK ID 与标签映射
│ └── privileges/
│ ├── privileges_windows.go # 令牌 / Administrators 组检查
│ └── privileges_stub.go # 非 Windows 系统桩
├── go.mod
└── go.sum
仅用于授权的安全测试、实验室研究和教育。请只在您拥有或获得明确评估许可的系统上运行。LOLBAS 条目描述的技术可能被攻击者滥用,请负责任地使用。作者不对滥用行为负责。
技术和元数据来源于 LOLBAS 项目 和 LOLDrivers。goLoL 与这两个项目无关联或背书关系。
MIT
| 参数 | 描述 |
|---|
-h, -help | 显示帮助 |
-driver | 扫描本地驱动,列出 LOLDrivers 中已知的易受攻击/恶意匹配项 |
-plain | 仅 ASCII 输出(无颜色、Unicode 或光标控制) |
-s, -search | 按名称显示单个可执行文件(certutil 或 certutil.exe);若磁盘上不存在则报告 |
-sort | 排序结果:binary(默认)、privilege 或 attack |
| 组件 | 位置 |
|---|
| LOLBAS 目录 | https://lolbas-project.github.io/api/lolbas.json |
| LOLDrivers 目录 | https://www.loldrivers.io/api/drivers.json |
| 权限检测 | internal/privileges |
| MITRE 技术名称 | internal/mitre |
| 路径解析和输出 | main.go |