《恶意代码分析实战》之基础步骤

静态分析:

1,virus total反病毒引擎搜索
2,MD5计算哈希值
3,用PEid检测是否加壳,并进行脱壳操作
4,stringe.exe查看恶意代码的字符串,从中可以看到是否含有特殊的网址,IP地址,特殊的导入函数,比如读写文件,赋值文件,自启动,记录键盘的函数。。。
5,用Dependency Walker 查看导入函数,可以猜出这个恶意代码大致的功能。如果导入函数表过于简介,说明可能是加壳过后的文件
6,用PEview 查看文件头和分节,可以查看到文件的时间戳,但是时间戳可以作假。
7,用Resource Hacker查看资源节。

动态分析(需在虚拟机中运行)
1,沙箱中运行(但是有的恶意代码会设置sleep函数,进行休眠一天后再执行,有的恶意代码会检测是否在一个虚拟环境中)
2.dll文件不能直接启动,需要查看dll文件是否有可疑的导入函数,如‘"Install"运行命令行:
C:\>rundll32.exe xxxx.dll, Install
3. 用Process Monitor监视打开恶意代码后的进程,先设置过滤功能,在其中监视相关的进程名和特殊的操作比如:writefile, SetWindowsHookEx
4.运行进程浏览器 Process Explorer 新进程显示为绿色。双击可疑进程后 用verify 检查是否有微软的签名认证(但是如果使用 process replacement 进程替换技术,此法就会失效)。用该双击后窗口中的strings 可以检查Image(磁盘的镜像) 和Memory(内存) 检查磁盘和内存中的镜像是否有较大的不同,如果很大不同很可能用了 进程替代技术。
5 运行恶意代码前 打开Regshot 进行1st shot并保存其快照,运行恶意代码后等待一段时间,再2nd shot 进行第二次快照,并用compare 进行对比,看恶意代码是否对系统进行了改变,有的会在注册表项HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run的位置创建一个值,这是常见的持久化机制。
6 运行恶意代码前 使用ApateDNS监听特定的端口,并给出虚假的DNS响应。
7.Wireshark 嗅探数据,嗅探密码

原文地址:https://www.cnblogs.com/sairen/p/9575239.html

时间: 2024-10-18 05:14:08

《恶意代码分析实战》之基础步骤的相关文章

恶意代码分析实战

恶意代码分析实战(最权威的恶意代码分析指南,理论实践分析并重,业内人手一册的宝典) [美]Michael Sikorski(迈克尔.斯科尔斯基), Andrew Honig(安德鲁.哈尼克)著   <恶意代码分析实战>是一本内容全面的恶意代码分析技术指南,其内容兼顾理论,重在实践,从不同方面为读者讲解恶意代码分析的实用技术方法. <恶意代码分析实战>分为21章,覆盖恶意代码行为.恶意代码静态分析方法.恶意代码动态分析方法.恶意代码对抗与反对抗方法等,并包含了 shellcode分析

做完这几道恶意代码分析实战题,十一回来老板就给涨薪!

十一长假要来啦~ 好多同事都提着行李,下班就去几场火车站的,小编这代码还没敲好,担心有人来黑,实在不放心. 话说知己知彼才能百战不殆,放假前把这几个恶意代码的实验做了,谁也动不了我的网站! 不会查找恶意代码的程序员不是好攻城狮.. 尽管恶意代码以许多不同的形态出现,但分析恶意代码的技术是通用的.你选择使用哪项技术,将取决于你的目标.如何防范恶意代码的恶意程序进行恶意行为呢? <恶意代码分析实战>是一本内容全面的恶意代码分析技术指南,其内容兼顾理论,重在实践,从不同方面为读者讲解恶意代码分析的实

2018/11/08-调试器-《恶意代码分析实战》

调试器是用来检测或测试其他程序运行的以来软件或硬件.由于刚完成的程序包含错误,因此调试器在软件开发过程中可以大显身手.调试器让你能够洞察程序在执行过程中做了什么.调试器的目的是允许开发者监控程序的内部状态和运行. 从调试器获得程序的信息可能比较困难,但并不意味着不可能,可以从反汇编器中获得所需信息.反汇编会在程序执行第一条指令前,立即提供程序的快照.当程序执行时,调试器的目的是允许开发者监控程序的内部状态和运行. 调试器监控程序执行的能力在恶意代码分析过程中扮演着十分重要的角色.调试器允许你查看

《恶意代码分析实战》学习笔记(1)

第一章 静态分析技术 常见的DLL程序 DLL 描述 Kernel32.dll 包含系统的核心功能,如访问和操作内存.文件和硬件 Advapi32.dll 提供了对核心Windows组件的访问,比如服务管理器和注册表 User32.dll 包含了所有用户界面组件,如按钮.滚动条以及控制和响应用户操作的组件 Gdi32.dll 包含了图形显示和操作的函数 Ntdll.dll Windows内核的接口.可执行文件通常不直接导入这个函数,而是由Kernel32.dll间接导入,如果一个可执行文件导入了

恶意代码分析实战-PE资源提取

场景 1.提取恶意代码中的资源部分内容 思路 存在Loadresource函数的时候说明有一部分内容在资源里. 技术点 Lab1-4 ResourceHacker打开保存资源,载入IDA查看 原文地址:https://www.cnblogs.com/17bdw/p/10254660.html

2018/10/03-函数调用约定、cdecl、stdcall、fastcall- 《恶意代码分析实战》

cdecl是最常用的约定之一,参数是从右到左按序被压入栈,当函数完成时由调用者清理栈,并且将返回值保存在EAX中. stdcall约定是被调用函数负责清理栈,其他和cdecl非常类似. fastcall调用约定跨编译器时变化最多,但是它总体上在所有情况下的工作方式都是相似的.在fastcall中,前一些参数(典型的是前两个)被传到寄存器中,备用的寄存器是EDX和ECX(微软fastcall约定).如果需要的话,剩下的参数再以从右到左的次序被加载到栈上.通常使用fastcall比其他约定更高效,因

2018/10/03-字符串指令(重复指令、操作数据缓冲区指令)、rep与movx指令-《恶意代码分析实战》

重复指令是一组操作数据缓冲区的指令.数据缓冲区通常是一个字节数组的形式,也可以是单字或者双字.(Intel'称这些指令为字符串指令) 最常见的数据缓冲区操作指令是movsx.cmps.stosx和scasx,其中x可以是b.w后者d,分别表示字节.字和双字.这些指令对任何形式的数据都有效. 在这些操作中,使用ESI和EDI寄存器.ESI是源索引寄存器,EDI是目的索引寄存器.还有ECX用作计数的变量. 这些指令还需要一个前缀,用于对长度超过1的数据做操作.movsb指令本身只会移动一个字节,而不

20154322 杨钦涵 Exp4 恶意代码分析

Exp4 恶意代码分析 Exp4 恶意代码分析 一.基础问题回答 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. ①可以使用监控程序,帮助我们分析是否存在恶意代码 ②如第二个实验使用sysmon,监控几乎所有的重要操作,并可通过事件查看器中找到日志查看. (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. ①利用wireshark动态分析程序动向. ②PE explo

Exp4 恶意代码分析

Exp4 恶意代码分析 一.基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. (1)我们可以使用一些工具帮助自己监测系统,可以实时监控电脑上的端口信息,如果受到怀疑的恶意代码启动的时候连接了一些看起来很可疑的端口,就可以进一步进行分析. (2)我们可以通过在windows下建立一个监测本机连接ip地址的任务计划程序,不定时的查看一下电脑都在什么时候连了网干了什么,如果在你觉得自己的电脑没有联网