第一章 Lab
关于Lab
教材恶意代码分析实战
课后练习恶意代码样本https://practicalmalwareanalysis.com或https://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 查找字符串
步骤:
- 下载Strings
- cmd -> 进入下载的strings.exe可执行文件所在文件夹 -> 使用 strings 命令查看
附图:
cmd:

strings.exe所在文件夹:

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

Lab 1-2
脱壳工具UPX下载
解压压缩包,脱壳步骤如下:
cmd -> 进入下载的upx.exe可执行文件所在文件夹 ->
upx -o newFilename -d originalFilename注:-d 选项表示对文件进行脱壳,-o 选项指定了输出文件名
附图:
cmd:

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

第一章 Lab的更多相关文章
- 读高性能JavaScript编程 第一章
草草的看完第一章,虽然看的是译文也是感觉涨姿势了, 我来总结一下: 由于 大多数浏览器都是 single process 处理 ui updatas and js execute 于是产生问题: js ...
- 《深入理解计算机系统》(CSAPP)读书笔记 —— 第一章 计算机系统漫游
本章通过跟踪hello程序的生命周期来开始对计算机系统进行学习.一个源程序从它被程序员创建开始,到在系统上运行,输出简单的消息,然后终止.我们将沿着这个程序的生命周期,简要地介绍一些逐步出现的关键概念 ...
- 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...
- MyBatis3.2从入门到精通第一章
第一章一.引言mybatis是一个持久层框架,是apache下的顶级项目.mybatis托管到goolecode下,再后来托管到github下.(百度百科有解释)二.概述mybatis让程序将主要精力 ...
- Nova PhoneGap框架 第一章 前言
Nova PhoneGap Framework诞生于2012年11月,从第一个版本的发布到现在,这个框架经历了多个项目的考验.一直以来我们也持续更新这个框架,使其不断完善.到现在,这个框架已比较稳定了 ...
- 第一章 MYSQL的架构和历史
在读第一章的过程中,整理出来了一些重要的概念. 锁粒度 表锁(服务器实现,忽略存储引擎). 行锁(存储引擎实现,服务器没有实现). 事务的ACID概念 原子性(要么全部成功,要么全部回滚). 一致性 ...
- 第一章 Java多线程技能
1.初步了解"进程"."线程"."多线程" 说到多线程,大多都会联系到"进程"和"线程".那么这两者 ...
- 【读书笔记】《编程珠玑》第一章之位向量&位图
此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
随机推荐
- Python3 tkinter基础 Listbox Button 点击按钮删除选中的单个元素
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- tp框架中的一些疑点知识-2
tp中有三种常量: 预定义常量, 这个设置后不会随环境的改变而改变的,比如'URL_MODEL' => 1 注意是 model, 不是 url_mode 路径常量, 也不会随环境的改变而改变的, ...
- 【配置】log4j.properties 详解与配置步骤
一.Log4j基本使用方法 Log4j由三个重要的组件构成:[日志信息的优先级],[日志信息的输出目的地],[日志信息的输出格式]. 日志信息的优先级从高到低有ERROR.WARN. INFO.DEB ...
- P3412 仓鼠找sugar II
思路 挺神的概率期望.. 好吧是我太弱了,完全没有往那里想 注意期望是具有线性性的,一条路径的期望可以变成每条边的期望求和 概率是某件事发生的可能性,期望是某件事确定发生的代价 首先没有终点的条件并不 ...
- Vue.extend提供自定义组件的构造器
Vue.extend 返回的是一个“扩展实例构造器”,也就是预设了部分选项的Vue实例构造器.经常服务于Vue.component用来生成组件,可以简单理解为当在模板中遇到该组件名称作为标签的自定义元 ...
- Could not stop Cortex-M device! please check the JTAG cable的解决办法
今天程序烧录后,进行调试时keil提示:Could not stop Cortex-M device! please check the JTAG cable 如图: 于是我在网上搜了一下, ...
- 【ASP.NET】System.Web.Routing - Route Class
Provides properties and methods for defining a route and for obtaining information about the route. ...
- Cas单点登录配置数据查询用户
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 七、面向对象编程(OOP)
面向对象编程:一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 1.类(class) class:自定义的对象数据类型.基于类创建多个对象,每个对象具备类的通用行 ...
- 查看iis对应w3wp.exe显示的进程ID号
1.任务管理器,查看,选择列,选择PID(进程标识符) 2.通过cmd查询: 管理员身份运行cmd,跳转到C:\Windows\System32\inetsrv目录,然后运行appcmd list w ...