恶意代码分析
文章平均质量分 91
每昔
这个作者很懒,什么都没留下…
展开
-
idapyhton
基本地址idc.ScreenEA()- 返回当前坐标地址here()- 返回当前坐标地址,同上MinEA()- 返回程序首地址MaxEA()- 返回程序末尾地址 idc.SegName(ea)- 返回所在段,如:.textidc.GetDisasm(ea)- 返回汇编,如:mov rdx, rdiidc.GetMnem(ea)- 返回助记符,如:movidc.Get...原创 2018-08-03 17:58:44 · 813 阅读 · 0 评论 -
恶意代码分析-第十四章-恶意代码的网络特征
目录笔记实验Lab14-1Lab14-2Lab14-3笔记基于IP地址和域名信息:DomainTools(http://www.domaintools.com)-->whois历史记录的查询,能够进行反向IP查询。RobTex(http://www.robtex.com)-->单个IP地址指向的多个域名信息BFK DNS logger(http:...原创 2018-09-05 11:31:54 · 3135 阅读 · 0 评论 -
恶意代码分析-第十六章-反调试技术
目录笔记实验Lab16-1Lab16-2Lab16-3笔记反调试技术:识别是否被调试,或者让调试器失效。探测windows调试器: Windows API:IsDebuggerPresent-->查询进程块环境块PEB中的IsDebugged标志 CheckRemoteDebugg...原创 2018-09-09 12:00:40 · 692 阅读 · 0 评论 -
恶意代码分析-第二十一章-64位恶意代码
目录笔记实验Lab21-1Lab21-2Lab21-3笔记64位恶意代码的必要性:1.在64位操作系统中内核代码是64位的,以64位系统为目标的rootkit(Rootkit通过加载特殊的驱动,修改系统内核,进而达到隐藏信息的目的)必须编译成64位机器码 2.插件和注入代码必须是64位的,...原创 2018-09-17 09:43:35 · 402 阅读 · 0 评论 -
恶意代码分析-第十七章-反虚拟机技术
目录笔记实验Lab17-1Lab17-2Lab17-3笔记VMware痕迹:VMware虚拟环境在系统中遗留了很多的痕迹,特别是VMware Tools安装之后。可以通过操作系统的文件系统,注册表和进程列表中的标记痕迹探测VMware的存在。 识别进程:VMwareService.exe VMwareTray.exe V...原创 2018-09-10 10:44:28 · 1219 阅读 · 1 评论 -
恶意代码分析-第十八章-加壳与脱壳
目录笔记:实验:Lab18-1Lab18-2Lab18-3笔记:壳的功能:缩减程序的大小,阻碍对加壳程序的探测和分析解析函数导入表:1.仅导入LoadLibrary和GetProcessAddress两个函数。先脱出原始文件,再读取原始可执行文件的导入函数信息。 2.保持原始导入函数表的完整,让Windo...原创 2018-09-10 18:02:46 · 2480 阅读 · 0 评论 -
恶意代码分析-第十章-使用WinDbg调试内核
目录笔记实验Lab10-1Lab10-2Lab10-3笔记驱动:Windows设备驱动的简称,是第三方开发商在Windows内核模式下运行代码,常在内存中,负责响应用户态程序的请求。 设备对象不一定是真实的物理设备 应用程序不能直接访问驱动程序 当一个驱动程序首次加载到内核空间中时,会调用Dr...原创 2018-09-18 11:47:58 · 1154 阅读 · 0 评论 -
恶意代码分析-第十五章-对抗反汇编
目录笔记实验Lab15-1Lab15-2Lab15-3笔记反汇编技术:分为线性反汇编器和面向代码流的反汇编器,对于同一段字节集合。有时候反汇编出来的代码并不相同。 对抗反汇编技术是基于反汇编算法的天生漏洞而产生的线性反汇编:用已经反汇编的指令大小来决定下一个要反汇编的字节,而不考虑代码流的控制指令。 ...原创 2018-09-07 17:07:17 · 1156 阅读 · 0 评论 -
恶意代码分析-第十九章-shellcode分析
笔记shellcode:一个可执行代码的有效载荷,包含可执行代码加载shellcode分析:在IDApro中分析时,选择处理器类型Interl 80x86 processers,并选择32-bit disassembly使用位置无关代码:第一条和第二条指令都是通过将EIP寄存器指定的当前位置加上一个保存在指令中的相对偏移值来计算。所以是位置无关代码第三条指令是一个访问全局数...原创 2018-09-13 16:04:26 · 1939 阅读 · 0 评论 -
恶意代码分析-第十二章-隐蔽的恶意代码启动
目录笔记实验Lab12-1Lab12-2Lab12-3Lab12-4笔记启动器:安装一些东西达到恶意行为对用户隐藏,设置自身或恶意代码启动。例如通过资源段隐藏恶意代码。相关API函数:FindResource,LoadResource以及SizeofResource。进程注入:将恶意代码注入到另一个正在运行的进程中,也用于绕过主机的防火墙和那些针对进程的安全...原创 2018-09-01 17:47:20 · 1429 阅读 · 1 评论 -
恶意代码分析-第十三章-数据加密
目录笔记实验Lab13-1Lab13-2Lab13-3笔记加密算法的目的:加密网络通信,加密配置信息,加密字符串加密算法:凯撒密码 XOR ADD,SUB ROL,ROR:旋转字节左侧和右侧 ROT:凯撒密码 ...原创 2018-09-04 11:40:50 · 812 阅读 · 1 评论 -
恶意代码分析-第五章-IDApro
设置Options - General,选择Line prefixes并设置Number of Opcode Bytes 为6.可以看到16进制代码 Options - General,选择Auto comments,IDA帮助注释窗口函数窗口:左拖拽,可以看到长度,以函数长度排序,过滤出规模大的函数每个函数也关联了一些标志位(F,L,S)。L--库函数名字窗口:函数名,命...原创 2018-07-30 15:55:59 · 732 阅读 · 0 评论 -
恶意代码分析-第五章-IDApro
目录 笔记实验笔记设置 Options - General,选择Line prefixes并设置Number of Opcode Bytes 为6.可以看到16进制代码 Options - General,选择Auto comments,IDA帮助注释窗口 函数窗口:左拖拽,可以看到长度,以函数长度排序...原创 2018-08-03 21:28:59 · 997 阅读 · 0 评论 -
恶意代码分析-第一章-静态基础分析
之前分析反病毒引擎扫描:https://www.virustotal.com/#/home/upload哈希值识别:查找字符串:strings检查壳:动态链接函数:常见DLLKernel32.dll:这是一个很常见的DLL,它包含核心系统功能,如访问和操作内存、文件和硬件等等。OpenProcess,GetcurrentProcess和GetProcessHeap:...原创 2018-07-27 15:53:05 · 989 阅读 · 0 评论 -
恶意代码分析-第八章-动态调试
内核模式/用户模式用户模式:调试的程序会与其他程序隔离内核模式:会需要两个系统,一个运行被调试的代码,另一个运行调试器,还有须配置操作系统使得开启内核调试功能,并将两个系统连通。windbag--支持内核调试和用户调试Ollydbg--支持用户模式单步跳过--某些函数调用永远不会返回,如果跳过此类函数,调试器将不能再次获得控制权。异常调试器通常有两次机会来处理同一个异常...原创 2018-07-31 16:45:05 · 965 阅读 · 0 评论 -
恶意代码分析-第七章-分析恶意Windows程序
目录笔记:实验:Lab 7-1Lab 7-2Lab 7-3笔记:Windows API:管理恶意代码与微软程序库之间的交互方式常用API类型: 类型 前缀 描述 WORD w 一个16位的无符号数值 DWORD ...原创 2018-08-01 16:17:33 · 3798 阅读 · 2 评论 -
恶意代码分析-第三章-动态基础分析
运行恶意代码 使用沙箱:用作初始诊断:自动执行与分析 缺点 只能简单执行,无法输入控制指令。 不能记录所有事件,只报告基本功能。 沙箱环境与真实计算机环境的差异导致一些功能无法触发或表现有所不同。 运行代码(.dll): rundll32.exe程序...原创 2018-07-27 20:54:05 · 1183 阅读 · 0 评论 -
恶意代码分析-第四章-X86反汇编
简单指令网络中用大端字节序X86中用小端字节序sub 指令会修改:ZF:结果为0CF:目标操作数比减去的值小 CF置位乘法指令mul:mul value - - -eax乘value 结果以64位形式分别存储在EDX(高)和EAX(低)除法指令div :div value - - - EDX和EAX和起来除以value 结果商存储在EAX,余数存储在EDX目的操作数左右...原创 2018-08-06 14:42:57 · 226 阅读 · 0 评论 -
恶意代码分析-第九章-OllyDbg
目录 笔记实验Lab 9-1Lab 9-2Lab 9-3笔记加载文件:执行代码:Execute till Return -> 在当前函数返回时暂停执行 -> CTRL-F9Execute til User Code ->从库函数中出来回到user code -> ALT-F9单步跳过陷阱: 0...原创 2018-08-06 14:47:41 · 1163 阅读 · 0 评论 -
恶意代码分析-第十一章-恶意代码行为
目录 笔记实验Lab11-1Lab11-2Lab11-3笔记下载器:从网上下载代码,在本地运行,通常会用到URLDownLoadtoFileA和WinExec进行下载和运行恶意代码启动器:一类可执行文件,用来安装运行的后门:让攻击者通过远程访问来控制计算机的恶意代码,常用的方法是借助80端口的HTTP协议进行通信。反向shell:从感染机器上发起一个连接...原创 2018-08-10 20:58:38 · 3126 阅读 · 0 评论 -
恶意代码分析-第二十章-C++代码分析
目录笔记实验Lab20-1Lab20-2Lab20-3笔记C语言和C++的不同:面向对象的编程语言,将数据与操作数据的函数都封装到对象中 用类来定义数据类型,保存了函数信息和数据,是一个对象的模板this指针:原代码 调用HelloWord函数的对象不同,访...原创 2018-09-14 18:51:26 · 554 阅读 · 0 评论