楼主: B100D1E55
收起左侧

[分享] 自动分析沙箱逃逸技巧

  [复制链接]
lfx123
发表于 2017-3-26 23:15:32 | 显示全部楼层
留个爪点个赞
lixihong10
发表于 2017-3-27 10:18:28 | 显示全部楼层
在想那些奇葩判断,如果针对他们返回一个 true 会不会有效果
B100D1E55
 楼主| 发表于 2017-3-27 12:14:37 | 显示全部楼层
本帖最后由 B100D1E55 于 2017-3-28 05:29 编辑
lixihong10 发表于 2017-3-27 10:18
在想那些奇葩判断,如果针对他们返回一个 true 会不会有效果


主要难点是在于怎么知道哪些assembly是属于这类判断,否则不小心破坏了程序行为可能就跑不出后续行为了。

EDIT: 重新想了一下,如果在syscall层面上监控/干涉的话应该是没问题的,只不过要涵盖大部分反虚拟机手法需要费不少力气
学雷锋做人
发表于 2017-3-29 13:41:43 | 显示全部楼层
很好的文章,针对病毒的反沙箱、虚拟机的检测机制,其实研究之后也可以再出应对方法,比如我那个工具修改返回值,营造一种成功的假象,也就是根据你所获取的值来判断该返回什么
B100D1E55
 楼主| 发表于 2017-3-30 00:02:33 | 显示全部楼层
本帖最后由 B100D1E55 于 2017-3-30 00:16 编辑
学雷锋做人 发表于 2017-3-29 13:41
很好的文章,针对病毒的反沙箱、虚拟机的检测机制,其实研究之后也可以再出应对方法,比如我那个工具修改返 ...


你的意思是比如恶意程序通过某种API call查询CPU核心数量(假定核心数小于2不继续执行),就截获返回值替换成其他数值这样的么?

用反沙盒侦测工具试了一下cuckoo sandbox,发现似乎已经做了一些相关的处理(执行父进程依旧不是explorer.exe),特征扫描也针对性检查了一下,但仍然不是很全

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
学雷锋做人
发表于 2017-3-30 00:54:41 | 显示全部楼层
B100D1E55 发表于 2017-3-30 00:02
你的意思是比如恶意程序通过某种API call查询CPU核心数量(假定核心数小于2不继续执行),就截获返回值 ...

1.文章中提到关于Hook的沙箱,利用CreateProcesslnternal摘除钩子,但是我先Hook这个API呢?一般Hook CreateProcess 这个API,也就是进程创建的函数,这两个API之间是有联系的
2.如果通过API来获取一些系统信息,沙箱是建立在真实系统环境下的,这个不用担心,担心的是用来检测虚拟机;沙箱一般会检测父进程,也就是根据一些启动信息判断是否处于沙箱环境,API函数的调用是向系统发出执行命令,然后等待系统的返回结果,那么在这个传输过程中可以通过拦截并修改函数返回值,本来系统是返回失败的,可以改成返回成功,调用API的程序只是一个命令发送者和接收者,除非花更多的代码去验证这个结果是否真实;这里我再一次提到我的工具,如果在里面运行的程序向C盘根目录写出一个文件会被重定向到File_safe文件夹下面,万一程序作者再加一条判断的代码去验证写出的文件是否存在,在这个验证环节又被拦截了,会返回文件是真的存在,那么自然就往下一步执行了!
B100D1E55
 楼主| 发表于 2017-3-30 01:20:59 | 显示全部楼层
学雷锋做人 发表于 2017-3-30 00:54
1.文章中提到关于Hook的沙箱,利用CreateProcesslnternal摘除钩子,但是我先Hook这个API呢?一般Hook Cre ...

也就是说如果恶意程序用一个undocumented API来验证文件是否存在,而那个API恰好没有被拦截,那么重定向就失败了吧?具体内核编程我不太熟,有点好奇要实现同一个功能(例如query一个文件是否存在)是不是往往有非常多种方法。有没有办法绕着弯子实现一个目的(例如想读取/写入一个文件,但不调用文件相关API)。
学雷锋做人
发表于 2017-3-30 01:37:16 | 显示全部楼层
B100D1E55 发表于 2017-3-30 01:20
也就是说如果恶意程序用一个undocumented API来验证文件是否存在,而那个API恰好没有被拦截,那么重定向 ...

API 是程序与系统之间沟通传递的桥梁,系统API太多了,不可能一个个去拦截,只是拦截比较重要的,会对系统造成危害的;如果确实有比较有风险的API漏了当然就无法重定向,但其实后面再补上就行了,这个可修补的范围会越来越小;前面第一句话提到API的重要性,绕过API执行是不可能的,这个是微软运行机制,无法改变!
juan8510
发表于 2017-3-30 02:11:38 | 显示全部楼层
学习一下  
je.ssica
发表于 2017-3-30 11:30:56 | 显示全部楼层
学习一下干货
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-3-28 22:27 , Processed in 0.093892 second(s), 14 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表