这个病毒很老了,已经有很多前辈分析过该病毒,跟着前辈们的思路深入分析一下,并编写一个清理工具。这是我分析的第一个真实环境下的恶意样本,文中如果有不正确的地方请指正。只需要清理工具的话,直接下滑到 解决方案 一节。
病毒行为总览
代码使用Delphi7编写,后续分析汇编代码发现有对XP系统和更高版本windows做了兼容处理,在这些系统上都可以正确感染,年代久远(我还没用过xp…)。被感染机器的 C:\ProgramData\目录下会有Synaptics目录,其下包含原始的恶意样本,但是图标不固定(图标会更新为最近一次运行被感染exe文件的图标),病毒生成的大部分文件都将其设置为 隐藏文件和系统文件(Exlporer设置显示隐藏文件和系统文件或命令行下attrib即可看到)。
被感染机器的Desktop、Documents、Downloads目录下的32位EXE文件和xlsx文件都会被掉包,但是用户并不会有察觉,导致文件分享给他人时,大范围感染。
病毒包含很多模块,下面是一个大体功能图,其中和网络连接有关的模块的IOC都已经失效。
200多本网络安全系列电子书
网络安全标准题库资料
项目源码
网络安全基础入门、Linux、web安全、攻防方面的视频
网络安全学习路线图
蠕虫模块分析
通过 SHGetSpecialFolderLocation和 SHGetPathFromIDListA来获取要感染的目录(清理工具的编写也会通过这种方式)。病毒会获取Desktop、Downloads和Documents的路径并递归感染子文件。
EXE文件感染分析
对于EXE文件,通过LoadLibrary加载到当前进程(病毒是32位的,所以只感染32位的EXE),根据其资源节“EXEVSNX”的情况,来进行对应的操作,这个资源节内的数据代表着版本号。这个病毒是可以进行版本更新的。
具体的感染流程如下,思路很简单。将原文件打包到病毒文件的资源节“EXERESX”中,病毒文件的图标被替换为原文件的图标,最后用病毒文件替换原文件。
当用户运行被掉包的EXE文件时,会释放出资源节"EXERESX"的原文件并运行,这样就对用户来说无感知。
具体的释放流程如下,原文件会被释放到已 ".cache"开头的文件中,文件属性被设置为 系统文件和隐藏文件,即使打开“显示隐藏文件的选项”也不会显示,“显示系统文件”的选项一般用户很少会打开。比较有趣的一点是代码中还会判断 “.cache"开头的文件是否也有资源节"EXERESX”。这是一个重复感染的问题,病毒作者考虑到了这一点。分析整个代码来看,可以发现病毒作者的编程功底很强,很多特殊情况的处理都有考虑到。
XLSX文件感染分析
感染xlsx文件是通过COM组件完成的,所以只有安装了Excel的机器才会被正确感染(清理工具也是利用COM组件来进行修复xlsx文件的)。
大致的感染流程如下,病毒文件的资源节"XLSM"包含包含了恶意宏代码的xlsm文件。
中间部分大量调用了COM组件中的函数,这里并没有去分析。用动态调试跳过了这些函数,从结果来看就是把原来的xlsx中的数据拷贝到包含宏代码的xlsm文件中。最后替换原了的xlsx文件,并再起目录下生成一个 "~$chac1"文件(这也是一个感染特征,文件夹下有这个文件说明该路径下的xlsx文件都被感染为xlsm文件),这个文件的数据就是病毒文件本身,文件属性也设置了系统文件和隐藏文件。被感染的xlsx文件后缀会变成xlsm,内容和原来一样。
其它模块分析
这些模块有的已经失效了,并没有太深入的分析。
- 邮件发送: 使用的是Delphi中封装好的库,使用邮件服务器是 smtp.gmail.com,账号密码是xredline2@gmail.com;xredline3@gmail.com/xredline2x;xredline3x 我用gmail登录了一下,已经失效了。发送邮件的目的邮箱地址是 xredline1@gmail.com
- 键盘记录,设置消息钩子,最常用的方式。dll文件在病毒文件资源节"KBHKS"中。(动态调试过程中消息钩子并没有设置,出错原因还有待确认)
- 远控模块,功能很少,反弹shell、屏幕截图、文件上下载…
- 自启动项,直接操作注册表,用的是Delphi封装好的库(Register),使用很简单,不赘述。
IOC整理
文件MD5就不贴了,被感染文件一直都是变化的。
Mutex | Synaptics2X |
---|---|
Domain | xred.mooo.com |
xredline1@gmail.comxredline2@gmail.comxredline3@gmail.com | |
Files | C:\ProgramData\SynapticsC:\ProgramData\Synaptics\Syanptics.exe |
Urls | xred.site50.net/syn/SUpdate… |
Registry | HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run:key->“Synaptics Pointing Device Driver” |
200多本网络安全系列电子书
网络安全标准题库资料
项目源码
网络安全基础入门、Linux、web安全、攻防方面的视频
网络安全学习路线图
解决方案
基于上面的分析,就可以编写修复工具了。工具使用的也是Delphi编写的,为了分析这个病毒,稍微了解了一下Delphi,正好Delphi提供了一个很方便使用图形界面库。cdj68765 前辈也提供了一个命令行版本的修复工具,是用 c#写的。对于把xlsm修复为xlsx,前辈使用了Open_XML_SDK进行修复,这种方式更好。我使用的是和恶意代码一样的方式(COM组件)进行修复,这是一个取巧的方式,但是因为xlsm中的VBProject被加密了,导致通过COM组件的方式无法读取到宏代码进行特征判断后再修复,这里用到了一个折中的方案进行特征判断,下面会说明。
代码和工具下载在这里:github.com/forTheBest1…
清理效果如下,目前只会扫描 Desktop、Downloads、Documents目录及其子目录。如果不在这些目录下的文件可以手动输入进行修复,目录和文件路径都行。
代码修复思路说明:
- 寻找病毒进程并关闭,这边病毒开机启动后一直后台运行
- 清除自启动项,及其对应的文件
- 修复EXE文件,判断标准是 EXE文件是否包含EXEVSNX和 EXERESX资源节,原理很简单,不赘述。
修复XLSX文件,使用COM组件的方式其实就和手动用Excel进行操作是一样的。所以我的思路是将xlsm"另存为/SaveAs"为xlsx格式,就会直接剔除掉宏代码,就和手动用Excel将xlsm保存为xlsx的效果是一样的,对应的代码就是图中标号3的地方。有几个坑点,图中标号1处的代码表示打开xlsm文件时是否执行宏代码,默认为1,即执行,所以一定要设置成3!!!这个选项好像不受宏执行策略的影响。标号2处的代码是来判断xlsm的宏代码中是否有特定的字符串,这样就可以先进行特征匹配判断其是否是被感染的xlsm文件,再进行修复,但是因为xlsm文件中的VBProject被加密,无法读取到宏代码。所以这部分代码无法使用,上面提到的折中的方案就是判断VBProject是否被加密再进行修复。所以特殊情况就是一个正常的xlsm文件有被加密的VBProject就会被误认为是被感染的文件!如果用Open_XML_SDK的话是可以绕过加密的问题,这样就可以达到100%的修复准确率。
同时还要设置运行访问VBA对象模型的注册表项,否则代码是无权读取xlsm的宏代码的。
感染过程中生成的".cache"前缀文件和“~$cache1"文件也会清理掉。
题外话
初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:
-
2023届全国高校毕业生预计达到1158万人,就业形势严峻;
-
国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。
一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。
6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。
2022届大学毕业生月收入较高的前10个专业
本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。
具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。
“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。
网络安全行业特点
1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!
2、人才缺口大,就业机会多
2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
行业发展空间大,岗位非常多
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。
从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
1️⃣零基础入门
学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
需要详细路线图的,下面获取
路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
2️⃣视频配套工具&国内外网安书籍、文档
工具
######视频
书籍
资源较为敏感,未展示全面,需要的下面获取
### 3️⃣Python面试集锦
面试资料
简历模板
因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
------ 🙇♂️ 本文转自网络,如有侵权,请联系删除 🙇♂️ ------