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

恶意代码分析实战——使用Apatedns和Inetsim模拟网络环境 恶意代码分析实战——使用Apatedns和Inetsim模拟网络环境 注:本次实验主要是《恶意代码分析实战》一书中进入动态恶意代码分析篇章的开始,主要通过Apatedns以及Inetsim来模拟为恶意代码提供其需要的网络环境,本次实验以Lab01-03.exe为例。 一、实验环境及工具。 Vmware虚拟机:win10(win7)、kali 主要工具:Apatedns、Inetsim 二、工具的安装下载 1、Apatedns:需安装至windows虚拟机客户端(win10,win7均可) 下载地址:http 阅读详情

Lab 1-3

问题

1.将Lab01-03.exe文件上传….(略)

解答: 略


2.是否有这个文件被加壳或混淆的任何迹象?如果是这样,这些迹象是什么?如果改文件被加壳,请就行脱壳,如果可能的话。

解答: 这个还是要用老方法看看

PEiD

这里没显示C++或者C什么的,虽然结果也没显示常见的UPX壳,但是无疑这个加壳了的,壳的名称叫做FSG

然后我们用Dependency Walker确认一下

DW

可以看到很少的导入函数,可以确认这是加壳了的了

然后我们开始尝试脱壳,因为这不是UPX的壳,所以我们就不能用UPX的工具来做了

我这里用了一个万能脱壳的工具,不知道哪个大神写的,这个可以脱壳(书中是说等学到手动脱壳的时候,再来脱壳,我们现在能脱先脱了再说)

脱壳

脱壳后

我们已经用这个工具脱壳完毕

有没有任何导入函数能够按时出这个程序的功能?如果是,是哪些导入函数,他们会告诉你什么?

解答: 这个我们还是按照老方法来

(因为书中并未脱壳,所以下面分析只是作者本人分析,有不正之处望指出)

脱壳后

第一个导入的库是MSVCRT.DLL,这是一个提供基础函数的库

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

放大

放大之后,我们可以发现这些function基本都有点难懂的样子

__getmainargs 这个如果你有C语言的编程经验就好理解了,这是从stdin获取程序参数的函数,说明这个程序会从用户输入获得运行所必须的参数

_controlfp 这个函数从MSDN上的解释来说,是Get and set the floating-point control word.,翻译过来就是获取并设置浮点控制字,这个函数在MSDN中的定义是这样unsigned int _controlfp( unsigned int new , unsigned int mask );,对这个函数具体做什么感兴趣的同学可以点这里 -> _controlfp

_except_handler3 同样引用MSDN的说法,内部 CRT 函数。 由框架用于查找相应的异常处理程序,以处理当前异常,说明这个程序有一个自己的错误处理机制

__set_app_type 设置当前应用类型。,有这么几种方式,_UNKNOWN_APP 未知应用程序类型;_CONSOLE_APP 控制台 (命令行) 应用程序;_GUI_APP (GUI) Windows 应用程序。

__p_fmode 指向_fmode 全局变量的指针,它为文件 I/O 操作指定默认 文件提交模式。,这个函数只供内部调用。

__p_commande 这个函数MSDN里面没用文档化,根据上面那个的解释推理,这是指向commande全局变量的指针,也是只供内部调用(因为前面两个下划线)

_exit 这个就好理解了,是程序的退出函数的

_XcpFliter 这也是MSDN里面未文档化的函数,暂时用途不明

__p_initenv 这也是MSDN未文档化的函数,不过我们知道initenv函数是初始化环境变量的函数,那同理可得__p_initenv是指向initenv变量的指针,也是只供内部调用

_initterm 调用所有的静态构造的模块中是通过函数指针阵列枚举,依次调用每一个指针的一个简单的事情,按照文档的解释,这个编译器会帮你完成

__setusermatherr 指定用户提供的事务来处理算术错误,而不是_matherr事务。

_adjust_fdiv 这个也是未文档化的函数

上面的分析其实都是一些很少会用到的函数,这些带下划线的函数都是编译器自动生成的,但是在没有更多信息的时候,我们只能分析这些函数来了解程序想做什么

下面一个函数库是OLEAUT32.DLL

OLEAUT32.DLL

oleaut32.dll是对象链接与嵌入OLE相关文件,但是我们发现这个导入函数表函数名都是不明,然后这个就不分析了

下一个函数库是OLE32.DLL

ole.dll文件是链接和嵌入在应用程序中的对象的过程文件。它是用于编写和整合来自不同应用程序的数据在Windows作业系统的骨干部分。

OLE32.DLL

这个函数不太懂,不分析了

4.哪些基于主机或基于网络的迹象可以被用来确定这个恶意代码所感染的机器?

解答: 先去看看String里面有什么内容

String

发现并无什么值得注意的信息,而且字符串都显示乱码,说明可能这个程序不止一次加壳,但是我们用PEiD看的话会发现这个程序已经显示是C++了

PEiD

所以现在我们可以看到的也就这些信息

本文完

恶意代码分析实战 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

《恶意代码分析实战》课后题第一章

Lab 1-1 2、通过PETools查看文件头 Lab01-01.dll Lab01-01.exe 3、通过PEID 未加壳 4、通过Dependency Walker查看导入函数 Lab01-01.dll ws2-32.dll :Windows Sockets应用程序接口, 用于支持Internet和网络应用程序。 Lab01-01.exe msvcrt.dll:的C语言运行库执行文件 创建文件,复制文件 4、5 通过strings查看 Lab...

weixin_43988404的博客 791

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

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

Peanuts 2152

恶意代码分析实战Lab01——03&04

第一步:查看文件是否加壳: 加了壳,FSG壳,在我之前的博客里边有过脱FSG壳的具体简称,这里就不再赘述,直接脱出来,加载到OD中: 第二步:将程序,用IDA打开进行详细分析: 第三步:分析main函数; 可以看到这个main函数的内容相对比较简单,只是几个API函数的调用,所以只要将这几个API函数的功能搞清楚基本就分析完了: 嘴和新的一点是IDA没有解析出来的.就是该程序在运行的时候,...

4SecNet团队专栏 997

学习笔记-第一章 恶意代码分析实战

第一章 从可执行文件提取有用信息的多种方法,包括以下技术: 1.使用反病毒软件来确认程序样本的恶意性; 2.使用哈希来识别恶意代码; 3.从文件的字符串列表,函数和文件头信息中发掘有用信息。 字符串包括 ASCII 和Unicode俩种编码 加壳 混淆之后的程序字符串可供打印的字符串会减少。 链接库与函数 通过导入表可以帮助我们了解链接那些代码库 1.6.2 常见的dll程序 K...

Yes_butter的博客 1505

恶意代码分析实战课后练习

恶意代码分析实战的课后资料,如果有兴趣的同学可以下载,然后通过7z解压,

恶意代码分析实战Lab01-03,lab01-04

分析lab01-03.exe,lab01-04.exe 先来看lab01-03.exe Q1.将Lab01-03.exe 文件上传至http://www. VirusTotal.com/进行分析并查看报告。文件匹配到了已有的反病毒软件特征吗? Q2.是否有这个文件被加壳或混淆的任何迹象?如果是这样,这些迹象是什么?如果该文件被加壳,请进行脱壳,如果可能的话。 Q3.有没有任何导入函数能够暗示出这个程序的功能?如果是,是哪些导入函数,它们会告诉你什么? Q4.有哪些基于主机或基于网络的迹象,可以被用来确定被这

Yale的博客 2659

Linux-ftrace-双nop机制的实现

linux-ftrace内核追踪-双nop机制的实现原理

qq_43707773的博客 1072

恶意代码分析实战Lab1——03 补:FSG脱壳

前边在做Lab1-03的时候检测壳的信息,显示是FSG壳,找了一下,发现之前的fsg脱壳笔记并没有发出来,再这里,再补一下,这个程序的脱壳过程: 0x01查壳信息 0x02开始脱壳 载入OD 按 Alt+M 在Text段下断点: F9运行: 听下来之后Alt+F9返回到用户代码: 接着F4 运行到大跳转处: F7 运行过去 就是OEP了(第一次运行到大田转的地方会显示跳转未实现,...

4SecNet团队专栏 757

VBA一键汇总多个工作簿-名称相同的工作表-的指定区域数据

VBA一键汇总多个工作簿-名称相同的工作表-的指定区域数据 日常工作,我们经常需要汇总相同格式的工作簿的某个工作表的数据 如1月业绩、2月业绩。。。。12月业绩等 姓名 数量 数据22 22 数据23 23 数据24 24 数据25 25 数据26 26 数据27 27 数据28 28 数据29 29 数据30 30 数据31 31 数据32 32 数据33 33 数据34

陈表达的博客 5983

Coze工作流实战:Coze一键生成沉浸式历史故事视频

【coze工作流实战】一键生成火爆的沉浸式历史故事视频!短短3分钟,顶替你3天的工作量!

bickys的博客 1004

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

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

isinstance的博客 5993

避开这些坑!baostock获取股票数据时最容易犯的5个错误(Python实战)

本文针对使用Python和baostock库获取股票历史数据时常见的五大陷阱,提供了实战解决方案。重点剖析了登录状态验证、参数配置、数据解析、批量操作效率及数据一致性校验等关键环节,帮助开发者构建稳健高效的数据获取流程,避免因细节疏忽导致的数据错误或性能瓶颈。

websocket5live的博客 1442

恶意代码分析实战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

Codex 实战 Skills:编写 Skill 自动为 ESP32 芯片生成 MQTT 订阅与发布的基础代码

为了更清晰地展示 Skill 的工作原理和两种语言的差异,以下提供原理图和比对表格。本文深入探讨了如何利用 Codex 的 Agent 智能体技能(Skills)自动化 ESP32 与 MQTT 通信的代码生成过程。我们首先分析了 IoT 开发的痛点,然后详细设计了 Skill 的输入配置,并分别提供了 MicroPython 和 C++ 两种语言的完整代码实现。通过对比两种语言的优缺点,帮助开发者根据项目需求选择合适的语言。最后,我们提供了详细的运行指南,确保开发者能够快速上手。Skill 设计哲学。

yueyeguzhuo的专栏 82

如何使用Github创建一个完全免费的个人网站

摘要: 本文详细介绍如何利用Github Pages免费搭建个人静态网站,适合零基础用户。首先需注册Github账号并创建特定命名的仓库(格式:用户名.github.io),然后通过网页或命令行创建index.html文件作为网站首页。完成后可通过"仓库设置- Pages"获取网站链接。文章还包含GitHub Desktop的安装使用、代码提交指南及常见问题自检方法,并说明即使Github被墙也可迁移至国内平台(如码云)。整个过程无需编程基础,仅需15分钟即可完成基础网站搭建。

安德洛夫 1514

恶意代码分析与实战lab3

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

qq_74420726的博客 1314

YOLOv11改进 | 网络结构代码逐行解析(二) | yolov11中的Mosaic增强详解

本文给大家带来的是YOLOv10中的Mosaic增强代码的详解,可能有部分人对于这一部分比较陌生,有的读者可能知道Mosaic增强但是不知道其工作原理,具体来说Mosaic增强就是指我们的数据集中的图片在输入给模型之前的一个处理过程(我们的图片并不是直接就输入给模型了,大家的训练结果中的结果检测图片大家可以看到数据集中多个图片会组合在一起这就是简单的Mosaic增强),下面我就来讲解一下其在YOLOv10中工作原理和代码定义,下面图片为一个Mosaic增强后的图片。​。

Snu77的博客 5023

恶意代码分析实战Lab3

第三章动态分析基础技术恶意代码分析实战Lab3-1Lab3-21.引入库2.读入数据总结 恶意代码分析实战 Michael Sikorski Andrew Honig 著 诸葛建伟 姜辉 张光凯 译 1.操作场景:VMware workstation 15.5 + Windows7 VMware安装Windows7:https://blog.youkuaiyun.com/weixin_43465312/article/details/92662519 2.实验工具: ProcessExplorer:https://d

weixin_47038938的博客 1925

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

恶意代码分析实战Lab3-1

Lab3-1 使用动态分析基础技术来分析lab03-01.exe 1.找出这个恶意代码的导入函数与字符串列表 首先PEiD查壳,发现加壳 从导入表中可以发现只有一个导入的动态链接库 利用ida进行分析 2.这个恶意代码在主机上的感染迹象特征是什么 3.这个恶意代码是否存在一些有用的网络特征,如果存在,是什么? ...

王陈锋的博客 2286

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

恶意代码分析实战Lab1-3

Lab1-3 分析Lab1.3.exe文件 目录 Lab1-3 2. 是否有这个文件被加壳或混淆的任何迹象? 3.有没有任何导入函数能够暗示出这个程序的功能?如果是,是哪些导入函数,它们会告诉你什么? 4.有哪些基于主机或基于网络的迹象,可以被用来确定被这个恶意代码所感染的机器? 2. 是否有这个文件被加壳或混淆的任何迹象? 利用PEiD进行分析 程序利用FSG1.0进行加壳操作 利用ollybdg进行手动脱壳 在尝试了一番之后,我发现这个脱完壳后还得进行修复,就搁置在这里。

王陈锋的博客 944

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

恶意代码分析实战Lab1-1,从零基础到精通,收藏这篇就够了!

​​本文已参与「新人创作礼」活动,一起开启掘金创作之路。

bdfcfff77fa的博客 993

恶意代码分析实战——Lab03-02.dll分析篇

** 恶意代码分析实战——Lab03-02.dll分析篇 ** 一、分析对象 Lab03-02.dll 二、实验环境(本次一切实验环境均在vmware虚拟机下进行) 1、kall虚拟机 2、win10虚拟机(在恶意代码分析中建议使用winxp,但是在xp环境下不支持一些现今的工具,所以在今后的实验中使用win10环境) 3、本次实验在由kall与win10虚拟机组成的虚拟网络环境中,vmware虚拟网络环境的搭建方法见《恶意代码分析实战——使用Apatedns和Inetsim模拟网络环境》一文。 三、实验工

妙蛙种子吃了都会妙妙秒的妙脆角的博客 4563

《恶意代码分析实战》第3章 动态分析基础技术(课后实验Lab 3)

第3章 动态分析基础技术(实验)Lab 3-11.1 找出这个恶意代码的导入函数与字符串列表?1.2 这个恶意代码在主机上的感染迹象特征是什么?1.3 这个恶意代码是否存在一些有用的网络特征码?如果存在,它们是什么?Lab 3-22.1 你怎样才能让这个恶意代码自行安装?2.2 在安装之后,你如何让这个恶意代码运行起来?2.3 你怎么能找到这个恶意代码是在哪个进程下运行的?2.4 你可以在procmon工具中设置什么样的过滤器,才能收集这个恶意代码的信息?2.5 这个恶意代码在主机上的感染迹象特征是什么?2

qq_43443410的博客 3953

恶意代码分析实战Lab03-01

恶意代码分析实战Lab03-01.exe

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值