banner
andrewji8

Being towards death

Heed not to the tree-rustling and leaf-lashing rain, Why not stroll along, whistle and sing under its rein. Lighter and better suited than horses are straw sandals and a bamboo staff, Who's afraid? A palm-leaf plaited cape provides enough to misty weather in life sustain. A thorny spring breeze sobers up the spirit, I feel a slight chill, The setting sun over the mountain offers greetings still. Looking back over the bleak passage survived, The return in time Shall not be affected by windswept rain or shine.
telegram
twitter
github

攻防演练 | 记一次社工钓鱼全过程

作为一个刚入门的钓鱼攻击者,我对钓鱼攻击的经验也很有限,同时在制作免杀马和捆绑方面还有很大的提升空间。本文重点在于社工构思以及场景的构建,故不会过多描述免杀技术的细节,具体免杀技术可以上谷歌一下。

现在的免杀技术确实有很多选择,其中常见的一种是使用分离加载的方法。在这里,我选择使用 C++ 编写的加载器,并使用 MSF 作为 C2。(当时我的马儿只能过火绒和卡巴 )我就大概讲下实现的原理,很常规的操作流程:
1、使用 msf 生成原始格式的 shellcode。

2、对 shellcode 进行加密,以确保其不易被杀软检测。

3、将加密后的 shellcode 嵌入到一张图片中,生成一个木马图片。

4、将木马图片上传至 HVV 提供的 VPS 中并启一个可对外访问的服务,以便被害者能够访问并下载。

5、诱导被害者点击加载器,加载器会自动下载 VPS 上的木马图片。

6、加载器会解密木马图片中的 shellcode,并将解密后的 shellcode 注入到内存中,从而实现上线。

这种方法的优点是利用了常见的图片格式作为载体,使得木马更不易被杀软检测。同时,加密和解密的过程增加了执行过程的隐蔽性,提高了免杀能力。

(注:在MSF生成shellcode时,可以添加一些参数来进行混淆。在编写shellcode加载器时,尽量选择一些冷门的Windows API,以增加隐匿性。)

我最终锁定了一个地方性的综合网站。这个网站包含了该地区的论坛、装修、买车、二手房、招聘等多个模块。我选择这个网站的原因是它拥有招聘模块,这对于进行钓鱼攻击来说非常合适。我意识到通过投递简历的环节进行钓鱼是一个非常合理的策略。

然而,一个关键问题是如何让受害者在没有察觉到安全隐患的情况下下意识地点击木马链接,从而使其上线。作为一个没有钓鱼佬并且身边也没有专家的新手,我不得不通过在各大论坛中寻找答案来解决这个问题。最终,我选定了压缩捆绑这种方法。

压缩捆绑的基本原理是制作一个看似合法的简历文件,并将加载器与其捆绑在一起。这样,当受害者下载并解压缩文件时,他们很可能会下意识地点击并查看简历,从而执行加载器。

这种方法的优点在于利用了人们常见的行为习惯,即下载和解压缩文件,以及应聘者常见的操作,即查看简历。通过伪装成一个合法的简历文件,我可以引导受害者在没有怀疑的情况下点击并查看其内容,从而执行加载器。

压缩捆绑的步骤是先制作一张简历与 shellcode 加载器。

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

image

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

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

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

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

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

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

image

这个该如何是好呢,时间也来不及去研究如何绕过微信的检测机制啊,也试过在 VPS 上启一个服务让 HR 去服务器上下载,但是这可行吗?

后来我只想到一个办法,

就是在 exe 捆绑马的外面再加一层压缩文件,这样可以让 HR 觉得更合理。他们解压了一层,还没得到简历,需要再次双击打开,这样操作起来更加合理。为了保护个人隐私,我还设置了密码。

image
所以现在的流程就是:发送木马简历给 HR -> HR 从微信接受木马简历 -> HR 解压后得到加密的简历(其实是捆绑器) -> 加密的简历解码后 -> 触发加载器 -> 上线到我控制端 -> HR 得到简历文件

垂钓开始#

当我点击简历投递的时候,发现该网站不支持自己编写的简历,只能从网站上进行编写。。。正当我百愁莫展的时候,看到该网站主页有客服二维码,于是抱着试一试的心态通过微信加上了客服好从微信下手,可能是企业微信的原因吧加了一段时间后别人都没鸟我。

image
躺平了一天后我继续寻找猎物。第二天中午,我在目标网站的招聘模块顶部发现了一个微小的二维码。我立即扫描添加,并在下午成功通过了微信验证。这让我心中升起一股胜利的喜悦,毕竟这是钓鱼中的一次重要进展。

我迅速向目标发送了一条消息,期待着对方的回应。没想到的是,对方竟然很快回复了!

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

image
接下来,我就忐忑不安地等待着,盯着监控端,希望能看到新的会话上线。然而,时间一分一秒过去,已经过去了两个小时,却还没有看到任何会话上线。

我开始思考,是不是在某个环节出了错误,或者我的免杀马被发现了,或者还有其他问题发生了...

当我主动发送了一条消息后,我发现监控端终于出现了一个会话上线的提示。我确认了一下,果然是客服解压了我发送的文件并上线了。于是,我开始了愉快的信息收集之旅。

image

image

经验与总结#

1、在进行社工时,最重要的是准确判断出关键人物。本次钓鱼行动失败的原因是在后续信息收集中发现目标使用的是个人PC。

2、在进行钓鱼行动时,最好能广撒网,但对于专项钓鱼,务必在执行社工等操作之前确定对方的身份。

3、我之后会扩充其他的捆绑技术和word宏木马等。因为我所使用的捆绑木马在解压后会一直停留在文件夹中,没有找到合适的位置隐藏起来,这显得比较明显。此外,在上线后,我还需要立即执行进程迁移,以防对方在任务管理器中直接终止我的shellcode,否则我们的行动就会失败。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。