说到暴力破解大家首先想到的肯定是hydra,的确hydra的确非常强大,支持几乎所有的弱密码破解。hydra本身使用C语言开发,性能很高,很适合学习。
但今天我们使用的是Patator,Patator本身使用Python开发,最新版本也就4000行左右,可以说小到极致,这主要多亏了Python库的丰富和强大。
Patator下载地址:http://code.google.com/p/patator/downloads/list。
比较遗憾的是需要自己提供密码字典,下面我们就揭开Patator的真面目。
先来扫个telnet弱密码,看下效果:
其中telnet_login,意思是扫telnet,其中user.txt是用户名字典,passwd.txt是密码字典
Patator和hydra都会交叉用户名和密码文件,通过上诉比较我们可以看出,两者最大不同点在于,hydra直接可以输出成功的用户名和密码,但Patator只输出认证后信息。
这也导致了hydra比Patator更好用,但难免会有误报。
其中telnet模块源码如下:
# Telnet {
{
{
from telnetlib import Telnet
class Telnet_login(TCP_Cache):
'''Brute-force Telnet'''
usage_hints = (
"""%prog host=10.0.0.1 inputs='FILE0\\nFILE1' 0=logins.txt 1=passwords.txt persistent=0"""
""" prompt_re='Username:|Password:' -x ignore:egrep='Login incorrect.+Username:'""",
)
available_options = (
('host', 'target host'),
('port', 'target port [23]'),
('inputs', 'list of values to input'),
('prompt_re', 'regular expression to match prompts [\w+]'),
('timeout', 'seconds to wait for a response and for prompt_re to match received data [20]'),
)
ava