Guloader ShellCode分析 – 作者:Crackhacker

根据上一张追踪的流程 可以分析ShellCode部分
这一节分析对ShellCode第一部分 反虚拟机进行关键部分分析

具体流程如下:

通过fs:[0x30]PEB 找到Kernel32.dll模块 —> 根据Kernle32.dll模块 找到LoadLibraryA函数 —> 通过LoadLibraryA加载ntdll.dll模块
—>通过ntdll.dll模块 然后获取到NtQueryVirtualMemory函数 —>通过调用NtQueryVirtualMemory 获取自身内存 然后对内存里面的数值 进行算法运算 得到一个特征码—>比较压入堆栈的特征码 如果比较成功证明在虚拟机环境中运行 否者就是 在真实物理机运行

堆栈里面压入的是虚拟机特征码
image

获取到NtQueryVirtualMemory函数
image

调用NtQueryVirtualMemory函数 从0x10000开始检查 内存地址
image

看看关键位置
image

将这里条件改为无条件 就能绕过反虚拟机

其实里面获取 ntdll.dll模块 获取函数 都是通过一个函数加密模块名/函数名 达到静态分析 肉眼不能直接看出。。。

来源:freebuf.com 2021-04-21 17:43:19 by: Crackhacker

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论