三个有趣的脱壳例子

最近看了youtube上的一些视频教程,看到了几个有趣的脱壳方式。这里介绍下。具体的视频教程在MalwareAnalysisForHedgehogs和hasherezade的youtube频道下面。

 

案例一

工具:python、HxD

样本:https://www.hybrid-analysis.com/sample/a6cbeeecf***bf94499547fbf0adc6451326be45a16462f9056eaba2342fcf2c?environmentId=100

 

我们知道有一些壳会用一个key去和最初的源文件进行xor运算。那么这种情况下只要找到那个key就可以和样本xor,从而有机会直接在样本的某个部位找到那个PE文件然后dump出来。将我们的样本在HxD里面打开。

这里我们看到了一个反复的字符串”W..1..4..3..5..8.....”。所以我们猜测这就是那个key。然后看我选中的那段内容,开头是“.Z”,这让我们想起来PE文件的“MZ”头。我们猜测的key第二个字节是“.”也就是“00”,而“00”和“Z”进行xor的话还是“Z”,所以猜测这里就是PE文件的开头了。

把这部分内容复制出来。然后采用一个python脚本来进行xor运算。

运行脚本后,我们得到了这个实际的样本。


案例二

工具:PE-sieve

样本:https://www.hybrid-analysis.com/sample/008c4bd6ee834d113cfc693af0ea90396eaa47e860bcdd567ffd964b57434e1d?environmentId=100

 

PE-sieve是hasherezade开发的一个能从内存里面dump出满足PE结构内容的工具。根据作者本人说这个工具能够解决大多数常规的壳,更多的使用需要大家自行探索了,这里抛砖引玉介绍一个简单的案例。 

将我们的样本跑起来然后获得样本的PID之后用工具dump出来。

获得了一个exe。但是如果用pe-studio打开分析下导入表这些内容会发现似乎仍然不是最终的payload,并且似乎还有一个壳在那里。那么就再跑一下这个样本然后用OD附加上去。

在OD里面看下内存发现了一个有意思的节。

这里我们看到蛮有趣的一点就是一些节名称和一个“F8”偏移,所以可以猜测这是一个PE结构了。手动加上“MZ”和“PE”头,如图所示。

这个时候PE-sieve就可以识别这个结构了。再次运行一下并使用这样的命令“PE-sievePID /imp”可以自动修复导入表。

这里我们看到内存220000处开始的PE结构已经出来了。导入表也已经修复了。


案例三

工具:OD、HxD

样本:https://www.hybrid-analysis.com/sample/482a8b7ead1e07ac728e1e2b9bcf90a26af9b98b15969a3786834d6e81d393cd?environmentId=100

 

我们知道有一些脚本是在exe文件里面的。这里提供的样本中就wrap了一个.bat脚本。

对于这个样本来说,关键的点就是在“WriteFile”这里下断点了。因为最终样本会将脚本写到磁盘上去。

如图,找到那个Buffer然后复制出来。

改一下扩展名就好了,这就是那个脚本。

本文作者:ChaMd5安全团队

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/70150.html

Tags:
评论  (0)
快来写下你的想法吧!

ChaMd5安全团队

文章数:85 积分: 181

www.chamd5.org 专注解密MD5、Mysql5、SHA1等

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号