网络安全中最暴力的是什么?大家也许会异口同声地说:“破解!”。不错,破解往往被很多高手所不齿,尤其是暴力破解很多人都认为这是无能的表现。但是破解有的时候却是入侵中唯一且有效的方法。
远程破解相信大家都用过,我首推hydra。
http://freeworld.thc.org/releases.php
1. The source code of Hydra: hydra-5.4-src.tar.gz
(compiles on all UNIX based platforms - even MacOS X, Cygwin on Windows, ARM-Linux, etc.)
2. The Win32/Cywin binary release: hydra-5.4-win.zip
(everything you need to run hydra on win32 platforms is in this zip file)
4. The ARM binary release: hydra-5.0-arm.tar.gz (soon updated)
(created by tick (at) thc (dot) org - everything except SAP R/3 is supported,
runs on all Handhelds with ARM processors running Linux, e.g. iPaq, Zaurus, etc.)
3. The Palm binary release: hydra-4.6-palm.zip
(created by snakebyte (at) gmx (dot) de - does not support all attack modules yet)
[NOTE: the Palm release has got a different source tree. Therefore not all]
[ modules are supported, and updates are not very often.
这是一款*nix平台下的远程登陆密码破解工具。它支持TELNET, FTP, HTTP, HTTPS, HTTP-PROXY, LDAP, SMB, SMBNT, MS-SQL, MYSQL, REXEC, SOCKS5, VNC, POP3, IMAP, NNTP, PCNFS, ICQ, SAP/R3, Cisco auth, Cisco enable, SMTP-AUTH, SSH2, SNMP, CVS, Cisco AAA众多登陆方式的密码破解。按照说明文件大家可以很容易地进行程序的编译。为了照顾那些windows的用户,在cygwin下编译出了win版本的 hydra。我也将以win下的hydra作为介绍。
运行时说明如下:
E:\mfm\exploit\hydra>hydra
Hydra v4.3 [_blank> http://www.thc.org] (c) 2004 by van Hauser / THC <
[email protected]>
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns]
[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV]
server service [OPT]
Options:
-R 恢复先前中断的会话
-S 通过SSL连接
-s PORT 如果服务端口不是默认的,在这里指定服务端口
-l LOGIN or -L FILE 指定LOGIN登陆帐户,或者是一个包含很多帐户的FILE文件
-p PASS or -P FILE 指定欲使用的密码文件
-e ns 附加选项,"n" 检查空口令, "s" 尝试帐户名和密码相同检查
-C FILE 指定一个包含“login:pass”格式的文件,用以取代-L和-P选项。
-M FILE 指定目标地址文件,一行一个地址。
-o FILE 将找到的帐户和密码记录到指定的文件中
-f 在找到第一个帐户和密码对后结束探测
-t TASKS 指定线程数 (默认是 16)
-w TIME 指定响应最大等待时间(以秒为单位默认是 30)
-v / -V 详细显示模式
server 指定目标地址
service 要破解的服务,支持的有: [telnet ftp pop3 imap smb
smbnt http https http-proxy cisco cisco-enable ldap mssql mysql nntp vnc socks5
rexec snmp cvs icq pcnfs sapr3 ssh2 smtp-auth]
OPT 有些服务模块需要特定信息
我已经尽力将英文原版说明给大家翻译过来了。相信大家应该能看得懂的。
需要说明一点的是上面的OPT可以是如下的值:
service module optional parameter
============== ==============================
www / http / ssl / https
指定验证页面可以是类似如下的值:
Value can be "/secret" or "_blank> http://bla.com/foo/bar" or
"_blank> https://test.com:8080/members"
http-proxy 指定验证页面(可选,默认是_blank> http://www.suse.com/)
smbnt 值[L,LH,D,DH,B,BH] (REQUIRED)
(L) 检测本地帐户 (D) 域帐户 (B)两者选其一
(H) NTLM 散列
ldap 指定DN (可选, 可以使用-l选项指定)
cisco-enable specified the logon password for the cisco device (REQUIRED)
sapr3 specified the client id, a number between 0 and 99 (REQUIRED)
我只翻译了我认为比较重要的地方,如果还不能理解的话我们来看几个例子吧。
我们想破解一个http登陆页面,登陆帐户是superlone,密码文件在当前目录中pass.txt,目标地址为_blank> www.attack.com,那么此工具的命令行为:
hydra -l superlone -P pass.txt _blank> www.attack.com http /members/
再比如我们要破解nt.microsoft.com上的本地帐户和NTLM密码散列,我们可以这样:
hydra -m LH -l administrator -P sam.dump nt.microsoft.com smbnt
同过上面的两个例子,读者应该会用这个工具了吧。在破解的时候可以随时按下ctrl+c组合键来终止猜解,下次想继续猜解得时候可以使用hydra –R来继续上次的猜解过程。
对于http/www服务的猜解我们可以指定代理服务器。方法是指定环境变量:
HYDRA_PROXY_HTTP为指定的代理地址。比如:
E:\mfm\exploit\hydra> set HYDRA_PROXY_HTTP="_blank> http://222.124.114.10:
8080/"
如果想为其它的服务也使用代理,那么需要指定HYDRA_PROXY_CONNECT值为代理地址。比如:
HYDRA_PROXY_CONNECT=proxy.anonymizer.com:8000
如果代理服务器需要验证的话可以指定如下的环境变量值为指定帐户和密码:
HYDRA_PROXY_AUTH="the_login:the_password"
到这里这款工具基本上就介绍完了。不知道读者看过后会有怎么样的想法,也许和我一样为它的强大功能而叫好吧?
介绍了远程,本地的肯定也不能拉下。估计说到这里肯定大家都会说本地的用lc地球人都知道。不错lc作为一款本地密码破解工具,确实非常强大也是众多黑家必备的工具了。然而今天我要介绍的是一款新软件---saminside,先看一下界面吧图十。
看上去好像简单了点,点击第一个文件夹图标的下拉菜单,可以看到很多的选项,分别如下:
Import from sam and system files….. 从本地sam数据库和系统文件中导入
Import from sam and syskey file… 从本地sam数据库和syskey中导入
Import from PWDUMP file… 从pwdump文件中导入
Import from .LCP file…. 从.LCP文件中导入
Import from .LCS file…. 从.LCS文件中导入
Import from .LC file…. 从.LC文件中导入
上一页 [1] [2]
VER 4.5
HYDRA 4.5 中文使用说明(我特别补充了几个使用例子,本说明是意译)
Term : FreeXploiT
Author : ALLyeSNO
Date : 2005-1-22
1.前言
------------
根据密码安全研究的显示表明,许多安全漏洞的突破口都是基于密码.这个工具(HYDRA)用来向安全
研究人员以及安全顾问证明一个事实,那就是非法获取一个的远程系统的访问权限是一件多么轻而易
举的事情.
在此再次向诸位安全爱好者声明(译者:包括黑客,白客,红客,绿客)请将该工具合法地使用!!!
如果您想把这个工具使用在商业用途上,那么请您参考许可证协议(译者:许可证在源代码的压缩
文件里面)
There are already several login hacker tools available, however none does
either support more than one protocol to attack or support parallized
connects.
网上已经出现不少的远程破解工具,不过没有一款是能够支持多种协议破解或者支持并行
协议破解的.(译者:parallized是个新出的名词吧 我译为并行)
目前该工具支持下列破解:
TELNET, FTP, HTTP, HTTPS, HTTP-PROXY, LDAP, SMB, SMBNT, MS-SQL, MYSQL, REXEC,
SOCKS5, VNC, POP3, IMAP, NNTP, PCNFS, ICQ, SAP/R3, Cisco auth, Cisco enable,
SMTP-AUTH, SSH2, SNMP, CVS, Cisco AAA.
不管怎么说新服务的模块引擎编写非常容易,即使以后支持更多的服务也不会花费太多时间.
计划以后会支持: SSH v1, Oracle 乃至更多.
我们同样赞赏帮助编写这些模块的人们:)
2.如何编译(linux/unix)
------------
在命令行下输入 ./configure 然后输入 make 和 make install
如果你有cygwin,你也可以依照输入 ./configure 以后的运行提示去操作.
在掌上电脑上,输入 ./configure-palm
在ARM 处理器上输入 .configure-arm
3.该工具的支持平台
------------
所有的UNIX平台(linux, *bsd, solaris, etc.)
Mac OS/X操作系统
安装了cygwin的Windows操作系统(包括了ipv4和ipv6)
移动系统 ARM处理器和linux(例如 Zaurus, iPaq)
掌上电脑系统
4.如何使用
------------
在命令行下输入 ./configure 然后输入 make 以此来编译hydra
编译完成以后 输入 ./hydra -h 来查看命令行参数
你也可以输入 make install 把hydra编译安装在 /usr/local/bin 目录
注意:我们并没有提供字典文件,你可以自己创建一个弱口令字典或者从网上下载黑客字典
对于linux的使用者来说 GTK是要使用到的,请输入 ./xhydra
5.特别参数模块
---------------------------
通过第三个命令行参数(TARGET SERVICE OPTIONAL)或者-m参数,你可以传递一个参数到模块.
实际上只有很少一部分模块需要这样.
下面是这些模块的列表:
服务模块 可选择参数
============== =================================================
www / http / ssl / https
指定需要验证的页面(必须指定) "/secret" 或者
"http://bla.com/foo/bar" 或者"https://test.com:8080/members"
以上这几种写法都是有效的
http-proxy 指定需要验证的页面(可选,默认是 http://www.suse.com/)
smbnt 有效值[L,LH,D,DH,B,BH](必须指定)
(L) 检测本地帐号, (D) 域名帐号, (B) 任意一个
(H) 使用 NTLM hashes 测试密码
ldap 指定DN(可选,你也可以使用-l参数指定DN)
cisco-enable 指定思科设备的登录密码(必须指定)
sapr3 指定客户端id,一个0-99之间的数字
telnet 如果你使用默认telnet密码破解多次失败你也可以指定telnet登录成功
以后的字符串(迟缓状态)(该项为可选)
下面的例子演示了 如何使用www模块传递网页去验证:
hydra -l jdoe -P /tmp/passlist www.attack.com http /members/
跟下面这个相同:
hydra -m /members/ -l jdoe -P /tmp/passlist www.attack.com http
另外一个例子:
hydra -m LH -l administrator -P sam.dump nt.microsoft.com smbnt
还有一个例子:
hydra -l gast -p gast -m 6 -s 3200 sapr3.sap.com sapr3
或者这样也行:
hydra -l bla -p blubb ms.com telnet "welcome hacker"
6.断点破解
---------------------------
当你使用 ctrl+c 中止hydra的破解时,他会把恢复破解的信息记录在hydra.restore文件内,以
方便你再次从中断点进行破解.hydra默认是每5分钟记录一次破解点.
注意事项1:当你在使用-M参数破解两个以上的主机密码的时候,这个功能会被自动关闭.
注意事项2:hydra.restore断点恢复破解文件 不可以使用在不同的系统平台上(译者:奇怪的规则
作者挺懒,也不搞个文件格式转换 呵呵)
7.如何使用代理服务器进行破解
----------------------------
HYDRA_PROXY_HTTP 变量参数可以用来定义代理服务器(只能使用http代理)
语法:
HYDRA_PROXY_HTTP="http://123.45.67.89:8080/"
HYDRA_PROXY_CONNECT=proxy.anonymizer.com:8000
如果你使用的代理需要用户名和密码,请使用HYDRA_PROXY_AUTH 变量参数:
HYDRA_PROXY_AUTH="the_login:the_password"
8.另外一些使用技巧
----------------------------
* uniq your dictionary files! this can save you a lot of time :-)
* 去除你字典里面重复的单词,这能使你省去很多时间。(译者:linux的uniq命令
参看 http://www-900.ibm.com/developerWorks/cn/linux/l-tip-prompt/l-tiptex6/index.shtml)
cat words.txt | sort | uniq > dictionary.txt
* 如果你知道对方主机的密码制定策略,例如只允许密码最小长度为6,包含至少一个字母和数字
等等这些规则,你可以使用hydra压缩包里面的pw-inspector工具对密码字典进行缩减.
cat dictionary.txt | pw-inspector -m 6 -c 2 -n > passlist.txt
9.你永远不会在hydra看见的参数
-----------------------------------
在这部分我列出一些永远不会出现在hydra的参数里面以及解释为什么这样
? 填写登录名和密码按照标准输入(例如 john)
# 这种参数不会在hydra里面实现,原因有两个
a)断点续破的功能b)多个目标不能正常运行,诸如这些干扰正常功能的因数
所以我不会写这些参数进去
10.速度
----------------------------
由于该工具的并行运算功能,破解速度能够比已往更加快.速度:POP3>FTP>TELNET>IMAP
通过调整-t参数也能加快速度,参数值越大破解速度越快,但是要防止引起拒绝服务.
11.测试参考
----------------------------
运行系统:SuSE Linux 7.2 使用-C FILE参数 一共295次登录尝试(294次错误登录,1次成功)
每不同情况线程数测试尝试三次(只有一个线程时仅测试一次)平均值记录如下:
并 行 线 程
服务 1 4 8 16 32 50 64 100 128
------- --------------------------------------------------------------------
telnet 23:20 5:58 2:58 1:34 1:05 0:33 0:45* 0:25* 0:55*
ftp 45:54 11:51 5:54 3:06 1:25 0:58 0:46 0:29 0:32
pop3 92:10 27:16 13:56 6:42 2:55 1:57 1:24 1:14 0:50
imap 31:05 7:41 3:51 1:58 1:01 0:39 0:32 0:25 0:21
(*)
注意:我们看到telnet的破解耗时在使用64线程和128线程的时候非常的不一样
当使用128线程破解的时候 我们共测试了四次,耗时由28秒至97秒不等
原因至今没有查明.
12.错误报告&建议
---------------
如果您发现这个软件的漏洞或者写了一些新的模块 可以发电子邮件给我们:
[email protected]
Type Bits/KeyID Date User ID
pub 2048/CDD6A571 1998/04/27 van Hauser / THC <
[email protected]>
-----PGP密匙-----
Version: 2.6.3i
mQENAzVE0A4AAAEIAOzKPhKBDFDyeTvMKQ1xx6781tEdIYgrkrsUEL6VoJ8H8CIU
SeXDuCVu3JlMKITD6nPMFJ/DT0iKHgnHUZGdCQEk/b1YHUYOcig1DPGsg3WeTX7L
XL1M4DwqDvPz5QUQ+U+VHuNOUzgxfcjhHsjJj2qorVZ/T5x4k3U960CMJ11eOVNC
meD/+c6a2FfLZJG0sJ/kIZ9HUkY/dvXDInOJaalQc1mYjkvfcPsSzas4ddiXiDyc
QcKX+HAXIdmT7bjq5+JS6yspnBvIZC55tB7ci2axTjwpkdzJBZIkCoBlWsDXNwyq
s70Lo3H9dcaNt4ubz5OMVIvJHFMCEtIGS83WpXEABRG0J3ZhbiBIYXVzZXIgLyBU
SEMgPHZoQHJlcHRpbGUucnVnLmFjLmJlPokAlQMFEDVE0D7Kb9wCOxiMfQEBvpAD
/3UCDgJs1CNg/zpLhRuUBlYsZ1kimb9cbB/ufL1I4lYM5WMyw+YfGN0p02oY4pVn
CQN6ca5OsqeXHWfn7LxBT3lXEPCckd+vb9LPPCzuDPS/zYnOkUXgUQdPo69B04dl
C9C1YXcZjplYso2q3NYnuc0lu7WVD0qT52snNUDkd19ciQEVAwUQNUTQDhLSBkvN
1qVxAQGRTwgA05OmurXHVByFcvDaBRMhX6pKbTiVKh8HdJa8IdvuqHOcYFZ2L+xZ
PAQy2WCqeakvss9Xn9I28/PQZ+6TmqWUmG0qgxe5MwkaXWxszKwRsQ8hH+bcppsZ
2/Q3BxSfPege4PPwFWsajnymsnmhdVvvrt69grzJDm+iMK0WR33+RvtgjUj+i22X
lpt5hLHufDatQzukMu4R84M1tbGnUCNF0wICrU4U503yCA4DT/1eMoDXI0BQXmM/
Ygk9bO2Icy+lw1WPodrWmg4TJhdIgxuYlNLIu6TyqDYxjA/c525cBbdqwoE+YvUI
o7CN/bJN0bKg1Y/BMTHEK3mpRLLWxVMRYw==
=MdzX
-----PGP密匙-----
语法: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns]
[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV]
server service [OPT]
参数列表:
-R 恢复上次停止的破解进度,继续破解
-S 使用SSL连接
-s PORT if the service is on a different default port, define it here
-s 端口号 在这里自定义要破解的端口号(替代默认端口)
-l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE
-l 登录名 或者 -L 字典 使用登录名 或者 从字典中获取登录名单
-p PASS or -P FILE try password PASS, or load several passwords from FILE
-p 密码 或者 -P 字典 使用单个密码 或者 从字典中获取密码列表
-e ns 附加选项,n 是表示空密码,s 尝试使用密码进行破解
-C FILE colon seperated "login:pass" format, instead of -L/-P options
-C 文件 使用冒号分割格式 例如 "登录名:密码"来代替-L/-P参数
-M FILE server list for parallel attacks, one entry per line
-M 文件 服务器列表(译者:ip列表),一行一条
-o FILE write found login/password pairs to FILE instead of stdout
-o 文件 将找到的密码写在文件里面 以此代替输出到屏幕上
-f 在使用-M参数以后 找到第一对登录名或者密码的时候中止破解
-t TASKS run TASKS number of connects in parallel (default: 16)
-t 计划任务 同时运行几个任务(默认是: 16)
-w TIME defines the max wait time in seconds for responses (default: 30)
-w 时间 定义超时时间秒数(默认是: 30)
-v / -V 详细显示用户名或者密码的破解过程
server the target server (use either this OR the -M option)
服务器 服务器目标(译者:就是你要破解密码的主机) (你也可以使用-M参数指定)
service the service to crack. Supported protocols:
[telnet ftp pop3 imap smb smbnt http httpshttp-proxy cisco cisco-enable ldap
mssql mysql nntp vnc socks5 rexec snmp cvs icq pcnfs sapr3 ssh2 smtp-auth]
OPT some service modules need special input (see README!)
OPT 一些服务模块需要特别的语法输入(详细请看5.特别参数模块)
两个例子:
hydra -l login -P /tmp/passlist 192.168.0.1 ftp
login为要破解的用户名,passlist为密码字典库
hydra -l login -P passfile 192.168.0.1 smb
login为要破解的登录名,passfile为密码字典库,smb操作系统登录密码破解
FreeXploiT:ALLyeSNO
后记:
1.hydra 查词典的意思为 九头蛇
2.下面这段翻译的不大好 有人能帮我再修正一下么?
OPTIONS YOU WILL NEVER SEE IN HYDRA
来自: http://hi.baidu.com/renothing/blog/item/e1a3b9d684f3612b07088bde.html