关于Lab

教材恶意代码分析实战

课后练习恶意代码样本https://practicalmalwareanalysis.comhttps://nostarch.com/malware.htm

以下是我自己做课后Lab的时候,一些零散笔记。详细答案可以参考教材附录C

Lab 1-1

Lab01-01.exe Lab01-01.dll
文件是否匹配到已有反病毒软件特征
这些文件是什么时候编译的 2010-12-19(VirusToal.com->Details->History->Creation Time) 2010-12-19
是否可能存在加壳或混淆 否(软件PEiD)
是否有导入函数?若有,从导入函数能看出什么? 有,有意思的导入函数FindFirstFile、FindNextFile和CopyFile。这些函数告诉我们,这个程序在搜索文件系统和复制文件。 有,最有趣的导入函数是CreateProcess 和 Sleep。我们也看到,这个文件导入了 WS2_32.dll 中的函数,这些函数提供了联网功能。
是否有任何其他文件或基于主机迹象 检查C:\Windows\System32\kerne123.dll来发现额外的恶意活动。请注意,文件 kerne123.DLL,用数字 1 代替了字母 l。
是否有基于网络的迹象 该文件中包含一个私有子网IP地址127.26.152.13的字符串。这个IP地址预示着这个程序是为了教学目的而不是恶意目的而编制的,如果这是真正的恶意代码,这个IP地址应该是可路由的公网IP地址,它会是一个很好的基于网络的恶意代码感染迹象,可以用来识别这个恶意代码。
猜一猜这些文件的目的 用来安装与运行DLL文件 该文件可能是一个后门

注:课本1.3 查找字符串

步骤:

  1. 下载Strings
  2. cmd -> 进入下载的strings.exe可执行文件所在文件夹 -> 使用 strings 命令查看

附图:

cmd:

strings.exe所在文件夹:

恶意样本“Lab01-01.exe”所在文件夹:

Lab 1-2

脱壳工具UPX下载

解压压缩包,脱壳步骤如下:

  1. cmd -> 进入下载的upx.exe可执行文件所在文件夹 -> upx -o newFilename -d originalFilename

    注:-d 选项表示对文件进行脱壳,-o 选项指定了输出文件名

  2. 附图:

    cmd:

    upx.exe所在文件夹(Lab01-02.exe脱壳后文件重命名为newFilename):

第一章 Lab的更多相关文章

  1. 读高性能JavaScript编程 第一章

    草草的看完第一章,虽然看的是译文也是感觉涨姿势了, 我来总结一下: 由于 大多数浏览器都是 single process 处理 ui updatas and js execute 于是产生问题: js ...

  2. 《深入理解计算机系统》(CSAPP)读书笔记 —— 第一章 计算机系统漫游

    本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习.一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止.我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念 ...

  3. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  4. MyBatis3.2从入门到精通第一章

    第一章一.引言mybatis是一个持久层框架,是apache下的顶级项目.mybatis托管到goolecode下,再后来托管到github下.(百度百科有解释)二.概述mybatis让程序将主要精力 ...

  5. Nova PhoneGap框架 第一章 前言

    Nova PhoneGap Framework诞生于2012年11月,从第一个版本的发布到现在,这个框架经历了多个项目的考验.一直以来我们也持续更新这个框架,使其不断完善.到现在,这个框架已比较稳定了 ...

  6. 第一章 MYSQL的架构和历史

    在读第一章的过程中,整理出来了一些重要的概念. 锁粒度  表锁(服务器实现,忽略存储引擎). 行锁(存储引擎实现,服务器没有实现). 事务的ACID概念 原子性(要么全部成功,要么全部回滚). 一致性 ...

  7. 第一章 Java多线程技能

    1.初步了解"进程"."线程"."多线程" 说到多线程,大多都会联系到"进程"和"线程".那么这两者 ...

  8. 【读书笔记】《编程珠玑》第一章之位向量&位图

    此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...

  9. 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介

    前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...

随机推荐

  1. linux远程方式,以及基础命令

    最近准备学习linux系统,购买了阿里巴巴的云服务器,系统为CentOS. 一.连接实例 1.使用管理终端. 这是阿里巴巴云服务器管理控制台,需要登录阿里巴巴,找到自己实例后,点击右侧远程连接即刻. ...

  2. FireMonkey 源码学习(5)

    (5)UpdateCharRec 该函数的源码分析如下: procedure TTextLayoutNG.UpdateCharRec(const ACanvas: TCanvas; NeedBitma ...

  3. Django 中如何让外部访问本地的静态资源

    简单使用 在Django中打开一个入口,让别人可以访问media文件 在settings中配置 MEDIA_ROOT=os.path.join(BASE_DIR,'media') 在路由中配置 fro ...

  4. List of 3rd Party .NET UI & Reporting Components

    https://www.codeproject.com/Reference/788434/List-of-rd-Party-NET-UI-Reporting-Components Introducti ...

  5. 题解——洛谷P1250 种树(差分约束)

    一道看一眼就知道差分约束的题目 但是最短路spfa的时候注意松弛条件是 if(dis[u]+w[i]<dis[v[i]]) dis[v[i]]=dis[u]+w[i]; 不能写成 if(dis[ ...

  6. CommandLine exe参数

    [Verb("OptionsEntity")] public class OptionsEntity { [Option('a', HelpText = "Plantfo ...

  7. 51nod 1422 沙拉酱前缀

    http://www.51nod.com/onlineJudge/questionCode.html#problemId=1422&noticeId=399940 题意: 思路: 先把所有步骤 ...

  8. Graphics for R

    https://cran.r-project.org/web/views/Graphics.html CRAN Task View: Graphic Displays & Dynamic Gr ...

  9. 【Java】【THINK】

    1. 新建类,应优先考虑“组织”对象,而不是继承.这样可以保持清爽. 2. Java对象&对象句柄: 声明了一个类型的变量也就是声明了一个该类型的对象.但是这个对象只是个抽象的概念,并不会在内 ...

  10. BZOJ 4584 【APIO2016】 赛艇

    题目链接:赛艇 讲道理好好的Boat为啥要翻译成赛艇呢……题面中不也是划艇么…… 这道题考虑一下dp.由于划艇数量过于庞大,所以肯定不能直接记录到dp状态中.所以一个想法就是把数量离散化,然后把每个学 ...