
goLoL is a Windows host scanner with dual support for LOLBAS binaries and LOLDrivers. It lists LOLBAS techniques runnable at your current privilege level (with MITRE ATT&CK mappings) and can scan local .sys files for vulnerable/malicious LOLDrivers hash matches.
goLoL은 LOLBAS 바이너리와 LOLDrivers 를 모두 지원하는 Windows 호스트 스캐너입니다. 현재 권한 수준에서 실행 가능한 LOLBAS 기술을 (MITRE ATT&CK 매핑과 함께) 나열하며, 취약하거나 악성인 LOLDrivers 해시 일치 여부를 확인하기 위해 로컬 .sys 파일을 스캔할 수 있습니다.
참고: 이 도구는 OPSEC에 안전하지 않습니다.
작성자: Aaron Kidwell
█████ █████
░░███ ░░███
███████ ██████ ░███ ██████ ░███
███░░███ ███░░███ ░███ ███░░███ ░███
░███ ░███░███ ░███ ░███ ░███ ░███ ░███
░███ ░███░███ ░███ ░███ █░███ ░███ ░███ █
░░███████░░██████ ███████████░░██████ ███████████
░░░░░███ ░░░░░░ ░░░░░░░░░░░ ░░░░░░ ░░░░░░░░░░░
███ ░███
░░██████
░░░░░░

%WINDIR%, %ProgramFiles%, %USERPROFILE% 및 WindowsApps 위치로 확인합니다T1003.003: NTDS).sys 파일의 해시를 계산하여 실시간 LOLDrivers JSON 카탈로그와 비교합니다net localgroup을 사용합니다 (Windows에서 하나의 자식 프로세스)| 사용자 컨텍스트 | 표시되는 내용 |
|---|---|
| 표준 사용자 | 사용자 계층 기술 |
| 로컬 Administrators 그룹의 구성원 | 사용자 계층 + 관리자 계층 기술 |
| NT AUTHORITY\SYSTEM | 사용자 계층 + 관리자 계층 + SYSTEM 계층 기술 |
관리자 계층 명령은 계정이 Administrators 그룹에 속해 있더라도 여전히 상승된 셸이 필요할 수 있습니다. 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 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
# 리버스 셸 / 텔넷 친화적 출력
go run . -plain
# 플래그 결합
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 모드에서는 LOLDrivers JSON 카탈로그를 다운로드하고 로컬 .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 전용 출력 (색상, 유니코드, 커서 제어 없음) |
-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 |