恶意代码分析实战-启动一个恶意的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 ...
随机推荐
- 【 Gym - 101138D 】Strange Queries (莫队算法)
BUPT2017 wintertraining(15) #4B Gym - 101138D 题意 a数组大小为n.(1 ≤ n ≤ 50 000) (1 ≤ q ≤ 50 000)(1 ≤ ai ≤ ...
- SimpleDateFormat是线程不安全的,切忌切忌!
多线程方法中使用了共享变量SimpleDateFormat,报如下错误: java.lang.NumberFormatException: multiple points at sun.misc.F ...
- C# 哈希表&列队&栈
哈希表://不规定类型,不规定长度,不规定键值 Hashtable ht = new Hashtable(); //定义 ht[1] = 1; ht['a'] = "abc"; ...
- Spring中的ApplicationContextAware使用
加载Spring配置文件时,如果Spring配置文件中所定义的Bean类实现了ApplicationContextAware 接口,那么在加载Spring配置文件时,会自动调用Applic ...
- 快速幂&快速乘法
尽管快速幂与快速乘法好像扯不上什么关系,但是东西不是很多,就一起整理到这里吧 快速幂思想就是将ax看作x个a相乘,用now记录当前答案,然后将指数每次除以2,然后将当前答案平方,如果x的2进制最后一位 ...
- Win7任务栏合并
在“任务栏” -> "任务栏按钮" -> "始终合并.隐藏标签” 另外,如果想使时间显示详细,可消去“使用小图标”
- SVN 错误:Error validating server certificate for 'https://xxxxxxx':443... Mac os svn客户端证书验证缓存 解决
mac上的SVN今天突然间 不好使了 在进行SVN操作是报出警告信息 Error validating server certificate for 'https://xxxxxxx':443 - T ...
- LoadRunner web请求和响应中文乱码解决办法
先来认识下lr_convert_string_encoding: int lr_convert_string_encoding( const char *sourceString, const cha ...
- HTTPS理解
摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样.但是这并不代表HTTPS的真实设计过程.在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过 ...
- python自动化运维之路~DAY4
python自动化运维之路~DAY4 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块导入方式详解. 关于Python有几种导入模块的方式,请参考我的另外一篇博客(第20 ...