0x01 免杀处理
这种方法的优点是利用了常见的图片格式作为载体,使得木马更不易被杀软检测。同时,加密和解密的过程增加了执行过程的隐蔽性,提高了免杀能力。
(注:在MSF生成shellcode时,可以添加一些参数来进行混淆。在编写shellcode加载器时,尽量选择一些冷门的Windows API,以增加隐匿性。)
0x02 社工构思
在深入研究私有资源池的目标后,我最终锁定了一个地方性的综合网站。这个网站包含了该地区的论坛、装修、买车、二手房、招聘等多个模块。我选择这个网站的原因是它拥有招聘模块,这对于进行钓鱼攻击来说非常合适。我意识到通过投递简历的环节进行钓鱼是一个非常合理的策略。
然而,一个关键问题是如何让受害者在没有察觉到安全隐患的情况下下意识地点击木马链接,从而使其上线。作为一个没有钓鱼佬并且身边也没有专家的新手,我不得不通过在各大论坛中寻找答案来解决这个问题。最终,我选定了压缩捆绑这种方法。
压缩捆绑的基本原理是制作一个看似合法的简历文件,并将加载器与其捆绑在一起。这样,当受害者下载并解压缩文件时,他们很可能会下意识地点击并查看简历,从而执行加载器。
这种方法的优点在于利用了人们常见的行为习惯,即下载和解压缩文件,以及应聘者常见的操作,即查看简历。通过伪装成一个合法的简历文件,我可以引导受害者在没有怀疑的情况下点击并查看其内容,从而执行加载器。
压缩捆绑的步骤是先制作一张简历与shellcode加载器。

然后同时选中点击加压,然后再加压界面选中创建自解压格式压缩文件。

然后选中高级 -> 自解压选项。

在设置中的提取后运行这里将加载器名称写进去。

选中模式->静默模式 ->全部隐藏。

加压后,最终得到以下文件。

但是,生成的文件为exe,这我耍小聪明使用了Unicode RTLO方法构建恶意文件名,在本地实验是能双击成功上线的。

问题是经过微信传递的时候会显示该文件为EXE,并且下载后Unicode RTLO方法构建恶意的文件名会被打乱顺序。

这个该如何是好呢,时间也来不及去研究如何绕过微信的检测机制啊,也试过在VPS上启一个服务让HR去服务器上下载,但是这可行吗?
后来我只想到一个办法,就是在exe捆绑马的外面再加一层压缩文件,这样可以让HR觉得更合理。他们解压了一层,还没得到简历,需要再次双击打开,这样操作起来更加合理。为了保护个人隐私,我还设置了密码。

所以现在的流程就是:发送木马简历给HR -> HR从微信接受木马简历 -> HR解压后得到加密的简历(其实是捆绑器) -> 加密的简历解码后 ->触发加载器 -> 上线到我控制端 -> HR得到简历文件
这样,一切准备就绪,等待鱼儿上钩了。
0x03 垂钓开始

于是躺平了一天后我继续寻找猎物。第二天中午,我在目标网站的招聘模块顶部发现了一个微小的二维码。我立即扫描添加,并在下午成功通过了微信验证。这让我心中升起一股胜利的喜悦,毕竟这是钓鱼中的一次重要进展。
我迅速向目标发送了一条消息,期待着对方的回应。没想到的是,对方竟然很快回复了!

接着开始制作上一步中的简历,制作好设置解压密码后便将加载器与简历进行打包,然后最后再本地测试一下,双击输入密码上线成功。自我祈祷一下然后将“简历”发给客服。

0x04 收杆
我开始思考,是不是在某个环节出了错误,或者我的免杀马被发现了,或者还有其他问题发生了...
当我主动发送了一条消息后,我发现监控端终于出现了一个会话上线的提示。我确认了一下,果然是客服解压了我发送的文件并上线了。于是,我开始了愉快的信息收集之旅。


0x05 经验与总结