Red Team Techniques-通过钓鱼攻击获得访问权限
字数 1217 2025-08-27 12:33:49

红队钓鱼攻击技术详解:从零到获得访问权限

1. 钓鱼攻击准备工作

1.1 邮件来源可信度构建

  • IP可信度:避免使用新购买的VPS发送邮件,检查发件人历史记录
  • 域名可信度
    • 使用Mailchimp或Sendgrid等可信服务商验证域名
    • 确保发件人显示为"自己的域名"而非服务商名称
    • 匹配目标电子邮件的返回路径
  • 邮件认证配置
    • 配置SPF(发件人策略框架)
    • 配置DKIM(域名密钥识别邮件)
    • 配置DMARC(基于SPF和DKIM的可扩展认证协议)

1.2 发送策略优化

  • 时间和频率:避免短时间内大量发送,防止被标记为垃圾邮件
  • 链接和域名
    • 使用SSL证书
    • 避免死链接
    • 控制HTML内容数量
  • 避免黑名单:持续监控域名信誉

1.3 对抗自动化检测

  • 识别爬虫
    • 使用GreyNoise API识别WEB_CRAWLER
    • 检测headless Chrome、Selenium等环境
  • 内容伪装:为自动化扫描引擎提供正常内容
  • 重定向技术:使用301/302重定向到高信誉域名

2. 钓鱼攻击类型选择

2.1 针对性攻击

  • 针对特定个人进行高度定制化攻击

2.2 基于侦查的群发攻击

  • 使用OSINT工具收集目标信息:
    • theHarvester
    • DataSploit
    • Awesome-OSINT
  • 发送大量定制化钓鱼邮件

2.3 表单提交攻击

  • 建立虚假公司网站
  • 诱导目标在假网站上提交敏感信息

3. 攻击实施技术

3.1 恶意文档生成

  • 使用Unicorn生成恶意PowerShell宏:
    "po" & "w" & "er" & "s" & "he" & "l" & "l" & ".e" & "x" & "e" & " "
    
  • 使用hershell作为payload(Go编写的轻量级Stage)

3.2 AMSI绕过技术

  1. 重新编译AMSI Bypass DLL
  2. Base64编码
    $base64string = [Convert]::ToBase64String([IO.File]::ReadAllBytes("$pwd\\bypass.dll"))
    
  3. XOR加密
    foreach($byte in [Text.Encoding]::UTF8.GetBytes($base64string)) { $encrypted += $byte -bxor 1 }
    
  4. 在目标上解密和执行
    foreach($byte in $xorencrypted){$decrypted += $byte -bxor 1 }
    $base64string = [Text.Encoding]::UTF8.GetString($decrypted)
    [Reflection.Assembly]::Load([Convert]::FromBase64String($base64string)) | Out-Null
    [Bypass.AMCEE]::Subvert();
    

3.3 实际攻击案例

案例1:伪造公司咨询

  • 创建与目标业务相似的虚假公司网站
  • 使用mixmax.com托管恶意文档并跟踪点击
  • 发送包含恶意Word文档的咨询邮件
  • 文档需要启用宏才能"正确加载"

案例2:新年群发攻击

  • 创建虚假员工奖励计划网站
  • 使用重定向技术:访问假网站时跳转到真实网站
  • 发送"电子贺卡",内含需要宏才能播放的"祝贺视频"
  • Nginx配置示例:
    location /receivedECard {
      alias /var/www/html/HappyNewYear2019.docm;
      add_header Content-Disposition 'attachment; filename="Happy New Year 2019.docm"';
    }
    

4. 防御措施(蓝队视角)

  1. 禁用Office宏:特别是来自不受信任来源的文档
  2. 邮件过滤
    • 严格过滤不信任来源的邮件
    • 加强收件箱规则
  3. 安全沙箱:在虚拟机中运行可疑附件
  4. 安全意识培训:定期对员工进行钓鱼攻击识别培训
  5. 技术防御
    • 启用AMSI保护
    • 监控异常PowerShell活动
    • 实施应用程序白名单

5. 总结

现代钓鱼攻击需要更多准备工作,但仍然是有效的初始访问手段。攻击者需要:

  • 精心构建可信的邮件来源
  • 开发能够绕过现代防御机制的payload
  • 采用多种攻击方式组合
  • 持续监控和维护攻击基础设施

防御者应实施多层次防御策略,结合技术控制和人因工程,才能有效抵御日益复杂的钓鱼攻击。

红队钓鱼攻击技术详解:从零到获得访问权限 1. 钓鱼攻击准备工作 1.1 邮件来源可信度构建 IP可信度 :避免使用新购买的VPS发送邮件,检查发件人历史记录 域名可信度 : 使用Mailchimp或Sendgrid等可信服务商验证域名 确保发件人显示为"自己的域名"而非服务商名称 匹配目标电子邮件的返回路径 邮件认证配置 : 配置SPF(发件人策略框架) 配置DKIM(域名密钥识别邮件) 配置DMARC(基于SPF和DKIM的可扩展认证协议) 1.2 发送策略优化 时间和频率 :避免短时间内大量发送,防止被标记为垃圾邮件 链接和域名 : 使用SSL证书 避免死链接 控制HTML内容数量 避免黑名单 :持续监控域名信誉 1.3 对抗自动化检测 识别爬虫 : 使用GreyNoise API识别WEB_ CRAWLER 检测headless Chrome、Selenium等环境 内容伪装 :为自动化扫描引擎提供正常内容 重定向技术 :使用301/302重定向到高信誉域名 2. 钓鱼攻击类型选择 2.1 针对性攻击 针对特定个人进行高度定制化攻击 2.2 基于侦查的群发攻击 使用OSINT工具收集目标信息: theHarvester DataSploit Awesome-OSINT 发送大量定制化钓鱼邮件 2.3 表单提交攻击 建立虚假公司网站 诱导目标在假网站上提交敏感信息 3. 攻击实施技术 3.1 恶意文档生成 使用Unicorn生成恶意PowerShell宏: 使用hershell作为payload(Go编写的轻量级Stage) 3.2 AMSI绕过技术 重新编译AMSI Bypass DLL Base64编码 : XOR加密 : 在目标上解密和执行 : 3.3 实际攻击案例 案例1:伪造公司咨询 创建与目标业务相似的虚假公司网站 使用mixmax.com托管恶意文档并跟踪点击 发送包含恶意Word文档的咨询邮件 文档需要启用宏才能"正确加载" 案例2:新年群发攻击 创建虚假员工奖励计划网站 使用重定向技术:访问假网站时跳转到真实网站 发送"电子贺卡",内含需要宏才能播放的"祝贺视频" Nginx配置示例: 4. 防御措施(蓝队视角) 禁用Office宏 :特别是来自不受信任来源的文档 邮件过滤 : 严格过滤不信任来源的邮件 加强收件箱规则 安全沙箱 :在虚拟机中运行可疑附件 安全意识培训 :定期对员工进行钓鱼攻击识别培训 技术防御 : 启用AMSI保护 监控异常PowerShell活动 实施应用程序白名单 5. 总结 现代钓鱼攻击需要更多准备工作,但仍然是有效的初始访问手段。攻击者需要: 精心构建可信的邮件来源 开发能够绕过现代防御机制的payload 采用多种攻击方式组合 持续监控和维护攻击基础设施 防御者应实施多层次防御策略,结合技术控制和人因工程,才能有效抵御日益复杂的钓鱼攻击。