【恶意样本】Windows APT – Zebrocy样本 技术分析与防护方案

绿盟威胁情报中心(NTI)检测到多起Zebrocy攻击事件,是APT攻击组织Sednit利用Zebrocy样本对韩国、瑞士国家的相关目标发起过窃密活动,该样本的主要以大使馆、外交部及外交官类为目标,影响较广,绿盟科技专家对其攻击流程和原理进行分析并制定防护方案,请用户及时关注并注意防护。

Zebrocy样本是一组APT工具,包含一系列downloader样本及一系列backdoor样本,这组样本是著名APT攻击者队伍Sednit组织(也称APT28)正在部署并维护的后门组件家族,在近两年中,这一家族被大规模采用来攻击各国大使馆、外交部及外交官等目标。

卡巴斯基于2017年首次在APT趋势报告中提到该组件家族,并将其命名为Zebrocy。

该组件家族包括使用AutoIt和Delphi编写的下载器和使用Delphi编写的后门程序,通过邮件附件进行传播,具备能抵抗沙箱行为分析的高度的隐蔽性并能对受害者电脑进行部分控制,攻击者利用这一组件作为侦查阶段使用的工具,将会根据该工具反馈的结果及信息来选择性的部署更为强大的Xagent或者Xtunnel后门。

参考链接:https://www.welivesecurity.com/2018/04/24/sednit-update-analysis-zebrocy/

Zebrocy样本的攻击流程

Zebrocy样本的执行流程

Zebrocy样本影响范围涉及到18个国家

该样本的主要目标是对大使馆、外交部及外交官类目标进行窃密活动。因此它主要影响Windows系统,可以在受感染的计算机上维持后门,接收并执行远程控制指令,为后续进一步的入侵活动打下基础。

绿盟威胁情报中心(NTI)情报显示,在过去的两年中,Sednit组织正利用Zebrocy样本对以下国家的相关目标发起过窃密活动:

阿塞拜疆

波斯尼亚和黑塞哥维那

埃及

格鲁吉亚

伊朗

哈萨克斯坦

韩国

吉尔吉斯斯坦

俄罗斯

沙特阿拉伯

塞尔维亚

瑞士

塔吉克斯坦

土耳其

土库曼斯坦

乌克兰

乌拉圭

津巴布韦

Zebrocy样本的技术分析

绿盟科技TAC产品检测分析

(由于其特殊的反沙箱机制,所有版本的后门程序组件经由TAC动态分析皆未能检测到威胁。)

Zebrocy样本包括下载器和后门程序两个组件

这组样本主要分为两种组件,即下载器和后门程序。

其中,下载器组件中使用URL编码来提交感染者的本机系统详细信息(通过调用SYSTEMINFO以及TASKLIST命令获得),若攻击者认为这是一个有价值的目标,则攻击者可以通过向该目标回复经过十六进制编码的PE文件内容来使受感染者下载下一个组件,本例中,受感染者下载的组件依然是下载器,其执行后会下载及部署后门程序。

后门程序能够和攻击者的C&C服务器进行通信,接收并执行包括屏幕截图、文件传输、命令执行在内的各种远程控制指令,方便攻击者对被感染主机实施进一步的控制活动。此外,后门程序使用基于判断系统当前时间戳与运行时刻进行对比实现的超长延迟机制可阻止许多沙箱的动态分析,此外该部分组件中尽量少添加壳/花指令/有特殊含义的字符串,将敏感字符串使用十六进制编码后存储在样本中,使特征码未被解析前,对该组件静态的分析也难以发现可疑之处。

Zebrocy样本使用HTTP_POST网络协议

下载器的网络协议如下所示:

    样本使用HTTP_POST方式与服务器进行通信,所有服务器需要知道的上线包内容全部写在包中,flagBegin标识在该样本中表现为字符串”pol=”,代表服务器接收数据的头部。

time是以符合如下正则表达式的格式书写的,代表当前的时间:

[0-9]{2}\/[0-9]{2}\/[0-9]{4}\%20[0-9]{2}\:[0-9]{2}\:[0-9]{2}\%20\([AP]M\)\r\n

driveList代表受感染者的驱动列表,以URL编码方式发送。

runningPath代表样本运行时的路径,可用于区分一些沙箱环境,同样采用URL编码。

systemInfo为SYSTEMINFO及TASKLIST这两条windows命令的回显数据,也是采用URL编码的。

后门程序的网络协议如下所示:

    Login_package同样是使用HTTP_POST方式进行数据传输,各个部分解析如下:

flagBegin:符合如下正则表达式特征,标志上线包的开始。

-{10}[0-9]*?\r\n

tempFilename中记载了临时文件的目录以及指令所在tmp文件的准确路径,可以防止伪造,以及窥探沙箱/养马场的用户名信息。

hexEncoded_content中保存有以十六进制编码过后的加密数据,服务器端通过解析这些数据来接收客户端的上线请求或指令回显,其编码前的前8字节为后方数据解密后的长度,由于单个长度为0xFFFFFFFFFF(约为1TB)以上的包在用户环境中是不可能出现的,因此这一序列中必定包含”000000″的字符串序列。

由于加密数据是采用AES-ECB方式进行加密的,故后方的加密数据长度必定为16的整数倍。其加密方式是从明文中每次取16字节的数据块,使用32字节的AES密钥加密一次,不足16字节则用”\x00″补齐(zeropadding),最后把每块加密后的数据连接起来形成的,因此解密时亦需要每16字节使用如下密钥进行一次解密,并拼接其结果:

0.76=47jYQL68n-tgar13)HqL*lW,+Q1

以下是上线包加密前包含的数据:

U3RhcnQ6IDIwMTgtNC0yNyAxNzo1NToyOCAtIFt2NS4wXQ==:8CA5CA4250432D41-WARNING-[2018-04-27 17-55-28]-486.txt

这段数据是将样本自身的版本信息使用base64编码以后,加上特定的字符串哈希、时间戳等信息后添加.txt后缀伪装成文件名后发送给攻击者的,根据指令执行结果不同其内容可能有所变化。

flagEnd:符合如下正则表达式特征,宣告上线包的结束。

-{10}[0-9]*?–\r\n

在Command字段中,解密的方式依然是从长度的8字节以后开始,每次取16字节进行解密并拼接结果,需要注意的是使用的密钥和Login_package使用的密钥有所不同,本例中样本使用的密钥如下所示:

0Hj!9KkL8#7Cver$6%5-Z.[^4&/baG3*

Zebrocy攻击者定位

根据绿盟威胁情报中心(NTI)的情报,该事件中所涉及IP地址分别位于如下区域:

IP地址 所属区域
185.25.50.93 立陶宛
185.25.51.114 立陶宛
185.25.51.164 立陶宛
185.25.51.198 立陶宛
213.252.244.219 立陶宛
213.252.245.132 立陶宛
185.77.129.152 荷兰
86.105.18.106 荷兰
86.105.18.111 荷兰
80.255.6.5 德国
86.106.131.177 德国
188.241.68.121 瑞典
213.103.67.193 瑞典
46.102.152.127 瑞士
89.40.181.126 罗马尼亚
93.113.131.117 罗马尼亚
93.113.131.155 罗马尼亚
89.45.67.153 保加利亚
93.115.38.132 保加利亚
46.183.223.227 拉脱维亚
194.187.249.126 英国
89.249.65.166 英国
89.249.65.234 英国
220.158.216.127 日本
222.15.23.121 日本
142.0.68.2 加拿大

绿盟科技提供现场检测服务

  • 绿盟科技工程师前往客户现场检测。

绿盟科技木马专杀解决方案

  • 短期服务:绿盟科技工程师现场木马后门清理服务(人工服务+IPS+TAC)。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
  • 中期服务:提供3-6个月的风险监控与巡检服务(IPS+TAC+人工服务)。根除风险,确保事件不复发。
  • 长期服务:基于行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)。锚点

附录

IOC

IoC

{

IP:{ “142.0.68.2”,”185.25.50.93″,”185.25.51.114″,”185.25.51.164″,”185.25.51.198″,”185.77.129.152″,”188.241.68.121″,”194.187.249.126″,”213.103.67.193″,”213.252.244.219″,”213.252.245.132″,”220.158.216.127″,”222.15.23.121″,”46.102.152.127″,”46.183.223.227″,”80.255.6.5″,”86.105.18.106″,”86.105.18.111″,”86.106.131.177″,”89.249.65.166″,”89.249.65.234″,”89.40.181.126″,”89.45.67.153″,”93.113.131.117″,”93.113.131.155″,”93.115.38.132″},

URL:{ “http://142.0.68.2/test-update-16-8852418/temp727612430/checkUpdate89732468.php”,”http://142.0.68.2/test-update-17-8752417/temp827612480/checkUpdate79832467.php”,”http://185.25.50.93/syshelp/kd8812u/protocol.php”,”http://185.25.50.93/tech99-04/litelib1/setwsdv4.php”,”http://185.25.50.93/techicalBS391-two/supptech18i/suppid.php”,”http://185.25.51.114/get-help-software/get-app-c/error-code-lookup.php”,”http://185.25.51.164/srv_upd_dest_two/destBB/en.php”,”http://185.25.51.198/get-data/searchId/get.php”,”http://185.25.51.198/stream-upd-service-two/definition/event.php”,”http://185.77.129.152/wWpYdSMRulkdp/arpz/MsKZrpUfe.php”,”http://188.241.68.121/update/dB-Release/NewBaseCheck.php”,”http://194.187.249.126/database-update-centre/check-system-version/id=18862.php”,”http://194.187.249.126/security-services-DMHA-group/info-update-version/id77820082.php”,”http://213.103.67.193/ghflYvz/vmwWIdx/realui.php”,”http://213.252.244.219/client-update-info/version-id/version333.php”,”http://213.252.244.219/cumulative-security-update/Summary/details.php”,”http://213.252.245.132/search-release/Search-Version/crmclients.php”,”http://213.252.245.132/setting-the-os-release/Support-OS-release/ApiMap.php”,”http://220.158.216.127/search-sys-update-release/base-sync/db7749sc.php”,”http://222.15.23.121/gft_piyes/ndhfkuryhs09/fdfd_iunb_hhert_ps.php”,”http://46.102.152.127/messageID/get-data/SecurityID.php”,”http://46.183.223.227/services-check-update/security-certificate-11-554/CheckNow864.php”,”http://80.255.6.5/daily-update-certifaicates52735462534234/update-15.dat”,”http://80.255.6.5/LoG-statistic8397420934809/date-update9048353094c/StaticIpUpdateLog23741033.php”,”http://86.105.18.106/apps.update/DetailsID/clientPID-118253.php”,”http://86.105.18.106/data-extract/timermodule/update-client.php”,”http://86.105.18.106/debug-info/pluginId/CLISD1934.php”,”http://86.105.18.106/ram-data/managerId/REM1234.php”,”http://86.105.18.106/versionID/Plugin0899/debug-release01119/debug-19.app”,”http://86.105.18.111/UpdateCertificate33-33725cnm^BB/CheckerNow-saMbA-99-36^11/CheckerSerface^8830-11.php”,”http://86.106.131.177/srvSettings/conf4421i/support.php”,”http://86.106.131.177/SupportA91i/syshelpA774i/viewsupp.php”,”http://89.249.65.166/clientid-and-uniqued-r2/the-differenceU/Events76.php”,”http://89.249.65.166/int-release/check-user/userid.php”,”http://89.249.65.234/guard-service/Servers-ip4/upd-release/mdb4″,”http://89.40.181.126/verification-online/service.911-19/check-verification-88291.php”,”http://89.45.67.153/grenadLibS44-two/fIndToClose12t3/sol41.php”,”http://89.45.67.153/supportfsys/t863321i/func112SerErr.php”,”http://93.113.131.117/KB7735-9927/security-serv/opt.php”,”http://93.113.131.155/Verifica-El-Lanzamiento/Ayuda-Del-Sistema/obtenerId.php”,”http://93.115.38.132/wWpYdSMRulkdp/arpz/MsKZrpUfe.php”,”http://rammatica.com/QqrAzMjp/CmKjzk/EspTkzmH.php”,”http://rammatica.com/QqrAzMjp/CmKjzk/OspRkzmG.php”}

SHA-1:{ “00b39f2deaf1f1fc29e5acb63f4d1100e04fd701″,”07e44b44c5f1043d16f6011a2cf0d2e7c5a52787″,”0f946f619ae8e2181a5bd76c8af03347742765c6″,”2900ed173a9f5dc99f905942a6be595cc6f03387″,”2b5a7f4e054d0130883c8821b629121e0228bf54″,”36b5e59a01e7f244d4a3bbb539e57aa468115dc8″,”37bd951c483da057337ef8f38d6e48051cbb39d0″,”41686703ce9e9aec64b6ad1c516746751219bc62″,”4e6470f4a245efaa138c8c6eedb046e916706383″,”54b14fc84f152b43c63babc46f2597b053e94627″,”afd5a60b7fff4deea15f7011339ad2cc2987a937″,”d4ab51bc5c26183771e3358d76e348943f9dd2fc”,”d6fdc72792ee736b8d606d40d72cb89d6e8a3e18″,”0cd61d367dd0b13000774ab77abf3d4cfb713c8e”,”185ab7a371b58ff367c155ec0dabe28842d340bd”,”267abd7105ac26d5cb6ecb96292f83708f64b994″,”4a6dcbccab5344388b331d543cc2260ca531c7ca”,”62dcf2f33ecc6014fa9a10f4e9ac9fd9bb0a6d23″,”b8b847d3d0139db68dba730b3424b29dcb40b3c7″,”c0271dbb02636402742c390ffbeee6418f696668″,”d379b94a3eb4fd9c9a973f64d436d7fc2e9d6762″,”dabeadf0a9af3a8a0802f8445670806cd7671b1d”,”0983d940ba42135106bf7a1e87ed5a1975fc7ead”,”226083c7190f1a939d5b7b352400450690d59f65″,”245868d6805c66181808973e93f23293d6d2f7d1″,”2c01ae417e5de213845b1ed46d4e82d45edd598d”,”4ccbe222bd97dc229b36efaf52520939da9d51c8″,”51ae516792570bcd069a657c27859cd3fdc07d00″,”55179f0c6bce5a37311a44efe3f9845096c09668″,”6fd7ce97061169b835ea77976651b5bf20aca4ef”,”7349843e4dac1226ad6ce3e3cda8c389dd599548″,”7b5c223a4968cc2190c1b5444cad47187d27ec50″,”83882e13b369986b513f4aae245c112b82ec2097″,”8aedf7a462024acf72d708c89230e4f02d94bc78″,”8bd56b580974ae195e9f92b3aa525547d33434c1″,”9beacd8e145fa01e16409d44d8b9470af6c7afd8″,”a172fe6e91170f858c8ce5d734c094996bdf83d0″,”ae93b6ec2d56512a1c7e8c053d2a6ce6fdfb7e4c”,”c08d89c7f7be69d5d705d4ac7e24e8f48e22faaf”,”c2f3ca699aef3d226a800c2262efdca1470e00dc”,”cdf9c24b86bc9a872035dcf3f53f380c904ed98b”,”f63e29621c8becac47ae6eac7bf9577bd0a37b73″,”fea8752d90d2b4f0fc49ac0d58d62090782d8c5b”}

}

声 明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

 

Spread the word. Share this post!

Meet The Author

Leave Comment