作家
登录

PinDemonium通用动态脱壳工具

作者: 来源: 2017-05-25 11:04:49 阅读 我要评论

Hooking Module 应用 Intel PIN 的功能对API和体系调用进行hook以达到跟踪法度榜样行动的目标。图7显示的是对API的hook。

图4

PinDemonium 先辈性:

  • 推敲了堆上的代码;
  • 解决一些IAT混淆技巧;
  • 综合多种OEP检测启发式办法来找到最好的可履行的去混淆后的法度榜样。

大年夜图中可以看出,PinDemonium重要包含5个模块:

  • WxorX handler module
  • Hooking Module
  • Dumping module
  • IAT search and reconstruction Module
  • IAT Fixing and Import Directory Reconstruction

1. WxorX handler module

WxorX handler module是PinDemonium的核心模块。WxorX handler module记录写过的地址(包含对长途过程的写),当发明写后履行的情况,就用Scylla对法度榜样进行转储。

为了检测写后履行,实现的两个重要功能:

对2个WI进行归并的三种情况

图8显示的是对体系调用的hook。

(2) Write xor Execution (WxorX) addresses notifier:检查如今履行的指令是否在WI中,如不雅是,履行以下分析:

  • Dump 违背 WxorX 规矩的内存区域。内存区域的地位包含3种情况:PE 文件主模块,堆上的内存,其他法度榜样的内存中;
  • 重构 IAT 并生成正确的 Import Directory;
  • 应用一系列启发式办法(熵,长跳转等)来评估今朝的指令是否是 OEP。

WxorX addresses notifier 用于触发转储功能,当某个WI第一次被违背WxorX规矩进行转储。为懂得决图6的情况,当同一个WI中的跳转大年夜于阈值时也会进行转储。

WxorX addresses notifier

图6

PinDemonium hook体系调用来发明对长途过程的写,用hashmap将pid映射为WI,监控用于履行注入载荷的相干函数,当发明对长途线程的写后履行时,PinDemonium转储长途过程被写过的内存并调用启发式办法对转储结不雅进行评价。

2. Hooking Module

对API的hook

图7

对体系调用的hook

图8

3. Dumping module

很多内存转储对象,只会转储目标法度榜样的主模块,漏掉了动态内存区域(例如堆)上的代码,如图9所示。

设置 PinDemonium 的一些敕令行参数可以开启PinDemonium响应的功能来对于某些壳所应用的技能。

Dumping module

图5

(1) Written addresses tracking:记录被写过的每个内存地址来创建 Write Interval(WI)。WI 是一个构造体,记录一片被写过的持续内存,包含以下信息:开端地址,停止地址,是否已分析的布尔标记,对 WI 所有启发式办法的结不雅。图5显示了对2个WI进行归并的三种情况。为了保持机能和简化辨认写后履行代码的过程,忽视和脱壳无关的指令,如写栈和写Process Environment Block(PEB)。

图9

Dumping Module依附于 Scylla。PinDemonium对 Scylla 进行了改进:将Scylla的PE重构模块增长了对动态内存区域(例如堆)的┞峰酌。PinDemonium将堆上的WI标记为heap write interval,当heap write interval违背WxorX规矩,不仅转储法度榜样主模块,还向转储中添加新的节来包含heap write interval的内容并将Entry Point设在这个节内,如图10所示。

Dumping Module依附于 Scylla

图10

图11显示的是应用Scylla来转储。

应用Scylla来转储

图11

4. IAT search and reconstruction Module

为了获得更好的结不雅,PinDemonium综合应用Scylla的根本IAT搜刮和高等IAT搜刮功能,如图12所示。

IAT search and reconstruction Module

图12

5. IAT Fixing and Import Directory Reconstruction

没有能解决IAT混淆的通用技巧,所以PinDemonium对Scylla进行改进,让分析人员能本身编写去混淆代码并集成到 PinDemonium 中。PinDemonium 实现了一种可以或许解决图13所应用的IAT混淆技巧的算法。


  推荐阅读

  最新SMB僵尸网络利用了7个NSA工具,而WannaCry只用了两个……

据悉,该蠕虫由安然研究人员Miroslav Stampar(克罗地亚当局CERT成员,以及用于检测和应用SQL注入马脚的sqlmap对象的开辟者)于上周三(5月17日)在本身搭建的SMB蜜罐中发明。 近日,研究人员>>>详细阅读


本文标题:PinDemonium通用动态脱壳工具

地址:http://www.17bianji.com/lsqh/35416.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)