姜太公永不过时:分享一例我们亲历的钓鱼攻击事件

admin 2021年11月8日13:05:56评论147 views字数 3196阅读10分39秒阅读模式

钓鱼攻击

当你接到一个人的电话,他自称是某宝客服并告知你订单出了问题需要做退款处理,这时你要小心了,因为这极为有可能是骗子的诈骗电话。骗子们通过广撒网的方式,寻找防骗意识薄弱的人员,毕竟电话打得多了总有一些人会上当的……

其实上面说的“攻击”方式,在计算机安全界有一个专门的名字:钓鱼。不过此钓鱼非钓真鱼,安全界的钓鱼指的是通过大规模投递某种标的(通常是邮件),诱骗目标点击恶意文件从而失陷成为被控制对象的一种攻击手法。如果此种攻击手段结合需要被动触发的漏洞(例如今年大规模网络活动期间各大公司告警的某IM漏洞事件),则威力更加恐怖。

骗子与攻击者再次用事实证明了只要我基数足够大,再小的概率都会有人中招的现实。

然而,看似不会有人上当的方式真的就没多少人上当吗?下面是IBM Security发布的2020年IBM X-Force 威胁情报指数报告[1]

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


可以看到钓鱼(Phishing)攻击以明显的优势取得了亚军的“好”成绩,可见此种攻击手段应用之广,同时其收益也可见一斑,毕竟没收益的事情废这么大劲做显然毫无道理。

让我们先从几个日常收集的案例中认识一下钓鱼者发送的恶意附件,首先他们的图标长这样:

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件

看着似乎人畜无害的样子(放松警惕),如果再配上“部门人员工资单.exls”、“上级视察工作重要安排通知.docx”、“XXX门事件整理.doc”之类的说明,是不是更有想点开看看的冲动了?

再看一下另外一个案例,邮件正文里有这么一句话:

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


是不是感觉挺正规的?然而上面两个统统都是钓鱼者惯用的伪装伎俩,要么起一些极具诱惑性的名字、要么利用1l0o这三个容易混淆的英文字母和数字用假李鬼冒充真李逵来达到迷惑受害者的目的。一旦受害者信以为真点开了这些东西,就会掉入钓鱼者设置的圈套。

当然,钓鱼者会想尽各种办法伪装自己,使自己看起来像一个正常的文件——甚至有的样本真的会提供实际的功能,比如本次案例分享的这一例攻击。

李鬼与李逵

奇安信病毒响应中心近期发现我们人力部门(没错,钓鱼钓到我们人力部门来了)有人办公机上的天擎产生了一个奇怪的告警,告警中涉及到的文件提取后如下:

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


长期的处置经验告诉我们这一定不是个好东西,然而比较尴尬的是第一眼竟然没看出来具体的恶意代码隐藏在什么位置。

最终通过进一步详细分析,确定这实际是一个后门程序,点击运行会回连远控端 47.106.80.21,然后下载第二阶段payload执行下一步恶意动作: 47.106.80.21/yuriyura/magical.bmp

虽然前半部分差点没认出来,但是后半部分属于标准的小马+大马的结构,小马代码精简便于隐藏,小马会加载功能更加强大和完善的大马。

引起我们兴趣的点在于,这个样本是如何使自己看起来像一个无害程序的……

PEiD显示是这个样本是InnoSetup的卸载模块,且版本是5.5.7

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


但是从官网下载5.5.7版本,用其uninstall模块和钓鱼程序作对比发现关键跳转函数地址匹配不上; 猜测可能版本提示错了,搜罗了下关键字符串:

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


关键字符串信息提示可能是InnoSetup 5.5.9版本,下载官网相关版本用其uninstall模块和钓鱼程序作对比,最终确认相关样本是InnoSetup 5.5.9 的uninstall模块。

通过将原生uninstall模块和钓鱼程序进行二进制文件对比入口点和其他关键跳转的函数地址都匹配上了(左边为正常的uninstall模块,右边为钓鱼程序)

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


Start函数执行流程一致,进一步证明版本正确无误

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


最终通过二进制比对,发现钓鱼者是重新编译了InnoSetup的包[2],插入了一个恶意跳转的jmp指令,从而达到执行自己代码的目的。下图为最终定位到的关键差异函数,可以看到即便是函数存在差异,其与原版的InnoSetup也极为相似:


姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


由上图可知攻击者对于原版的修改,只涉及到一条jmp指令,该指令跳转过去之后开始执行恶意代码,下面的代码片段就是在拼接第二阶段的大马下载地址:47.106.80.21/yuriyura/magical.bmp

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


攻击者为了防止该字符串被字符串识别工具识别出来,特意将其打散成单个的字符,这种手法是经典的恶意程序隐藏自己的手段之一。

案例拓展

如果说上述案例是针对人力资源行业的“定向投放”,那么还有另外一个广撒网方式的钓鱼相信有不少人见过,这个家族就是Tesla木马家族(注意这个不是汽车的那个)。该家族常见的手法是将恶意代码混淆后,再找一个开源的软件将混淆后的代码插入到开源的代码中,最后编译得到一个看似有正常功能但是实际是一个木马的后门程序。这种手法和上一节介绍的样本手法如出一辙,所以我们怀疑当前这个样本有可能是Tesla的一个变种。

以我们获取的Tesla家族钓鱼邮件为例,攻击者在该邮件中宣称需要目标提供产品报价单(英文邮件、本地化做的不好、另外骗子就不能找点和电商没关系的说辞?):

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


而附件中的excel报价单却是一个包含恶意宏代码的病毒文件:

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


一旦客户打开文件,并允许恶意宏代码执行,该excel便会通过网络地址hxxp://cp87128.tmweb.ru/tender.exe下载第二阶段的“大马”。

第二阶段大马一上来先用拼接字符串、动态解密执行的方式加载了木马部分的恶意代码,其后面跟着大段开源软件的无害代码。

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


再一次见到了经典的拼接字符串行为

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件

 

动态解密到内存,然后执行,也是非常经典的恶意行为。

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


木马使用的开源软件的代码部分。并通过该部分溯源到了原始的代码:

 

姜太公永不过时:分享一例我们亲历的钓鱼攻击事件


通过这种手段制作出来的木马,具备基本的功能且大部分代码为无害代码,通过不停的更换开源程序可以大量生成完全不一样木马文件,这导致传统特征引擎不好提取通用特征,依赖于机器学习的智能引擎,由于其大部分代码为无害程序也不太容易识别出这类的恶意软件,最后由于其具备正常功能,目标中招之后也更加不宜察觉。

总结

我们的公众号已经就钓鱼科普过多篇案例了,但是据我方及第三方相关统计结果显示黑客使用钓鱼攻击成功的案例依然居高不下即便是从事网络安全行业我们都有人中招这种“低级”的攻击(幸好公司安全基线做得好,及时发现并止损了),在非安全行业的其他公司中真的是不太敢细想还有多少中招但好不知情的情况。

在这里奇安信病毒响应中心提醒各位:

1. 对未知来源的邮件、文档、链接保持谨慎

2. 安装安全软件实时防护

3. 对企业职员周期性作安全培训,提高安全意识

 

相关iocs:

77e12d4884f9c54b2c7806923f176cca

16e2b7a1c9118acf6e49e70577918ec5

554937b17f28a664762b2d805123169b

47.106.80.21:443/yuriyura/magical.bmp


参考链接:

[1] https://www.ibm.com/downloads/cas/M1X3B7QG 

[2] https://github.com/jrsoftware/issrc


附录: 奇安信病毒响应中心

奇安信病毒响应中心是北京奇安信科技有限公司(奇安信集团)旗下的病毒鉴定及响应专业团队,背靠奇安信核心云平台,拥有每日千万级样本检测及处置能力、每日亿级安全数据关联分析能力。结合多年反病毒核心安全技术、运营经验,基于集团自主研发的QOWL和QDE(人工智能)引擎,形成跨平台木马病毒、漏洞的查杀与修复能力,并且具有强大的大数据分析以及实现全平台安全和防护预警能力。

奇安信病毒响应中心负责支撑奇安信全线安全产品的病毒检测,积极响应客户侧的安全反馈问题,可第一时间为客户排除疑难杂症。中心曾多次处置重大病毒事件、参与重大活动安全保障工作,受到客户的高度认可,提升了奇安信在业内的品牌影响力。


原文始发于微信公众号(奇安信病毒响应中心):姜太公永不过时:分享一例我们亲历的钓鱼攻击事件

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年11月8日13:05:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   姜太公永不过时:分享一例我们亲历的钓鱼攻击事件https://cn-sec.com/archives/622038.html

发表评论

匿名网友 填写信息