找回密码
 注册

QQ登录

只需一步,快速开始

攻击之暴力破解法

[复制链接]
发表于 2008-9-8 11:42:10 | 显示全部楼层 |阅读模式
<P><FONT size=2>原理:现在彩票非常火爆,一个人花两块钱买了一张彩票,可能会中500万,但是这个几率是很低很低的;你登陆一个<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>系统</FONT></A>,<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>系统</FONT></A>问你要密码,你随便写了一个,居然蒙对了,这个概率就和买2块钱中500万的概率是一样的。但是如果这个人花2000万买了1000万张不同号码的彩票,那么他中大奖的几率是多少呢?就很高很高了,当然在买彩票的领域没有人会这么做,但是在<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>网络</FONT></A>上就有可能了,我测试一个口令很难猜对,但是我连续测试1万个,10万个,甚至100万个口令,那么猜对的几率是不是就大增了呢?当然这时候需要的就不是人手工猜测了,而是<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>的自动测试。这种海量连续测试口令的方法,通常就称为暴力破解法,名字也很贴切,我不聪明,但是我有暴力(就是强大的计算机资源),所以我要破解你。 其实即便是一个暴力破解法,对一些有一定复杂度的密码也是素手无策的,尽管<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>电脑</FONT></A>运算速度很快,但是并不足以快到可以用有限短的时间处理巨多亿次的测试运算,为什么这么说?举个例子,假设密码只有8位,每位可能是26个字母(分大小写就是52种),加上10个数,在加上一些特殊字符(如@#$%^等等,假设只有10个,其实不止),也就是每位上的可能性就有52+10+10=72,8位遍历就是72的8次方, 也就是大约600万亿!!!所有,这样去破解密码,通常是不可能的,那么这就是所谓字典档和密码规则设定来减少这种遍历。</FONT></P>* w# F3 B8 `, M4 v2 s+ x/ e/ ]
<P><FONT size=2>首先解释字典档,字典档是<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>黑客</FONT></A>认为一些<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>网络</FONT></A>用户所经常使用的密码,以及以前曾经通过各种手段所获取的密码,集合在一起的的一个文本文件,破解器<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>就会自动逐一顺序进行测试,也就是说,只有被破解用户的密码存在于字典档中,才会被这种方式所找到,千万不要小看这个看上去满守株待兔的方法,由于<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>网络</FONT></A>上经常有不同的<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>黑客</FONT></A>彼此交换字典档,因此一份网上流传的字典档,通常是包含了很多很多<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>黑客</FONT></A>经验的累积,对于<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>安全</FONT></A>意识不高的用户,破解率是很高的。</FONT></P>
5 I- d* b  s$ \" p7 u<P><FONT size=2>规则破解也是一种非常有效的方式,这里面还会具体分为两种,一种是与<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>关联的规则,另外一种是与<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>无关的规则,与<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>关联的规则,比如注册<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>test,注册密码test123这样的(是不是很多人有这个习惯?), 那简直是任何一个破解器的简单规则都可以胜任的;与<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>无关的,通常是有限度遍历模式,比如日期类型8位数字(如19730221)或6位数字(如780112)遍历或两位字母+六位数字遍历,(我知道很多朋友喜欢用生日做密码,那可真就不妙了),或者13+8个数字遍历(用手机号码做密码的朋友小心了),以及6位任意数字遍历,6位小写字母遍历(对付那些密码简单的朋友),2位字母+四位任意数字密码混排遍历(如ma1234),1位字母+4-5位数字混排遍历(如s7564),这些都是比较容易出彩的规则,按照规则遍历,是<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>黑客</FONT></A>对用户心理的一种考验,一些用户图好记而采用的密码,也就是<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>黑客</FONT></A>最容易想到和突破的了。</FONT></P>
& F! {. Y+ M+ C0 ?" j% c  H<P><FONT size=2>以上是破解的原理,破解的途径也分为两种,一种是通过通讯<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>远程试探,这种效率比较低,但是门槛也非常低,你不需要对对方服务器有太深入了解,只要知道一个用户<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>和登陆入口就可以开始了;另外一种是通过密码文件在本地破解,密码文件,可能是通过嗅探获得(比如加密传输的密码,明文传输的就无须破解了),可能是通过某个<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>系统</FONT></A><A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>漏洞</FONT></A>获得,可能是通过CGI<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>漏洞</FONT></A>获取,可能是因为本人就具有主机的普通用户权限,可以阅读密码文件(对于一些未经<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>安全</FONT></A>配置的linux,普通用户通常可以在/etc/passwd中看到全部用户密文的密码),有的读者就奇怪了,如果我拿到密码文件了,又知道加密算法(是呀,现在的加密算法几乎全是公开的),直接解密不就ok了?干吗要一个一个试探?这里涉及了一个数学问题,就是密码的加密算法通常是单向散列函数,也就是不可逆的(顺便,邮件的加密算法是可逆的,否则邮件接收人就无法打开邮件了,但是可逆的前提是需要私人密钥,这里就不多做解释了),举个例子,取模(整除后的余数)就是一个不可逆计算(18 mod 7 =4 ,不能通过x mod 7=4 推导出x=18,这就是不可逆),当然加密算法不会只是取模的这么简单,但是限于笔者水平,也就不在这里拓展讨论,让专家取笑了。<A href="http://www.juntuan.net/"><FONT color=#000000>www.juntuan.net</FONT></A></FONT></P>
: z& K$ B9 E2 v& @0 u<P><FONT size=2>攻击手段:</FONT></P>
" @. d+ T$ {' V7 X2 \<P><FONT size=2>远程通讯法:</FONT></P>
- E0 c: ]1 S! c* [3 S* V2 P<P><FONT size=2>第一,确立攻击目标,凡是需要<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>密码输入的地方都可以是攻击目标,不管是web的,还是pop的,telnet的,甚至加密传输的诸如ssh的也都可以进行这种方式的攻击</FONT></P># G8 [( l5 L6 b: y# a3 d
<P><FONT size=2>第二,建立socket通信,为提高效率,通常是多进程</FONT></P>
( G5 t: {  \' N3 \* S<P><FONT size=2>第三,输入正确的<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>(连对方的<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>都不知道,那你攻击谁呀?)</FONT></P>
7 N# v: y' k/ [& e* B<P><FONT size=2>第四,通过字典档或规则生成的待测试的密码</FONT></P>7 a0 x; N/ h* j9 z  j3 q9 C7 P
<P><FONT size=2>第五,发送密码,取得验证反馈</FONT></P>6 ?2 {, ]1 m; A6 |, r
<P><FONT size=2>第六,拒绝密码,重复第四步起,如果密码通过,<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>停止,显示密码</FONT></P>1 o# J( X4 E. V2 B
<P><FONT size=2>本地破解法: </FONT></P>
7 w5 c) J0 A+ i+ {8 p<P><FONT size=2></FONT>&nbsp;</P>" v: S6 x* G( l2 b* R6 i
<P><FONT size=2>第一,将密码档中的<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>帐号</FONT></A>和密码密文用<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>中的变量保存</FONT></P>
5 \4 e) F5 e. M<P><FONT size=2>第二,通过字典档或规则生成呆测试的密码明文</FONT></P>$ l0 n* k. k' [- u4 ]! D
<P><FONT size=2>第三,将待测试的密码明文用<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>系统</FONT></A>密码加密同样的算法进行加密</FONT></P>( b/ \/ Q) T7 R+ c/ k1 o
<P><FONT size=2>第四,比较加密后密文与<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>变量保存的密文是否相同</FONT></P>
; K0 l/ C9 R1 V2 i$ @. j+ `<P><FONT size=2>第五,如不同,重复第二步起,如相同,<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>停止,显示密码。</FONT></P>: s, u5 B+ v* i& B+ h. g6 ^6 R
<P><FONT size=2>防护手段:</FONT></P>3 Z/ e7 N% h% P1 f* X2 i  g
<P><FONT size=2>只要记住,你的密码要足够复杂!比如K~0*af%这样的,基本上所有的密码档和密码规则就都能规避了。</FONT></P>% c- J5 y, d# T) n1 P+ q: j
<P><FONT size=2>典型案例:</FONT></P>% _+ ^% p  u6 n
<P><FONT size=2>本地文件破解</FONT></P>) C# M5 u$ V/ T$ p4 h0 y
<P><FONT size=2>笔者当年在广州刚出茅庐的时候,弄了一套john 1.4玩玩(破解器),拿公司的一台对外个人主页基地的服务器练手(已经有了root权限,从入侵和攻击角度讲,是无须破解普通用户密码的,纯图好玩而已),结果用简单规则模式,自定义规则模式(自己设置了几个规则)和字典档模式(网上<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>下载</FONT></A>的字典档)各解开了不少密码,最后发现,各种方式累计把将近400个用户破解了300有余,破解率达到了75%以上!个人主页的站长对自己密码的保护尚且如此,何况普通网民呢?</FONT></P>
) ]8 U' W2 n# `( V+ H<P><FONT size=2>远程通讯破解</FONT></P>
7 g9 {0 W7 F! v+ h  k<P><FONT size=2>笔者当年一度失业在家无聊,针对各大免费邮件恢复密码的生日录入写了一个专门的破解<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>,有些朋友知道,很多免费邮件服务是通过输入生日,回答问题来恢复遗忘密码的,如果我知道对方的生日,并且猜对对方的问题(很多问题真的很简单呀,比如问自己今年多大了,知道了生日,年纪当然就知道了!!),就能重新设置密码。因此当时到现在一直有人做这个事情,就是通过对生日的遍历(生日遍历太容易了,一年才365天,100天才36500次,交给<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>电脑</FONT></A>做,还不是轻而易举的事情),通过socket通讯<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>以http post格式提交给相关处理界面,并分析反馈界面,从而得到该用户的注册生日(就算不是真实生日,只要是注册的就可以了),然后就可以进入问题回答了,如果该用户<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>安全</FONT></A>觉悟比较大,问一个很容易猜到答案的问题,那么这个信箱就很被攻破了。</FONT></P># x  O$ n1 W2 t: l
<P><FONT size=2>总结:暴力破解法本身也是一种非常不入流的,门槛很低的攻击手段,这一点和拒绝服务攻击法类似,当然效果上,暴力破解法可能会导致更好的结果,比如窃取重要资料,获得重要密码,这是拒绝服务攻击法所不可能实现的。</FONT></P>$ v6 f& b5 T! j% I( g! F0 y
<P><FONT size=2>实际上由于大量傻瓜化<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>黑客</FONT></A>工具的出现,任何一种<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>黑客</FONT></A>攻击手段的门槛都降低了很多,但是暴力破解法实在是连工具制作都已经非常简单了,如笔者这般不入流的角色,都可以很容易实现相关<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>程序</FONT></A>(当然实现的手段功能以及效率都是不入流中的不入流)。我们在网上可以找到很多暴力破解工具,就可以明白和笔者一般或稍强于笔者的不入流角色有多少了。</FONT></P>
8 f/ Q1 H* \  f- h1 R# L<P><FONT size=2>相信大家已经不耐烦了,说来说去,都是不入流的,那么入流的呢?<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>黑客</FONT></A>智慧体现的呢?别着急,最好的,我会放到最后,下文,我将介绍特殊字符构造法,<A class=wordstyle href="http://www.hackdos.com/" target=_blank><FONT color=#0000ff>黑客</FONT></A>的智慧,在这里开始体现。</FONT></P>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|本地广告联系: QQ:905790666 TEL:13176190456|Archiver|手机版|小黑屋|汶上信息港 ( 鲁ICP备19052200号-1 )

GMT+8, 2025-4-26 07:15

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表