概述
近期,启明星辰ADLab注意到多起针对乌克兰边防局和乌克兰国防部的网络攻击事件。黑客组织以“辉瑞疫苗签订协议”、“向 ATO 退伍军人付款”、“紧急更新!!!”、“乌克兰总统令 №186_2021”等内容为邮件标题向目标发起鱼叉式钓鱼攻击并进一步向攻击目标计算机植入木马,网络上存在着一些零星的分析,但是只是停留在单个攻击样本的分析上,并未对这个未知的黑客组织做全面地分析和摸底。我们尽可能多地关联出该组织的攻击样本和基础设施,建立起多个完整的攻击链;并对该组织的基础设施进行追溯与关联,发现了该组织的大量基础设施。其攻击目标敏感、攻击频率高,背后还存在一套自动化的攻击系统,使其在攻击过程中具备了邮箱账号的自动化创建、域名的自动化申请与配置、攻击武器的自动化生产和联动等能力。
我们对该组织进行追踪溯源与关联分析后发现,该组织持有大量用于定向攻击的网络基础设施,擅于使用恶意快捷方式、多级链接跳转以及多级Loader加载等方式投放恶意木马。在对黑客的溯源过程中,我们发现该组织从去年6月就已经开始展开攻击,并在今年2月份利用新冠疫情为诱饵内容针对格鲁吉亚政府展开攻击,在今年4月份针对乌克兰边防局发起多次网络攻击活动。特别要警惕的是,该组织也曾经攻入了位于中国的企业服务器并将其作为恶意代码存储点,比如黑客组织曾在3月份利用上海某机电设备有限公司的官网(shca****.com)服务器作为其木马的存储服务器,以此作为其攻击活动中的一环来投递木马。
本文将对该组织持有的基础设施进行追踪和分析,并从该组织使用的攻击手法、诱饵文档以及常用的木马着手进行全面地分析,同时进一步地对一些实际攻击案例进行深入剖析。
缘起
2021年4月27日,我们监测到了一封题为“COVID-19 Vaccine.eml”的钓鱼邮件,攻击者伪装成Pfizer INC(辉瑞公司,是源自美国的跨国制药、生物技术公司),并以疫苗信息为诱饵向乌克兰边防局发起钓鱼攻击。钓鱼邮件中附带含有恶意快捷方式的压缩包,当受害者点击压缩包内的恶意快捷方式时,恶意快捷方式便会从黑客服务器上下载恶意木马从而展开后续的攻击。
图1 邮件“COVID-19 Vaccine.eml”
攻击的初始阶段主要通过钓鱼邮件实施入侵,攻击者以“COVID-19Vaccine”、“向 ATO 退伍军人付款”、“紧急更新!!!”、“乌克兰总统令 №186_2021”等具有高度迷惑性的内容作为邮件标题诱使受害者相信钓鱼邮件的内容,一旦受害者相信邮件内容并执行黑客精心布置的恶意木马,受害者电脑上的机密文件将会被黑客窃取。
启明星辰ADLab通过对攻击者溯源与分析关联,整理出了部分攻击者使用的定向钓鱼邮件,邮件信息见表1。
时间 | 邮件名 | 发件人 | 收件人 |
2021年4月6日 | BC-A(2021)0140-34 | Nancy Rodriguez | berdyansk_zagin@dpsu.gov.ua |
2021年4月8日 | RE: New COVID-21 | Ronnica Ribar | berdyansk_zagin@dpsu.gov.ua |
2021年4月8日 | RE: New COVID-21 | Cecill Gallivan | if-kech |
2021年4月9日 | I give you bitcoin | Cecill Gallivan | if-kech |
2021年4月11日 | Виплати ветеранам АТО | військова частина 1498 | zhru@dpsu.gov.ua |
2021年4月14日 | RE:Нові виплати ветеранам АТО !!! | Пiдполковник Гoрдон Б.Д. | harkivskii_zagin |
2021年4月15日 | інтерв"ю і питання | Дмитрий ГОРДОН | opanchenko@dpsu.gov.ua |
2021年4月16日 | Tермінове оновлення !!! | <військова 9937=""> | mariupol_zmo@dpsu.gov.ua |
2021年4月26日 | ახალი ამბები | Військова частина 3061 | opanchenko@dpsu.gov.ua |
2021年4月27日 | УКАЗ ПРЕЗИДЕНТА УКРАЇНИ №186/2021 | Офіс Президента України | adpsu@dpsu.gov.ua |
2021年4月27日 | COVID-19 Vaccine | Pfizer INC. | adpsu@dpsu.gov.ua |
表1 邮件信息
通过对这些邮件收件人进行分析,再结合一些公开的信息,我们发现这批钓鱼邮件的收件人均为乌克兰边防局和乌克兰国防部,部分相关受害部门相关信息如图2所示。
图2 部分受害部门相关信息
由于该组织的攻击目标敏感且活动频繁,我们对其活动的线索进行了全面地收集和分析,发现该组织使用的大量基础设施、定向攻击样本、使用的漏洞以及多种攻击武器,下文将对其进行全面的分析,以进一步了解该组织的全貌。
组织分析
由于此前在网络上并没有对该组织进行过全面地揭露,因此本节将重点围绕该组织使用的基础设施和攻击武器进行分析和追溯,并从攻击时间、攻击目标、组织归属等多个维度进行分析和介绍。
3.1 基础设施分析
3.1.1 基础设施溯源
如上所述,黑客组织以鱼叉式钓鱼邮件展开攻击。上述标题为“COVID-19Vaccine”的邮件附件为一恶意压缩包,该压缩包藏有用于迷惑受害者的正常诱饵文档以及三个以“VACCINE*”命名的恶意快捷方式,但这三个文件的Hash值相同,为同一个文件。
图3 压缩包包含的文件
压缩包内的诱饵文档以“辉瑞疫苗签订协议”作为诱饵内容,同时将发送者伪造成辉瑞公司从而增强邮件的真实性。
图4 诱饵文档内容
快捷方式则暗藏一串恶意的PowerShell命令。当受害者打开快捷方式后,这段PowerShell命令便会得到执行,并从黑客服务器“1000020.xyz”上下载执行恶意木马。
图5 lnk快捷方式隐藏的命令
从图5可以看出,黑客将PowerShell命令进行了混淆,通过混淆特征可以关联出具有类似特点的一些快捷方式文件,在进一步分析后确认这批恶意快捷方式所使用的C&C域名、域名注册信息及后续攻击中使用到的恶意木马均为该组织所有。
Hash | 请求的黑客服务器 | 注册邮箱 |
5d8c5bb9858fb51271d344eac586cff3f440c074254f165c23dd87b985b2110b | baiden00.ru | 该域名采取隐私保护,无法查询其注册邮箱 |
f6ae1d54de68b48ba8bd5262233edaec6669c18f05f986764cf9873ce3247166 | 001000100.xyz | fhfi42@autorambler.ru |
891f526fea4d9490a8899ce895ce86af102a09a50b40507645fee0cf2ab5bef5 | 68468438438.xyz | raisasharap88@rambler.ru |
ced5f53bafc5896be0a62ed5bdabed38a6224f8dcbe61669e833749ff62693dd | 2055.site | hromenokruslan1995@rambler.ru |
2b15ade9de6fb993149f27c802bb5bc95ad3fc1ca5f2e86622a044cf3541a70d | 2330.site | kunicinzahar1969@rambler.ru |
461eeadbe118b5ad64a62f2991a8bd66bdcd3dd1808cd7070871e7cc02effad7 | 1924.site | hromenokruslan1995@rambler.ru |
b9efac3f35ef7a89becb9940d27f5f7d6e1c675424a12edc13db4d3d0303dfa3 | 1000018.xyz | hromenokruslan1995@rambler.ru |
表2 同源lnk木马样本信息
快捷方式暗藏的恶意代码会调用cmd来执行PowerShell命令,从黑客服务器“1000020.xyz”下载并执行下一阶段的恶意木马,该恶意木马是一个Loader,其会释放由AutoIT编写的木马并映射到内存中。经过分析发现该木马会收集受害计算机中doc、pdf、ppt等文档和压缩包类型的数据并上传至C2服务器194.147.142.232上。
图6AutoIT木马反编译后的代码
接下来我们提取出AutoIT木马代码指纹,在自有木马数据库中发现了另外几个木马,反编译并提取出AutoIT脚本后发现这几个木马的代码除了C2不同外几乎一样, 从这些同源的木马中我们发现几个位于俄罗斯、乌克兰等地的C2服务器。如表3所示:
C&C | 地理位置 |
194.147.142.232 | 荷兰 |
31.42.185.63(name4050.com) | 乌克兰 |
45.146.165.91 | 俄罗斯 |
45.146.164.37 | 俄罗斯 |
表3 用于接收AutoIT木马返回信息的基础设施
由于AutoIT代码同源,为了确认这些C2是否属于该黑客组织,我们进一步对这些木马做了攻击链回溯分析,找出了其前期阶段的恶意代码。这些恶意代码和本黑客组织使用的Loader所采用技术手段几乎完全一样,比如使用同样的打包器和同样的存放方式。进而,通过这些Loader的来源信息,我们找到了他们的存储点服务器。这些如表4所示:
存储点服务器 | 注册邮箱 |
1221.site | fedyaimakar@rambler.ru |
2330.site | kunicinzahar1969@rambler.ru |
1924.site | hromenokruslan1995@rambler.ru |
1000018.xyz | hromenokruslan1995@rambler.ru |
1000020.xyz | hromenokruslan1995@rambler.ru |
15052021.space | lukovenkovoleg71@rambler.ru |
150520212.space | lukovenkovoleg71@rambler.ru |
…… | …… |
表4 部分通过攻击链回溯关联出来的基础设施
这些存储点服务器的域名和注册邮箱与该黑客组织所使用的非常相似,因此结合这批Loader程序、AutoIT脚本、服务器域名以及邮箱的高度相似性,可以确定这些恶意代码和基础设施属于该黑客组织。采用同样的方法,结合黑客组织的攻击活动以及其所使用的各种攻击工具,最终我们找到了100余个黑客使用的基础设施,如表5所示。
域名 | 注册邮箱 |
150520212.space | lukovenkovoleg71@rambler.ru |
32689659.xyz | konskiikarl86@rambler.ru |
32689658.xyz | konskiikarl86@rambler.ru |
32689657.xyz | konskiikarl86@rambler.ru |
1017.site | kunicinzahar1969@rambler.ru |
1202.site | kunicinzahar1969@rambler.ru |
1000019.xyz | hromenokruslan1995@rambler.ru |
1000018.xyz | hromenokruslan1995@rambler.ru |
…… | …… |
表5 部分通过黑客组织的基础设施
3.1.2 域名资产特征
从收集得来的基础设施数据来看,该黑客组织所使用C2域名基本都存在着一定规律性,一部分为纯数字域名,一部分为关键字和数字的组合域名,此外这些域名几乎全是xyz、site、space域名,看起来像是DGA算法生成的,但是我们分析所有样本中并未出现DGA算法,所以最有可能是黑客基于自动化攻击系统,以一套自定义规则来生成域名,域名的注册邮箱甚至是邮箱的自动生成,最后根据自动生成C2来生成木马。当然这也有可能会是黑客组织背后产业链所提供的服务,但不管怎么样,这给黑客提供了更加灵活的基础设施管理,有利于频繁地更换C2及恶意代码,这或许也是导致该黑客组织基础设施较多的原因。通过对域名的分析,我们反推出了一些黑客所采用的域名生成规则。如:①随机生成4位数字,范围从0000-9999并与.site后缀组合成域名。②随机生成6位-9位的数字,并在此基础上自加1生成2-3个连续域名。③针对单个域名使用多个后缀来同时生成多个域名,其中后缀包括:xyz、space、site。
方案① | 方案② | 方案③ |
1017.site | 1000018.xyz | 8003366688.space |
1020.site | 1000019.xyz | 8003366688.site |
1120.site | 1000020.xyz | 8003366688.xyz |
1202.site | 32689657.xyz | main21.space |
1221.site | 32689658.xyz | main21.site |
1833.site | 32689659.xyz | main21.xyz |
1924.site | 150520212.space | 8003659902.space |
2055.site | 150520213.space | 8003659902.site |
…… | …… | …… |
表6 部分域名
3.1.3 C&C地理位置分布
我们对该黑客组织所用的设施进行了地理位置的归属分析,如图7。其中,C&C分布最多的国家为俄罗斯(70%),其次为法国(12%)。此外,该组织所使用的主机服务运营商也多为俄罗斯的主机服务商(reg.ru)。
图7 基础设施地理分布图
图8 主机服务运营商界面
3.2 攻击时间
通过域名设施的解析历史记录和使用的IP服务器来看,该组织攻击活动可以追溯到2020年6月。此外,由于该组织所使用的木马文件的编译时间多为伪造时间戳,因此我们通过收集得到与该黑客组织具有强关联的基础设施的使用情况来做一个简要的分析。
图9 域名创建时间线
目前我们所发现的被该组织所控制的基础设施最早的创建时间可以追溯到2020年6月,这个设施的域名为coronavirus5g.site。2020年6月正是新冠病毒全球大流行的关键时期,大量黑客组织以冠状病毒为话题从事网络攻击,同样该组织也不例外,从后续基础设施使用的情况来看,该组织拥有较为随机的域名,同时由于使用了多种木马导致这些设施更换频率也较高。从黑客使用的域名字符特征来看,这些域名更有可能由一个自动化的攻击系统以关键字为种子自动生成的。
此外,我们还对域名基础设施的解析记录进行收集和整理,将解析记录中的时间和频次进行统计分析,从侧面观察其活跃情况。如图10所示,2021年开始,该黑客组织频繁活动,我们也是在年初频繁发现相关攻击样本,尤其是到4-5月份的攻击高峰,该组织频繁针对乌克兰边防局进行网络攻击。
图10 域名解析次数分布图
3.3 攻击目标
从追踪到的攻击活动来看,该组织除了针对乌克兰边防局实施过攻击外,还曾针对格鲁吉亚展开攻击,以下是近期捕获到针对格鲁吉亚攻击的诱饵文件(如表7)。
Hash | 文件名 |
f69125eafdd54e1aae10707e0d95b0526e80b3b224f2b64f5f6d65485ca9e886 | Georgia_Private_Sector_Poster_Inputs_06_2021.pdf |
0be1801a6c5ca473e2563b6b77e76167d88828e1347db4215b7a83e161dae67f | 828-ში ცვლილება.doc |
96f815abb422bb75117e867384306a3f1b3625e48b81c44ebf032953deb2b3ff | დევნილთა 2021-2022 წლების სტრატეგიის სამოქმედო გეგმა.doc |
表7 攻击格鲁吉亚诱饵文档
为了隐藏自身,该组织还曾渗透进多个国家的企业服务器并将其作为控制命令服务器或者是木马的存储站点,其中包括了中国上海某机电设备有限公司、马来西亚的勤略 (物流) 学院以及一家位于美国的论文代写机构(如表8)。
网站 | 机构 | 存放的样本Hash |
superiortermpapers.org | 一家论文代写机构(美国) | 7b3d377ca2f6f9ea48265a80355fe6dc622a9b4b43855a9ddec7eb5e4666a1d4 4c8a433ed99cc4b6994b2e1df59eb171f326373ba100a3653eb37e8a8ee2e6f2 |
Shca****.com | 中国上海某机电设备有限公司 | 429f7bd712062ec9370d399b6573138c0ae5b0ff77c07dad494ce7fc85e48395 c9d820f27983402cf5546962de26a79d844f16b3bcc4eec3470ae488fd1729db |
ak-academy.com | 马来西亚的勤略 (物流) 学院 | 4fcfe7718ea860ab5c6d19b27811f81683576e7bb60da3db85b4658230414b70 |
表8 黑客组织利用的正常网站
3.4 组织归属
从上述分析中我们可以看到,该组织除了控制命令服务大多位于俄罗斯外,其绝大部分的域名设施都和俄罗斯有关。下表是我们整理的部分域名注册信息,由于域名太多,这里我们仅列举少部分典型的域名注册信息。
域名 | 注册邮箱 | 注册者 | 注册手机号码 |
gosloto.site | lyubomirkreimer87@rambler.ru | Soreko Sorekov | +7.9993266658 |
name1d.site | bystryukovaaleksandra@rambler.ru | Anton Kozerogov | +7.9998975588 |
getvps.site | liyapodberezina1973@rambler.ru | Valerius Unauskos | +7.9993266988 |
1020.site | maksimnikulchenkov1995@rambler.ru | Viktor Shmal | +7.9993658899 |
2215.site | fedyaimakar@rambler.ru | Sorento Moresso | +7.9032689977 |
8003366688.space | ruslanaezapenko1989@rambler.ru | Sergei Kushnerovich | +7.9632579988 |
1000018.xyz | hromenokruslan1995@rambler.ru | Denis Skolko | +7.9996658998 |
32689659.xyz | konskiikarl86@rambler.ru | Yulia Savchenko | +7.9051297845 |
…… | …… | …… | …… |
表9 部分黑客使用的域名
从上表中我们可以看出,域名的注册者邮箱几乎都是位于俄罗斯的服务器rambler.ru上,注册人姓名也均为俄罗斯人名,域名的注册手机号码也为俄罗斯地区的号码(俄罗斯的国际电话区号为+7)。所以,该黑客组织极有可能为俄罗斯组织。
正如我们之前所分析的那样,该组织背后可能有一套强大的自动化攻击系统,该系统按照一定规则生成身份信息(包括邮箱名、注册人姓名),并利用俄罗斯电话和邮箱的服务接口来自动化注册邮箱后再自动化注册域名。
此外,从该组织使用的木马和攻击目标来看,也十分符合俄罗斯黑客组织的习惯。如其使用的Smoke Loader木马、Raccoon木马极为频繁地出现在俄罗斯黑客论坛里并进行大肆出售。同时,Smoke Loader木马还存在一条“仅出售给以俄语为母语的黑客”的暗规则。这个组织攻击最为频繁的目标是乌克兰政府和军队,这也是俄罗斯黑客组织最为青睐的目标,格鲁吉亚更是和俄罗斯有着较深的历史恩怨。
从该组织的攻击手法和入侵策略上看,我们难以将其归属到目前所发现的俄罗斯黑客组织,虽然黑客组织目前的攻击活动带有明显的政治意图。由于该黑客组织并没有一款自己高度定制化的攻击武器,且习惯于从黑市中购买攻击木马,而且攻击所使用基础设施也缺少隐私保护和隐秘保护措施,因此我们认为该黑客组织是一个具有一定民族主义特点的民间黑客组织。
3.5 攻击武器分析
为了对黑客组织有更全面的了解,我们对该组织的多次攻击活动进行了梳理和分析,发现其采用了多种诱饵文件攻击方式以及多类恶意木马进行组合攻击。由于其具有多阶段攻击、多级Loader加载,且攻击武器的组合切换频繁,我们推断该组织背后的自动化攻击系统可能具有攻击武器自动化联动功能。下文将整理出该组织常用的攻击武器并进一步分析。
3.5.1 诱饵文件
3.5.1.1 Office文档
通过持续地监测,我们捕获到该组织使用的多种Office文档类型的诱饵文件,包括利用恶意宏代码和Office漏洞的诱饵Office文档。
图11为黑客构造的诱饵文档,该诱饵文档名为“დევნილთა2021-2022 წლების სტრატეგიის სამოქმედო გეგმა”,语言是格鲁吉亚语,翻译为“2021-2022 年 IDP 战略行动计划”。如图12所示,该文档暗藏恶意宏代码,当用户打开文档并启用宏后,恶意宏代码便会执行恶意行为。该恶意宏代码执行后会在C:\\Users\\Public\\Documents文件夹下创建名为ballDemcrat.bat的批处理文件,并写入PowerShell命令。恶意宏代码通过执行该批处理文件,调用PowerShell命令从黑客服务器:1221.site上下载后续阶段的木马:0407.exe,并保存为centuryarticle.exe后执行该恶意木马展开后续的攻击活动。
图11 恶意宏诱饵文档截图
图12 恶意宏代码
除了使用恶意宏代码,黑客组织在使用Office文档展开攻击时,也常用Office经典漏洞cve-2017-11882进行攻击。cve-2017-11882是微软于2017年11月公布的一个远程执行漏洞,目前被各大黑客组织广泛利用。该漏洞成因在于微软Office组件EQNEDT32.EXE在读入包含MathType的ole数据时,因为拷贝公式字体名称的时候没有对名称长度进行校验从而导致的缓冲区溢出。在这里将选取其中一个经典案例进行分析。
图13为黑客组织针对乌克兰精心构造的诱饵文档,以坦克图片作为诱饵图片使得文档更具真实性。
图13 诱饵文档截图
当受害者点开该恶意文档的时候,如果受害者电脑上的Office还未打补丁,该Office漏洞便会被触发,文档中的恶意payload就会被执行。
图14 黑客组织所使用的payload
当恶意代码执行后,其会从远程服务器上下载恶意文件,黑客组织使用网址缩短服务bit.ly来为自己的URL生成短网址,通过将该短网址http://bit.ly/3rQULnp还原成长网址,能够得到最终的URL:http://name1d.site/index.txt。恶意代码从name1d.site上下载下一阶段的恶意载荷index.txt文件,命名为69577.exe保存到public目录下并执行,从而展开后续的攻击。
图15 恶意代码下载下一阶段的恶意载荷
3.5.1.2 pdf文件
除了使用上述的Office文档作为诱饵,黑客组织还常使用pdf文件作为诱饵展开攻击。由于这种pdf文件在VT上的查杀率较低,黑客组织使用这种类型的诱饵文件能够有效地避免部分杀软的查杀。
图16 黑客使用的pdf在VT上的查杀状况
该组织在pdf文件中添加一个动作对象(如图17),并使用当前软件需要更新的信息作为诱饵内容欺骗用户。当用户打开pdf文件后,该文件会弹窗提示用户是否访问链接。在本次攻击中,黑客组织使用了google.com进行重定向,链接会重定向至http://4895458025-4545445-222435-9635794543-3242314342-234123423728.space/23487863486193284/34723768237943244685/329848327647329432/。该网站通过伪造Adobe Acrobat Reader的官方下载网站,从而大大提高对用户的诱惑性。当访问该网站时,该网站会自动下载名为Adobe_Acrobat_Reader_DC_update.msi的安装包,该安装包实则包含黑客组织的恶意木马,一旦用户相信黑客组织的诱饵内容和伪造的下载网站,并打开该恶意安装包,该组织的恶意行为便被执行,如图18所示。
图17 pdf包含的动作对象
图18 伪造的Adobe AcrobatReader下载网站
3.5.1.3 lnk快捷方式文件
在黑客组织的多次攻击活动中,该组织还常用精心构造的恶意快捷方式进行攻击。这些恶意的快捷方式都具有该组织独特的混淆方式与特征。在这里将选取其中一个经典案例进行分析。
图19为该组织所使用的其中一个恶意快捷方式,该恶意快捷方式暗藏一串恶意的PowerShell命令,其目的在于当受害者点击快捷方式,便会调用cmd来执行PowerShell命令从黑客服务器:1000020.xyz上下载下一阶段的恶意木马,从而展开后续的攻击。
图19 lnk快捷方式截图
3.5.2 恶意木马
当受害者点击诱饵文件中招后,黑客在后续的攻击阶段还会采用多种恶意木马来实现窃密、远程控制等恶意行为,包括Saint Bot、Raccoon、Smoke Loader、AutoIT木马等。其中,Saint Bot木马和Raccoon木马具有一定的地区限制。而在2月份针对格鲁吉亚的攻击活动中,该组织就曾使用SaintBot木马展开攻击。
3.5.2.1 Saint Bot木马
目前,我们监测到黑客组织使用了新型木马Saint Bot展开攻击。据分析,Saint Bot木马为某个地下黑客论坛公开出售的木马。该木马的作者在该木马中加入了一个隐秘的语言检测功能用于屏蔽掉一些国家或者地区,防止木马感染了作者不愿意攻击的目标。木马启动后通过NtQueryDefaultLocale来获取目标主机的本地语言ID,如果目标主机的默认语言为表10中的语言,木马会删除自身并退出执行,停止后续的攻击行为。Locale ID对应的国家语言(如表10所示):
图20 Saint Bot语言检查
Locale ID | 国家语言 |
1049 | 俄语 |
1058 | 乌克兰语 |
1059 | 白俄罗斯语 |
1067 | 亚美尼亚语 -亚美尼亚 |
1087 | 哈萨克语 |
2072 | 罗马尼亚语-摩尔多瓦 |
2073 | 俄语-摩尔多瓦 |
表10 Saint Bot中Locale ID对应的国家语言信息
从该木马所屏蔽的语言特点来看,该木马作者可能是一位前苏联政治拥护者,其撰写木马的目标默认屏蔽掉这些前苏联国家(俄罗斯、乌克兰、白俄罗斯、亚美尼亚、哈萨克斯坦共和国、摩尔多瓦),可能基于同样情感,该黑客组织向这位木马作者购买了该木马用于攻击格鲁吉亚。不过在我们分析过程发现该木马同样被用于对乌克兰的攻击中,该黑客组织可能对木马中这个隐藏的屏蔽功能并不知情,从而导致其在对乌克兰的攻击活动中错误地使用了该木马。
Saint Bot执行的主要功能有:检测自身运行环境(包括检测系统语言、是否为虚拟环境、是否被调试)、拷贝NTDLL进行敏感函数脱钩处理和进程注入以及持久化操作,这些工作做完后,SaintBot会收集感染主机指纹信息上线并从C&C服务器地址获取任务来执行。
Saint Bot发起上线请求时,发送给C&C服务器的用户信息由硬盘序列号、用户名、系统版本、国家地区编号、平台类型、内存大小、CPU信息、显示器数量、显示器名称、权限组成。拼接后的信息格式为:-628974471___ThinkPad___Windows7 Ultimate___CN___x64___1___Intel(R) Core(TM) i3-2328M CPU @2.20GHz___4___VMware SVGA 3D___Medium___24,如图21所示。
图21 Saint Bot的指纹信息
Saint Bot上线后会从黑客服务器上接收黑客指令,其指令如表11所示,包括下载和执行下一阶段的木马、下载恶意DLL并使用regsvr32执行目标DLL、内存装载远程恶意代码、下载恶意DLL并使用LoadLibrary加载执行目标DLL、以及自更新和自卸载。
命令 | 含义 |
de | 下载和执行下一阶段的木马 |
regsvr32 | 下载恶意dll并使用regsvr32执行目标dll |
LoadMemory | 内存装载远程恶意代码 |
LL | 下载恶意dll并使用LoadLibrary加载执行目标dll |
update | 自更新 |
uninstall | 自卸载 |
表11 Saint Bot硬编码的指令
3.5.2.2 Raccoon木马
Raccoon木马是黑客组织常用的窃密木马之一,其最早于2019年在某个俄语地下黑客论坛中出售。与Saint Bot木马一样,同样会对部分地区进行排除。其会通过获取目标机器的语言,并与下列语言:俄语、乌克兰语、白俄罗斯语、哈萨克语、吉尔吉斯语、亚美尼亚语、塔吉克语和乌兹别克语进行比较,如果匹配的话,则该恶意软件会立刻终止。
其具有强大的窃密功能,包括窃取浏览器cookie、计算机系统信息、邮件客户端中敏感信息以及窃取加密货币钱包。并将窃取到的信息打包上传至C&C服务器。除此之外,Raccoon木马还提供加载文件功能,一旦窃密完成,攻击者就有可能下载和执行下一阶段的攻击载荷。
图22 Raccoon木马的售卖页面
值得一提的是,为了避免CC地址被安全软件检测,新版的raccon采取将CC地址加密后存放在Telegram频道简介的策略,图23为该组织所使用到的Telegram频道。
图23 黑客使用到的Telegram频道
3.5.2.3 Smoke Loader
黑客组织在攻击活动中曾多次使用著名木马Smoke Loader展开攻击。该木马最早于2011年在俄语黑客论坛上由名为SmokeLdr的成员出售,而从2014年3月之后,该木马仅出售给讲俄语的黑客。其具有窃密、下载执行等功能。直至今日Smoke Loader的技术依然在不断更新,其仍受黑客的青睐,在众多网络攻击活动中都能看到其身影。该木马会从黑客服务器上下载并加载功能模块,实现恶意功能与恶意木马的分离。值得一提的是,该木马控制端返回的响应虽为404状态码,但是其恶意载荷却隐藏在其响应包内,后面将在下文中详细分析技术细节。
图24 Smoke Loader在俄语黑客论坛出售信息翻译后的截图
3.5.2.4AutoIT木马
在黑客组织的多次攻击活动中,最终加载的通常都是一个由AutoIT语言编写的窃密木马。在这里将选取其中一个经典案例进行分析。
图25为黑客组织所使用的AutoIT木马反编译后的代码。该木马执行后,会根据后缀收集受害者电脑上的机密文件(包括文档类型和压缩包类型),并上传至黑客服务器:194.147.142.232。
图25AutoIT木马反编译后的代码
在持续的监测中,我们发现该组织在六月的攻击活动中已经开始使用新版的AutoIT木马,该版本AutoIT木马新增了对”.txt”后缀的文件进行收集的功能。
图26 新版AutoIT木马新增对”.txt”后缀的文件进行收集的功能
在上传完受害者机密文件后,木马会通过执行bat批处理文件来进行自删除,从而消除痕迹使得安全研究人员难以追踪分析。
图27AutoIT木马通过批处理文件进行自删除代码
3.5.3 其他武器
在黑客组织的多次攻击活动中,我们还捕获到以下常被黑客用于辅助攻击的武器,本节将对这批攻击武器进行描述以便于对黑客进行持续的追踪和确认。
3.5.3.1 批处理文件
我们多次监控到该组织常用的一个恶意批处理文件,该批处理文件主要是用于关闭微软自带的安全软件WindowDefender。该批处理文件木马核心代码是黑客组织从网上开源代码中摘抄并组合而成,为该组织重新组成的独有的批处理文件木马。
图28 批处理文件木马截图
除了上面这一份批处理文件木马以外,我们还捕获到该组织关于该批处理文件木马最新版。该木马于2021年3月28日被上传至VT,也曾出现在该段时间黑客组织的攻击活动中。经过对比分析,新版的批处理木马仅添加了一行对注册表的操作。表12为捕获到的两份黑客组织常用的批处理文件木马Hash。通过这两份批处理文件,可以更有效地确认出黑客更多的攻击活动。
图29 批处理文件木马新版旧版对比
文件Hash | VT第一次上传时间 |
1183cd4b9ae93156bcb0def8987813b12239737de81bad3b3b1b9055a62e569e | 2020-11-13 08:36:44 |
272613b9fc2cfc894f7d693d2e6db20a60f56eb461bbb08f59b17bcbf1ed15ff | 2021-03-28 11:17:18 |
表12 捕获到两份批处理文件木马的Hash
3.5.3.2 cpl文件
除了上述常见的文件类型,该组织还使用后缀为.cpl的恶意文件。cpl文件又称控制面板项(Control Panel Item),其本质上为DLL文件。当用户双击cpl文件后,该文件会在控制面板进程运行,从而执行恶意行为。表13为黑客组织曾使用的cpl恶意文件。
Hash | 文件名 |
0c644fedcb4298b705d24f2dee45dda0ae5dd6322d1607e342bcf1d42b59436c | УД-Заява-Костенко (19263hm) .cpl |
0d83c1f7d2d7ea0e7fe144933bfa9dd314dae3937af714ea9274f43641756060 | georgia_private_sector_poster_inputs_06_2021.cpl |
0db336cab2ca69d630d6b7676e5eab86252673b1197b34cf4e3351807229f12a | Заява №4872875 (0co).cpl |
72f57b040d6f523afee40159a743b1ecae685a5bf939cab06b78d1fc397ec5e7 | Заява#4872824 (2g9).cpl |
f4a56c86e2903d509ede20609182fbe001b3a3ca05f8c23c597189935d4f71b8 | 2 - МВС УКРАЇНИ - signed - (6kh).cpl |
表13 黑客使用到的cpl文件
3.5.3.3 js文件
该组织在攻击活动中还使用js恶意文件来执行PowerShell命令。图30为该组织使用过的js恶意文件,在该文件中含有大量的0B字符,我们尝试剔除这些字符,最后得到黑客藏有的PowerShell命令,如图31所示。
图30 js文件
图31 js文件藏有的PowerShell命令
攻击案例分析
在对黑客组织攻击活动的溯源过程中,我们发现该组织还曾经渗透过我国的网站,并利用我国的网站作为其攻击活动中使用到的基础设施。此次攻击活动中,我们捕获到了该组织使用恶意快捷方式木马展开攻击,由于并不能得知该恶意方式的来源,根据往常的攻击,可以推断该组织利用钓鱼邮件,将该恶意快捷方式木马隐藏到邮件的附带的压缩包中从而展开攻击。当恶意快捷方式木马:More info.lnk执行后,会访问黑客服务器:001000100.xyz下载执行恶意木马upd03212.exe。upd03212.exe木马会从黑客服务器:001000100.xyz上下载同款恶意木马upd03212-2.exe和用于关闭微软Window Defender的def.exe。upd03212-2.exe木马会从我国被该组织渗透的网站:shca****.com下载执行下一阶段的恶意木马111.exe和222.exe,这两个恶意木马会释放出同一个SmokeLoader,从而窃取受害者信息,执行后续的恶意行为。
图32 攻击流程图
4.1 Moreinfo.lnk的分析
More info.lnk为本次捕获到的恶意快捷方式木马,其和往常的恶意快捷方式一样,具有该组织的混淆特征。该快捷方式木马利用Windows对话框属性最多只能显示260个字节的特性来构造并隐藏恶意代码。
图33 快捷方式木马More info.lnk隐藏的恶意代码
去除混淆后可以发现,该恶意快捷方式会调用CMD来执行PowerShell命令,从黑客服务器: 001000100.xyz上下载下一阶段恶意载荷: upd03212.exe到临时目录%temp%下命名为windowsupdate.exe,并执行该恶意载荷。
图34 去混淆后的PowerShell代码
4.2 upd03212.exe的分析
从黑客服务器:001000100.xyz上下载的下一阶段的恶意载荷upd03212.exe是一个.net木马,经过分析,可以发现该恶意木马使用多种代码混淆、沙箱检测等技术手段来规避安全产品的检测。
(1)沙箱检测
首先会检测当前环境中是否能够得到sbiedll模块的基地址,从而判断是否加载了sbiedll.dll。沙箱通常使用sbiedll.dll注入到应用程序中,从而hook应用程序中使用到的API来进行api监控。因此木马会通过检测是否加载了sbiedll.dll模块来判断自身是否处于沙箱运行环境中。
图35 沙箱检测
(2)调试软件检测
随后该木马会遍历进程,判断进程列表中是否存在WireShark和process monitor软件,如果存在的话,则不进行后续的下载,从而判断该木马是否处于被分析的状态。其中WireShark是一款安全人员常用的流量分析工具,而process monitor是一款安全人员常用的进程监视工具。
图36 调试软件检测
(3)时间差检测
由于一些沙箱通常都会对Sleep函数进行修改,使得木马会从睡眠状态中立刻苏醒,因此该木马便利用这个检测点,使用Sleep函数来睡眠0.5秒,通过前后时间差是否小于0.45秒来判断是否处于沙箱状态。
图37 时间差检测
在一切检测顺利通过后,该木马会从黑客服务器001000100.xyz上继续下载两个下一阶段的恶意木马:def.exe和upd03212-2.exe,并通过创建进程的方式来执行下一阶段的恶意木马。
图38 下载下一阶段的恶意木马
最后通过调用CMD命令来进行自删除,从而抹去自身痕迹,防止安全人员追踪溯源。
4.3 def.exe的分析
另一个从001000100.xyz下载的恶意木马def.exe是由7z封装而成的EXE,使用7z对其进行解压,发现里面藏有名为“DisableWindow Defender.bat”的bat批处理文件,其主要是用于关闭微软自带的杀毒软件Windows Defender的。
图39 批处理文件关闭Windwos Defender
4.4upd03212-2.exe
其中,upd03212-2.exe和upd03212.exe实则为同一款下载器,但与前面不同的是,该恶意木马会从另一个黑客服务器:shca****.com上下载并执行下一阶段的恶意木马:111.exe和222.exe。在本次下载中,黑客组织使用了我国一个网站服务器作为恶意木马存储服务器。shca****.com是我国上海某机电设备有限公司的官网,在此可以推断出该组织曾经渗透进我国该网站,并且利用该网站作为自己的恶意文件托管服务器。
图40upd03212-2.exe从shca****.com下载下一阶段的恶意木马
图41 shca****.com网站截图(已被Chrome浏览器标记为危险)
4.5 111.exe和222.exe的分析
从shca****.com下载的两个恶意木马:111.exe和222.exe实则为同一款恶意的释放木马,其主要是从资源:PROJECTTYPO中释放出下一阶段的木马26A5.vmt,并加载到内存中展开后续的攻击。26A5.vmt为臭名昭著的SmokeLoader木马,下文将对Smoke Loader木马进行详细的分析。
图42 111.exe的截图
4.6 SmokeLoader的分析
此次攻击活动释放的SmokeLoader版本为2020年版本,该版本距离2011年第一次出售的版本已经过去九年了。在这九年里,Smoke Loader的售卖者SmokeLdr持续更新Smoke Loader木马,并不断加入新技术,逐步加大对安全人员分析的难度。
(1) 反调试和反分析
在Smoke Loader木马中加入了大量的花指令,使得安全人员无法清楚地反汇编程序的内容,迷失方向。
图43 SmokeLoader木马部分花指令代码
除了花指令以外,SmokeLoader还具有一些反调试功能。判断当前OSMajorVersion标志位是否大于6以及读取BeingDebugged和NtGlobalFlag标志位来判断当前是否被调试当中,如果符合上述的判断,则会跳转到内存无效的地址,并从而对抗安全人员的分析。
图44 Smoke Loader反调试代码
为了避免敏感api的监控,该木马重新拷贝ntdll副本,使用LdrLoadDll来重新加载它并解析其导入表得到木马所需要要调用的敏感api。
图45 拷贝ntdll副本
图46 要调用的敏感api
(2)释放和注入核心代码
Smoke Loader木马在做完上述的检测以后,会使用Windows提供的API:RtlDecompressBuffer解压出后续用到的ShellCode,解压的数据如下图47所示。
图47 使用RtlDecompressBuffer解压出ShellCode
在过去的版本之中(2018年版),Smoke Loader会使用PROPagate的加壳注入方案进行注入,但在本次分析的2020年版本中,Smoke Loader选择了更为常见的NtCreateSection,NtMapViewOfSection,RtlCreateUserThread组合对explorer.exe进程进行注入。
(3)Smoke Loader核心代码的分析
注入的ShellCode为Smoke Loader的核心代码,在核心代码中也同样会做一些反分析检查。其会创建一个线程,在一个循环中不断遍历进程名并通过自定义的hash算法对进程名进行计算,得到的值将和ShellCode中硬编码的Hash值进行比较,如果两个值相同则结束该进程。硬编码的Hash值对应的内容如表14所示。
Hash值 | 对应的字符串内容 |
0xD384255C | Autoruns.exe |
0x6FD41E32 | procexp.exe |
0xB8303327 | procexp64.exe |
0x67F5193C | procmon.exe |
0xBB225BFA | procmon64.exe |
0x7ADA043D | Tcpview.exe |
0xBBE0A16A | Wireshark.exe |
0xB0DC2D0E | ProcessHacker.exe |
0x72FA3E32 | ollydbg.exe |
0xEC94412E | x32dbg.exe |
0xD2944C29 | x64dbg.exe |
0x90FA0B7C | idaq.exe |
0x90FA0D56 | idaw.exe |
0x9561ECF9 | idaq64.exe |
0xAF4BECF9 | idaw64.exe |
表14 Hash值对应的字符串内容
在完成检测之后,Smoke Loader会向控制端:update3d.xyz发送使用RC4算法加密后的上线包并等待服务器返回数据。通过分析,可以得知上线包的格式如表15所示:
字段 | 对应数值 | 含义 |
WORD Magic | 0x07E4(即十进制的2020) | 固定值,代表年份,可以看出这是2020年版本。 |
BYTE[41] Bot_ID | “909026……” | 41个字节的密文,由RSA对主机信息进行加密后的密文与卷序列号拼接组成。 |
BYTE[16] Computer_Name | “DESKTOP……” | 计算机名字 |
BYTE[6] Botnet_ID | “0322” | 固定值 |
BYTE OS_Version | 0xA0 | 系统版本 |
BYTE Flag1 | 1 | 系统是否为x64版本 |
BYTE Flag2 | 0 | 进程权限 |
WORD Command_ID | 0x2711 | CC指令编号(2711h对应的CMD_ONLINE) |
DWORD Task_ID | 0x00000000 | 任务类型的编号 |
DWORD | 0x00000001 | 是否已安装 |
BYTE[n] Extra_Data | 0x6D38…… | 随机生成的,用于避免IDS/IPS系统的检测。 |
表15 上线包结构
图48 加密后的上线包
控制端返回的数据如下,其中控制端返回的响应为404,但是在其响应包内却包含着恶意的payload。
图49 黑客服务器返回的Smoke Loader响应包
payload主要包括消息和插件两部分。消息头由RC4加密,解密后能够得到消息头的长度、版本、黑客指令以及消息。得到如表16所示的结构:
长度 | 含义 |
4字节 | 消息头的长度 |
2字节 | 固定值,代表年份,这里是2020 |
1字节 | 黑客指令 |
3字节 | 间隔符 |
18字节 | 消息,这里是字符串:“plugin_size=335990”,代表了插件长度。 |
表16 指令
图50 响应包中的消息头
在Smoke Loader里具有三个硬编码的指令,分别是“i”、“r”、“u”。其对应的意思分别是install,表示从服务器上下载程序并安装;remove,表示进行自删除;upgrade,表示更新木马。除了以上三个指令以外,就是数字指令,在本次攻击活动中,黑客攻击指令为3,木马会向服务器发送三次请求,从服务器上解码得到下一阶段的C&C并下载执行内容。
图51 数字指令部分伪代码
在执行完指令以后,木马会加载服务器返回的加密插件。加密插件部分也同样由两部分组成,包括插件头和模块。经分析,可以得到插件的长度、标记、符号位、模块数量的信息,其结构如表17所示:
长度 | 含义 |
4字节 | 插件的长度 |
4字节 | 插件的标记 |
4字节 | 插件符号位 |
2字节 | 模块数量 |
表17 插件头结构
图52加密插件部分截图
在本次攻击活动中,插件一共包含了五个模块,每个模块头部均为模块头,其中包括了模块的长度和用于解密模块的RC4密钥。其结构如表18所示:
长度 | 含义 |
4字节 | 模块的长度 |
4字节 | 用于解密模块的RC4密钥 |
n字节 | 模块密文 |
表18 插件结构
加密模块通过RC4解密成功后,Smoke Loader 会创建explorer.exe进程,并将五个模块一一注入到进程中。本次捕获的模块如下:
模块大小 | 模块位数 | 模块功能 |
0x39E00 | 32位 | 窃密cookie模块 |
0x2E00 | 64位 | 窃密cookie模块(模块一不完全移植版) |
0x1800 | 32位 | 进程监控模块 |
0x10600 | 32位 | 窃取文件模块 |
0x3600 | 32位 | Hidden Execute模块 |
表19 模块内容
模块一、模块二均为窃密cookie模块,但是模块二疑似为模块一在64位上的不完全移植,代码基本一致但模块二窃取内容相对模块一较少。这两个模块分别窃取以下内容,其中包括了浏览器、邮箱、FTP客户端凭证,并上传至黑客服务器:update3d.xyz中。
模块一(32位) | 模块二(64位) | ||
FireFox | Yandex | Thunderbird | FireFox |
Chrome | Amigo | FileZilla | Thunderbird |
Opera | QQBrowser | WINSCP | |
Chromium | Outlook |
表20 模块一、二分别窃取的内容
模块三为进程监控模块,其会从黑客服务器:update3d.xyz上接受指令,在此模块中有三个指令操作。
指令 | 含义 |
0 | 从黑客服务器上下载并执行恶意文件 |
1 | 根据名字终止进程 |
2 | 重启系统 |
表21 模块三指令
图53 模块三的指令
模块四为文件窃密模块,其会遍历文件获取黑客组织想要的文件后,打包为zip文件上传至黑客服务器。
图54 模块四截图
模块五为隐藏执行远程控制程序,该模块会从黑客服务器update3d.xyz上下载远程控制程序Ammyy Admin,并使用CreateDesktop和SetThreadDesktop来新建桌面从而隐藏启动Ammyy Admin,实现远程控制受害者电脑。
图55 模块五使用Hidden Desktop的方式启动Ammyy Admin
并且模块五还会通过hook api的方式来隐藏Ammyy Admin的窗体,使得受害者无法察觉黑客的恶意行为。
图56 模块五hook api
总 结
通过以上分析我们可以看到,该黑客组织目前主要以乌克兰、格鲁吉亚为目标,其攻击活动带有明显的政治意图。不过该黑客组织并没有一款自己高度定制化的攻击武器,且习惯于从黑市中购买攻击木马,而且攻击所使用基础设施也缺少隐私保护和隐秘保护措施,因而该黑客组织为具有一定民族主义特点的民间黑客组织的可能性较大。此外,该黑客组织背后看起来拥有一套自动化攻击系统,该系统具备自动化邮箱账号创建、可自动化域名申请与配置、攻击武器的自动化联动等功能,使得黑客组织能够频繁切换攻击武器,使用多种诱饵文件配合多级Loader加载展开攻击,并且能够灵活地创建基础设施。不过我们怀疑这套系统并非为黑客组织自行开发,从黑客所使用资源和攻击水平上来看,这套自动化攻击系统极有可能购买自黑客产业链。
随着时间的推移,企业和组织在安全防御方面已经有了许多进步,但在任何防御中最薄弱的环节仍然是人。而鱼叉式钓鱼具有定制化、精准化的特性,且具有很强的迷惑性,一旦员工不慎点击了钓鱼邮件,就可能会对企业带来严重的后果。黑客组织可以将窃取到的数据转售谋利,或者利用这些数据进行更进一步的攻击活动。除此之外,黑客组织还可以使用鱼叉式钓鱼攻击部署恶意软件来劫持计算机,将目标计算机所在的网络变成可用于DoS攻击的庞大僵尸网络。建议企事业单位不定期为员工举办安全教育培训,提升员工的安全防范意识。务必注意不要随意打开未知来源的电子邮件,特别是带有附件的电子邮件。如有需要,可通过打开office文档中的:文件-选项-信任中心-信任中心设置-宏设置,来禁用一切宏代码执行。并做好邮件系统的防护工作,督促员工及时更新系统和office应用补丁。如果发现系统或服务器出现异常,应当及时报告并请专业人员进行排查,以消除安全隐患。
声明:本文来自ADLab,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。