前言
这几天加急努力终于完成了 edog pro 版的更新,比之前的 edog 强了不止一星半点。
更新一、shellcode 编写方式重写
然后是使用 shellcode 编写方式重写进行完全重写。由于是使用 shellcode 编写方式重写,因此不能使用任何与 C/C 有关的函数,这些函数都需要自己进行重写。
该方式会导致部分代码会无法正常执行,由于编译器会对代码进行优化导致执行出错,这种错误只能使用汇编方式来进行解决,编译器无法对汇编方式编写的代码进行优化,如下的 PEB导出函数攀爬部分:
使用 shellcode 编写方式最大的好处是不再依赖 vs 编译的 /MT、/MD 模式了,打包代码也只有 50 KB,同时也不会因为 /MT 模式导致报毒了,VT 查杀能轻易做到0查杀:
更新二、通杀反沙箱检测代码
通过多次测试搜集了各大沙箱的详细配置数据:
并根据数据设计了10种反沙箱检测代码,其中5种为时间流速,后面5种为执行路径、硬盘数量、CPU核数。光靠5种时间流速检测代码就能通杀大部分沙箱了,后面的5种就是进行查漏补缺。
5种为时间流速检测代码中包含一条通杀各大沙箱的时间流速检测代码,上面列出微步、VT、360、卡巴斯基的沙箱都能被这条代码检测。
其中微步沙箱由于时间加速较为明显,检测最为容易,5种时间流速检测代码均能命中:
VT 的两个沙箱时间流速比较正常普通的时间检测不能检测出来,只有那条通杀流速检测代码能检测,但是其配置比较低及其沙箱名称比较明显,检测起来难度不算很大,排在中等。ZenBox 配置比较高扫描比较久但是与VT前两个沙箱有一样的通病,但是 ZenBox 会使用两个沙箱进行检测,ZenBox 的第二个沙箱更为真实。
exe上传VT后会有5种沙箱进行扫描,但只有扫描出有用信息的沙箱沙箱才会显示:
当我们上传 edog pro 版进行扫描之后,只有两种沙箱给出了有用的信息,可以看到沙箱能获取到的信息非常少:
检测难度较大的是360、卡巴斯基,360配置低点且只能检测32位但是个方面都比较真实,卡巴斯基配置最高,各方面也比较真实,但是都能被那条通杀的时间流速检测代码检测。
不难看出这里的反沙箱代码都是一些简单高效的检测方式,能最大程度在不影响程序正常执行的情况下减少可疑行为的通时达到反沙箱的效果。
锦鲤安全
一个安全技术学习与工具分享平台
点分享
点收藏
点点赞
点在看