频道栏目
首页 > 资讯 > 系统安全 > 正文

XShellGhost事件回忆专题技术分析指南

17-09-18        来源:[db:作者]  
收藏   我要投稿

8月份,NetSarang公司(NetSarang Computer, Inc. 是一家致力于环球网络安全衔接办理方案范畴的研发的公司,产物和办事笼罩环球90多个国度。)与网络安全厂商卡巴斯基结合宣布申明, ”在2017年7月18日宣布的全线产物在内的版本,均被植入了一份后门性质的歹意代码,该后门可以或许可以或许被入侵攻击者间接应用”。
该变乱被称为“XShellGhost”变乱,“XShellGhost”被定性为因入侵沾染供应链厂商激发的大规模网络安全变乱,将间接招致应用NetSarang系列软件用户成为被长途节制的受益者。
360CERT得悉此变乱后对该变乱展开了阐发,确认NetSarang公司在2017年7月18宣布的Xmanager, Xshell, Xftp, Xlpd等产物中的nssock2.dll模块中被植入了歹意代码。
本申报是360CERT对变乱中所应用的入侵攻击技巧的一个回想和总结。
0x01 变乱概述
8月7日,NetSarang公司宣布网络安全通知布告,称其近来更新(7月18日)的Xmanager Enterprise、Xmanager、Xshell、Xftp、Xlpd五款软件存在网络安全破绽,并表现8月5日曾经宣布了修复版本。
随后,经网络安全研究职员阐发发明NetSarang公司在7月18日宣布的nssock2.dll模块中被植入了歹意代码,间接影响到应用该系列软件的用户。
8月16日,NetSarang公司与网络安全厂商卡巴斯基结合宣布申明,表露了歹意代码的相干信息。NetSarang公司并未解释破绽的成因,内部阐发可以或许是在产物宣布性命周期被入侵攻击,招致7月18日的版本被植入后门。
0x02 民间申明
长期以来为应答层出不穷的网络入侵攻击,NetSarang公司采用了一系列的办法和举动来强化本身产物线的网络安全性,防止被歹意代码沾染、贸易特工构造渗透的环境产生。
遗憾的是,在2017年7月18日宣布的全线产物在内的版本,均被植入了一份后门性质的歹意代码,该后门可以或许可以或许被入侵攻击者间接应用。
咱们深知,客户和用户的网络安全是咱们公司最高的优先级和基本,更是咱们的职责地点。当今天下,经由进程入侵攻击贸易、合法性质的软件来赢利或蓄意入侵攻击其用户的入侵攻击团伙和构造正在日趋增加是一个逼真的实际成绩,在这里,NetSarang会和别的计算机软件行业里的公司异样,认真的应答这一挑衅。
NetSarang致力于掩护用户的隐衷网络安全,且曾经整合了一套松软的系统来包管不会再有类似的具备网络安全缺点的产物被输送到用户手中。NetSarang会继承评价和改良咱们的网络安全,这不仅仅是为了袭击来自天下遍地的网络特工团伙,更是为了让公司的忠诚用户可以或许继承相信咱们。"
今朝Kaspersky的产物曾经支撑检测名为“Backdoor.Win32.ShadowPad.a”的ShadowPad样本。
Kaspersky实验室倡议用户尽快更新到NetSarang产物软件的最新版本,在最新版本中歹意代码曾经被移除,别的倡议检测系统能否有对应的歹意域名拜访记载。相干的C2域名和后门歹意代码技巧信息曾经在相干的技巧申报中说起。
注:更多信息可以或许见[参考7]
0x03 变乱影响面
1.影响面
该变乱属于严重网络网络安全变乱,实际影响规模广。
网络安全预警品级:橙色预警
2.影响版本
依据民间网络安全告示,肯定触及如下版本:
Xmanager Enterprise 5.0 Build 1232
Xmanager 5.0 Build 1045
Xshell 5.0 Build 1325
Xshell 5.0 Build 1322
Xftp 5.0 Build 1218
Xlpd 5.0 Build 1220
0x04 歹意代码技巧细节
1.全体流程
受益者在装置,启动了带有后门的客户端后,nssock2.dll模块中的入侵攻击代码会以Shellcode情势在后盾被挪用解密履行。
该Shellcode分为多加密块,基于插件模子架构,各模块之间卖力分歧功效且和谐事情、相互挪用,实际阐发后发明中央存在大批反抗计划,秘密性较强,该后门还包括了如下几个特色:
无自启动项,无自力落地文件
存在花指令和部门加密函数计划
多种通讯协定的长途节制
自动发送受益主机基本信息
经由进程特定的DGA(域名天生算法)产生的DNS域名传送至长途敕令节制办事器
C&C办事器可静态下发随意率性代码至用户机械履行
全体流程如下图所示:

后门的全体流程大抵分为如下9个步调:
1.    Xshell启动后会加载静态链接库nssock2.dll。
2.    在DllMain履行前由全局工具结构启动引子代码。
3.    引子代码重要功效便是解密shellcode1并跳转到进口处履行。
4.    shellcode1(loader)加载shellcode2。
5.    shellcode2中将汇集用户信息结构DNS TXT包传送至依据年份和月份天生的DGA域名,同时接管解密shellcode3的key并写入注册表,一旦注册表中查问到对应的值随即解密shellcode3并履行。
6.    Shellcode3(loader)重要卖力加载Root模块并跳转到进口处履行。
7.    Root被加载后接着分离加载Plugin,Config,Install,Online和DNS模块。
8.    Install模块会创立svchost.exe并把Root模块注入,实现持久化运转。
9.    Online模块会依据其设置装备摆设初始化网络相干资本,向指定办事地点发送信息,并期待云端静态下发代码停止下一步入侵攻击。
2.Shellcode1(Loader)
该后门是基于插件形式开辟的,Root模块供给了插件的基本框架,各插件之间会相互挪用,而在各个插件加载时都邑屡次用到同一个loader,loader中的代码中参加了化指令停止滋扰,详细实现细节为如下8个步调:

1.    获得kernel32基地点。
2.    获得所需相干函数地点(Loadlibary、GetProcAddress、VirtualAlloc、Sleep)。

{C}3.    请求空间,解密数据存储到请求的空间。
4.    修复重定位。
5.    填写导入表。
6.    在函数头部断定能否下了INT3断点。
7.    加密IAT项,伎俩比拟简略,仅是将原API地点求补。
8.    跳向shellcode进口
3.Shellcode2
Shellcode2重要感化便是将汇集的数据传出,并接管办事端传来的key解密shellcode3,履行后门的焦点部门,Shellcode2实现细节如下:

1.    Shellcode2起首创立事情线程。
2.    事情线程起首获得VolumeSerialNumber值而且异或0xD592FC92 这个值用来创立注册表项。
3.    创立注册表项,地位为HKEY_CURRENT_USER\SOFTWARE\-[0-9](步调2天生的数值)。
4.    经由进程RegQueryValueExA查问步调3创立注册表中Data键的值。
5.    假如注册表Data曾经寄存key会间接用key解密shellcode3并履行。
6.    不存在key则继承履行下面的轮回,当不满意光阴前提时轮回每隔10秒获得一次光阴, 满意光阴前提时进入主流程履行步调7。
7.    主流程起首依据以后光阴天生DGA域名 ,以后8月光阴为nylalobghyhirgh.com
部门年份-月份天生的域名对应干系如下:

8.    接着依据获得的以后网络、hostName 、DomainName 、UserNmae用特定算法天生字符串结构DNS_TXT数据包并向8.8.8.8 | 8.8.4.4 | 4.2.2.1 | 4.2.2.2 | 以后光阴DGA域名 发送,而后期待办事器前往数据(解密Shellcode3的key)。别的,经由进程对12个域名阐发NS剖析环境后发明, 7月开端被注册剖析到qhoster.net的NS Server上,以是预测这个歹意代码变乱至多是从7月开端的。

9.    当接管到办事器的数据包后设置注册表Data数据,而后解密Shellcode3,Shellcode3依然是一个loader,该loader加载Root模块,其loader功效同上述的细节雷同。
4.Module Root
Root模块是后门的症结部门,为别的模块供给了基本框架和相互挪用的API,此中会加载五个模块分离为:Plugin、Online、Config、Install、DNS。

将本身函数表地点同享给其余模块应用,重要这些API重要触及到一些模块加载、加解密等功效。

搜刮5个模块Plugin、Online、Config、Install、DNS中的Install模块,照样可以或许经由进程跟上文异样,应用异样的Loader加载。
详细流程上:
1.    解密后可以或许一个个dump上去

2.    测验考试挪用Install模块(0x67):

5.Module Install
Install卖力把RootModule的Code注入到傀儡进程当中和Online模块的初始化。

相干细节操纵:
1.    晋升本身进程相干权限

2.    挪用config模块读取设置装备摆设信息

3.    依据不异样的设置装备摆设信息走不异样的流程,假如都不等于的话将会注入winlogon.exe或许运转scvhost.exe并注入Root模块,启动履行Online模块。

6.Module Config
Config模块重要卖力设置装备摆设信息的存储和读取功效,当模块初始化函数传入的参数为100时,会保留一些默许设置装备摆设信息到磁盘中,同时Config模块也供给了将设置装备摆设信息发送到CC办事器的接口。

 

{C}
当插件进口函数参数 a2==100时会履行加密设置装备摆设信息写入到磁盘,详细存储地位依据磁盘的VolumeSerialNumber天生。
如%ALLUSERSPROFILE%\XXX\XXXX\XXXX\XXX(此中X由运算天生),存储的内容如下:

7.Module Plugin
Plugin模块为后门供给插件治理功效,包括插件的加载、卸载、增加、删除操纵,治理功效实现后会经由进程挪用Online的0x24项函数实现回调,向办事器前往操纵成果。模块的帮助功效为别的插件供给注册表操纵。

详细行为上:
1.    创立线程挪用config模块的第三个导出函数,遍历注册表项SOFTWARE\Microsoft\。

2.    应用RegNotifyChangeKeyValue函数监测插件注册表键值能否被变动,被变动后则解密并加载模块。

8.Module DNS
DNS模块的重要功效是应用DNS协定处置CC通讯进程。DNS数据包有三种范例,分离代表上线,数据和停止。

0类(上线):

 

1类(数据):


3类(停止):


别的,
1.    该模块会挪用GetAdaptersAddresses获得适配器的DNS,至多网络0x10个DNS。

2.    在模块进口函数100编号对应的初始化进程当中,模块会开启线程期待其余插件数据到来,当收到数据时将数据经由进程DNS发送到CC办事器。


9.Module Online
Online模块是本次入侵攻击的网络通讯治理模块。该模块会读取设置装备摆设文件,网络系统信息,而且可以或许挪用DNS,HTTP,SSL等模块通讯,不外在代码中临时只要后面所述的DNS模块。

网络并发送的系统信息包括注册表中的处置器信息,gethostbyname()获得的host信息,GlobalMemoryStatus()获得的内存信息,GetSystemTime()获得的光阴信息,GetDiskFreeSpaceEx()获得的磁盘空间信息,EnumDisplaySettingsW()获得的显示器信息,GetSystemDefaultLCID()获得的系统说话信息,RtlGetVersion()获得的系统版本信息,GetSystemMetrics()获得的分辨率等信息,GetNetworkParams()获得的网络信息,GetNativeSystemInfo()获得的SYSTEM_INFO信息,LookupAccountSidW()获得的用户名信息等等。

0x16E1337函数起首读取设置装备摆设文件,而后每隔1秒挪用0x16E1995函数,0x16E1995函数还会挪用0x16E1E9A函数,假如0x16E1E9A函数前往20000则函数逻辑完全停止。

 

{C}
在0x16E1995函数中挪用InternetCrackUrlA分化设置装备摆设信息中的URL(www.noteped.com)并依据字符串后面的协定范例采用分歧的衔接办法,每一个协定对应一个ID,同时也是协定插件的ID,今朝取得的样本中应用的DNS协定对应ID为203。别的几个网络模块(TCP、HTTP、UDP、HTTPS、SSL)固然在代码傍边有所表现,但是在shellcode傍边还没有自动运转。

别的,还挪用了0x16E2D3F函数,试图挪用Plugin模块设置注册表项Software\Microsoft\Windows\CurrentVersion\Internet Settings\SecureProtocols以改动IE浏览器的网络安全设置。

还会依据指定的参数应用HTTP-GET\HTTPS-GET\FTP来下载文件。

0x05 修复倡议
NetSarang民间曾经在如下几个软件的最新Builds版本中实现了网络安全修复。咱们倡议受影响的用户,实时更新到对应的修复版本:
Xmanager Enterprise Build 1236
Xmanager Build 1049 
Xshell Build 1326
Xftp Build 1222
Xlpd Build 1224
0x06 总结
XShellGhost变乱表现着信息网络安全范畴中又一个“潘多拉魔盒”曾经被打开了,它表清楚明了网络安全职员长期以来担忧的根基软件、供应链被入侵攻击后带来的大规模影响曾经实在的产生了。
360CERT在实际阐发跟踪中,除看到XShellGhost中所应用的一系列精美入侵攻击技巧外,更重如果看到了面前入侵攻击构造在实行入侵攻击道路上的信心。
在将来,网络安全职员担忧的各种网络安全危险会不可防止的逐步呈现,但同时咱们也在逐步的看到,一方面根基软件厂商正在以踊跃的立场经由进程结合网络安全厂商等道路来增强和办理本身的产物网络安全,另一方面网络安全厂商之间也曾经在威逼谍报和网络安全数据等方面方面停止更加明确化,纵深入的整合。

 

 

相关TAG标签
上一篇:精益求精的IoT:物联网非得需要“网”吗
下一篇:第三代北斗芯片发布 2020年北斗计划向全球提供服务
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站