【技术分享】“Selfie”:利用DynamoRIO实现自修改代码自动脱壳的神器
"在文中中,人们将隆重举行向大伙儿详细介绍这款蜕壳神技:“Selfie”。拥有它,大伙儿就无需以便在应用场景自改动编码技术性加壳的恶意程序中找寻OEP犯愁了,由于在绝大多数状况下,Selfie都能全自动进行此项每日任务。该专用工具如今早已开源系统了,大伙儿能够从下述详细地址免费下载:https://github.Com/BreakingMalware。
前言
针对恶意程序科学研究工作人员而言,人们常常会碰到历经加壳、数据加密或搞混解决的编码。恶意程序一般都是视图以这类方法来躲避检测服务。显然,以便科学研究这种恶意程序,人们必须解决加壳软件的干挠,找到恶意程序运作的起止点,即说白了的初始通道点(OEP)。感到遗憾,蜕壳工作中一般是人们科学研究工作人员最用时、最繁杂的这项工作中。
当你碰到自改动编码的恶意程序时,蜕壳工作中就会非常的冗杂枯燥。自改动编码是加壳软件常见的技术性,它根据提升附加的安全性层来提升手机软件的多元性。针对应用了自身改动编码而言,加壳后的恶意程序会对本身开展遮盖。在蜕壳的那时候,必须运用动态分配的运行内存蜕壳,修复其初始编码和映象,随后将蜕壳后的编码拷回家。最令安全性科学研究工作人员消沉的事儿,莫过以手动式方法来查找选用了自改动编码的恶意程序的OEP了。
因为这一原因,人们开发设计了“Selfie”。针对Selfie而言,即便这种恶意程序运用自改动编码技术性开展了加壳维护,它仍然可以全自动找到恶意程序的OEP。Selfie专用工具自身是应用场景DynamoRIO的,前者是1个动态性编码插桩(Dynamic Binary Instrumentation,DBI)架构。
要特别注意的是,针对这些应用不太常用的方式建立的自改动编码,Selfie现阶段尚没法解决,比如,应用回到命令抵达OEP或不更改IAT尺寸的自改动编码等。
手动式方法为自改动编码蜕壳
下边,人们详解怎样根据手工制作方法为自改动编码蜕壳的操作步骤,因此,人们以Trojan Shylock为例开展演试。
首先:观查pE文档
下边是人们获得的初始信息内容,人们将从这里开始人们的蜕壳之行。
图1:shylock的特点统计数据
图2:特别注意高亮显示的一部分
第2步:剖析初次动态内存分派
人们从第1步如图所示(即详细地址0x00404920)的通道点刚开始剖析。
这将人们送到了详细地址0x4040F8处。在那边,人们可以看1个对VirtualAlloc涵数的启用,该启用动态分配了5E200字节数的运行内存,其管理权限为PAGE_EXECUTE_READWRITE。
图3:分派虚拟内存
图4:virtualalloc的主要参数
如果取得成功地分派了运行内存,编码就会把历经加壳的系统进程映象拷贝到动态分配的运行内存中。
图5:EAX对准分派的运行内存的基址,ECX是电子计数器。
第3步:剖析再次动态内存分派
如果进行拷贝,载入器就会把实行管理权限迁移给前边分派的运行内存中的编码。
人们可以看,这儿开展了另一个多次运行内存分派 ,它只能PAGE_READWRITE管理权限。特别注意,这儿的VirtualAlloc是以第2步中分派的动态内存中启用的。
图6:下一个VirtualAlloc
人们又见到1个拷贝循环系统(0x00574210),这里,初始的哪个加壳后的恶意程序(别忘记,如今它被投射到动态性存储芯片中)带有1个内嵌式数据加密pE。下边的编码会把这一数据加密的内嵌式pE拷贝到再次动态分配的运行内存中:
图7:复制置入的数据加密pE的拷贝循环系统编码
图8:初始映象基地址(左)带有数据加密的置入pE(右)。
图9:被拷贝到动态内存中的数据加密pE
图12:破译后从上边拷贝的pE
第4步:剖析第二次动态内存分派
如今剖析第二次运行内存分派。此次,载入程序流程将破译的pE拷贝到分派好的运行内存中:
图12:第四个VirtualAlloc
图13:第四个复制循环系统用以拷贝破译的pE
当拷贝例程取得成功完毕后,将进到下边的编码。简言之,它会重设初始映象的基地址。唉,人们了解这就是说自改动编码。
图12:初始的系统进程映象室内空间(0x00400000)被0添充
图13:最终,获得
相关文章
- 5条评论
- 颜于邶谌2022-05-29 02:40:14
- lloc的主要参数 如果取得成功地分派了运行内存,编码就会把历经加壳的系统进程映象拷贝到动态分配的运行内存中。 图5:EAX对准分派的运行内存的基址,ECX是电子计数器。 第3步:剖析再次动态内存分派
- 忿咬笙痞2022-05-29 04:21:09
- 工具如今早已开源系统了,大伙儿能够从下述详细地址免费下载:https://github.Com/BreakingMalware。 前言 针对恶意程序科学研究工作人员而
- 嘻友怯慌2022-05-29 10:12:31
- 自改动编码的恶意程序时,蜕壳工作中就会非常的冗杂枯燥。自改动编码是加壳软件常见的技术性,它根据提升附加的安全性层来提升手机软件的多元性。针对应用了自身改动编码而言,加壳后的恶意程序会对本身开展遮盖。在蜕壳的那时候,必须运用动态分配的运行内存蜕壳,修复其初始编码和映
- 只酷节枝2022-05-29 06:59:14
- 针对恶意程序科学研究工作人员而言,人们常常会碰到历经加壳、数据加密或搞混解决的编码。恶意程序一般都是视图以这类方法来躲避检测服务。显然,以便科学研究这种恶意程序,人们必须解决加壳软件的干挠,找到恶意程序运作的起止
- 竹祭雾夕2022-05-29 03:05:11
- 又见到1个拷贝循环系统(0x00574210),这里,初始的哪个加壳后的恶意程序(别忘记,如今它被投射到动态性存储芯片中)带有1个内嵌式数据加密pE。下边的编码会把这一数据加密的内嵌式p