一、实践内容
恶意代码
恶意代码(Unwanted Code)是指故意编制或设置的、对网络或系统会产生威胁或潜在威胁的计算机代码。最常见的恶意代码有计算机病毒(简称病毒)、特洛伊木马(简称木马)、计算机蠕虫(简称蠕虫)、后门、逻辑炸弹等。
恶意代码的分类
恶意代码的分类标准主要是代码的独立性和自我复制性,独立的恶意代码是指具备一个完整程序所应该具有的全部功能功能,能够独立传播、运行的恶意代码,这样的恶意代码不需要寄宿在另一个程序中。非独立恶意代码只是一段代码,必须嵌入某个完整的程序中,作为该程序的一个组成部分进行传播和运行。对于非独立恶意代码,自我复制过程就是将自身嵌入宿主程序的过程,这个过程也称为感染宿主程序的过程。对于独立恶意代码,自我复制过程就是将自身传播给其他系统的过程。不具有自我复制能力的恶意代码必须借助其他媒介进行传播。
不同恶意代码的区别
病毒侧重于破坏系统和程序的能力
木马侧重于窃取敏感信息的能力
蠕虫侧重于网络中的自我复制能力和自我传染能力
二、实践过程
动手实践任务一
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
1、使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
从学习通下载rada.rar解压后移植到WinXPattacker中,然后查找到RaDa.exe的路径
通过命令“cd C:\Documents and Settings\Administrator\桌面”打开指定目录,在该目录下输入命令“file RaDa.exe”即可查看RaDa的文件类型
由图可知RaDa是一个32位的exe文件,另外PE代表Portable Executable,说明这是一个可执行文件,GUI代表Graphical User Interface,说明这个文件具有图形化窗口
找到PEiD工具,使用它查看RaDa.exe的加壳工具
由图可知RaDa.exe文件的入口点、文件偏移、EP段、首字节等信息,且加壳工具为UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo
输入命令“strings RaDa.exe” 提取RaDa.exe文件中可打印的字符串,显示一堆乱码
2、使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
找到超级巡警脱壳机,选择RaDa.exe对其脱壳,得到脱壳后的文件RaDa_unpacked.exe
再次输入命令“strings RaDa_unpacked.exe” 提取脱壳后RaDa_unpacked.exe文件中可打印的字符串,结果如图所示,都是调用函数
3、使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
找到IDA Pro Free工具,选择RaDa_unpa