密码--暴力破解

article/2025/11/6 10:44:52

1.海德拉(Hydra)

hydra 是世界顶级密码暴力密码破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被破解关键取决
于破解字典是否足够强大,在网络安全渗透过程中是一款必备的测试工具。
在这里插入图片描述
在这里插入图片描述

破解ftp: hydra -L 用户名字典 -P 密码字典 -t 6 -e ns IP地址 -v
破解https: hydra -m /index.php -l 用户名 -P 密码字典.txt IP地址 https
破解http-proxy: hydra -l admin -P 字典.txt http-proxy://IP地址
破解rdp(windows远程登录): hydra ip地址 rdp -l administrator -P 密码字典.txt -V
telnet破解: hydra ip地址 telnet -l 用户字典.txt -P 密码字典.txt

我们先建立简单的字典
在这里插入图片描述
我们在win7创建了一个属于telnet服务的用户bilibili,密码为123456(如何创建和开启telnet服务请看我相关博客)
在这里插入图片描述
对我们win7系统进行简单的密码暴力破解
在这里插入图片描述
输出为
在这里插入图片描述
成功

2.Medusa

Medusa(美杜莎)是一个速度快,支持大规模并行,模块化的爆力破解工具。可以同时对多个主机,用户或密码执行强力测试。Medusa和hydra一样,同样属于在线密码破解工具。Medusa是支持AFP, CVS, FTP, HTTP, IMAP, MS-SQL, MySQL, NCP (NetWare),NNTP,PcAnywhere, POP3, PostgreSQL, rexec, RDP、rlogin, rsh, SMBNT,SMTP(AUTH/VRFY),SNMP, SSHv2, SVN, Telnet, VmAuthd, VNC、Generic Wrapper以及Web表单的密码爆破工具

Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT]

-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] 继续扫描上一次

我们先创建一个hostlist.txt文档,用同样的方式进行破解
在这里插入图片描述
在这里插入图片描述
结果:
在这里插入图片描述

3.patator 强大的命令行暴力破解器

在这里插入图片描述
例1:
在这里插入图片描述
在这里插入图片描述
例2:
在这里插入图片描述
在这里插入图片描述

4.msf

Metasploit Framework(简称MSF)是一个编写、测试和使用exploit代码的完善环境。这个环境为渗透测试,
Shellcode编写和漏洞研究提供了一个可靠的平台,这个框架主要是由面向对象的Perl编程语言编写的,并带有由C语
言,汇编程序和Python编写的可选组件。
在这里插入图片描述
1.ssh模块
root@kali:~# msfconsole
msf > search ssh
在这里插入图片描述
2.SSH用户枚举
msf > use auxiliary/scanner/ssh/ssh_enumusers
msf auxiliary(scanner/ssh/ssh_enumusers) > set rhosts 192.168.64.129
msf auxiliary(scanner/ssh/ssh_enumusers) > set USER_FILE /root/userlist.txt
msf auxiliary(scanner/ssh/ssh_enumusers) > set rport 23
msf auxiliary(scanner/ssh/ssh_enumusers) > set PASS_FILE /root/passwordlist.txt
msf auxiliary(scanner/ssh/ssh_enumusers) > run
在这里插入图片描述
这里输出和想象不一样,可能是这是ssh服务,不是telnet服务
其他的可以用show options 来查看并依次设置参数
3.ssh版本探测
msf > use auxiliary/scanner/ssh/ssh_version
msf auxiliary(scanner/ssh/ssh_version) > set rhosts 192.168.64.129
msf auxiliary(scanner/ssh/ssh_version) > run

4.ssh暴力破解
msf > use auxiliary/scanner/ssh/ssh_login
msf auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.64.129
msf auxiliary(scanner/ssh/ssh_login) > set USER_FILE /root/userlist.txt
msf auxiliary(scanner/ssh/ssh_login) > set PASS_FILE /root/passwordlist.txt
msf auxiliary(scanner/ssh/ssh_login) > run

5.对暴力破解的防御措施

  1. useradd shell
    [root@kali219]# useradd yangge -s /sbin/nologin
  2. 密码的复杂性
    字母大小写+数字+特殊字符+20位以上+定期更换
  3. 修改默认端口
    /etc/ssh/sshd_config
    Port 33663
  4. 限止登录的用户或组
    #PermitRootLogin yes
    AllowUser xxss
    [root@kali2019]# man sshd_config
    AllowUsers AllowGroups DenyUsers DenyGroups
  5. 使用sudo
  6. 设置允许的IP访问
    /etc/hosts.allow,例如sshd:192.168.64.129:allow
    PAM基于IP限制
    iptables/firewalld
    只能允许从堡垒机
  7. 使用DenyHosts自动统计,并将其加入到/etc/hosts.deny
  8. 基于PAM实现登录限制
    模块:pam_tally2.so
    功能:登录统计
    示例:实现防止对sshd暴力破解
    [root@kali2019]# grep tally2 /etc/pam.d/sshd
    auth required pam_tally2.so deny=2 even_deny_root root_unlock_time=60 unlock_time=6
  9. 禁用密码改用公钥方式认证
    /etc/ssh/sshd_config
    PasswordAuthentication no
  10. 保护xshell导出会话文件【小心】
  11. GRUB加密【针对本地破解】

http://chatgpt.dhexx.cn/article/Jy8T087U.shtml

相关文章

使用E-mailCrack破解邮箱密码案例

使用E-mailCrack破解邮箱密码案例 在无法直接进行***时,邮件******以及邮箱账号破解***无疑是一种最佳选择。邮件******成功有两个必要条件:一是***不被查杀,二是用户打开邮件并执行了隐藏在邮件中的***程序。邮件******随着网民对网络安全意…

如何防止自己的云服务器被暴力破解密码(限制暴力破解并发送邮件到自己的邮箱)

如何防止自己的云服务器被暴力破解密码(限制暴力破解并发送邮件到自己的邮箱) 今天看到自己的阿里云服务器被别有用心的人gank一波,于是才想到得设置一套完美的防火墙策略了 首先黑客登录失败的日志为/var/log/btmp* 我们可以看到之前暴力破解未登录成功的IP 既然…

Foxmail 本地邮箱密码破解思路方法分享

本文主要以POP3为例讲解, 其他邮件协议可以参考思路, 自行尝试解决。 最近发生了一件比较尴尬的事, 公司邮箱密码忘记了, 又不想麻烦IT部门更改, 就想尝试下自己破解下本地的密码。 (反正密码已经以加密形式…

Java中IO流基本介绍(5)——InputStreamReader和OutputStreamWriter

1 基本概括 2 主要介绍 2.1 InputStreamReader/OutputStreamWriter 相比FileReader和FileWriter的优势 前者可以指定读取和写出的编码,不容易出现乱码。 2.2 转换流的作用 1. 如果目前所 获取到的是一个字节流需要转换字符流使用,这时候就可以使用转换…

IO流——InputStreamReader 和 OutputStreamWriter

本次博客来学习IO流中的转换流——InputStreamReader 和 OutputStreamWriter。 InputStreamReader 和 OutputStreamWriter InputStreamReader:Reader的子类,可以将InputStream(字节流)包装成Reader(字符流)。 OutputStreamWriter:Writer的子…

OutputStreamWriter类

1、概述 转换流 java.io.OutputStreamWriter,是Writer的子类,是从字符流到字节流的桥梁。 它使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。 2、继承父类的共性成员方法 该类继承 Writer 类&…

转换流OutputStreamWriter

1、转换流–OutputStreamWriter简介 : OutputStreamWriter extends Writer, 转换流也是继承自超类Writer,因此可以使用Writer中的共性方法:write(int c),write(char[] ch),…,flash(),close(),… OutputStreamWriter常用的构造方法: 1&…

详解OutputStreamWriter与InputStreamReader

1.转换流原理 2. OutputStreamWriter java.io.OutputStreamWriter extends Writer OutputStreamWriter:是字符流通向字节流的桥梁;可使用指定的charset将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂) 2.1 继承自父…

Java IO体系之OutputStreamWriter

介绍 字符输出流Writer 的实现类 继承关系图 样例 public static void main(String[] args) throws IOException{//创建字节输出流,绑定数据文件(没有则创建)FileOutputStream fosnew FileOutputStream("D:\\HELLO.txt");// 创建…

streamwriter java_Java OutputStreamWriter 类

Java OutputStreamWriter 类 在本教程中,我们将借助示例学习Java OutputStreamWriter及其方法。 java.io包的OutputStreamWriter类可用于将字符形式的数据转换为字节形式的数据。 它继承了抽象类Writer。 OutputStreamWriter类可与其他输出流一起使用。 它也被称为字…

40OutputStreamWriter

写的转换流,写我们相要写的编码文件 java.io.OutputStreamWriter etends Writer InputStreamReader是字节流通向字符流的桥梁,它使用指定的Charset 将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂的) 继承…

Java IO 学习总结(五)OutputStreamWriter

Java IO 学习总结(一)输入流/输出流 Java IO 学习总结(二)File 类 Java IO 学习总结(三)BufferedInputStream Java IO 学习总结(四)BufferedReader 缓冲字符流 Java IO 学习总结&…

IO流(学习Java第24天)(转换流OutputStreamWriter、转换流InputStreamReader、字符流便捷类)

目录 一、转换流OutputStreamWriter 二.转换流InputStreamReader 三.字符流便捷类 一、转换流OutputStreamWriter java.io.OutputStreamwriter类,继承Writer类,他是字符输出流,只能操作文本文件,不能操作其他类型文件。Output…

Java IO流学习总结五:转换流-InputStreamReader、OutputStreamWriter

类的继承关系 Reader |__ BufferedReader、StringReader、InputStreamReader|__ FileReaderWriter |__ BufferedWriter、StringWriter、OutputStreamWriter|__ FileWriter InputStreamReader 简介 InputStreamReader 是字符流 Reader 的子类,是字节流通向字符流的桥梁。你…

mysql判断是否存在索引并删除_mysql判断索引存在时删除索引的方法_MySQL

bitsCN.com mysql判断索引存在时删除索引的方法 mysql的drop index语句不支持if exists条件,在sql中先删除索引, 再创建索引,如果对于新建的数据库,库中没有该索引,就会报错, 导致后面的sql不再执行。 因此…

Oracle索引详解(索引的原理,创建索引,删除索引,修改索引等)

Oracle索引详解 一.索引概述 Oracle作为关系型数据库,用户查找数据与行的物理位置无关,表中的每一行均用一个ROWID来标识,当Oracle数据库中存储海量的记录时,就意味着有大量的ROWID标识,那么Oracle如何能快速找到指定…

es批量删除索引

es批量删除索引 ES/DSL语句删除索引中的文档,以时间为过滤条件 执行时如图所示: 请求:sgl_zc_termina_exhaust_20200924/_delete_by_query post DSL风格的语句: { “query”: { “bool”: { “must”: [{ “range”: { “collectTime”: { “gt”: “1616342400000”, “lt”…

Phoenix删除索引

直接在DBeaver的工具中使用Phonix连接hbase,创建索引后,直接右键删除索引,会报错无法删除。 以下提示删除索引的操作: select * from SYSTEM."CATALOG" where TABLE_NAMET5_3D71E0783EE811E9B1C10050569D5D3A AND TABLE_SCHEM MP…

mysql删除索引_SQL基础12:Mysql删除索引

图片发自简书App 学习此文之前,一起先来回顾下Mysql创建索引 简介:在本篇教程中,你将学习如何使用MYSQL DROP INDEX语法删除表中已经存在的索引。 一、MYSQL删除索引的语法 要从表中删除现有索引,可使用DROP INDEX*语句&#xff0…

MySql 删除索引

#删除索引 -- (1)使用alter table 删除 -- 语法:alter table 表名 drop index|key 索引名 -- 列如:删除表book11中的索引 alter table book11 drop index sno -- (2)使用 drop index 删除 -- 语法:drop index 索引名称 on 表名 -- 列如:删除表book…