恶意代码分析实战-启动一个恶意的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 ...
随机推荐
- day27 封装
广义上的面向对象的封装: 代码的保护,面向对象思想本身就是一种封装 只让自己的对象调用自己类的方法 狭义的封装: 面向对象的三大特性之一,其他两个是继承和多态. 属性和方法都可以藏起来不让你看到 cl ...
- c# Point不能输入小数
换成用 PointF PointF p = new PointF(116.305671f, 39.966051f); //6位小数后面要加f 表示转float,否则报错
- UOJ#192. 【UR #14】最强跳蚤
题目链接 http://uoj.ac/problem/192 暑期课第二天 树上问题进阶 具体内容看笔记博客吧 题意 n个节点的树T 边有边权w 求满足(u, v)上所有边权乘积为完全平方数的路径有多 ...
- centos Install Docker
安装必备软件 $ yum -y install iptables iptables-services net-tools vim wget $ wget -P ~ https://github.com ...
- 【BZOJ1822】[JSOI2010]冷冻波(二分,网络流)
[BZOJ1822][JSOI2010]冷冻波(二分,网络流) 题面 BZOJ 洛谷 题解 先预处理每个巫妖可以打到哪些小精灵,然后二分答案,网络流判定即可. #include<iostream ...
- centos6.5安装VNC、远程及启动关闭
标签: centos vnc 远程桌面 安装 详解 0.说明 安装服务的过程当中,最好是在联网环境下操作.由于涉及到远程连接的问题,系统的防火墙需要关闭,或者是做好相应的过滤策略.参考了网上很多大牛的 ...
- JS解析url
window.location.href 整个url字符串 window.location.protocol url的协议部分 window.location.host url的主机部分 window ...
- Python全栈问答小技巧_2
Python全栈测试题(二) 作者:尹正杰 声明:答案如有偏差,欢迎指正!欢迎加入高级运维工程师之路:598432640 本文答题用的Python版本是:Python 3.5.2,请知晓! 1. 计算 ...
- python---自定义字段验证
各个字段类,含正则和验证方法 #字段类 class IPField: REGULAR = "^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4] ...
- iscroll.js 手机上下滑动 加载更多
html <!DOCTYPE html> <html> <head> <title>下拉上拉刷新页面代码</title> <meta ...