FTP免杀绕过杀软及钓鱼绕过邮箱检测
字数 1639 2025-08-29 08:30:19
FTP免杀绕过杀软及钓鱼绕过邮箱检测技术详解
一、技术概述
本技术通过FTP命令执行结合PowerShell脚本实现恶意代码的免杀执行,并配合钓鱼邮件绕过邮箱安全检测。主要包含以下关键点:
- 利用FTP命令的
!执行特性进行命令执行 - PowerShell脚本的多层混淆绕过杀软静态检测
- 伪造HTML页面隐藏真实恶意文件下载链接
- 绕过主流邮箱的安全检测机制
二、环境准备
所需工具
- Cobalt Strike (CS) 服务端和客户端
- 文本编辑器(如Notepad++)
- FTP客户端
- Web服务器(用于托管恶意文件)
基础配置
- 启动CS服务端
- 客户端连接至服务端
- 建立监听器
- 生成PowerShell格式的payload
三、技术实现步骤
1. 生成恶意PowerShell脚本
使用CS生成PowerShell格式的payload,保存为a.ps1,然后重命名为bad.ps1。
2. 制作FTP命令执行文件
创建good.dll文件,内容如下:
^ -exec bypass .\\bad.ps1
技术原理:
^:转义字符,用于绕过简单字符串检测-exec bypass:绕过PowerShell执行策略.\\bad.ps1:执行当前目录下的恶意脚本
3. 制作主执行文件
创建a.ps1文件,内容为:
1 -""s:aaa.dll
参数说明:
-s:FTP的标准参数,指定包含FTP命令的脚本文件"":空字符串,用于混淆和绕过安全检查aaa.dll:实际应为good.dll,此处可能是笔误
4. 文件结构组织
完整文件结构:
攻击文件夹/
├── a.ps1 (主执行文件)
├── good.dll (FTP命令执行文件)
└── bad.ps1 (CS生成的恶意PowerShell脚本)
5. 打包与分发
- 将上述文件打包为ZIP压缩包
- 上传至GitHub获取下载链接
- 创建伪造的HTML页面,将下载链接伪装成"查杀后的docx文件"
四、技术原理分析
1. FTP命令执行绕过
利用FTP客户端的特性:
- 在FTP命令模式下,输入
!可以执行系统命令 - 通过脚本自动执行这一过程,避免人工交互
2. PowerShell混淆技术
采用的混淆方法:
- 大小写混合(如
$ExeCuTiOnCoNtExT) - 转义字符(
^) - 执行策略绕过参数(
-exec bypass) - 分块执行(
InvOkeCoMmAnD.NeWScriPtBlOcK)
3. 杀软绕过机制
静态检测绕过:
- 多层文件调用,分离恶意代码
- 非常规文件扩展名(.dll用于存储命令)
- 命令字符串混淆
动态检测绕过:
- 针对360杀毒、Windows Defender有效
- 火绒会检测到可疑的PowerShell进程创建
五、钓鱼邮件制作
1. HTML页面伪装
创建看似合法的文件下载页面:
- 界面伪装成杀毒软件扫描完成界面
- 下载按钮链接指向恶意ZIP包
- 文件名显示为"已查杀_文档.docx"类安全名称
2. 邮箱检测绕过技巧
成功要素:
- 不直接发送可执行文件
- 下载链接托管在可信平台(GitHub)
- 链接显示名称与真实内容不符
- 邮件正文诱导用户认为文件已通过安全检测
六、防御建议
针对企业管理员
- 禁用不必要的命令行工具(FTP、PowerShell)
- 监控异常进程创建(特别是cmd->ftp->powershell链)
- 限制从外部下载ZIP文件并自动执行内容
针对终端用户
- 谨慎下载邮件中的附件,即使显示为"已查杀"
- 注意文件实际扩展名与显示名称是否一致
- 对可疑的PowerShell执行请求保持警惕
七、测试结果
实际测试验证:
- 成功绕过主流邮箱的安全检测
- 静态查杀全部绕过
- 动态检测绕过360杀毒、Windows Defender
- 火绒会检测到可疑的PowerShell进程创建行为
八、技术演进方向
- 替换FTP为其他可信命令行工具
- 增加更多层文件调用混淆
- 结合文档漏洞(如Office宏)提高成功率
- 使用更隐蔽的C2通信方式
本技术文档详细说明了从环境准备到最终攻击成功的完整链条,重点突出了各环节的绕过技术和实现原理,同时提供了相应的防御建议。使用时请确保符合法律法规,仅用于安全研究目的。