df2f4aad13fb6d08332e09fd47cd0c98
近期看到一片推送说是发现了一个银狐的新样本,具有很强的反沙箱能力原文在这里:db7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8X3S2@1j5K6S2K9g2r3u0c8x3U0y4C8M7e0y4f1c8f1#2D9K9%4q4e0k6V1q4Q4x3@1k6H3L8$3y4Q4y4h3k6@1L8$3E0W2L8W2)9K6c8p5S2n7k6@1g2I4L8h3q4B7P5f1A6y4y4r3t1&6b7Y4k6$3c8g2N6u0N6f1x3&6d9#2m8A6k6i4W2K6y4X3W2%4x3W2q4g2j5X3u0I4N6o6f1`.
我首先在wb沙箱查了下这个文件,确实没看到有啥行为,就带着好奇心分析了一把,在这里记录下
这篇文章也主要是分析样本的反沙箱手段,详细的攻击细节可以参考上面的推文。
这个shellcode加载也是很粗暴了(甚至都没有异或加密下),就是简单的VirtualAlloc分配可执行地址后,复制shellcode到动态内存,jmp跳转到shellcode执行。
用了一个很常见的手段 call + pop的方式获取shellcode地址,然后进行解密。接下来动态单步跟踪到解密的循环处,通过条件断点断下解密完成的时机 解密完成后通过两个jmp指令来到解密后的真实shellcode的入口 接着跟就会发现熟悉的shellcode操作,通过遍历PEB的LDR结构获取API地址
接下来直接分析dump下的内存
这一段的目的是patch ntdll.NtTraceEvent,用于绕过ETW。 接着patch了amsi.AmsiScanBuffer,用于绕过AMSI接着进入正题,开始真正的对抗了。
这里就不留悬念了,直接给出这部分的全貌 首先通过检查样本运行起来的路径,判断是不是":\myapp.exe",如果是,直接退出进程(最开始想来应该是部分沙箱会将样本统一命名为myapp.exe后执行) 获取进程加载的ntdll的导出表条目,遍历导出函数,计算散列值,看是否命中一个hash黑名单(3个),如果命中,退出进程。 到这里我就很好奇它是想要检查哪3个api,由于hash是单向的,也没办法从hash得到api名,我只能试着搜了下这些hash,没想到最后在网上找到了它上面这一大堆操作的出处b98K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6Z5k6X3W2J5k6h3j5H3P5q4)9J5c8W2g2m8b7@1#2q4i4K6u0r3j5X3I4G2j5W2)9J5c8X3#2S2M7%4c8W2M7W2)9J5c8W2y4G2N6i4u0U0k6g2)9J5c8W2y4Z5j5i4u0W2k6q4)9J5c8Y4N6A6L8X3c8W2k6X3g2F1k6q4)9J5k6h3x3`.原来以上操作都是为了对抗Defender的模拟执行。包括接下来利用Defender模拟执行环境某些api(NtIsProcessInJob、NtCompressKey)的硬编码的返回值来探测是否运行在Defender环境
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
新鲜的样本,楼主接着分析。 pwd:infected
jilvan 新鲜的样本,楼主接着分析。 pwd:infected
热咖啡 360沙箱能被干 掉不?经常用,有点怕了。
哑木 样本里的下载链接已经失效了 hxxps://r8o1.oss-cn-hangzhou.aliyuncs.com/i.dat