首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三个有趣的脱壳例子

三个有趣的脱壳例子

作者头像
ChaMd5安全团队
发布2018-04-13 17:11:12
1K0
发布2018-04-13 17:11:12
举报
文章被收录于专栏:ChaMd5安全团队ChaMd5安全团队

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

案例一

工具:python、HxD

样本:https://www.hybrid-analysis.com/sample/a6cbeeecfb50bf94499547fbf0adc6451326be45a16462f9056eaba2342fcf2c?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然后复制出来。

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


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ChaMd5安全团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档