一、实验内容

1、动手实践任务一

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

2、动手实践任务二:分析Crackme程序

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。

3、分析实践任务一

分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:

1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;

2、找出并解释这个二进制文件的目的;

3、识别并说明这个二进制文件所具有的不同特性;

4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;

5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;

6、给出过去已有的具有相似功能的其他工具;

7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?

4、分析实践任务二:Windows 2000系统被攻破并加入僵尸网络

任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:

1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?

2、僵尸网络是什么?僵尸网络通常用于什么?

3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?

4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?

5、那些IP地址被用于攻击蜜罐主机?

6、攻击者尝试攻击了那些安全漏洞?

7、那些攻击成功了?是如何成功的?

二、实验相关知识

1、恶意代码

恶意代码(Unwanted Code)是指没有作用却会带来危险的代码,一个最安全的定义是把所有不必要的代码都看作是恶意的,不必要代码比恶意代码具有更宽泛的含义,包括所有可能与某个组织安全策略相冲突的软件。

2、恶意代码的类别

计算机病毒:是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。

蠕虫:蠕虫病毒是一种常见的计算机病毒。它是利用网络进行复制和传播,传染途径是通过网络和电子邮件。它能传播它自身功能的拷贝或它的某些部分到其他的计算机系统中(通常是经过网络连接)。与一般病毒不同,蠕虫不需要将其自身附着到宿主程序,蠕虫病毒一般是通过1434端口漏洞传播。

恶意移动代码:恶意移动代码是一段计算机程序,能够在计算机或网络之间传播,未经授权、故意修改计算机系统。一般来说,公认的恶意移动代码的变异型可以分为3类:
病毒类、蠕虫类和木马程序。

后门:后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。

特洛伊木马:如今黑客程序借用其名,有“一经潜入,后患无穷”之意,特洛伊木马没有复制能力,它的特点是伪装成一个实用工具,诱使用户将其安装在PC端,从而秘密获取信息。

僵尸程序:僵尸程序通过聊天室,文件共享网络感染存在漏洞的计算机。这些被感染的计算机所保存的 信息都可被黑客随意取用。

内核套件:用以获取并保持最高控制权的一类恶意代码。

3、 计算机病毒

计算机病毒基本特性:感染性:最本质的特性;潜伏性:感染后并非立即开始行动;
可触发性:满足特定条件触发破坏机制;破坏性:目的有二,一种为炫耀技术,另一种为删除文件、格式化磁盘的真实破坏;衍生性:一种病毒可衍生为多种病毒。

计算机病毒传染目标:可执行文件、引导扇区、支持宏指令的数据文件。

计算机病毒传播机制:计算机病毒被触发后,就会寻找宿主程序并开始复制(这个过程跟人类感染病毒是类似的,病毒疯狂复制RNA),病毒一般寄生在上述三个位置:即可执行文件、引导扇区、支持宏指令的数据文件,同时它的传播需要借助人类,而不是自动从一台电脑到另一台电脑.

计算机病毒传播渠道:主要是移动存储、电子邮件下载、共享目录等。

4、网络蠕虫

网络蠕虫起步晚,但破坏性远超前几代,且无需借助人类外力即可自动复制传播,且网络蠕虫的传播必须借助网络。

网络蠕虫组成结构:由两部分组成:一个主程序和另一个是引导程序。主程序一旦在计算机中得到建立,就可以去收集与当前机器联网的其他机器的信息,它能通过读取公共配置文件并检测当前机器的联网状态信息,尝试利用系统的缺陷在远程机器上建立引导程序。就是这个一般被称作是引导程序的小程序,把蠕虫病毒带入了其他的机器中。如果细分主要是五个部分:弹头、传播引擎、目标选择算法、扫描引擎、有效载荷。

5、后门与木马

单论定义而言,后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法,而木马则是一种隐藏恶意功能“装好人”的软件。将提供对受害计算机远程控制的程序均视为木马是错误的,他们应该被视为后门,木马属于一个更小的概念,即将后门工具伪装成良性程序,才应该是木马。

6、僵尸程序

僵尸网络是网络蠕虫、后门程序、特洛伊木马等传统恶意代码形态的基础上发展融合而成的新型攻击方式,其攻击者出于恶意目的,传播僵尸程序控制大量主机它区别于其他攻击方式的特性是一对多的命令与控制机制。

僵尸程序功能组成结构:其主要分为主体功能模块和辅助功能模块,其中主体功能模块主要包括命令与控制模块和传播模块,辅助功能模块主要包括信息窃取模块、主机控制模块、下载更新模块、防分析检测模块。

僵尸程序工作机制:渗透攻击、加入服务器、动态影射至IRC服务器、加入IRC信道、监听命令、接收命令、执行攻击。

7、恶意代码分析方法

恶意代码分析与针对良性代码和软件的程序分析技术,都可以采用通用的代码分析技术来作为基础,主要包括静态分析和动态分析方法,来对代码进行逆向工程(Reverse Engineering)来确定其功能。

恶意代码分析环境:主要有恶意代码发烧友的分析环境和基于虚拟化构建恶意代码分析环境。

恶意代码静态分析技术:反病毒扫描、文件格式识别、字符串提取分析、恶意代码实例名、帮助或命令行选项、用户会话、后门口令、相关URL信息、Email地址、包含库文件和函数调用、二进制结构分析、反汇编与反编译、代码结构与逻辑分析、加壳识别与代码脱壳。

恶意代码动态分析技术:基于快照对比的分析方法和工具。

系统动态行为监控方法:文件行为监控软件、进程行为监控软件、注册表监控软件、本地网络栈行为监控软件。

网络协议栈监控方法:沙箱技术、动态调试技术。

三、实验过程

1、动手实践任务一

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

打开虚拟机WinXP Attacker,输入指令“cd 桌面”,进入所提供的rada.exe目录,输入命令“file rada.exe”,查看rada的文件类型为32-bit操作系统下的PE文件,并且有GUI界面。

输入命令“strings RaDa.exe”,查看RaDa.exe中可打印字符串,发现都是乱码,推测是加壳导致。

首先使用PEiD工具,查看rada的基本信息。可以看到文件的入口点为0000FD20、文件偏移为00004120、EP段为JDR1,加壳类型为UPX壳。

用超级巡警工具对RaDa.exe文件进行脱壳。

输入命令strings RaDa_unpacked.exe,查看脱壳后的rada.exe中可打印的字符串,发现有大量的函数调用名。

打开软件IDA Pro Free ,选择脱壳后的文件RaDa_unpacked.exe。

在string界面中,类型选择Unicode编码。

可以看到作者信息:Authors:Raul Siles & David Perez,2004。

2、动手实践任务二:分析Crackme程序

任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。

执行命令“file crackme1.exe”和“file crackme2.exe”查看两个的文件信息。通过输出可以判断这两个文件均为windows系统下运行的32-bit可执行程序,是命令行程序,没有图形界面。

输入命令“crackme1.exe”,尝试运行该程序。根据输出判断缺乏相关口令。

使用IDA pro Free工具打开crackme1.exe进行分析,选项均选择默认。

在Strings页面上可以看到该程序中出现的明文字符串,发现了刚刚没看到过的另外两个字符串“I know the secret”和“You know how to speak to programs, Mr.Reverse-Engineer”,因此我们猜测“I know the secret”是我们需要的口令,“You know how to speak to programs, Mr.Reverse-Engineer”是口输入令正确时的程序反馈信息。

接下来,我们输入crackme1.exe ”I know the secret”,以验证刚刚口令为“I know the secret”的猜想,得到了程序反馈信息“You know how to speak to programs, Mr.Reverse-Engineer”,说明猜想正确。

在IDA上选择view—graphs—function calls。发现其中包含函数fprintf和printf ,通过分析判断sub_401280即为核心函数。

按照以下步骤进行,view–graph–Flow chart,打开sub_401280函数的流程图,发现该函数首先判断参数个数是否为2,若参数个数不为2时输出I think you are missing something,若参数个数为2则会将第二个输入与I know the secret作比较,正确则输出You know how to programs,与测试一致。



下面分析crackme2.exe。
输入命令“cd 桌面”,“cd crackeme” 进入文件,之后输入试探命令“crackme2.exe”。

接下来使用IDA pro Free工具打开crackme2.exe进行分析,选择文件类型为PE。在Strings页面可以看到该程序中出现的明文字符串,可以发现前五个中有两个是见过的。

按照以下步骤,view–graphs–function calls查看函数调用图,查看字符串操作输出的相关的函数,重点查看程序段401280。

查看流程图。

最后输入copy crackme2.exe crackmeplease.exe 和crackmeplease.exe “I know secret”,得到结果 We have a little secret:Chocolate。

3、分析实践任务一

分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:

(1)提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;

输入命令md5sum Rada.exe,得到md5摘要为“caaa6985a43225a0b3add54f44a0d4c7”

(2)找出并解释这个二进制文件的目的;

该文件下载后门到目标主机,发动DOS攻击,与10.10.10.10主机进行了通信,并查询了Mac地址。

(3)识别并说明这个二进制文件所具有的不同特性;

该文件会添加注册列表、移动文件位置至C盘,并与10.10.10.10建立相关连接,接收相关指令并执行相关指令。

(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;

采用了UPX加壳技术,直接对文件进行解析会呈现乱码形式,然而被脱壳。

(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;

对该文件分析时,未发现其包含自主传播的部分因此判断其不是病毒或蠕虫,并且该程序没有附加在邮件等,判断也不是木马。攻击者利用该程序远程接收执行命令,判断为后门程序或者僵尸程序。

(6)给出过去已有的具有相似功能的其他工具;

木马Bobax,特洛伊木马Setiri。

(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?

Raul siles和David Perze于2004年开发所得。

具体分析操作如下所示。
在命令行输入“md5sum RaDa.exe”指令,得到其md5摘要值。

首先,打开实践可能用到的软件。

打开WireShark进行监听,运行之后打开Process Monitor,输入过滤条件 Process Name is RaDa.exe,并运行RaDa程序。

从这里可以看到文件RaDa.exe被复制到了C:\RaDa\bin目录下,并且新建了temp目录,并且可以看到很多注册表的操作。

之后我们可以进行验证,RaDa.exe的确被复制到了C:\RaDa\bin目录下。

分析发现该恶意程序中可执行DDos拒绝服务攻击。

我们还发现该恶意程序对主机注册表进行了读写和删除操作。

在命令行输入“regedit ”进入注册表,打开注册表杳看并未发现关于RaDa的信息,恶意程序已经删除了注册表信息。

接下来执行了上传、下载、屏幕截图、休眠等命令。

还发现了作者信息。

还发现了查询受害主机上可用的网路适配器的数据库查询语句。

输入“file RaDa.exe”,显示是32位PE文件,并且还是GUI文件。

查看软件process explore,发现该恶意程序通过http连接到目标为10.10.10.10的主机下的一个名为“RaDa_commands”的网页上,然后分别下载和上传某些文件,并且在受害主机C盘目录C:\RaDa\tmp下来保存其下载的文件。

4、分析实践任务二:Windows 2000系统被攻破并加入僵尸网络

任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:

(1)IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?

IRC是Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天,相比于ICQ来说,它更具人性化,而且是即时式的聊天,更接近真实的聊天情景,它的特点是速度快。
IRC的工作原理非常简单,只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。所有用户可以在一个被称为"Channel"(频道)的地方就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称)。
申请加入前要先注册,注册时需要发三种信息:用户信息USER、口令PASS 以及昵称NICK、注册完成后,客户端就可以使用JOIN 信息来加入频道。
IRC通常使用6660-6669端口,其中一般使用6667端口进行明文通信,如果是使用SSL进行加密通信则使用6697端口。

(2)僵尸网络是什么?僵尸网络通常用于什么?

僵尸网络是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。
往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。还有监听用户敏感信息、记录键盘输入信息、扩散新的恶意软件和伪造点击量等。

(3)蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?

在wireshark中打开文件botnet_pcap_file.dat,以ip.addr == 172.16.134.191&&tcp.port == 6667作为筛选条件,发现蜜罐主机与5台IRC服务器进行了连接,分别是:209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10、209.196.44.172。

(4)在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?

首先输入命令” sudo apt-get install tcpflow“,安装tcpflow工具。

使用命令:tcpflow -r botnet_pcap_file.dat “host 209.196.44.172 and port 6667”,发现产生了三个文件,主要包括一份报告report.xml(包括上述双方的ip地址,端口,mac地址,通信时间)等。以及两个分流后的数据文件209.196.044.172.06667-172.016.134.191.01152、172.016.134.191.01152-209.196.044.172.06667。

利用管道命令:cat 209.196.044.172.06667-172.016.134.191.01152 | grep -a “^:irc5.aol.com 353” | sed “s/^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x

20222928 2022-2023-2 《网络攻防实践》实践八相关推荐

  1. 20155235 《网络攻防》 实验八 Web基础

    20155235 <网络攻防> 实验八 Web基础 实验内容 Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表 ...

  2. 2017-2018-2 20179216 《网络攻防与实践》第六周总结

    学习内容总结 第五章 TCP/IP网络协议攻击 1. 网络安全属性与攻击模式 网络安全是指网络系统的硬件.软件及其系统受到保护,不受偶然的或者恶意的原因而遭到破坏.更改.泄漏,系统连续可靠正常运行,网 ...

  3. 20189311《网络攻防》第八周作业

    学习<python黑帽子>七.八章 第7章 基于github的命令和控制 运行代码时报错: 查阅资料得知recurse()属性被移除,做一下修正: pull一下,发现多了两个文件: 可以看 ...

  4. 2017-2018-2 20179216 《网络攻防与实践》 第四周总结

    教材学习内容总结 网络嗅探 网络嗅探(sniff)是一种黑客常用的窃听技术,利用计算机的网络接口截获目的地为其他计算机的数据报文,以监听数据流中所包含的用户账户密码或私密通信等.实现网络嗅探的工具称为 ...

  5. 2017-2018-2 20179216 《网络攻防与实践》 SQL注入攻击

    1. SQL语言 结构化查询语言(Structured Query Language)简称SQL:是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系 ...

  6. 2023 HGAME网络攻防大赛wp

    目录 WEEK1 MISC e99p1ant_want_girlfriend 神秘的海报 Where am I Crypto 兔兔的车票 神秘的电话 Be Stream WEEK2 WEEK1 MIS ...

  7. 20189307《网络攻防》第八周作业

    教材学习内容总结 1.1 linux操作系统基本框架概述 发展出众多操作系统发行版:ubuntu.debian.fedora.centos.rhel.opensuse和stackware等. 优势 开 ...

  8. 2017-2018网络攻防技术第八周作业

    课本第八章总结 1.Linux操作系统发展与现状 在统一内核代码库的基础上,Linux开源社区根据不同用户群体的需求,也发展出数量众多的操作系统发行版,流行的包括Ubuntu.Debian.Fedor ...

  9. 20169210 2016-2017-2《网络攻防实践》第五周作业

    教材学习内容总结 Web应用程序安全攻防 1. SQL注入攻击步骤: 1 发现SQL注入点 2 判断后台数据库类型 3 后台数据库中管理员用户口令字猜解 4 上传ASP后门,得到默认账户权限 5 本地 ...

  10. 20169212 2016-2017-2 《网络攻防实践》第四周学习总结

    20169212 2016-2017-2 <网络攻防实践>第四周学习总结 教材学习中的问题和解决过程 wireshark学习 主机:Kali ip:192.168.1.117 目标:www ...

最新文章

  1. Udacity机器人软件工程师课程笔记(二十一) - 对点云进行集群可视化 - 聚类的分割 - K-means|K均值聚类, DBSCAN算法
  2. 还在为cximage编译问题而发愁吗?
  3. 【Android View事件分发机制】滑动冲突
  4. 《》猿从程序书评项目经理-猿自办节目
  5. ASP.Net页面刷新后自动滚动到原来位置
  6. LeetCode 130. 被围绕的区域(图的BFS/DFS)
  7. 【译】Part 1: 介绍和安装
  8. 为什么 Python 4.0 会与 Python 3.0 不同?
  9. 遗传算法python实现
  10. 【重识云原生】第三章云存储第一节——分布式云存储总述
  11. 简约商务风ppt模板推荐
  12. 手披云雾开鸿蒙,赞美泰山的诗句
  13. 序列化和反序列化(示例)
  14. appcan与java_AppCan试用体验
  15. lae界面开发工具入门之介绍十一--安卓系统如何编译打包?
  16. 计算机理论指导论文,关于计算机理论论文集锦-20210705011555.docx-原创力文档
  17. ueditor+实现word图片自动上传
  18. MySQL自增列之起始与步长
  19. depth image
  20. matlab 人人,matlab pivlab

热门文章

  1. 计算及绘制天线阵列模式图
  2. 【架构师】零基础到精通——微服务治理
  3. 通过emmc分区挂载根文件系统
  4. Excel VBA 锁定特定单元格
  5. MTK wifi AP mode/wifi 热点模式的相关问题
  6. Python实现 体育竞技问题分析(嵩天老师)
  7. 2016年的年终总结
  8. 音速启动软件,让电脑桌面变的简单、快捷。
  9. Undefined symbols for architecture i386和”_OBJC_CLASS_$_xx文件名, referenced from:
  10. 实现一款俄罗斯方块小游戏非常简单!但是要实现AI自动俄罗斯方块才算牛逼!