2014年我们所知的所有网络攻击,实际上还只是冰山一角,未来的网络空间将出现更多错综复杂、有组织性甚至是由敌对国家发起的网络袭击。APT攻击事件目前趋于爆发式增长,有些黑客秘密潜入重要系统窃取重要情报,而且这些网络间谍行动往往针对国家重要的基础设施和单位进行,包括能源、电力、金融、国防等;有些则属于商业黑客犯罪团伙入侵企业网络,搜集一切有商业价值的信息。
警惕利用Bash漏洞的IRC-BOT
(1)Bash安全漏洞
继2014年4月的“Openssl心脏流血”漏洞之后,另一个重大互联网威胁于2014年9月24日爆发,GNU Bash(Bourne again shell)4.3及之前版本在处理某些构造的环境变量时存在安全漏洞,可能允许攻击者远程执行任意命令,GNU Bash漏洞编号为CVE-2014-6271。
经过研究确认,此漏洞可能会影响到使用ForceCommand功能的OpenSSH sshd、使用mod_cgi或mod_cgid的Apache服务器、DHCP客户端、其他使用bash作为解释器的应用等。而使用
mod_php/mod_python/mod_perl的Apache httpd不受此问题影响。
百度百科的介绍显示,Bash(GNU Bourne-Again Shell)是大多数Linux系统以及Mac OS X v10.4默认的shell,它能运行于大多数Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现Windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。
而Bash的命令语法是Bourne shell命令语法的超集。数量庞大的Bourne
shell脚本大多不经修改即可以在Bash中执行,只有那些引用了Bourne特殊变量或使用了Bourne的内置命令的脚本才需要修改。可以
说,Bash是类Unix系统的核心,如果Bash出现了漏洞,则说明攻击者可以控制机器一切。
(2)Bash安全漏洞攻击分析
近期,我们团队也监控到了大量利用Bash安全漏洞进行的攻击,我们主要是对这次的攻击使用的Bash脚本和植入的IRC-BOT进行分析。
Bash脚本分析
我们在预警平台上发现了攻击者发送的数据包如下:
攻击者会从http://183.14.***.***/ *s0.sh下载sh脚本并运行。
攻击脚本部分截图如下:
这个sh攻击脚本针对了多个平台进行攻击,包括有arm、linux –x86、linux-x64,但是基本的攻击思路差不多。
1.它首先修改用户DNS为8.8.8.8, 然后针对不同平台下载不同恶意程序。
2.当被攻击的平台上是arm架构时,它首先从地址:
下载arm架构下的IRC-bot,并写入自启动。
3.从http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk 下载ipkg(ipkg是一个软件安装管理工具)
4.使用ipkg安装openssh,并把ssh的端口改为26。攻击代码部分截图如下:
5.当被攻击的平台上是linux-x86时:
它和arm差不多,只不过是从
下载linux-x86架构下的IRC-bot,其他都操作一样 。
6.当被攻击的平台上是linux-x64时:
它依然上面的一样,下载地址变成了:
其他都操作一样。
7.接着新建了一个叫做“request”的用户名,密码未知(暂时未破解)。
在twitter上我们看见有人公开发现是在12月5日。
攻击者为了达到对系统长期的占用,将系统植入木马成为僵尸网络的一部分后,还给有问题的系统打了Bash补丁。
最后还下载了叫做run的bash脚本,脚本内容如下
这个run脚本主要作用是下载叫pnscan的恶意程序,它主要是扫描程序,从调用参数可以看见它是全网段扫描的。
按照Bash漏洞出来的时间可以推测出这个脚本是2014-12-3日编写。
IRC-BOT分析
通过简单的分析我们发现上面提到的恶意软件都是功能相同架构不同的IRC-BOT,它们都使用了upx进行加密
首先脱壳,然后能解密出两个恶意的irc服务器地址
接着被感染的设备会登入到irc服务器上等待接受指令,部分指令截图:
具体含义是:
在分析的过程中我们发现它是某个开源的程序,由于危害性我们就不给出链接了。
(3)尽快升级Bash
提醒用户按照GUN Bash官方指导意见进行升级:
我们发现有对其服务设备通过yum命令对GUN bash升级版本的时候由于yum镜像点没有更新,而且不同的linux发行版本更新命令也不一样,导致升级失败或者升级过程中体验不佳。经安全信息服务中心团队多次测试,建议有相同问题的其他客户通过iptables来对bash漏洞进行阻断,该方法适用于所有linux的发行版本:
两条命令如下:
警惕Asprox蠕虫爆发
(1)Asprox僵尸网络凶猛来袭
安恒团队在多台APT攻击预警平台的设备上发现了Asprox蠕虫,最早发现是2014年9月某科研机构的APT邮件检测系统中发现了该蠕虫的告警消息。
接下来的几个月从在不同的地都收到样本反馈。
该僵尸网络在曾在国外大势传播,近期出现在国内,需要引起高度的重视。在此提醒广大用户,在收到类似邮件时,千万不要点击运行附件程序。
(2)Asprox攻击技术细节分析
1、外部观察
攻击者伪装成航空公司服务人员,发送了一封待处理订单的邮件。
解压缩邮件附件后,可以看见可疑文件使用了和word文档一样的图标,显然它想把自己伪装成word文档,
为了伪装的更隐藏一些,用户双击运行后,它会弹出如下具有欺骗性的告警消息,让人误以为文档损坏。
实际上它早已将恶意代码注入到svchost.exe里面运行。
在我们APT预警平台的抓获的风险日志中也能看见它的恶意行为。
2、内部剖析
为了方便理解,我们先画出了整个攻击流程
该恶意程序DeltaTicket的外壳代码部分包含了大量‘垃圾’代码,在多次异或解密后,它使用函数RtlDecompressBuffer在内存中解压出一个恶意的dll文件。
该dll文件在整个程序的运行过程中并不会释放处理,而是把它注入到新建的svchost进程中,从而实现在内存中动态加载运行。
其关键注入恶意代码的流程如下:
接着新建的svhost会拷贝自身到% App Data%目录,即:
%App Data%jgajbltl.exe(名字是随机的)
并检测自己是否已经写入自启动,如果没,便写入如下路径:
HKCUSoftwareMicrosoftWindowsCurrentVersionRun
接着构造类是于如下的XLM格式的字符串:
id的值是 $MD5(SID+installDate+user name) ,其他的标识是它的版本信息等。
然后使用RSA算法加密该xml格式的数据,RSA加密的公钥是:
将加密的数据发送到之前解密的URL,然后等待从这些服务器发送的指令。
通过分析发现关键指令,其伪代码的如下:
具体指令的含义是:
(3)Asprox排查方法
1. 检查系统进程中是否有以普通用户启动的scvhost进程。
2. 检查系统检查系统%AppData%目录是否存在未知的可执行文件
注意:
a) Windows 7下%AppData%的路径是:C:Users<用户名>AppDataRoaming
b) Windows XP下%AppData%的路径是:C:Documents and Settings<用户名>Application Data
3. 检查系统注册表
HKCUSoftwareMicrosoftWindowsCurrentVersionRun中是否存在可疑文件名。