![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
malware analysis
浅夜。
这个作者很懒,什么都没留下…
展开
-
学习笔记-第一章 恶意代码分析实战
第一章从可执行文件提取有用信息的多种方法,包括以下技术: 1.使用反病毒软件来确认程序样本的恶意性; 2.使用哈希来识别恶意代码; 3.从文件的字符串列表,函数和文件头信息中发掘有用信息。 字符串包括 ASCII 和Unicode俩种编码 加壳 混淆之后的程序字符串可供打印的字符串会减少。 链接库与函数 通过导入表可以帮助我们了解链接那些代码库1.6.2 常见的dll程序 K...原创 2019-03-01 21:55:04 · 1332 阅读 · 0 评论 -
学习笔记-第十八章 恶意代码分析实战
第十八章 加壳和脱壳加壳可执行文件的俩个主要目的是缩减程序的大小,阻碍对加壳程序的探测和分析。1.剖析加壳 恶意代码加壳后,分析人员通常只能获得加壳文件,而不能检测原始程序及加壳器。 要脱壳一个可执行文件,我们必须解开加壳所执行的操作,首先,我们需要理解加壳 器的工作原理。 所有加壳器都是将一个可执行文件作为输入,输出一个新的可执行文件。被加壳的可 执行文件经过压缩,加密或者其...原创 2019-04-09 11:58:15 · 644 阅读 · 0 评论 -
学习笔记-第十七章 恶意代码分析实战
第十七章 反虚拟机技术恶意代码编写者经常使用反虚拟机技术逃避分析,恶意代码可以使用这种技术探测自己是否运行在虚拟机中。如果恶意代码探测到自己运行在虚拟机中运行,它会执行与其本身行为不同的行为,其中更简单的行为是停止自身运行。1.VMware痕迹 VMware虚拟环境在系统中遗留了很多痕迹,特别是在VMware Tools软件安装之后。因此,恶意代码可以通过存在于操作系统的文件系统,注册表和...原创 2019-04-07 14:49:41 · 658 阅读 · 0 评论 -
学习笔记-第十五章 恶意代码分析实战
第15章 对抗反汇编所谓对抗反汇编技术,就是程序中使用一些特殊构造的代码或数据,让反汇编分析工具产生不正确的程序代码列表。这种技术由恶意代码编写者手工构造,在恶意代码编译和部署阶段使用一个单独的混淆工具,或是直接在源码中插入混淆代码。所有恶意代码的设计都有特殊目的:键击记录,后门访问,使用目标系统发送大量电子邮件让服务器瘫痪,等等。恶意代码编写者会使用对抗反汇编技术来延缓分析人员分析恶意代码...原创 2019-03-28 10:33:33 · 552 阅读 · 0 评论 -
学习笔记-第十二章 恶意代码分析实战
第12章 隐蔽的恶意代码启动1.启动器 启动器是一种设置自身或其他恶意代码片段以达到即使或将来秘密运行的恶意代码。 启动器的目的是安装一些东西,以使恶意行为对用户隐蔽。 启动器经常包含它要加载的恶意代码。最常见的情况是在它的资源节中包含一个可执行文件或者dll。 正常情况下,Windows pe文件格式中的资源节是供可执行程序使用的,但并不应该是可执行程序的 组成代码。正常资源节的内容...原创 2019-03-24 12:13:44 · 1506 阅读 · 0 评论 -
学习笔记-第十四章 恶意代码分析实战
第十四章 恶意代码的网络特征1.网络应对措施。 网络行为的基本属性包括IP地址,TCP端口,以及流量内容等,网络和安全设备可以利用它们,来提供网络应对措施。根据IP地址和端口,防火墙和路由器可以限制对网络的访问。入侵检测系统,入侵防御系统,以及电子邮件和web代理等其他安全应用。 作为常用术语的入侵检测系统已经过时了。特征不再仅仅用在入侵检测方面,还可以用来检测网络扫描,服务枚举与分...原创 2019-03-26 16:48:22 · 1497 阅读 · 0 评论 -
学习笔记-第十一章 恶意代码分析实战
第十一章 恶意代码行为//第10章是使用windbg调试内核,奈何学习精力有限,先跳过内核调试的学习1.下载器和启动器 下载器从互联网上下载其他的恶意代码,然后在本地上运行。下载器通常会与漏洞利用打包 在一起。下载器常用的Windows API函数URLDownloadtoFileA和WinExec,并下载运行新 的恶意代码。 启动器(也称为加载器)是一类可执行文件,用来安装立即运行或...原创 2019-03-22 22:17:51 · 1201 阅读 · 0 评论 -
学习笔记-第九章 恶意代码分析实战
第九章 OllyDbg1.加载恶意代码 直接加载可执行文件,甚至dll程序。如果恶意代码已经在你的系统上运行,你可以通过附加进程的 方式调试它。另外,ollydbg是一个灵活的调试系统,可以使用命令行选项运行恶意代码,甚至支持 执行DLL中某个函数。 打开一个可执行文件, 使用ollydbg调试恶意代码的最简单方式,是选择ollydbg界面中的File-open 然后浏览到要加载的...原创 2019-03-18 23:05:10 · 1113 阅读 · 0 评论 -
学习笔记-第十三章 恶意代码分析实战
第13章 数据加密 在恶意代码分析中,术语数据加密是指以隐藏真是意图为目的的内容修改。由于恶意代码 使用加密技术隐藏它们的恶意活动,作为分析人员,要全面的了解恶意代码,就需要掌握 这些技术。 1.分析加密算法的目的 - 隐藏配置信息。如:命令和控制服务器域名 - 窃取信息之前将它保存到一个临时文件。 - 存储需要使用的字符串,并在使用前对其加密。 - 将恶意代码伪装成一个合法的...原创 2019-03-25 11:19:10 · 1238 阅读 · 0 评论 -
学习笔记-第六章 恶意代码分析实战
课后作业本章实验的目标是帮助你通过分析代码结构来理解一个程序的总体功能。每一个实验将指导你发现和分析一个新的代码结构。每一个实验在前一个基础上构建,因此通过四种结构创建了一个复杂的恶意代码片段。一旦你完成了这个实验所需的工作,你应该能够挡在恶意代码中遇到它们时,更容易地识别这些单独的结构。Lab 6-1在这个实验中,你将分析在文件Lab06-01.exe中发现的恶意代码。问题1.由mai...原创 2019-03-12 20:54:37 · 781 阅读 · 0 评论 -
学习笔记-第五章 恶意代码分析实战
第五章1.加载可执行文件。可以选择加载方式。 使用二进制文件进行反汇编等等。因为恶意代码有时会带有shellcode,其他数据,加密参数,甚至在合法的PE文件中带有可执行文件,并且包含这些附加数据的恶意代码在Windows上运行或被加载到IDA Pro时,它并不会被加载到内存。2.选择合适的反汇编窗口模式 <1>图形模式,图形模式更容易看清流程,对于每一个跳转比较清除 &...原创 2019-03-11 12:54:40 · 924 阅读 · 0 评论 -
学习笔记-第八章 恶意代码分析实战
第八章 动态调试1.源代码级与汇编级的调试器 多数软件开发者熟悉源码级的调试器。这类调试器一般内置于集成开发环境中。为了检查程序内部变 量的状态一次一行的运行程序,源码级别的调试器允许设置断点,让程序中断在源代码某行。 汇编级调试器,也称为底层调试器,它的操作对象不是源代码而是汇编代码。同源代码级调试器一 样,你也可以使用汇编级调试器按照一次一条指令的方式运行程序。在某行汇编代码上设置...原创 2019-03-15 12:18:36 · 523 阅读 · 0 评论 -
学习笔记-第七章 恶意代码分析实战
第七章1.Windows API 广泛的功能集合,管理恶意代码与微软程序库之间的交互方式。 &lt;1&gt; 类型,表达方法。 dw表示 double word。w表示word。H表示Handles &lt;2&gt; 句柄 比如一个窗口,模块,菜单,文件等等 &lt;3&gt; 文件系统函数 &lt;4&gt; 特殊文件2.Windows 注册表 注册表用来保存操作原创 2019-03-14 21:50:08 · 1328 阅读 · 1 评论 -
学习笔记-第三章 恶意代码分析实战
第三章1.使用沙箱分析恶意代码,部分公司提供免费的沙箱。缺点是只能简单的运行可执行程序,不能带有命令行的选项。 如果恶意代码需要一些指令才可以运行,在不提供条件的情况下,任何代码都不会被执行。2.运行恶意代码。 启动dll文件,可以使用 cmd命令 rundll32.exe DLLname,Export argc export argc是dll导出表的函数名或者序号。3.Proce...原创 2019-03-03 10:49:47 · 1077 阅读 · 0 评论 -
学习笔记-第二章 恶意代码分析实战
第二章在虚拟机中分析恶意代码vmware虚拟机分析时: 1.让恶意代码连接互联网。 可能会造成通过网络连接到主机,所以要确保可以 承担相应风险之后,才可以让它联网 2.连接和断开外围设备。 部分病毒可以通过usb设备进行传播,当usb设备连 接到主机时,可能会被感染。 例如:蠕虫病毒 3.拍摄快照。 可以让虚拟机还原到拍摄快照时候状态。 4.使用vmware进行恶意代码分析...原创 2019-03-02 09:35:31 · 447 阅读 · 0 评论 -
学习笔记-第十六章 恶意代码分析实战
第十六章 反调试技术反调试技术,恶意代码用它识别是否被调试,或者让调试器失效。恶意代码编写者意识到分析人员经常使用调试器来观察恶意代码的操作,因此他们使用反调试技术尽可能地延长恶意代码的分析时间。1.探测Windows调试器 <1>使用Windows API 使用Windows API函数探测调试器是否存在是最简单的反调试技术。 IsDebuggerPresent 查询进程环...原创 2019-04-03 15:21:32 · 566 阅读 · 0 评论