Kali Linux信息收集之braa

0x00 braa介绍

Braa是大规模SNMP扫描工具,这种工具的预期用途当然是使SNMP(Simple Network Management Protocol简单网络管理)查询 - 但不同于来自net-snmp的snmpget或snmpwalk,它能够在单个进程中同时查询几十或几百个主机。 因此,它消耗非常少的系统资源,并且扫描非常快。

Braa通过它的OWN snmp栈实现,所以它不需要任何SNMP库,如net-snmp。 它的实现非常脏,只支持几种数据类型,并且在任何情况下都不能说“符合标准”! 但是它跑起来飞快, 因为这个原因(好吧,也是因为我的懒惰),在braa中没有ASN.1解析器 - 你必须知道OID的数值(例如.1.3.6.1.2.1.1.5.0 而不是用system.sysName.0)。

OID可以理解为有规则的设备参数编码,snmp协议将设备的各种参数按树形结构进行分组,从树的根部开始,每一个层级节点会有一个编码,将这些层级编码以“.”作为分隔符,将其拼接起来所形成的一串编码就叫OID,通过OID可以对该OID表示的参数进行操作。
可以参考SNMP监控一些常用OID的总结

工具来源:braa README

braa主页 | Kali braaRepo仓库

  • 作者:Mateusz ‘mteg’ Golicz
  • 证书:GPLv2

0x01 braa功能

Braa - 大规模SNMP扫描工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
braa 0.81 - Mateusz'mteg'Golicz <[email protected]>,2003 - 2006
用法:braa [options] [query1] [query2] ...
  -h 显示此帮助
  -2 声明SNMP2C代理
  -v 执行所有查询后显示简要摘要
  -x 十六进制转储八位字节串
  -t <s> 获得响应前等待数秒
  -d <s> 发送每个数据包后等待微秒数
  -p <s> 在后续遍之间等待数毫秒
  -f <file> 从文件<file>加载查询(逐行)
  -a <time> 在<time>秒后退出
  -r <rc> 重试次数(默认值:3)
查询格式:
GET: [[email protected]]iprange[:port]:oid[/id]
WALK: [[email protected]]iprange[:port]:oid.*[/id]
SET: [[email protected]]iprange[:port]:oid=value[/id]
例子:
[email protected]:161:.1.3.6.*
10.253.101.1-10.253.101.255:.1.3.6.1.2.1.1.4.0=sme
10.253.101.1:.1.3.6.1.2.1.1.1.0/description
也可以一次指定多个查询:
10.253.101.1-10.253.101.255:.1.3.6.1.2.1.1.4.0=sme,.1.3.6.*
         (将.1.3.6.1.2.1.1.4.0设置为'me',并从.1.3.6开始)
SET查询的值必须在前面加上指定值类型的字符:
  i 是INTEGER类型
  a 是IPADDRESS类型
  s 是OCTET STRING类型
  o 是OBJECT IDENTIFIER类型
如果缺少类型说明符,则会自动检测值类型

0x02 braa用法示例

使用公开公布的OID字符串在192.168.1.215上运行遍历SNMP树,查询.1.3.6下的所有OID:

1
2
3
4
5
6
192.168.1.215:122ms:.1.3.6.1.2.1.1.1.0:Linux redhat.biz.local 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686
192.168.1.215:143ms:.1.3.6.1.2.1.1.2.0:.1.3.6.1.4.1.8072.3.2.10
192.168.1.215:122ms:.1.3.6.1.2.1.1.3.0:4051218219
192.168.1.215:122ms:.1.3.6.1.2.1.1.4.0:Root <[email protected]> (configure /etc/snmp/snmp.local.conf)
192.168.1.215:143ms:.1.3.6.1.2.1.1.5.0:redhat.biz.local