20222318 2024-2025-1 《网络与系统攻防技术》实验四实验报告

1. 实验内容

1.1 实验任务

(1)恶意代码文件RaDa.exe类型标识、脱壳与字符串提取。

(2)使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。

(3)分析一个自制恶意代码样本rada,并撰写报告,回答问题。

(4)取证分析实践:对于Snort收集的蜜罐主机5天的网络数据源进行分析,回答问题。

1.2 基础知识

(1)恶意代码的概念

恶意代码(Malicious Code)是指那些具有恶意目的、旨在对计算机系统造成损害或窃取信息的软件,恶意代码主要包括以下几类:

①计算机病毒:这类恶意软件会感染其他文件或程序,并在执行时执行恶意操作。它们通常具有复制传染部件、隐藏部件和破坏部件,能够自我复制、隐藏并破坏系统。

②蠕虫:与病毒类似,蠕虫可以自我复制并通过网络传播,不需要依赖宿主文件。它们能够扫描网络上的漏洞,并利用这些漏洞进行传播和攻击。

③特洛伊木马:伪装成有用或无害的程序,实际上在用户不知情的情况下执行恶意操作,如窃取信息、远程控制等。木马通常具有伪装能力,能够隐蔽执行非法功能。

④勒索软件:加密或锁定用户文件,然后勒索赎金以解锁或恢复文件。勒索软件是一种近年来兴起的恶意代码类型,对用户的数据安全构成严重威胁。

⑤后门:在软件或系统中故意留下的、未公开或未记录的入口或通道,允许未经授权的用户或程序绕过正常的安全机制进行访问或操作。

⑥僵尸网络:采用一种或多种传播手段,将大量主机感染僵尸程序(Bot程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。这些被感染的主机被称为“僵尸主机”,它们会接收并执行来自控制者的指令,形成一个庞大的、可控制的网络。

(2)恶意代码分析技术

恶意代码分析技术主要包括静态分析和动态分析两大类。

(一)静态分析:在不执行恶意代码的情况下,通过对其代码结构、特征和行为模式进行分析来识别恶意代码的技术。

常见的静态分析技术包括:

①特征码扫描技术:这是恶意代码检测的基石,通过检测二进制文件中是否含有已知的恶意代码特征值来判断文件是否存在威胁。这些特征值通常是人工逆向提取出来的含有一定意义的16进制码,也可能是由程序自动提取得到的特征码。特征码扫描技术依赖于一个庞大的特征库,其中包含了已知恶意代码的各种特征。

②基于签名的扫描技术:这种技术通过计算文件的签名并与已知的恶意代码签名库进行比对,来识别恶意代码。但需要注意的是,它并没有对文件内容进行深入分析。

③导入表分析技术:这是一种启发式扫描技术,通过为不同的API(应用程序编程接口)赋予不同的权值,当一个程序调用的API总和权值累积到阈值时,即可判定为恶意程序。但该技术无法识别病毒的具体类型或名称。

(二)动态分析:在执行恶意代码的过程中,通过监视其行为和对系统的影响来识别恶意代码的技术。

常见的动态分析技术包括:

①外部观察法:利用系统监视工具观察恶意代码运行过程中系统环境的变化,通过分析这些变化判断恶意代码的功能。例如,恶意代码可能会修改系统注册表、系统文件或系统配置,通过观察这些变化可以分析恶意代码的自启动实现方法和进程隐藏方法。此外,恶意代码通常会有一些特别的网络行为,通过观察其网络活动情况可以了解恶意代码的网络功能。

②启发式扫描技术:这种技术也依赖于特征库,但与特征码静态扫描不同的是,启发式扫描会实时检测系统中存在的进程,并为其累积权值。当进程作出一些敏感行为(如修改注册表、格式化磁盘等)时,会为该进程增加权值。当一个进程权值达到设定的阈值时,即可判定该程序存在恶意行为。启发式扫描可以检测未知的恶意程序,并且还可以排除二进制文件加壳而导致的漏报。

③沙盒模拟技术:沙盒分析法也是一种动态分析方法,它将待检测文件置于一个模拟的、可控的虚拟环境中运行,通过分析其行为以及函数调用来对其威胁性打分。得益于这种代码仿真技术,沙盒分析法可以弥补启发式扫描的不足,减小了不必要的损失。

2. 实验过程

2.1恶意代码文件RaDa.exe类型标识、脱壳与字符串提取

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:

2.1.1使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;

首先将主机上下载的RaDa.rar解压缩,传输到虚拟机中。

在虚拟机RaDa所在目录下输入命令file RaDa.exe,对RaDa进行格式分析。

根据输出结果分析:文件的格式是可执行文件exe(executable),运行平台是win32(PE32、for MS Windows),文件运行时有图形界面(GUI),文件包含三个节(3 sections)。

继续分析RaDa采用的加壳工具:在主机上使用PEiD对RaDa.exe进行分析。

可以发现使用的加壳工具是0.89.6版本的UPX。

2.1.2使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;

在进行脱壳前,先试着使用字符串提取工具,对RaDa进行分析。

在虚拟机中输入strings RaDa.exe,结果发现是一堆乱码。也进一步说明了RaDa有进行加壳处理。

在主机上使用学习通上下载的脱壳器对RaDa.exe进行脱壳,生成RaDa_unpacked.exe。将脱壳后的exe文件传入虚拟机中。

2.1.3使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

再输入strings RaDa_unpacked.exe进行分析。

往下翻会看到一些明文,确定脱壳完成。

继续翻会看到(c)标识,后面跟着两个像人名的东西。推测(c)指copyrights标识,而作者就是 Raul Siles 和 David Perez. 生产日期是2004年9月(比我小一点hhh)。

2.2使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。

2.2.1 对crackme1.exe进行分析。

先在主机命令行界面中直接运行crackme1.exe。在输入少于或多于一个参数时会输出“I think you are missing something.”。而在输入一个参数时会输出“Pardon?What did you say?”,合理推测应该输入一个参数,关键在于找到这个正确的参数。

下载课程群里的IDA汉化版后,在主机打开IDA,利用IDA对crackme1.exe进行分析。

在函数列表点击main函数后,通过 视图(View)-> 图表 -> 流程图 查看main函数的流程。

可以很明显地看到两个判断条件,第一个条件如果不满足就会输出“I think you are missing something.”,满足之后会继续判断,可以看到将“I know the secrect”压入了栈中,并调用了strcmp函数进行第二次判断。如果第二个条件不满足会输出“Pardon?What did you say?”,满足了就会输出"You konw how to speak to programs,......"。由此基本可以推断需要输入的正确参数是“I know the secret”。

补充:直接在IDA - View A双击查看main函数也可以分析出这层关系。

也可以完全不关心逻辑关系,直接简单粗暴在 视图 -> 打开子视图 -> 字符串,查看程序输入所涉及的字符串,然后再根据字符串含义推断输入。双击对应字符串也可以跳转到汇编代码部分,进而验证猜想。

2.2.2 对crackme2.exe进行分析。

同上,先尝试直接运行crackme2.exe。

这次参数数量为1时提示不同了,为"I have an identity problem."

同样再尝试在IDA查看main函数流程图。

可以看到三个判断条件,第一个条件如果不满足就会输出“I think you are missing something.”,满足之后会继续判断,可以看到将“crackmeplease.exe”压入了栈中,并调用了strcmp函数进行第二次判断。如果第二个条件不满足会输出“I have an identity problem”,满足了又会将“I know the secret”压入栈中调用strcmp进行第三次比较,如果条件不满足会输出“Pardon? What did you say?”,条件满足后会进行下面的流。由此可以推测需要将文件名改成“crackmeplease.exe”,并且参数依然唯一,是“I know the secret”。

修改完文件名后再次输入一个错误参数,可以看到确实弹出了:Pardon?What did you say?进一步验证前面的猜想。

补充:IDA - View A下查看main函数调用关系也可以推测,方法同上。

暴力字符串猜测法依然好用~

双击对应字符串可以跳转到对应汇编代码部分。

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

在主机中打开process explorer,双击运行Rada_unpacked.exe,此时会弹出如下提示框,不要点确定或是关闭。

此时在process explorer可以找到正在运行的RaDa进程,双击后查看Strings窗口。

在Strings窗口中,可以看到如下图的一些重要信息。

对这些信息进行分析,其操作可能是:

(1)网络访问和CGI脚本
http://10.10.10.10/RaDa 可能是恶意软件尝试访问的某个Web服务器。

RaDa_commands.htmlcgi-bindownload.cgiupload.cgi可能是该Web服务器上的资源或脚本,用于数据传输或执行命令。

(2)文件系统操作
C:\RaDa\tmpC:\RaDa\bin可能是恶意软件在创建目录,用于存放一些内容,比如字符串中包含的RaDa.exe。

(3)注册表操作
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ 这是Windows注册表中的一个路径,用于存储启动时自动运行的程序。

RaDaREG SZC:\Rada\binRaDa.exe这表明恶意软件可能已经或试图将RaDa.exe添加到系统的启动项中,以便每次系统启动时自动运行。

HKLM\Software\VMware, Inc.\VMware Tools\InstallPath这个注册表路径与VMware Tools的安装路径有关,可能被恶意软件用于检测或修改VMware环境。

(4)DDos攻击
Starting DDoS Smurf remote attack...这明确指出了恶意软件尝试进行Smurf攻击(属于DDOS攻击的一种)。这种攻击中,攻击者通过向一个或多个计算机网络发送带有欺骗性源地址的ICMP请求,这些网络在响应这些请求时,实际上是在帮助攻击者放大初始攻击流量,从而可能压倒目标服务器,使其无法正常访问。

(5)脚本和注册表操作代码
Scripting.FileSystemObjectWscript.Shell这些是VBScript中用于文件操作和脚本执行的对象。

RegWriteRegReadRegDelete这些是VBScript中用于修改注册表的函数。

下面对实验要求问题进行回答:

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


由上图可以得出:

文件基本信息:文件的格式是可执行文件exe(executable),运行平台是win32(PE32、for MS Windows),文件运行时有图形界面(GUI),文件包含三个节(3 sections)。

摘要:caaa6985a43225a0b3add54f44a0d4c7。

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

根据上述信息分析:该文件可能是想在网站上下载恶意软件并安装到自己的目录下,同时修改注册表,试图自启动/自销毁,并发动Smurf攻击。

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

①它会在注册表中进行修改操作。 ②它会在文件系统中进行创建目录、下载文件等操作。 ③它会发动DDoS攻击。

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

这个文件采用了UPX加壳。UPX会在可执行文件的头部插入一段壳代码,这段壳代码负责在程序运行时解压原始程序的代码,并跳转到原始程序的入口点执行。UPX的本意是进行压缩,然而也可以用于混淆,防止被分析或逆向工程。

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

这是个僵尸网络恶意代码。因为僵尸网络通畅用于进行DDoS攻击。不考虑是病毒/蠕虫的原因是,这个程序并没有表现出自我复制的特点,可以考虑是后门,但是这个软件进行的远程控制是特定的进行DDoS,这个控制行为可以更加细化成僵尸网络。

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

①Eggdrop:出现时间:1993年
用途:Eggdrop是第一个在IRC(因特网中继聊天)聊天网络中出现的Bot工具,它能够帮助用户方便地使用IRC聊天网络。虽然Eggdrop本身并非专门用于恶意目的,但它的出现为后来的僵尸网络工具提供了基础。

②PrettyPark:出现时间:1999年
特点:PrettyPark是第一个具有僵尸网络特性的恶意代码,它的出现标志着僵尸网络作为一种新型攻击方式的诞生。

③SDbot和Agobot:发布时间:2002年
影响:SDbot和Agobot的源码在2002年被发布并广泛流传,这使得黑客能够更容易地构建和控制僵尸网络。这些工具的出现,进一步加剧了僵尸网络对网络安全的威胁。

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

可以,上述实验过程中脱壳后使用Strings语句进行分析已发现了开发作者名称,在process explorer的Strings窗口,也可以找到这一信息。

(8)给出至少5种检测该恶意软件的方法,例如基于特征码的方法,需要详细介绍每种方法。

① 基于特征码的方法
原理:基于特征码的检测方法是恶意软件检测中最直接、最基础的方法。每个恶意软件都有其独特的特征码(通常是一段特定的字节序列),这些特征码可以被杀毒软件等安全工具提取并存储在病毒库中。当扫描到文件或程序时,安全工具会将其与病毒库中的特征码进行比对,如果匹配成功,则判定为恶意软件。
优点:高速高效,能够准确识别已知的恶意软件。
缺点:无法检测未知的恶意软件或恶意软件的变种。

② 行为监测法
原理:恶意软件在感染计算机后会表现出一些特殊的行为,如修改系统文件、创建新文件、发送垃圾邮件等。行为监测通过分析计算机的行为和操作记录,检测出是否存在异常行为,从而判断是否有恶意软件的存在。
优点:能够发现未知病毒,具有一定的预报能力。
缺点:误报率较高,实现困难,且对系统资源有一定的消耗。

③ 静态分析法
原理:静态分析法通过对恶意软件本身二进制文件、可执行文件或者通过反编译文件提取到的静态特征进行分析,对比恶意软件与正常软件的静态特征的异同来发现恶意软件。
优点:能够在不运行恶意软件的情况下进行检测,具有一定的准确性。
缺点:由于特征类型单一,混淆或加壳等技术可以让恶意软件逃过检测,使得检测效果下降。

④ 动态分析法
原理:动态分析法通过在虚拟环境中执行恶意软件样本,记录恶意软件的行为特征,如行为日志、系统调用名称、上下文参数、环境变量等,来判定其是否为恶意软件。
优点:能够更全面地分析恶意软件的行为,提高检测的准确性。
缺点:需要恶意软件完整运行后再进行判断,检测时效性较差。此外,攻击者可能通过技术手段让恶意软件避开检测。

⑤ 基于机器学习的检测方法
原理:基于机器学习的恶意软件检测方法利用数据挖掘技术选择数据、特征,再结合机器学习算法完成检测。该方法首先收集恶意软件和正常软件的数据集,进行特征提取;然后选择一种机器学习算法,使用提取的特征集合训练模型;最终使用模型进行恶意软件的检测与判定。

2.4取证分析实践:对于Snort收集的蜜罐主机5天的网络数据源进行分析,回答问题。

背景:Windows 2000系统被攻破并加入僵尸网络,数据源botnet_pcap_file.dat是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:

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

①IRC是一种网络聊天协议,允许用户通过客户端软件连接到IRC服务器,进行实时聊天和信息交换。它常被用于技术交流、兴趣小组讨论、在线游戏社区等多种场景。每个IRC的使用者都有一个Nickname(昵称),可以在一个被称为Channel(频道)的地方就某一话题进行交谈或密谈。

②当IRC客户端申请加入一个IRC网络时,它会发送一个JOIN消息给IRC服务器,以请求加入指定的频道。这个JOIN消息中包含了客户端想要加入的频道的名称。服务器在接收到这个消息后,会检查该频道是否存在以及客户端是否有权限加入,然后返回相应的响应消息给客户端。

③IRC采用TCP通讯方式,默认登录端口为TCP 6667。当TCP 6667端口不通时,IRC客户端会尝试其他不同的TCP端口,直到登录失败。TCP 6667端口是IRC的主要通讯端口,用于客户端与服务器之间的数据传输。

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

①僵尸网络(Botnet)是指在网络上,通过恶意软件(如病毒、蠕虫、特洛伊木马等)控制大量计算机(或智能设备)而形成的网络。这些被控制的计算机被称为“僵尸主机”或“肉鸡”,它们会在黑客的指令下执行各种恶意行为。

②僵尸网络被黑客广泛用于各种恶意行为,包括但不限于:

分布式拒绝服务攻击(DDoS):黑客可以通过僵尸网络向目标服务器发送大量请求,使其资源耗尽,从而无法处理合法用户的请求。

发送垃圾邮件:僵尸网络可以用来发送大量的垃圾邮件,这些邮件可能包含恶意链接、钓鱼网站或广告内容。

窃取敏感信息:僵尸主机上的僵尸程序可以窃取用户的敏感信息,如密码、信用卡号码等,并将其发送给黑客。

传播恶意软件:僵尸网络还可以用来传播其他恶意软件,进一步扩大黑客的攻击范围。

进行网络钓鱼:黑客可以通过僵尸网络发送伪造的电子邮件或消息,诱骗用户点击恶意链接或下载恶意附件。

进行网络监听和攻击:僵尸网络中的僵尸主机可以作为黑客进行网络监听和攻击的平台,用于收集目标系统的信息或发动进一步的攻击。

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

将文件botnet_pcap_file.dat用wireshark打开,将过滤条件设置为ip.src == 172.16.134.191 && tcp.dstport == 6667,根据过滤得到的数据包,结合端点统计信息(统计 -> 端点 -> TCP),得到蜜罐主机与IP地址为63.241.174.14466.33.65.58209.126.161.29209.126.44.172217.199.175.10的这些IRC服务器进行过通信。

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

先在虚拟机安装软件tcpflower,输入命令apt-get install tcpflow即可。

下载完后,输入命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667",这一命令筛选了指定的IP地址和端口。

可以看到在botnet_pcap_file.dat所在目录下新增了三个文件。

我们关心的是访问IP地址为209.196.44.172的主机,所以输入如下命令: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 ://g" | tr ' ' '\n' | tr -d "\15" | grep -v "^$" | sort -u | wc -l

命令解释:

  • grep -a "^:irc5.aol.com 353":查找以 :irc5.aol.com 353 开头的行。

  • sed "s/^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x ://g":在文本中查找所有以 “:irc5.aol.com 353 rgdiuggac @ #x” 开头,后跟零个或多个不是 x 的字符,然后以 x (x 后跟一个空格)结尾的字符串,并将这些字符串删除。

  • tr ' ' '\n'将空格替换为换行符。

  • tr -d "\15"删除回车符。

  • grep -v "^$"删除所有空行。

  • sort -u去除重复的行。

  • wc -l统计文件行数。

可以看到有3461个主机访问了僵尸网络。

(5)哪些IP地址被用于攻击蜜罐主机?

将攻击蜜罐主机的ip筛选出来并输出至文件中:
tcpdump -n -nn -r botnet_pcap_file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > 20222318ex4.txt;wc -l 20222318ex4.txt

命令解释:

  • tcpdump -n -nn -r botnet_pcap_file.dat 'dst host 172.16.134.191'筛选保存的数据包,不要解析ip地址和端口号。
  • awk -F " " '{print $3}'使分隔符为空格,筛选出所有源地址。
  • cut -d '.' -f 1-4将输出整理为ip地址的格式。
  • sort | uniq | more > 20222318ex4.txt排序,删除重复行,按页显示,输出。
  • wc -l 对20222318ex4.txt计算行数并输出。

可以看到有165个IP地址用于攻击蜜罐主机。由于地址过多,下图仅展示文件的开头和结尾。

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

在wireshark中,点击 统计->协议分级,可以看到有tcp包和udp包,tcp包占了绝大部分,tcp占99.7%,udp占0.3%。

在kali终端中输入命令tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191 and tcp[tcpflags]== 0x12' | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq,通过tcpdump工具从指定的网络流量捕获文件中筛选出满足特定条件的TCP数据包,并通过一系列文本处理命令整理出唯一的TCP端口号列表。

从中可以看出响应的端口有135(RPC远程过程调用)、139(NetBIOS/SMB)、25(SMTP简单邮件传输协议)、445(SMB,用于文件、打印机等的共享)、4899(Radmin,用于远程控制)、80(HTTP)。

再使用命令tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq,用于从一个名为botnet_pcap_file.dat的网络流量捕获文件中筛选出源IP地址为172.16.134.191且使用UDP协议的数据包,并提取这些数据包的目的端口号。提取出的端口号经过排序和去重后,生成一个唯一的UDP端口号列表。

从输出中可以看出响应的端口有137(NetBIOS)。

综上,根据攻击的端口号,攻击者可能尝试攻击了如下安全漏洞:

TCP端口分析:

  • 端口135(RPC远程过程调用):RPC服务可能存在未授权访问或缓冲区溢出等漏洞,攻击者可能试图利用这些漏洞进行远程代码执行或数据泄露。

  • 端口139和445(NetBIOS/SMB):这两个端口通常用于Windows系统的文件和打印机共享服务(SMB)。它们可能受到如“永恒之蓝”(EternalBlue)等漏洞的影响,允许攻击者远程执行任意代码或获取系统权限。

  • 端口25(SMTP简单邮件传输协议):SMTP服务可能受到邮件注入、中继攻击等威胁,攻击者可能试图通过发送恶意邮件来传播恶意软件或进行钓鱼攻击。

  • 端口4899(Radmin):Radmin是一款远程控制软件,其端口可能受到暴力破解、未授权访问等威胁。如果攻击者成功获取了Radmin的访问权限,他们将能够远程控制受感染的系统。

  • 端口80(HTTP):HTTP服务可能受到如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等Web应用漏洞的攻击。攻击者可能试图通过这些漏洞获取敏感信息、执行恶意代码或篡改网站内容。

UDP端口分析:

  • 端口137(NetBIOS):NetBIOS服务可能受到名称解析攻击、会话劫持等威胁。虽然UDP协议本身不如TCP协议可靠,但攻击者仍可能试图利用NetBIOS服务的漏洞进行网络扫描、信息收集或拒绝服务(DoS)攻击。

(7)哪些攻击成功了?是如何成功的?

以下将根据不同端口收发的信息进行分析:

①135端口:只看到了正常的三次握手,没有直接的攻击行为。

②139端口:在图中有多条TCP SYN数据包尝试与139端口建立连接,也可以看到NBSS和SMB协议的数据包。NBSS是NetBIOS会话服务的缩写,它用于在网络上的计算机之间建立会话。SMB是一种网络文件共享协议,它允许用户访问服务器上的文件、打印机和其他资源。这些协议的使用通常表示正常的网络通信,但如果它们被用于未经授权的访问或恶意活动,则可能构成攻击。

虽然抓包图中没有直接显示攻击行为的证据(如恶意数据包的注入、异常的数据流量或未授权的访问尝试等),但我们可以注意到一些可能表明潜在安全问题的行为。例如,来自不同源IP地址的多个连接尝试可能表示扫描活动。

综上,姑且不认为139端口遭受了成功攻击。

③25端口:也是只有正常的TCP连接,无异常。

④445端口:

  • 对敏感文件的查询和删除:在数据流中注意到了有几个数据包试图查询和删除\System32\PSEXESVC.EXE文件。PSEXESVC.EXE通常是与PsExec工具相关的服务可执行文件,而PsExec是一个允许用户远程执行命令的工具。如果未经授权地查询或删除此文件,可能表明存在恶意行为。

  • 大量的TCP数据包:此外,还观察到大量的TCP数据包在445端口上进行传输,这些数据包可能是SMB协议的一部分,但也可能用于其他目的(如数据传输、恶意软件通信等)。

综上,认为445端口成功受到了攻击。成功攻击的方式是通过对敏感文件的查询和删除。

⑤4899端口:可以看到数据流中中出现了大量异常的PSH包,这可能表明攻击行为正在发生。例如,在TCP PSH+ACK攻击中,攻击者会发送大量PSH和ACK标志位都设置为1的TCP报文,强制要求接收系统清除所有TCP缓冲区的数据,无论缓冲区是否已满。这种行为会耗尽受害系统的资源,导致系统无法处理大量的流入报文,从而达到攻击的目的。因此,认为4899被成功攻击。

⑥80端口:从抓包图中可以看到多个IP地址包含了HTTP请求(如GET请求)的数据包,请求的路径中包含了大量的'CCCCCCCCCCC'字符,表现出缓冲区溢出攻击的行为。此后也有大量数据交互包,表现出攻击成功。

⑦137端口:所有列出的数据包都是NBNS协议的,且内容主要是“Name query NBSTAT”的查询。
这表明这些数据包是在查询NetBIOS名称服务,而不是直接针对137端口的攻击。

综上,445,489980端口被成功攻击。

3.问题及解决方案

  • 问题1:下载学习通里的PDA安装后无法打开,修改了下载路径(不带空格不带中文)也不行。

  • 问题1解决方案:改成下载群里的汉化版就可以了。

  • 问题2:对于一些恶意代码的知识/分析数据包的技巧不熟悉。

  • 问题2解决方案:上网查资料、问同学。

4.学习感悟、思考等

在这次实验中,我复习了恶意代码、僵尸网络、病毒、蠕虫这些概念,并且学会了好几种分析恶意代码的方法,也掌握了PEID、IDA、Process Explorer、脱壳软件等工具的使用。

分析恶意代码样本rada时,我用Process Explorer等工具成功提取并分析了关键信息。

在使用IDA进行静态或动态分析时,我通过函数调用图、函数流程图等看清了程序的逻辑和行为,逆向分析能力得到了提升。

在取证分析时,我用Wireshark和tcpflow等工具分析了蜜罐主机的网络数据,发现网络流量分析真的很重要,能帮我们及时发现和防范网络攻击。

这次实验操作不算太难,但验证流程多,理解起来有点费劲。做完后,我觉得逆向工程很有意思但也不容易,还锻炼了我分析恶意代码的能力。网络攻防得不断学习新知识,因为攻防总是在不断升级。要想学好这门课,我还得更加努力。

posted @ 2024-11-10 22:56  追风是菜鸟  阅读(20)  评论(0编辑  收藏  举报