前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Legba:一款功能强大的多协议凭证爆破与密码喷射枚举工具

Legba:一款功能强大的多协议凭证爆破与密码喷射枚举工具

作者头像
FB客服
发布2024-02-26 15:36:06
1820
发布2024-02-26 15:36:06
举报
文章被收录于专栏:FreeBufFreeBuf

关于Legba

Legba是一款功能强大的多协议凭证爆破与密码喷射枚举工具。该工具的目的就是在消耗更少资源的同时实现更好的性能和稳定性,可以帮助广大研究人员执行多种协议场景下的凭证爆破,以及密码喷射和枚举任务。

支持的协议和功能

AMQP(ActiveMQ、RabbitMQ、Qpid、JORAM和Solace)、Cassandra/ScillaDB、DNS子域枚举、FTP、HTTP(基本身份验证、NTLMv1、NTLMv2、多字段表单、支持CSRF的自定义请求、文件/文件夹枚举、虚拟主机枚举)、IMAP、Kerberos预身份验证和用户枚举、LDAP、MongoDB、MQTT、Microsoft SQL、MySQL、Oracle、PostgreSQL、POP3、RDP、Redis、Samba,SSH/SFTP、SMTP、Socks5、STOMP(ActiveMQ、RabbitMQ、HornetQ和OpenMQ)、TCP端口扫描、Telnet和VNC。

工具安装

Docker Hub安装

我们可以在Docker Hub上找到Legba的Docker镜像:

代码语言:javascript
复制
docker run -it evilsocket/legba -h

在使用字典文件时,请通过一个Docker卷来共享字典文件。如果你想使用网络主机来搜索目标,可以使用下列命令:

代码语言:javascript
复制
docker run \

  -v $(pwd):/data \

  --network host \

  -it evilsocket/legba:latest \

  ssh --username root --password /data/your-wordlist.txt --target 192.168.1.1
(向右滑动,查看更多)


Crates.io安装

Legba也托管在了crates.io上,安装好Cargo之后,可以直接使用下列命令

安装Legba:

代码语言:javascript
复制
cargo install legba

安装好的工具源码路径为“$HOME/.cargo/bin/legba”。

源码安装

由于该工具基于Rust开发,因此我们首先需要在本地设备上安装并配置好Rust环境。接下来,广大研究人员可以直接使用下列密令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/evilsocket/legba.git
(向右滑动,查看更多)

然后在主机上安装libcrypto-dev和libsmbclient-dev,并运行下列命令构建项目代码:

代码语言:javascript
复制
cd legba
cargo build --release

编译构建好的代码可以在./target/release目录中找到。

Docker镜像构建

我们还可以构建一个Docker容器:

代码语言:javascript
复制
docker build -t legba .

然后通过下列命令运行容器:

代码语言:javascript
复制
docker run legba --help

工具命令选项

参数选项

默认值

命令描述

-L, --list-plugins

枚举所有可用的协议插件

-T, --target <TARGET>

设置单个目标主机、URL或IP地址、IP范围、CIDR、@filename或逗号分隔的目标

-U, --payloads, --username <USERNAME>

#4-8

常量、文件名、表达式,例如@/some/path/*.txt、#min-max:charset / #min-max或[min-max] / [n, n, n]

-P, --key, --password <PASSWORD>

#4-8

常量、文件名、表达式,例如@/some/path/*.txt、#min-max:charset / #min-max或[min-max] / [n, n, n]

-C, --combinations <COMBINATIONS>

从该文件加载username:password组合

--separator <SEPARATOR>

:

使用--combinations/-C参数时的分隔符

-I, --iterate-by <ITERATE_BY>

user

根据用户或密码执行迭代,可选值为user或password

-S, --session <FILENAME>

从文件存储或恢复会话

-O, --output <OUTPUT>

结果存储文件路径

--output-format <FORMAT>

text

输出文件格式,可选text或json

--timeout <TIMEOUT>

10000

连接超时时间(毫秒)

--retries <RETRIES>

5

请求失败后的尝试次数

--retry-time <TIME>

1000

重试间隔时间(毫秒)

--single-match

第一次匹配到假阳性时退出

--ulimit <ULIMIT>

10000

ulimit值(打开文件描述符的最大值)

--concurrency <VALUE>

10

并行线程数量

--rate-limit <LIMIT>

0

每秒请求发送数量限制

-W, --wait <WAIT>

0

每次登录尝试的等待间隔时间(毫秒)

--jitter-min <VALUE>

0

随机请求的发送最小时间间隔(毫秒)

--jitter-max <VALUE>

0

随机请求的发送最大时间间隔(毫秒)

-Q, --quiet

不报告统计数据

-h, --help

帮助信息

-V, --version

版本信息

工具使用

选择一个或多个目标

代码语言:javascript
复制
--target/-T参数支持设置一个或多个目标:

--target 127.0.0.1, --target www.google.com

--target 127.0.0.1:22

--target 127.0.0.1, 192.168.1.1:80

--target @targets.txt

--target 192.168.1.1-10, --target 192.168.1.1-10:22

--target 192.168.1.0/24, --target 192.168.1.0/24:22 CIDR

--target 10.0.0.1, 172.0.0.1:2222, @other-targets.txt, 192.168.1.1-10
(向右滑动,查看更多)

提供凭证

所有的命令逻辑都支持--username/--payloads和--password/--key参数:

代码语言:javascript
复制
legba <plugin name> --username admin --password data/passwords.txt

legba <plugin name> --username data/users.txt --password data/passwords.txt

legba <plugin name> --username admin

legba <plugin name> --username data/users.txt --password '@/some/path/*.key'

legba <plugin name> --username data/users.txt --password '#4-5:abcdef'

legba <plugin name> --username data/users.txt --password '[10-999]'

legba <plugin name> --username data/users.txt --password '[1, 2, 3, 4]'

许可证协议

本项目的开发与发布遵循GNU General Public开源许可证协议。

项目地址

Legba:https://github.com/evilsocket/legba

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于Legba
  • 支持的协议和功能
  • 工具安装
    • Docker Hub安装
      • Crates.io安装
        • 源码安装
          • Docker镜像构建
          • 工具命令选项
          • 工具使用
            • 选择一个或多个目标
              • 提供凭证
              • 许可证协议
              • 项目地址
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档