恶意代码分析实战 Lab 1-1 习题笔记

Virustotal查询恶意进程 1、使用netstat查看可疑进程 1 (1) 执行`ls -al /proc/$PID/exe`确认可疑进程对应的文件; 1 (2) 若文件未被删除,则直接上传文件到Virustotal进行检测,或者计算出文件对应的md5,使用md5去Virustotal进行查询;若文件已被删除,可执行`cat /proc/$PID/exe > /tmp/t.bin`将进程dump到特定目录,再上传文件到Virustotal或者计算dump文件对应的md5到Virustotal进行查询。如果有多款杀毒引擎同时检出,那基本 阅读详情

Lab 1-1


问题

1.将文件上传至http://www.virustotal.com/ 进行分析并查看报告。文件匹配到了已有的反病毒的特征吗?

解答:这个上传就行了,不过就是要注意www.virustotal.com已经被墙了(2017-8-24:新版virustotal已经可以不挂vpn就可以访问了)


2.这些文件是什么编译的?

解答: 根据本书结尾附录的方法是

使用PEview来打开文件。对于每个文件,我们可以浏览
IMAGE_NT_HEADERS > IMAGE_FILE_HEADER > Time Date Stamp
字段,这个字段会告诉我们编译的时间

但是我通过PEview打开Lab01-01.exe的时候,会出现这个

PEview打来第一个程序

Google了一圈,没有一个相关的解决办法,甚至有人提问这个问题都没有,这句话的意思是[ 你没法查看所有的项目,点取消关闭PEview ], 我们于是点了确定

点确定了

可能我这虚拟机分辨率有点不好看,我单独截一个出来,就是这样了

单独截图

我反正是找不到Time Date Stamp这个字段。。。

然后我突然想到,是不是应该用windows xp来打开看看,然后我又装了一个XP虚拟机,然后还是一样的

winXP

放大一点看看

放大

反正我还是依旧没有找到Time Date Stamp

不过当我用Dependency Walker的时候,可以看到一些基本的信息,但是和书上的答案也不同

Dependency Walker

可以看出,不好看我们再放大一点

放大之后

可以看出来,[ File Time Stamp ] = [ 2012/01/08 2:19 ]
然后 [ Link Time Stamp ] = [ 2010/12/20 0:16 ]

本书的答案是2010/12/19,那Link Time Stamp指的就是编译时间

因为作者问的是这些文件,我们继续看Lab01-01.dll

PEview打开那个目录依旧会报错,点了确定之后依旧找不到那个字段

我们依旧用Dependency Walker来看

Dependency Walker

我们找到这个DLL文件

放大一点

放大

我们可以清楚的看到[ Link Time Stamp ] = [ 2010/12/20 0:16 ]

这就对应上了作者的答案,所以前面的Lab01-01.exe应该存在一些作者的潦误,我们就不深究了

再看Lab01-03.exe的

玄学问题来了
  • 这次Lab01-03.exe可以使用PEview看到明显的Time Date Stamp字段了。。。

  • 这次没报错

Lab01-03.exe

老规矩放大一点

放大

但是时间啥都看不出来啊。。。

没办法,还是用Dependency Walker来看

Lab01-03.exe

这个文件的编译时间是1970/01/01 8:00
显然这个时间是伪造的

然后我们照此法看Lab01-04.exe

用PEview打开还是会报错

继续老方法
Lab01-04.exe

这个文件的编译时间是2019/08/31
显然这个时间也是伪造的


第二题个人体会

其实看过书的同学都知道,在本书的中译本page20的地方,三号小黑圈的地方就已经看到了

如果这个文件是正常的话,会显示Value的值,就是编译的时间

原书相关章节

这是从英文版PDF截图截下来的

我们的确可以看到Time Date Stamp那里后面的Value字段的值就是一个时间

下面这个是我们实际做出来的

实际做的

在我们实际做的结果,后面的Value并没有跟着一个时间,然后这就比较尴尬了

用WinXP也是一样的结果[无语]


3.这两个文件中是否存在迹象说明它们是否被加壳或混淆?如果是,这些迹象在哪里?

解答: 书中的方法是这样的

PEiD工具标记为未加壳的代码

这里提示我们是用PEiD来做的检查,我们试试Lab01-01.exe

PEiD

这里我们可以明显的看出来,这个Lab01-01.exe是没有加壳的
编译器是Microsoft Visual C++ 6.0

然后再看看Lab01-01.dll

PEiD

也可以明显的看出来没有加壳的迹象,这题过


4.是否有导入函数显示出了这个恶意代码是做什么的?如果是,是哪些导入函数?

解答: 我们可以先看Lab01-01.exe的导入表

导入表

我们可以看到基本的文件操作函数的出现

不过最应该引起注意的是FindFirstFileA和FindNextFileA这两个函数

说明这个程序会在系统中查找某些文件,然后有创建文件的函数和复制文件的函数,可能会对系统某些文件进行操作

然后我们用IDA打开这个exe

按照书上的说法,我们可以发现一些有趣的String

IDA

除了最后一句的估计是作者的提醒之外,我们的确可以发现这个kerne132.dll

注意这个kerne132.dll,那个kernel的最后的L字母其实是1(one),为了混淆视听和躲避分析。

然后还可以看到在Lab01-01.exe 中出现了Lab01-01.dll,说明Lab01-01.exe很有可能调用了Lab01-01.dll这个动态链接库。

顺便

顺便说一下这个两个一般很常见的DLL

kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。


msvcrt.dll是微软在windows操作系统中提供的C语言运行库执行文件(MicrosoftCRuntimeLibrary),其中提供了printf、malloc、strcpy等C语言库函数的具体运行实现,并且为使用C/C++(Vc)编绎的程序提供了初始化(如获取命令行参数)以及退出等功能。

下面我们查看DLL的导入表

DLL

我们可以看到一个CreateProcessA函数,说明这个DLL会创建一个进程,也许以后还要分析这个创建的进程

然后还有一个CreateMutexA这是创建一个互斥变量的,和OpenMutexA一起,都是为了操作一个互斥变量的

最后有一个Sleep,由此我们大概是可以猜想,这个DLL会创建一个互斥变量,然后保证一个资源同时只能被一个进程使用,如果这个互斥变量被锁,则其他的进程就执行Sleep函数等待。

书中的解答是

CreateProcess 和 Sleep 函数,这两个函数普遍在后门程序中使用。
这个文件导入WS2_32.dll中的函数,这些函数提供了联网功能


5.是否有任何其他文件或基于主机的迹象,让你可以在受感染系统上查找?

解答: 任何其他文件的话就是Lab01-01.exe会在运行时导入Lab01-01.dll,还有那个混淆视听的kerne132.dll

基于主机的迹象就是如果可以查找到kerne132.dll而不是kernel32.dll,就说明这台主机已经被感染了


6.是否有基于网络的迹象,可以用来发现受感染机器上的这个恶意代码?

解答: 这个其实可以从Lab01-01.dll中的字符串中发现一个ip,加上前面的导入函数WS2_32.dll,我们就可以断定这个可执行文件,可以进行联网,和网络通信。

DLL


7.你猜这些文件的目的是什么?

解答: 其实这个书中的解答已经说得很清楚了,就是一个后门程序,exe用来装载dll文件运行

本文完

恶意代码分析实战 Lab1 Lab 1-11将Lab01-01.exe文件传上www.virustotal.com可以看到文件匹配到已有的反病毒软件特征,部分截图如下:可以看到,大部分匹配到了w32/Ramnit系列病毒特征2使用petool分别查看lab01-01.dll和lab01-01.exe的编译时间,截图如下:第一个是.exe第二个是.dll,可以看到两个文件的编译时间仅仅相差19秒.3看是否加壳最快的当然是用PE... 阅读详情

相关推荐

恶意代码分析实战实验Lab 3-1 + Lab 3-2

Lab 3-1 使用动态分析基础技术分析在Lab03-01.exe文件中发现的恶意代码。 问题 1.找出这个恶意代码的导入函数与字符串列表? 使用PEID和strings 发现有壳,先尝试脱壳。使用linxerUnpacker脱壳失败。 所以说题目中说使用动态分析嘛 使用Dependency Walker(PE模块依赖性分析工具)可以看到导入函数。 使用strings查看字符串 比较可疑的字符串 CONNECT %s:%i HTTP/1.0 联网 admin 管理员 vmx32to64.exe 检测虚拟机

m0_37442062的博客 1132

恶意代码分析实战 --- 第一章 静态分析基础技术

记录一下恶意代码分析实战的课后习题。 Lab1-1 1.将文件上传至http://www.virustotal.com进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗? 能够看到很多杀软都报毒了,但是好像看不出报的是什么类型的病毒。 2.这些文件是什么时候编译的? Lab01-01.exe创建时间:2010-12-20/00:16:19 Lab01-01.dll创建时间:2010-12-20/00:16:38 应该是同时创建的. 4.是否有导入函数显示出这个恶意代码是做什么的?如果是,是哪些导入

abelxu 1106

恶意代码分析实战(开坑) LAB1[含实验链接]

恶意代码分析实战-实验 lab1-1 网站报告分析 上传分析www.virustotal.com pe工具使用分析时间 使用petools工具查看 查壳分析 利用PEID工具查看 调用的函数分析 lab1.exe调用了FindFirstFile``FindNextFile``CopyFile 很有可能病毒在搜索并且尝试复制文件。 查看dll文件,此处调用了CreateProcess``S...

Peanuts 2152

病毒分析工具和使用方法(二)——分析方法

所有可疑文件的分析都是在虚拟机中进行的,虚拟机中内置了病毒分析所要用到的各类工具和软件(各类工具详见上一篇博客),根据可疑文件分析的一般流程,对文件进行分析,得出分析结论。 上传漏洞平台检测 分析一个可疑文件时,第一步就是上传该文件到开源的病毒检测平台进行检测,病毒库收录了数量庞大的已经提交过的病毒文件,当上传可疑文件时,检测平台会计算文件的md5或hash值,与收录在库中的文件进行对比,...

lirunling的博客 6733

恶意样本基础分析技巧

当服务器发生病毒入侵,使用杀毒软件检测到一个恶意程序,你删除了它。但是过了几天又发生了同样的安全事件,很显然恶意程序被没有被清除干净。我们需要知道这个恶意代码到底做了什么,如何进行有效检测...

1258

Linux中断子系统分析之(四):驱动程序申请中断

中断子系统中有一个重要的设计机制,那就是Top-half和Bottom-half,将紧急的工作放置在Top-half中来处理,而将耗时的工作放置在Bottom-half中来处理。 如果中断不分上下半部处理,那么意味着只有等上一个中断完成处理后才会打开中断,下一个中断才能得到响应。当某个中断处理处理时间较长时,很有可能就会造成其他中断丢失而无法响应,影响系统性能。 中断分成上下半部处理可以提高中断的响应能力,在上半部处理完成后便将中断打开,这样就可以响应其他中断了,等到中断退出的时候再进行下半部的处理。为了进

m0_46525308的博客 1227

恶意代码分析实战第一章习题实验

Lab 01-01 对Lab01-01.exe 和Lab01-01.dll进行分析 问题 将文件上传至http://www. VirusTotal. com进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗? 首先传文件到virscan或virustotal,这个自行处理 这些文件是什么时候编译的? 使用PEtools打开文件,点击文件头可看到,其他同理。 这两个文件中是否存在迹象说明它们是否被加壳或混淆了?如果是,这些迹象在哪里? 使用PEID打开文件,注意红框内的东西,这里表示该程序是

Amire0x的小乐园 1400

PICO+Unity MR空间网格开发实战:从零构建透视交互场景

本文详细介绍了使用PICO 4 Ultra与Unity引擎进行MR空间网格开发的完整实战流程。从环境准备、项目初始化、核心组件配置,到空间网格的生成、可视化与物理交互实现,手把手教你构建一个能识别真实环境并发射虚拟小球的透视交互场景。文章重点解析了PICO SDK中空间网格功能的关键配置与优化技巧,并提供了真机部署与调试的实用指南。

e3f4g5的博客 490

恶意代码分析实战 Lab 3-1 习题笔记

Lab 3-1问题1.找出这个恶意代码的导入函数于字符串列表。解答: (动态分析建议用winxp pro 32bit,下面你就知道为什么这么建议了)我们用Dependency Walker会发现这个程序只有很少的导入函数,第一是怀疑是不是加壳了然后我们PEiD来看,的确是加壳了然后就开始尝试脱壳了万能脱壳这次不是万能的了目前我们知道的唯一个导入函数就是ExitProcess然后查看一下字符串 前面

isinstance的博客 5993

N5105 PVE UEFI核显直通Windows:从黑屏到HDMI输出的实战调优

本文详细介绍了在N5105处理器上实现PVE UEFI核显直通Windows的实战调优方法。针对黑屏和HDMI音频无法识别等常见问题,提供了系统参数调整、驱动模块加载、虚拟机配置等解决方案,帮助用户成功实现核显直通并优化性能。

weixin_42566424的博客 204

一文搞懂深度学习:最全神经网络介绍

本文是深度学习系列文章的第二篇,我们将深入探讨各种类型的人工神经网络,探索它们独特的特性和应用。

2402_82802238的博客 2801

恶意代码分析实战 Lab 1-2 习题笔记

Lab 1-2问题1.将Lab01-02.exe文件上传至http://www.virustotal.com/进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗?解答: 这个传就行了。2.是否有这个文件被加壳或混淆的任何迹象?如果是这样,这些迹象是什么?如果改文件被加壳,请进行脱壳,如果可能的话。解答: 因为这个我是看过一遍书才来看这些题目的,所以,可能刚开始看这本书的同学会有些不理解,没事,慢

isinstance的博客 3205

拥有AI助手便能解放双手?——抖音直播脚本的生成

科技改变生活,AI助手帮你完成抖音创作!

Scientist_的博客 2353

恶意代码分析实战 Lab 9-1 习题笔记

Lab 9-1问题1.如何让这个恶意代码安装自身?解答: 这个既然开始了动态调试的部分,我们就只用OD来进行操作了,因为这个版本的恶意代码都是针对XP的,所以我打算是把OD装到XP那台运行代码的机器上这里我们还是跟这书上的步骤走走,先摸清摸清一下套路我们先打开OllyDbg,我这个是从官网下载的,原版的1.x的东西,然后大概是这样这里稍微说一下这个OllyDbg调整字体的方式如果你用是吾爱破解版的话

isinstance的博客 2501

新手秒变高手:使用一键脚本快速安装OpenClaw并完成初始化配置

一键脚本是一种自动化工具,可以帮助用户快速完成软件的安装和配置过程,无需手动执行繁琐的命令。OpenClaw提供了官方的一键安装脚本,让新手用户也能轻松部署OpenClaw。

一键难忘的博客 359

华为OD机考双机位C卷 - 区间交集(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 区间交集

算法大师! 1137

恶意代码分析实战 Lab 11-1 习题笔记

问题 1.这个恶意代码向磁盘释放了什么? 解答: 我们刚刚完成了Windows内核病毒的分析,包括了一些过时的RootKit技术的分析,现在我们回归二进制分析 这里要分析的文件是Lab11-1这个文件,我们先做一些基本的静态分析 我们先看KERNEL32.DLL这个导出DLL 我们可以看到这里有个我们需要注意的CreateFileA导出函数,还有下面那个ExitProcess函数...

isinstance的博客 2120

SOME/IP协议详解「2.1.2·Payload数据类型序列化」

SOME/IP协议详解「2.1.2·Payload数据类型序列化」 点击返回雪云飞星的SOME/IP协议详解「总目录」 SOME/IP协议详解「2.1.2·Payload数据类型序列化」1 大小端问题2 数据对齐填充问题3 都有哪些数据类型 之前简单的概括了一下序列化/反序列化,就是降维打击,从这一章开始到2.1所有章节结束,都在讲解这个降维打击的详细规则与原理 1 大小端问题 首先什么是大小端: 大端:高字节存放到内存的低地址 小端:高字节存放到内存的高地址 假如有一个数据是0x12345678

雪云飞星的博客 4629

恶意代码分析实战 Lab 5-1 习题笔记

Lab 5-1问题1.DllMain的地址是什么?解答: 这个我们用IDA Pro打开来查找,因为最新的IDA Pro不支持我们运行病毒那个虚拟机的版本(xp pro 32),所以下面的分析都是在win7上的打开IDA Pro之后就会提示你是否打开一个叫proximity browser的东西,然后打开这个东西就可以看到DllMain的位置如果没有跳出来,这里可以点开这个窗口然后右键选择Text v

isinstance的博客 6793

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

恶意代码分析实战 Lab 10-1 习题笔记

Lab 10-1 一些准备工作 首先就是配置内核调试的环境 我这里用的是VirtualBox而不是书上的VMware 所以这里可能会有一些的不同 书上说的是这样的 与用户态调试不同,内核调试需要一些初始化配置。首先需要配置虚拟操作系统并开启内核调试,然后配置VMware使虚拟机和宿主操作系统之间有一条虚拟化的串口,同时还应该配置宿主操作系统中的WinDbg 我们按照书上的...

isinstance的博客 2435

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

恶意代码分析实战 Lab 6-1 习题笔记

Lab 6-1问题1.在main函数调用的唯一子过程中发现的主要代码结构是什么?解答: 我们照着书中的步骤走一遍先静态分析一下然后我们会发现这个WININET.DLL的导入有个函数InternetGetConnectedState,然后我们查询一下MSDN的说明这是用于检测本地系统的连接状态的这个函数会主要有这么几个值选项有LAN方式,也有MODEM拨号方式,还有OFFLINE不在线状态,到此我们大

isinstance的博客 2545

恶意代码分析实战 Lab 1-3 习题笔记

Lab 1-3问题1.将Lab01-03.exe文件上传….(略)解答: 略2.是否有这个文件被加壳或混淆的任何迹象?如果是这样,这些迹象是什么?如果改文件被加壳,请就行脱壳,如果可能的话。解答: 这个还是要用老方法看看这里没显示C++或者C什么的,虽然结果也没显示常见的UPX壳,但是无疑这个加壳了的,壳的名称叫做FSG然后我们用Dependency Walker确认一下可以看到很少的导入函数,可以

isinstance的博客 1533

恶意代码分析实战 Lab 1-4 习题笔记

Lab 1-4问题1.将文件上传并查看报告。解答: 我们就传一次看看Basic Properties MD5 625ac05fd47adc3c63700c3b30de79ab SHA-1 9369d80106dd245938996e245340a3c6f17587fe Authentihash e4d9d8ea008b5521c4b4273b8a276cf618db3f8af0bdd2f1

isinstance的博客 2601

恶意代码分析实战 Lab 7-1 习题笔记

Lab 7-1问题1.当计算机重启之后,这个程序如何保证它继续运行(达到持久化驻留)解答: 我们还是按照书上的步骤走一遍看看先是静态分析我们会发现这里有一个CreateMuteA和CreateThread的函数,会操作一个互斥量和一个线程还有这些好玩的函数,比如SetWaitableTimer,这是由于设置一个定时的函数,可以在时间到来的时候发出一个信号来激活一个线程然后就是Sleep,这个说明这个

isinstance的博客 1996

恶意代码分析实战Lab1

Lab1-1恶意代码分析实战恶意代码样本下载Lab1-1二、使用步骤1.引入库2.读入数据总结 恶意代码分析实战 Michael Sikorski Andrew Honig 著 诸葛建伟 姜辉 张光凯 译 恶意代码样本下载 前言-先决条件-恶意代码样本下载链接: https://practicalmalwareanalysis.com/ 1.点击Labs 2.点击Download NOTE: We provide a self-extracting archive and an encrypted

weixin_47038938的博客 7461

恶意代码分析与实战lab3

它集成了 Filemon 和 Regmon 的功能,可以帮助分析和调试系统问题,追踪应用程序的行为,特别是在恶意软件分析中,它是检测和跟踪恶意软件行为的有力工具。Process Explorer 是一个高级的系统任务管理工具,能够显示详细的系统信息,包括正在运行的进程、打开的句柄和加载的 DLL。在一个安全的环境中执行Lab03-03.exe文件中发现的恶意代码,同时使用基础的动态行为分析工具监视它的行为。使用基础的动态行为分析工具来分析在Lab03-04.exe文件中发现的恶意代码。

qq_74420726的博客 1314
上一篇: ubuntu 17.04安装为知笔记
下一篇: 恶意代码分析实战 Lab 1-2 习题笔记
isinstance
博客等级 码龄11年 222粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值