恶意代码分析实战:第十七章 反虚拟机技术
本章重点介绍反VMware技术 1 VMware痕迹 VMware虚拟环境在系统中遗留了很多痕迹,特别是在VMware Tools软件安装之后。恶意代码可以通过存在于操作系统的文件系统,注册表和进程列表的标记痕迹,探测VMware虚拟环境的存在。 VMware镜像的进程列表,且安装VMware Tools之后会有三个进程:VmwareService.exe(……
恶意代码分析实战:第十五章 对抗反汇编
4.4 滥用结构化异常处理 结构化异常处理(SEH)提供提供一种控制流的方法,该方法不能被反汇编器采用,但可以用来欺骗反汇编器。 SEH是一个函数列表,目的是处理线程中的异常。列表中的每个函数,要么处理异常,要么将异常传递给下一个函数。如果一个异常总是被传递到最后一个异常处理函数处,就会被认为是一个不能处理的异常。这种情况下,最后一个异常处理函数会负责弹出一……
恶意代码分析实战:第十四章 恶意代码的网络特征
1 网络应对措施 网络行为的基本属性: IP地址、TCP/UDP端口、域名、流量内容等 配置DNS服务器,将一个已知的恶意域名重定向到内部主机,这种被称为sinkhole技术 配置代理服务器,可以检测或者组织访问某些域名。 1.1 在原始环境中观察恶意代码 恶意代码分析的一步不应该是在实验环境中运行恶意代码,也不应该是解剖恶意diamante分析它的反汇编代……
恶意代码分析实战:第十三章 数据加密
1 简单加密算法 1.1 凯撒密码 它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。 1.2 XOR XOR加密使用一个静态字节值,通过与该值执行……
恶意代码分析实战:第十章 使用WinDbg调试内核
1 驱动与内核代码 驱动程序常驻内存,并且负责响应用户态应用程序请求,因此分析它十分困难。另外,由于应用程序不直接与驱动程序通信,而是直接访问设备对象,向具体的物理设备发送请求,使得驱动程序更加难以分析。 设备对象由驱动程序创建和销毁,可以被用户态的程序直接访问,但它们并不一定是真实的物理状态。 举例来说,USB闪存驱动器在系统中拥有一个处理USB闪存驱动器……
恶意代码分析实战:第十六章 反调试技术
3 感染调试器功能 3.1 使用TLS回调 3.1.1 线程局部存储(TLS) PE文件头可选映像头中数据目录表的第10成员IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_DIRECTORY_ENTRY_TLS]指向线程局部存储,英文简写”TLS”。 这个段里面保存了变量和回调函数的数据,但是TLS表……
恶意代码分析实战:第十二章 隐蔽的恶意代码启动
为了隐藏自身,恶意代码的编写者开发了多种技术,将恶意代码混淆到正常的Windoes资源空间中。 1. 启动器 启动器也叫加载器,是一种设置自身或其他恶意代码片段以达到即时或将来秘密运行恶意代码。启动器目的是安装一些东西,以使恶意行为对用户隐藏。 启动器通常包含它要加载的恶意代码,最常见情况是在它的资源节中包含一个可执行文件或者DLL。如果资源节被压缩或者加密……
恶意代码分析实战:第十九章 shellcode分析
shellcode是指一个原始可执行代码得有效载荷,原意是攻击者会使用这段代码获得被攻陷系统上交互式shell的访问权限。 1. 加载shellcode分析 可执行代码块,必须有载荷加载shellcode才能运行 2. 位置无关代码 位置无关代码(PIC)是指不使用硬编码地址来寻址指令或数据的代码。它不能假设自己再执行时会被加载到一个特定的内存中。 以下是几……
恶意代码分析实战:第七章 分析恶意Windows程序
多数恶意代码以Windows平台为目标,并且与操作系统进行紧密交互。 1 Windows API 恶意代码调用适当windows api即可完成恶意功能。 1.1 类型和匈牙利表达法 Windows总体上使用匈牙利表达法,作为API的函数标识符。这个表达式使用前缀命名模式。比如virtualAllocEx函数的第三个参数是dwSize,这是一个DWORD类型……
- 1
- 2