0day星期三——新型恶意软件遭遇战

可能有人会说这标题很疯狂,但我把它称之为“星期三”。

这款较为新颖的恶意软件是一个老的2012 CVE的java攻击包(可能针对SecurityManager)的负载。压缩与解压缩的在VirusTotal/Malwr上都没有查到,所以这又是一个0day啊。

利用IDA进行初步检测,报出一个错误:

估计制作这家伙的兄弟也知道, 迟早某一天它会被像我这样的人拿来瞅瞅的。确实有许多的修改可以用来搅乱反汇编结果,而丝毫不影响Windows上的运行。

用CFF Explorer来看看,发现NT头部的一个错误在“Data Directories”的“Delay Import Directory RVA”项中。CFF很好的为我们指出0×00000040值是错的。将其清零就可以解决此问题。

 

保存修改的exe,在IDA中重新打开,之前的错误提示就消失了,一切正常。

在IDA里简单的过一眼就可以知道这是一个MFC程序。我咋知道的呢?在导入表的Library字段很清晰的表明了。

 

当然了,该程序被压缩了。没有节表修改,典型的内存压缩。

这就意味着静态的分析不再有效,我们需要动态分析来获得更多的信息。来吧,操起Immunity。

在开始immunity和虚拟机之前,exe文件里有些有趣的东西,没有很明显的在IDA里出现,但在CFF explorer里我们可以看到。首先,有几个隐藏在资源目录的文件凸显出来。

第一个是PNG文件。

然后是一个html文件。

在IfranView(最好的图像查看器)里浏览下该PNG文件,仅显示了一个很小的黑图片,这显然不足55kb大小。所以,里面肯定隐藏了点啥。呆会再来收拾它。

来吧,到你了,html文件。用notepad++加载清理,可以看到一些浏览器检测代码:

为啥这里仅是简单的放在了资源节表里,而不同其他代码一起压缩处理?真是个谜啊。先在脑海中记着这些资源节表,稍后处理。现在回头来解压这家伙。

首先开启Immunity调试器和VirtualBox,加载我们的anti-anti-debug python插件。

现在将这货运行起来,待其完全运行之后检测内存。

可以看到有些内存区间被标记为可读可写可执行(RWE),分别在00910000,00930000,00940000和00970000。检测一番,发现4个当中仅有3个包含着代码。该程序仍然有3个隐藏的代码?太酷了吧。

现在我们要从内存中导出程序到文件里,便于后续的分析。使出OllyDumpEx,填入0090区间,可看到00910000和00970000的程序同原始的程序在大小、节表和属性上都匹配。而00950000处的内存与其他的不同:有不同的节表,不同的大小。一定是隐藏着彩蛋啊。

利用‘Binary(Raw)’模式而不是重新构建模式导出exe文件,这样可以保证导出的数据的完整性。

2个无用的节表表明程序被UPX进行压缩了。运行upx工具确认了这一点。意味着我们可以砸出彩蛋了。

新的exe文件正确的解压后多出了40KB,现在我们终于可以在IDA里瞅瞅了。看下strings,有些有趣的信息:

这是啥?HTTP请求信息。看起来这货使用POST请求回传数据啊。

你可能会问C&C服务器在哪呢?似乎不在程序的明文里。还记得前面提到的资源节表吗?再来看看彩蛋的资源节表吧。

瞧,http://31.207.6.161。作者就这样将其放在明文里,让我们捡了个大便宜。想通过隐匿来获取安全,没门。

我知道你在想啥,主程序运行起来是啥样呢?就让我们来看看吧:

一运行起来,就自动的关闭了我的process explorer,我要运行任务管理器都会被一闪而过的消息窗提醒“任务管理器已经被管理员禁用”。 我也很想展示下截屏,但我动作实在没它那么迅速。动用Immunity打开,发现原始的“golden_egg.exe”不再运行。另一个名为“zpNvNKSi.exe”的程序从临时文件夹运行起来了。根据hash比较,其实是同一个程序:

喜欢我的哈希程序吗?到这下载吧。

广告时间结束了。现在很清楚该程序做啥了——禁用任务管理器,终止不受欢迎的程序,从临时文件夹运行。检查msconfig发现添加了2个自启动文件。

  

我对它们都进行了检查,确认正是原始程序的完全拷贝。

将程序附加到immunity,检测程序内存和线程数目(“t”键),显示出该程序是多线程的。我数了下,12个线程。

我猜测这些线程互相监控对方,以防被终止。然而将主程序挂起,用Process Explorer打开它,观察内存,通过检测,发现了一些IDA strings未看到的内容:

大胆猜测一下,我认为这货会检查这些程序,如果发现它们运行就强制结束它们。这就解释了当该程序运行时,process explorer为啥就被终止了。要运行这些工具就有点难了,有regedit,LordPE,wireshark,regmon,filemon,procmon,tcpview,taskmgr以及Windows Defender。吼吼,我没看到Process Explorer的小伙伴Process Hacker啊。

再来说内存,上面表明程序要么是混淆了那些字符串,要么就是进行了再次的压缩。不管哪个,把它揪出来。

对那些我们在Process Explorer中看到的字符串进行unicode格式的搜索,可以看到‘taskmgr’在.data节中。 关于这些字符串,难道IDA骗了我们?完全不是这样的。再看一遍,慢慢的利用二分法搜索一遍,的确可以看到这些字符串。 我猜IDA进行搜索时,默认的不显示unicode字符串。你可以在IDA中通过’alt+A’ 快捷键,选择6选项来更改。

检查这些新的unicode字符串,似乎该恶意软件还有更多的功能。

这才有趣啊。因为这货阻止了Wireshark的运行, 我们需要定位到负责终止功能的地方,并进行修复。咋做呢?对TerminateProcess() API调用进行定位。这在IDA里很容易就能做到。在导入节表里我们看到一个对TerminateProcess的引用。

似乎是段循环,利用“CreateToolhelp32Snapshot”API遍历进程名称,如果满足条件,就终止掉它们。那些我们之前看到的黑名单似乎验证了这一点。

那我们能做点啥呢?改变程序的运行逻辑,使其不再调用TerminateProcess,也就没啥影响了。检查该部分的外部引用(Xref’s, eXternal REFerenceS), 可以看到函数为00401D2A所调用。有个‘jnz’指令负责决定是否调用那段负责查询、终止进程的过程处理。如果我们能修复这段程序,使其不再调用,将其跳过,就可以运行黑名单上的程序啦。

开搞吧。 我比较喜欢用immunity进行修复,一是它简单,二来我也比较熟悉。定位到运行程序的子过程部分,进行条件跳转的指令在‘0x00401d4e’。将那片区域进行nop填充,使得指令流返回,而不是跳转到终止黑名单进程的00401d2c处。

继续运行程序,开启一个被黑名单的程序进行测试。“regedit”也可以正常运转了,“process explorer”也没有被终止,我们成功了。

 

  

现在我们可以利用wireshark进行仔细的网络行为分析了,文件和注册表的分析利用procmon,好好的摆弄Process Explorer处理吧。

用Process Explorer看到程序通过80端口向我们前面挖掘出的C&C服务器发送一个syn包。

Wireshark显示的更多。可以看到发向HTTP C&C服务器的syn包,也有一串的向未知域名的DNS请求。这是咋回事? 

服务器会继续回调,但我不想让它这样。可以修改“golden_egg.exe”中的资源节表,使其指向我自己的HTTP服务器,检查它的功能。还有很多可以干的,现在我们已经获得所需要的了,有了C&C地址,解压了程序,也有了它的HTTP特征以及它的行为。案子就这样结束了。又是一个收获的“星期三”啊。

如果你想下载该恶意程序,自己进行分析,可以在此进行下载,密码是‘infected’。

来源声明:本文来自Joe Security的博文《0day Wednesday——Newish Malware That Came Across My Desk》

原文地址:http://www.gironsec.com/blog/2013/12/0day-wednesday-newish-malware-that-came-across-my-desk/

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

(0)
管理的头像管理
上一篇2025-03-03 12:57
下一篇 2025-03-03 12:59

相关推荐

  • 站群服务器到底是什么意思,怎么选择比较好

    站群服务器就是一台拥有多个独立IP地址、专门用于托管和管理多个网站的高性能服务器,其核心价值在于通过独立IP降低网站间的关联风险,并提升搜索引擎优化效果,站群服务器的工作原理与适用场景站群服务器本质上是将一台物理服务器通过虚拟化或直接配置的方式,分配给多个独立IP地址,每个IP对应一个独立的网站,这些网站共享服……

    2026-07-27
    0
  • 高防服务器误封正常流量如何调整,怎么解决?

    高防服务器误封正常流量,核心调整思路是从“一刀切”转向“精细化”——通过分析业务特征,调整防护阈值、配置白名单和启用智能学习模式,让防护系统学会区分真假流量,为什么会误封正常流量误封主要源于防护策略的通用化,高防服务器通常默认启用严格防护规则,当流量特征与攻击特征库部分匹配时,就会被拦截,据行业安全白皮书指出……

    2026-07-27
    0
  • 高防服务器的防御原理是什么,如何选择高防服务器?

    高防服务器的防御原理,简单说就是通过流量清洗、防火墙规则和黑洞路由等机制,在攻击流量到达业务服务器之前将其过滤或阻断,从而保障正常访问,流量清洗机制是核心防线高防服务器对抗DDoS攻击,靠的不是单一技术,而是一套组合动作,最常见的攻击类型是流量型攻击,比如UDP洪水、SYN洪水、ICMP放大等,核心思路是耗尽带……

    2026-07-26
    0
  • BGP线路到底是什么意思呢,有什么优势?

    BGP线路是一种通过边界网关协议实现多运营商网络互联的接入方式,能自动选择最优路径,极大提升跨网访问速度和稳定性,是解决国内南北网络瓶颈的核心方案,什么是BGP线路BGP,全称Border Gateway Protocol,边界网关协议,是互联网核心路由协议之一,它负责在自治系统之间交换网络可达性信息,BGP线……

    2026-07-26
    0
  • 增值电信业务经营许可证对IDC有多重要,如何办理?

    增值电信业务经营许可证是IDC服务商合法运营的核心凭证,它直接决定了机房能否接入骨干网、客户能否放心托管业务,以及服务商自身能否长期稳定发展,许可证是IDC进入市场的硬门槛互联网数据中心业务属于增值电信业务中的B1类,依据工信部《电信业务经营许可管理办法》,任何从事服务器托管、虚拟主机、云服务等业务的企业,必须……

    2026-07-26
    0

发表回复

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