恶意代码分析实战-启动一个恶意的DLL
如果不能把恶意代码运行起来,那么动态分析基础技术没有什么用。
Windows版本中包含rundll32.exe程序,提供了一个运行DLL的平台。
rundll32.exe Dllname,Export arguments
Export值必须是一个DLL文件导出函数表中的函数名或者序号。
PEID可以看导出函数表。

图1
Install就像是启动rip.dll的一个入口,所以可以用rundll32启动该恶意代码
恶意的DLL在DLLMain(称作DLL函数入口点)执行它们的代码,因为无论DLL什么时候加载,DLLMain函数总会执行,这样就能通过rundll32.exe加载DLL。
方法1:
C:\>rundll32.exe rip.dll,Install
方法2:
恶意代码也可以通过序号来导出函数,也就是说,导出函数只有一个序号,而没有函数名。
在前面加#号字符即可实现。
C:\>rundll32.exe xyzzy.dll,#5
方法3:
从IMAGE_FILE_HEADER的特征域里擦除IMAGE_FILE_DLL(0x2000)标记。这样的改变不会执行任何输入函数,但它会调用DLLMain方法,而且有可能造成恶意代码意想不到的崩溃或者终止。这样做的目的是能使DLL执行恶意部分
PE结构位置:
struct IMAGE_NT_HEADERS NtHeader E8h F8h Fg: Bg:0xFFE0FF
struct IMAGE_FILE_HEADER FileHeader ECh 14h Fg: Bg:0xFFE0FF
struct FILE_CHARACTERISTICS Characteristics FEh 2h Fg: Bg:0xFFE0FF WORD
WORD IMAGE_FILE_DLL : 1 1 FEh 2h Fg: Bg:0xFFE0FF 0x2000 File is a DLL

有参数的情况
DLL形态的恶意代码也可能需要被安装成一个服务。比如ipr32x.dll中导出了InstallService函数。
C:\>rundll32.exe ipr32x.dll,InstallService ServiceName
C:\>net start ServiceName
ServiceName参数必须提供给恶意代码,让它能被安装并运行起来。而在Windows系统中启动指定的服务,可以使用Net Start命令。
动态调试单一的服务
新建快捷方式-然后拖进OD就可以正常单步调试了。
恶意代码分析实战-启动一个恶意的DLL的更多相关文章
- 恶意代码分析实战五:OllyDebug动态结合
目录 恶意代码分析实战五:OllyDebug动态结合 OllyDebug界面介绍 OllyDebug载入程序方法 OllyDebug地址跳转 OllyDebug下断点 OllyDebug单步执行 Ol ...
- 恶意代码分析实战四:IDA Pro神器的使用
目录 恶意代码分析实战四:IDA Pro神器的使用 实验: 题目1:利用IDA Pro分析dll的入口点并显示地址 空格切换文本视图: 带地址显示图形界面 题目2:IDA Pro导入表窗口 题目3:交 ...
- 恶意代码分析实战-PE资源提取
场景 1.提取恶意代码中的资源部分内容 思路 存在Loadresource函数的时候说明有一部分内容在资源里. 技术点 Lab1-4 ResourceHacker打开保存资源,载入IDA查看
- 恶意代码分析实战-x86反汇编速成班
x86反汇编速成 x86体系结构 3种硬件构成: 中央处理器:负责执行代码 内存(RAM):负责存储所有的数据和代码 输入/输出系统(I/O):为硬盘.键盘.显示器等设备提供接口 内存 一个程序的内存 ...
- 恶意代码分析实战-确认EXE什么时候编译的
场景 确认开源的后门在中毒机器上是什么版本,具有什么功能. 思路 1.查看样本PE里的编译时间 2.对照开源后门里组件的编译时间 技术点 查看NT头-TimeDateStamp struct IMAG ...
- 20155331《网络对抗技术》Exp4:恶意代码分析
20155331<网络对抗技术>Exp4:恶意代码分析 实验过程 计划任务监控 在C盘根目录下建立一个netstatlog.bat文件(先把后缀设为txt,保存好内容后记得把后缀改为bat ...
- Exp4 恶意代码分析 20154320 李超
恶意代码 概述 恶意代码是指故意编制或设置的.对网络或系统会产生威胁或潜在威胁的计算机代码.最常见的恶意代码有计算机病毒(简称病毒).特洛伊木马(简称木马).计算机蠕虫(简称蠕虫).后门.逻辑炸弹等. ...
- 20165223《网络对抗技术》Exp4 恶意代码分析
目录 -- 恶意代码分析 恶意代码分析说明 实验任务目标 实验内容概述 schtasks命令使用 实验内容 系统运行监控 恶意软件分析 静态分析 virscan分析和VirusTotal分析 PEiD ...
- Exp4 恶意代码分析
一.原理与实践说明 1. 实践目标 1.1 监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysin ...
随机推荐
- MT【5】蝴蝶效应:一道递推式为二次的数列
评:蝴蝶效应[蝴蝶效应(The Butterfly Effect)是指在一个动力系统中,初始条件下微小的变化能带动整个系统的长期的巨 ...
- SQL Server 查
注:where语句是条件,后面加and或者or 时间日期:比时间需要时间加引号 模糊查询:where语句后面加like '%包含此关键字%'或者'以此关键字开头%'或者'%结尾' 排序查询:列名 o ...
- echarts2 饼图处理标签文字过长使之达到指定字数换行的目的
在使用echarts2的过程中,有时会遇到标签文字过长导致显示不完整的问题.例如: 这时候就需要用到 标签里的formatter 回调函数来处理这种情况了. 方式一: formatter : ' { ...
- Ansible安装部署及常用模块详解
Ansible命令使用 Ansible语法使用ansible <pattern_goes_here> -m <module_name> -a <arguments> ...
- nginx下后端节点realserverweb健康检测模块ngx_http_upstream_check_module
本文章收录做资料使用,非本人原创,特此说明. 公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查.目前,nginx对后端节点健康检查的方式主要有3种,这里列 ...
- NPOI学习笔记
NPOI最简单的创建一个Excel,并且在指定单元格内填写一些数据 HSSFWorkbook workbook = new HSSFWorkbook(file); ISheet sheet = wor ...
- 学习windows编程 day6 之模拟记事本
//短的函数最好定义为宏 #define BUFFER(x,y) *(y*cxBuffer+x+pBuffer)//取出一个字符 //字符消息 //WM_CHAR,WM_DEADCHAR,WM_SYS ...
- Hbase记录-HBase基本操作(二)
HBase Exists 可以使用exists命令验证表的存在.下面的示例演示了如何使用这个命令. hbase(main):024:0> exists 'emp' Table emp doe ...
- #线程池pool 【参考】
参考链接 http://www.open-open.com/lib/view/open1415453575730.html 参考配置 http://www.cnblogs.com/linjiqin/a ...
- HDU - 5413 CRB and Roads
CRB and Roads Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...