一、身份认证攻击的核心原理:突破 “信任关卡”
身份认证的本质是验证 “用户声称的身份” 与 “实际身份” 是否一致,常见的认证因子包括知识因子(密码、PIN 码)、持有因子(U 盾、手机验证码)和生物因子(指纹、人脸)。当前多数系统仍以 “密码 + 账号” 的单因子认证为主,这也成为攻击者的主要突破口。
身份认证攻击的核心逻辑可归纳为三类:
1.暴力破解:通过遍历所有可能的密码组合,尝试匹配正确凭证,适用于密码复杂度较低的场景;
2.凭证窃取:利用钓鱼、木马、协议漏洞等手段,直接获取用户已输入或存储的明文 / 哈希密码;
3.会话劫持:跳过认证过程,直接窃取或伪造已通过认证的会话(如 Cookie、Token),伪装成合法用户访问系统。
Kali Linux 的优势在于将这些攻击逻辑工具化,提供从信息收集到攻击实施的全流程工具链,且支持自定义脚本扩展,大幅降低了攻击门槛。
二、Kali 中常用的身份认证攻击技术与实战
(一)暴力破解:从 “穷举” 到 “智能猜测”
暴力破解并非盲目尝试,而是结合目标信息优化字典的 “精准攻击”,Kali 中最经典的工具包括 Hydra、Medusa 和 John the Ripper。
1. Hydra:多协议暴力破解神器
Hydra 支持 FTP、SSH、RDP、MySQL 等 50 + 协议,特点是速度快、支持多线程,适合对已知账号的密码进行爆破。
Burp Suite 配置代理:在使用 Burp Suite 进行 Web 表单认证爆破时,需要将浏览器代理配置为 Burp Suite 的监听地址和端口,如 127.0.0.1:8080,图中显示了 Burp Suite 的代理配置界面。

配置好代理后,在浏览器中访问目标网站的登录页面,Burp Suite 会拦截到登录请求,图中展示了 Burp Suite 捕获到的登录 POST 请求的界面

将捕获到的登录请求发送到 Burp Suite 的 Intruder 模块后,需要设置攻击类型,图中选择了 “Cluster bomb” 攻击类型,这种类型可以对用户名和密码字段进行组合攻击。
Hydra 是一款强大的密码破解工具,可用于对 SSH 等服务进行暴力破解。图中展示了在 Kali 系统中使用 Hydra 对 SSH 服务进行爆破的命令格式及相关参数说明。

在 Kali 系统中,可以通过菜单路径 “05-Password Attacks”→“Online Attacks”→“Hydra” 来启动 Hydra 工具,图中显示了在 Kali 系统的应用程序菜单中找到 Hydra 工具的界面。

实战步骤:
(1)确定目标协议与端口:使用nmap -p 22 192.168.1.100扫描目标是否开放 SSH 服务(22 端口);
(2)准备字典文件:Kali 默认字典路径为/usr/share/wordlists/,可使用rockyou.txt(需解压:gunzip rockyou.txt.gz);
(3)执行爆破命令:
hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.1.100 ssh -vV
-l:指定单个用户名(如 admin);
•
-P:指定密码字典;
•
-vV:显示详细爆破过程;
(4)结果分析:若爆破成功,Hydra 会输出 “[22][ssh] host: 192.168.1.100 login: admin password: 123456”。
2. John the Ripper:哈希密码破解工具
当无法直接爆破在线系统时,攻击者常通过泄露的数据库获取密码哈希值(如 Windows 的 NTLM 哈希、Linux 的 /etc/shadow 文件),再用 John 进行离线破解。
实战步骤:
(1)获取哈希文件:假设已通过漏洞获取 Linux 系统的/etc/shadow文件,提取目标用户的哈希行(如test:$6$zE7...:18900:0:99999:7:::);
(2)转换为 John 可识别格式:使用unshadow /etc/passwd /etc/shadow > hash.txt合并账号与哈希;
(3)执行破解:
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
(4)查看结果:输入john --show hash.txt,若破解成功会显示 “test:123456:18900:0:99999:7:::”。
(二)凭证窃取:“诱骗” 与 “拦截” 的双重陷阱
相比暴力破解,凭证窃取更具隐蔽性,常见手段包括钓鱼攻击、键盘记录和协议抓包,Kali 中的 Setoolkit、Cain & Abel 是典型工具。
1. Setoolkit:社会工程学攻击框架
Setoolkit(Social-Engineer Toolkit)专为钓鱼攻击设计,可快速生成仿冒登录页面(如 QQ、邮箱、企业 OA),诱骗用户输入账号密码。
实战步骤:
(1)启动 Setoolkit:输入setoolkit,选择 “1) Social-Engineering Attacks”→“2) Website Attack Vectors”→“3) Credential Harvester Attack Method”;
(2)选择攻击模式:推荐 “2) Site Cloner”(克隆目标网站),输入攻击者 IP(如 192.168.1.101)和目标网址(如https://mail.xxx.com/login);
(3)诱骗用户访问:通过邮件、短信等方式将生成的钓鱼链接(如http://192.168.1.101)发送给目标;
(4)获取凭证:当用户在仿冒页面输入账号密码后,Setoolkit 会实时显示 “Username: xxx Password: xxx”。
2. Wireshark:协议抓包窃取明文凭证
若目标网络使用 HTTP、FTP 等明文协议,攻击者可通过 Wireshark 抓取网络流量,直接提取传输的账号密码。
实战步骤:
(1)开启抓包:启动 Wireshark,选择目标网卡(如 eth0),点击 “开始抓包” 按钮;
(2)设置过滤规则:在过滤栏输入http.request.method == "POST"(抓取 HTTP POST 请求,常用于登录数据传输);
(3)诱骗目标操作:让目标在明文网站(如http://test.xxx.com)登录账号;
(4)分析数据包:找到 “POST /login.php” 的数据包,展开 “Form Data”,即可看到 “username=admin&password=123456” 的明文信息。
(三)会话劫持:“跳过认证” 的捷径
会话劫持无需破解密码,而是直接利用已认证的会话信息(如 Cookie、Session ID),Kali 中的 Burp Suite、Cookies Manager 是常用工具。
实战案例:Cookie 劫持登录网站
(1)抓包获取会话 Cookie:使用 Burp Suite 拦截目标登录后的 HTTP 请求,在 “Headers” 中找到 “Cookie: PHPSESSID=abc123; user=admin”;
(2)伪造会话:在另一台设备上打开目标网站,通过浏览器插件(如 EditThisCookie)将 Cookie 修改为获取到的内容;
(3)访问系统:刷新页面后,无需登录即可直接以 admin 身份进入系统,实现会话劫持。
三、身份认证攻击的防御方案:构建 “多层防护体系”
了解攻击技术的最终目的是更好地防御,结合上述攻击手段,可从以下四个维度建立防御体系:
1. 强化密码安全:从 “源头” 抵御破解
•
强制密码复杂度:要求密码长度≥12 位,包含大小写字母、数字和特殊符号(如Admin@123!),避免使用生日、手机号等弱密码;
•
定期密码更新:企业可设置 90 天强制改密,禁止使用近 3 次历史密码;
•
使用密码哈希加盐:在存储密码时,通过 “哈希 + 随机盐值”(如 SHA-256 + 16 位盐值),即使哈希泄露,攻击者也难以破解(John 破解加盐哈希的时间会增加 10 倍以上)。
2. 升级认证机制:突破 “单因子” 局限
•
启用多因子认证(MFA):在密码基础上增加第二重验证,如手机验证码、Google Authenticator、U 盾,即使密码泄露,攻击者也无法通过认证;
•
采用无密码认证:对高安全需求场景(如金融、政务),可使用生物识别(指纹、人脸)或硬件令牌,彻底摆脱密码依赖。
3. 防范凭证窃取:阻断 “中间环节”
•
禁用明文协议:将网站从 HTTP 升级为 HTTPS,服务器禁用 FTP、Telnet,改用 SFTP、SSH;
•
加强钓鱼防护:企业定期开展员工钓鱼演练,部署邮件网关拦截钓鱼链接,浏览器开启 “恶意网站拦截” 功能;
•
监控异常行为:通过日志审计工具(如 ELK、Splunk)监控登录行为,若发现 “同一账号 10 分钟内 5 次登录失败”“异地 IP 登录”,立即触发告警并锁定账号。
4. 保护会话安全:防止 “会话被窃”
•
缩短会话有效期:设置 Session 超时时间(如 30 分钟无操作自动登出),减少会话被劫持的窗口;
•
使用安全 Cookie 属性:在 Cookie 中添加 “HttpOnly”(禁止 JS 读取)、“Secure”(仅 HTTPS 传输)、“SameSite=Strict”(禁止跨域使用);
•
定期轮换会话 ID:用户登录、改密后,服务器自动生成新的 Session ID,使旧 ID 失效。
四、法律与伦理边界:渗透测试的 “红线”
必须强调的是,未经授权的身份认证攻击属于违法行为,根据《中华人民共和国网络安全法》《刑法》第 285 条、286 条,攻击者将面临罚款、拘留甚至刑事责任。
合法的渗透测试需满足三个前提:
1.书面授权:必须获得目标系统所有者的正式授权文件,明确测试范围、时间和手段;
2.可控范围:不得影响目标系统的正常运行,禁止窃取、泄露用户数据;
3.报告责任:测试结束后需提交详细报告,包括漏洞位置、攻击过程和修复建议,帮助目标提升安全能力。

510

被折叠的 条评论
为什么被折叠?



