关于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. Python3 tkinter基础 Listbox Button 点击按钮删除选中的单个元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. tp框架中的一些疑点知识-2

    tp中有三种常量: 预定义常量, 这个设置后不会随环境的改变而改变的,比如'URL_MODEL' => 1 注意是 model, 不是 url_mode 路径常量, 也不会随环境的改变而改变的, ...

  3. 【配置】log4j.properties 详解与配置步骤

    一.Log4j基本使用方法 Log4j由三个重要的组件构成:[日志信息的优先级],[日志信息的输出目的地],[日志信息的输出格式]. 日志信息的优先级从高到低有ERROR.WARN. INFO.DEB ...

  4. P3412 仓鼠找sugar II

    思路 挺神的概率期望.. 好吧是我太弱了,完全没有往那里想 注意期望是具有线性性的,一条路径的期望可以变成每条边的期望求和 概率是某件事发生的可能性,期望是某件事确定发生的代价 首先没有终点的条件并不 ...

  5. Vue.extend提供自定义组件的构造器

    Vue.extend 返回的是一个“扩展实例构造器”,也就是预设了部分选项的Vue实例构造器.经常服务于Vue.component用来生成组件,可以简单理解为当在模板中遇到该组件名称作为标签的自定义元 ...

  6. Could not stop Cortex-M device! please check the JTAG cable的解决办法

      今天程序烧录后,进行调试时keil提示:Could not stop Cortex-M device!  please check the JTAG cable   如图: 于是我在网上搜了一下, ...

  7. 【ASP.NET】System.Web.Routing - Route Class

    Provides properties and methods for defining a route and for obtaining information about the route. ...

  8. Cas单点登录配置数据查询用户

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  9. 七、面向对象编程(OOP)

    面向对象编程:一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 1.类(class) class:自定义的对象数据类型.基于类创建多个对象,每个对象具备类的通用行 ...

  10. 查看iis对应w3wp.exe显示的进程ID号

    1.任务管理器,查看,选择列,选择PID(进程标识符) 2.通过cmd查询: 管理员身份运行cmd,跳转到C:\Windows\System32\inetsrv目录,然后运行appcmd list w ...