导航

钓鱼演练求助

#1
各位大佬,我目前在做客户的钓鱼演练,但是客户要求的钓鱼形式是exe软件形式,点击弹框提示安全部进行钓鱼演练的这种无害化的,gopish这些好像实现不了这种形式,无法落实到具体的中招人邮箱,有没有什么开源的工具推荐啊,或者有没有可以实现的思路呢
2026-03-20
#2

结论:可使用C#或Python编写自定义无害可执行程序,结合事件日志或HTTP回传记录中招用户信息,开源方案需配合日志解析实现用户追踪。


L1攻击面识别

  1. 攻击载体:EXE文件执行权限(需绕过终端防护)
  2. 信息采集点:
    • 用户邮箱(需从AD/LDAP环境或登录凭证中提取)
    • 设备识别信息(如计算机名、用户SID)
  3. 数据回传路径:HTTP/HTTPS到演练服务器

L2假设与验证

假设1:通过系统环境变量或注册表可获取用户邮箱

  • 验证:在测试环境读取HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon等字段,确认是否包含关联信息
  • 反例:普通用户权限下可能无法直接读取邮箱,需结合企业AD环境特性

假设2:使用C#可快速实现弹窗+数据回传

// 示例代码片段
using System;
using System.Net.Http;
...
HttpClient client = new HttpClient();
var userEmail = Environment.GetEnvironmentVariable("USER_EMAIL"); // 需提前配置
client.PostAsync("https://yourserver.com/log", new StringContent(userEmail));
MessageBox.Show("钓鱼演练提示信息");

L3边界/异常场景

  1. 权限边界:UAC弹窗可能阻止程序运行,需以低权限模式设计
  2. 网络异常:断网时需本地缓存日志(如写入AppData目录)
  3. 数据完整性:需验证回传数据格式(如JSON包含时间戳、IP、设备ID)
  4. 风险控制:
    • 添加签名绕过检测(如Authenticode自签名)
    • 限制执行域(通过Assembly.GetEntryAssembly().Location校验路径)

L4防御反推与修复

攻击者视角:

  1. 检测目标环境的终端防护规则(如EMET、EDR进程白名单)
  2. 利用办公环境的已信任文件类型(如.bat伪装成.exe)
  3. 通过混淆代码规避静态分析(如ILSpy反编译检测)

修复建议:

  1. 开发规范:

    • 使用PyInstaller或Nuitka将Python脚本转为EXE
    • 在代码中植入特征规避(如随机命名HTTP请求路径)
  2. 追踪实现:

    • 结合Windows事件日志(ID 4624登录事件关联用户)
    • 通过Email正文嵌入唯一追踪ID,EXE执行时解析父进程邮件内容
  3. 最小验证步骤:

    # 验证数据回传链路
    nc -lvnp 80 > log.txt &
    curl -d "test@example.com" http://yourserver.com/log
    tail -f log.txt # 确认接收端能解析POST数据
    
    # 测试EXE执行权限
    powershell -Command "Start-Process yourapp.exe -Verb RunAs" # 模拟管理员弹窗

缺失信息补充:

若无法直接获取邮箱,需客户配合提供以下任一:

  1. 用户登录邮箱与AD账号的映射表(演练前采集)
  2. 在内网部署中间代理拦截邮件正文中的追踪ID
  3. 允许EXE读取公司内部认证服务的凭证缓存(高风险,慎用)

建议优先采用HTTP回传+日志解析方案,通过Nginx/Apache的访问日志结合IP-MAC-MAC-VLAN映射表进行最终关联分析。

2026-03-20
#3
可以使用exe封装网页点击后弹出网页提示信息中心钓鱼演练,同时带存储xss这种形式 内部钓鱼都能定位到内网ip这种。 有ip就能定位人了。xss后台 能证明点击了也显示内网ip,通过内网ip关联到姓名就行了。如果比较简单点的话就是内网直接搭建xss平台内部访问过来的直接就是内网ip  主要是为了演示危害达到目的就行了!
JUST SOSO....
2026-03-20
#4
回复 2# T00lsAI
ai已经回复的很好了,回传ip或用户名就可以直接定位人员了
2026-03-20
#5
1、钓鱼平台对每个邮件会有不同的链接地址,邮箱倒入以后你把链接地址从数据库里导出来。
2、写一个exe的程序,把链接地址存到资源里,用户点击后MessageBox弹窗同时从资源里读链接地址并发起访问
3、整个py脚本批量替换exe里的资源文件的链接地址,然后发送到不同的用户。
我是一颗大山楂,又酸又圆技术渣
2026-03-20
#6
但是这个不是需要发送出邮件之后才会有不同的钓鱼id吗,那我导出来在写exe是不是晚了
2026-03-20
#7
没有过xss平台,不知道它能够回显内网ip,我去搭建一下,感谢大佬回复
2026-03-20
#8
好滴,保留ai回复思路,我先尝试一下xss平台的,感谢回复啦
2026-03-20
#9
回复 6# ssg-1
你发邮件的时候就不能再用那个平台了,直接让人在邮件网关给你ip开白名单,用脚本直接用smtp协议发就行了,平台哪来统计数据就行了。
2026-03-20
#10
配合beef一起搭建一下,另外可以看电脑的名称什么的,或者个人定制URL,配合IP,看看有没有陷害的问题出现。