MCPcopy Index your code
hub / github.com/evilsocket/legba

github.com/evilsocket/legba @1.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.3.0 ↗ · + Follow
572 symbols 1,579 edges 100 files 12 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

legba

Documentation Release Rust Report CI License Human Coded

Join the project community on our server!

Legba is a multiprotocol credentials bruteforcer / password sprayer and enumerator built with Rust and the Tokio asynchronous runtime in order to achieve better performances and stability while consuming less resources than similar tools.

Key Features

  • 100% Rust - Legba is entirely written in Rust, does not have native dependencies and can be easily compiled for all operating systems and architectures. 🦀
  • Multi Protocol - Support for HTTP, DNS, SSH, FTP, SMTP, RDP, VNC, SQL databases, NoSQL, LDAP, Kerberos, SAMBA, SNMP, STOMP, MQTT and more.
  • High Performance - Async/concurrent architecture with customizable workers for maximum speed.
  • Flexible Credentials - Multiple input formats including wordlist files, ranges, permutations, and expression generators.
  • Smart Session Management - Save and restore session state to resume interrupted scans.
  • Advanced Rate Control - Rate limiting, delays, jittering, and retry mechanisms for stealth and stability.
  • AI Ready - REST API, Model Context Protocol (MCP) server, and custom binary plugin support.
  • Recipe System - YAML-based configuration for complex authentication scenarios.
  • Multiple Output Formats - Export results in various formats for easy integration with other tools.

Quick Start

Download one of the precompiled binaries from the project latest release page, or if you're a Homebrew user, you can install it with a custom tap:

brew tap evilsocket/legba https://github.com/evilsocket/legba
brew install evilsocket/legba/legba

You are now ready to go! 🚀

legba smb --target domain.local --username administrator --password wordlist.txt

For the usage and the complete list of options check the project documentation.

Contributors

Legba project contributors

Star History

Star History Chart

License

Legba is released under the GPL 3 license. To see the licenses of the project dependencies, install cargo license with cargo install cargo-license and then run cargo license.

Extension points exported contracts — how you extend this code

Iterator (Interface)
https://stackoverflow.com/questions/30353462/how-to-clone-a-struct-storing-a-boxed-trait-object [14 implementers]
src/creds/iterator/mod.rs
Plugin (Interface)
(no doc) [31 implementers]
src/plugins/plugin.rs
StreamLike (Interface)
(no doc) [3 implementers]
src/utils/net.rs
IteratorClone (Interface)
(no doc) [6 implementers]
src/creds/iterator/mod.rs
Transport (Interface)
(no doc) [2 implementers]
src/plugins/kerberos/transport.rs
PluginRegistrar (Interface)
(no doc) [1 implementers]
src/plugins/manager.rs

Core symbols most depended-on inside this repo

new
called by 287
src/creds/iterator/mod.rs
clone
called by 129
src/creds/iterator/mod.rs
get
called by 78
src/recipe/context.rs
start
called by 45
src/mcp/mod.rs
is_success_response
called by 37
src/plugins/http/mod.rs
iter
called by 25
src/recipe/context.rs
parse_expression
called by 23
src/creds/expression.rs
async_tcp_stream
called by 13
src/utils/net.rs

Shape

Method 293
Function 175
Class 89
Enum 9
Interface 6

Languages

Rust100%
Ruby1%

Modules by API surface

src/plugins/http/http_test.rs56 symbols
src/plugins/manager_test.rs34 symbols
src/session/mod.rs28 symbols
src/creds/combinator.rs24 symbols
src/plugins/http/mod.rs23 symbols
src/mcp/service.rs21 symbols
src/api/sessions.rs21 symbols
src/creds/expression.rs19 symbols
src/session/loot.rs15 symbols
src/recipe/context.rs14 symbols
src/plugins/mqtt/mod.rs13 symbols
src/session/runtime.rs12 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add legba \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact