发新话题
打印

绝杀root密码攻击——本人最近研究

如果密码猜测用硬猜的话,告诉密码长度与不告诉密码长度,破解时间是可以减半的,密码每加长一位,破解时间要加一倍。
破解时间要依计算机的速度来计算,如果计算机比较好的,时间就比较短,差的要长一点。运算量与速度比。      
让linux走进每个人的电脑,linux忠实的朋友

TOP

[QUOTE=Roc.Ken;575383]你应该清楚:
做为internet的基础应用, ssh已经是非常成熟协议, 相关的软件版本也已经到4.7.*, 1.9.*
如果现在还被这些常规攻击困扰, 只能说明管理员无能[/QUOTE]

猜测攻击理论是这样的:你系统肯定有root超级用户,root肯定有个密码,而且允许root通过ssh远程登录,允许无限次数密码错误,所以无论ssh版本4.9还是10.9也好,从理论上说都是可以被猜出来的,只是被猜出来需要多少时间的问题.
8位已经是UNIX要求的很短的密码长度了,问题是这样的密码经得起猜测么?:w      
Further more , all problems are no promble.

TOP

[QUOTE=willing;575412]如果密码猜测用硬猜的话,告诉密码长度与不告诉密码长度,破解时间是可以减半的,密码每加长一位,破解时间要加一倍。
破解时间要依计算机的速度来计算,如果计算机比较好的,时间就比较短,差的要长一点。运算量与速度比。[/QUOTE]

大哥,如果我的服务器的应答猜测的速度如第1一贴
Jul 16 10:29:24 sshd[23332]: Failed password for root from 220.192.74.106 port 1660 ssh2
Jul 16 10:29:28 sshd[23336]: Failed password for root from 220.192.74.106 port 1661 ssh2
Jul 16 10:29:32 sshd[23338]: Failed password for root from 220.192.74.106 port 1662 ssh2
Jul 16 10:29:34 sshd[23339]: Failed password for root from 220.192.74.106 port 1663 ssh2
Jul 16 10:29:35 sshd[23342]: Failed password for root from 220.192.74.106 port 1664 ssh2
Jul 16 10:29:36 sshd[23344]: Failed password for root from 220.192.74.106 port 1665 ssh2
Jul 16 10:29:41 sshd[23364]: Failed password for root from 220.192.74.106 port 1666 ssh2
Jul 16 10:29:43 sshd[23366]: Failed password for root from 220.192.74.106 port 1667 ssh2
Jul 16 10:29:47 sshd[23368]: Failed password for root from 220.192.74.106 port 1668 ssh2
Jul 16 10:29:47 sshd[23370]: Failed password for root from 220.192.74.106 port 1669 ssh2
Jul 16 10:29:48 sshd[23372]: Failed password for root from 220.192.74.106 port 1670 ssh2
Jul 16 10:29:54 sshd[23383]: Failed password for root from 220.192.74.106 port 1671 ssh2  

也就是说12次/30秒,即24次/分钟,按此速度来推算,我的8位密码需要多久能被猜出来,麻烦大哥帮我算一下:eek:      
Further more , all problems are no promble.

TOP

[QUOTE=tree2008;575438]猜测攻击理论是这样的:你系统肯定有root超级用户,root肯定有个密码,而且允许root通过ssh远程登录,允许无限次数密码错误,所以无论ssh版本4.9还是10.9也好,从理论上说都是可以被猜出来的,只是被猜出来需要多少时间的问题.
8位已经是UNIX要求的很短的密码长度了,问题是这样的密码经得起猜测么?:w[/QUOTE]
这个也和个人习惯有关, 如果有安全意识,密码的复杂度就很高了, 比如如果管理员使用了 * & 1  A a 这样的字符, 8位的密码可能组合有
10+10+26+26+4=76
对应为(!@#$%^&*()   1234567890  A-Z a-z `~_+)
76**7+76**6+76**5+..76  大约为 15 000 000 000 000
按照1s一次的速度大概需要 474347 年      

TOP

如果限于数字 1157 天可以穷举所有可能的8位组合.

$ echo 99999999 / 3600 / 24 | bc -l
1157.407      

TOP

linux 可以使用shell通过日志来获得登录失败次数,然后封ip 一天,甚至可以全自动更改新的用户名,并删除旧的用户名。

在ubuntu 下,root 默认是禁止以任何方式登录的,包括本地。      

TOP

我想正确的算法应该是这样:
一个8位长度的密码包括数字,大写,小写,特殊字符的组合数为:
0123456789   :  10
A-Z                  :  26
a-z                  :  26
`~!@#$%^&*()-_+=[{]}\|;:'",<.>/?                 : 33个(注意空格也包括在内)

也就是说:1)总共可以做为密码的字符共10+26+26+33=95个
          2)8位长度的密码的总共可能的组合数:95的8次方=6.6342*10的15次方
          3)按照1次/秒的猜测速度来猜8位长度的密码需要的最长时间为:
              6.6342E+15/(60*60*24*365)=210369238.7年

结论是 :穷举法猜1个8位长度的密码最长需要2亿1千万年以上的时间。我想等到黄花菜都凉了N  
             次也还没猜到把。
         但前提是:我们要让自己的密码包括大小写、字母、数字和特殊字符;并且密码对于猜测
         者来说要是无序的。      
Further more , all problems are no promble.

TOP

不知道你是说算法还是密码复杂度?说说描述?      

TOP

看来在linux还是学点东西还安全了 !      

TOP

不要告诉我你研究的"白痴都能搞懂"的方法就是:
增加密码长度,并且提高密码的复杂度.:rolleyes:      

TOP

发新话题