Hydra-SSH 漏洞安全防范

简介: Hydra 是由 THC 组织开发的强力网络安全测试工具,主要用于对 SSH、FTP、HTTP 等协议进行认证爆破,适用于授权渗透测试与弱口令检测。其高效性依赖于优化的字典策略,强调质量优先,结合目标信息定制密码列表,提高破解成功率。

Hydra(九头蛇)是网络安全领域一款非常强大的在线暴力破解工具,由著名的THC(The Hacker's Choice)组织开发。它支持对各种网络服务协议(如SSH、FTP、HTTP、RDP等)进行认证信息的爆破攻击,常被安全人员用于授权下的渗透测试系统弱口令检测

字典优化 (最重要的步骤)

一个糟糕的字典会让最强大的工具变得低效。优化字典是提升成功率最关键的一步。

原则:质量 > 数量。一个针对目标精心准备的 100 条密码字典,远胜一个 10GB 的通用弱口令列表。

信息收集:

  • 从目标网站、社交媒体、GitHub 等地方收集目标组织、员工、项目相关的关键词。工具如 CeWL 可以爬取网站生成相关字典。
  • 如果知道用户名(如 admin),优先将其加入密码字典。

应用密码策略:

  • 如果目标系统有密码策略(如“必须包含大小写字母和数字”),利用工具(如 RSManglerCUPP) 基于收集的关键词生成符合规则的密码。
  • 常见变形:Password2024!, p@ssw0rd, Company123, Welcome09

排序:

  • 将最可能成功的密码(如收集到的关键词、常见弱口令 123456)放在字典最前面。这样一旦成功就能用 -f 参数立即停止,节省大量时间。

-L users.txt 是一个文本文件,包含要尝试的用户名列表,每行一个用户名

admin
root
test
user
administrator
sshuser

-P passwords.txt指定一个包含多个密码的字典文件

123456
password
admin
qwerty
letmein
P@ssw0rd

Hydra 参数调优

这是对 SSH 服务最直接的优化。

# 高度优化的推荐命令
hydra -L users.txt -P optimized_pass.txt ssh://目标IP -s 22 -t 4 -w 10 -f -e ns -o results.txt -vV

-t <线程数> (关键!)

  • 不要盲目提高线程数! SSH 协议协商开销大,且目标服务器通常有连接数限制。
  • 推荐范围:4 - 8。过高的线程数 (-t 64) 会导致:
  1. 触发防御:迅速被 fail2bandenyhosts 等安全工具封禁 IP。
  2. 连接被拒:SSH 守护进程 (sshd) 达到最大连接数,拒绝新连接。
  3. 性能下降:大量超时和重传,反而降低整体效率。
  • 策略:从 -t 4 开始,如果网络和环境非常稳定,可以谨慎地增加到 -t 8

-w <超时时间>

  • 设置每次尝试的等待超时时间(秒)。SSH 登录过程比 HTTP 慢。
  • 默认值可能太短,导致连接在完成前就被 Hydra 判定为失败。
  • 建议设置为 10 (-w 10),为网络延迟和服务器响应留出足够时间,减少误报。

-f-e ns 组合

  • -e ns:先尝试空密码(n)和密码等于用户名(s)的情况。这是一个低成本、高回报的策略,很多运维会疏忽。
  • -f:一旦 -e ns 成功,或字典中靠前的密码成功,立即停止,避免不必要的尝试和日志记录。
  • -s <端口号>
  • 如果 SSH 服务运行在标准端口 22,可省略。但如果运行在非标准端口(如 2222),必须使用 -s 2222 来指定,否则 Hydra 会去连接默认的 22 端口导致失败。

隐匿性与规避检测

如果你的测试是授权测试,但仍希望模拟真实攻击者或避免触发警报,可以这样做:

降低频率:

  • 使用 -t 2-t 1 单线程/低线程。速度极慢,但极其隐蔽,很难触发基于频率的告警。
  • 增加 -w 15 甚至更高的超时时间,进一步降低请求速率。

使用代理或 Tor 网络 (高级):

  • 通过代理池轮询 IP,避免源IP被封。
  • 设置环境变量让 Hydra 使用 SOCKS 代理(例如 Tor):
export HYDRA_PROXY=socks5://127.0.0.1:9050
hydra -L users.txt -P passes.txt ssh://目标IP ...

暂停与随机延时:

  • Hydra 本身不支持随机延时,但你可以用外部脚本控制。
  • 在两次 Hydra 任务之间手动暂停(如休息几个小时),或者使用 sleep 命令在脚本中插入固定延时,避免持续轰炸。

推荐命令

标准授权测试(平衡速度与稳定性)

sudo hydra -L  users.txt -P  passwords.txt ssh://192.168.1.100 -t 4 -w 10 -e ns -f -vV -o A.txt

-o A.txt作用:将成功的结果输出到指定文件

-L -P 文件的地址(当前目录中使用)

场高隐匿性测试(避免触发警报)

hydra -L users.txt -P passwords.txt ssh://192.168.1.100 -t 1 -w 30 -e ns -f -vV -o A.txt
# 或者使用代理
export HYDRA_PROXY=socks5://127.0.0.1:9050
hydra ... (同上,省略其他参数)
目录
相关文章
|
安全 网络安全 数据安全/隐私保护
管理口SSH服务存在拒绝服务漏洞(CVE-2016-6515)
管理口SSH服务存在拒绝服务漏洞(CVE-2016-6515),发送少量数据包,可导致拒绝服务。漏洞详细请看 https://github.com/opsxcq/exploit-CVE-2016-6515
6618 0
|
6月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
222 10
|
安全 Linux Shell
Linux中SSH命令介绍
Linux中SSH命令介绍
495 2
|
11月前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
监控 安全 Ubuntu
在Linux中,如何进行SSH服务配置?
在Linux中,如何进行SSH服务配置?
|
Shell Linux 网络安全
Linux怎样在使用ssh 链接时就指定gcc 的版本
Linux怎样在使用ssh 链接时就指定gcc 的版本
142 7
|
安全 Linux 网络安全
在Linux中,如何配置SSH以确保远程连接的安全?
在Linux中,如何配置SSH以确保远程连接的安全?
|
安全 Linux Shell
【Linux基础】SSH登录
安全外壳协议(Secure Shell Protocol,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。 SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。 SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。
216 6
|
安全 Linux Shell
SSH 命令完整实用指南 | Linux SSH 服务
【8月更文挑战第20天】
1509 0