当前位置: 首页 > news >正文

20251904 2025-2026-2 《网络攻防实践》第八周作业

20251904 2025-2026-2 《网络攻防实践》实践八报告

目录
  • 20251904 2025-2026-2 《网络攻防实践》实践八报告
    • 1.实践内容
      • 1.1实践任务
        • 动手实践任务一
        • 动手实践任务二:分析Crackme程序
        • 分析实践任务一:分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
        • 分析实践任务二:Windows 2000系统被攻破并加入僵尸网络
      • 1.2知识点总结
        • 1.2.1恶意代码静态分析与脱壳识别
        • 1.2.2逆向工程中的动态试探与静态分支分析
        • 1.2.3僵尸网络流量分析与攻击行为判定
    • 2.实践过程
      • 2.1动手实践任务一
        • 2.1.1使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具
        • 2.1.2使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理
        • 2.1.3对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
      • 2.2动手实践任务二
        • 2.2.1分析crackme1.exe
        • 2.2.2分析crackme2.exe
      • 2.3分析实践任务一:分析一个自制恶意代码样本rada
        • 2.3.1提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息
        • 2.3.2找出并解释这个二进制文件的目的
        • 2.3.3 识别并说明这个二进制文件所具有的不同特性
        • 2.3.4 识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术
        • 2.3.5 对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由
        • 2.3.6 给出过去已有的具有相似功能的其他工具
        • 2.3.7 可能调查出这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
      • 2.4分析实践任务二:Windows 2000系统被攻破并加入僵尸网络
      • 2.4.1IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
      • 2.4.2 僵尸网络是什么?僵尸网络通常用于什么?
      • 2.4.3 蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
      • 2.4.4 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络
      • 2.4.5 哪些IP地址被用于攻击蜜罐主机?
      • 2.4.6 攻击者尝试攻击了那些安全漏洞?
      • 2.4.7 那些攻击成功了?是如何成功的?
    • 3.学习中遇到的问题及解决
    • 4.实践总结

1.实践内容

1.1实践任务

动手实践任务一

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

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

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

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

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

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

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

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

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

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

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

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

分析实践任务二: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.2知识点总结

1.2.1恶意代码静态分析与脱壳识别

对于未知的可执行样本,首先需识别其文件格式和运行平台(如 PE32、x86 架构)。若文件内容呈现乱码且无可读字符串,则极可能被加壳保护。通过专业查壳工具可确定加壳类型(如 UPX 系列),随后使用通用脱壳软件或手动解压,得到脱壳后的原始程序。脱壳后,利用字符串提取命令可获取大量明文字符串,再借助反汇编工具在代码段或字符串表中查找作者信息、编译时间、邮箱等嵌入元数据,从而完成样本的基本信息采集和归属判定。

1.2.2逆向工程中的动态试探与静态分支分析

分析一个需要输入参数的程序时,可以先通过命令行传入不同数量的参数,观察输出差异,从而快速推断程序期望的参数个数。接着,使用反汇编工具加载程序,定位关键输出字符串所在的函数,查看其流程图或反汇编代码。通过分析条件跳转指令和字符串比较函数(如 strcmp),可以还原程序的验证逻辑——包括对参数个数的判断、对特定字符串或程序文件名的匹配等。这种动态试探与静态反汇编相结合的方式,是逆向工程中定位核心验证分支的常用方法。

1.2.3僵尸网络流量分析与攻击行为判定

分析僵尸网络流量时,首先需理解 IRC 协议的基本交互过程(如客户端通过 NICK/USER 命令完成注册),以及常用端口范围。僵尸网络由命令与控制服务器集中操控大量受感染主机,常见用途包括分布式拒绝服务、垃圾邮件和挖矿等。使用网络分析工具过滤与特定主机相关的 IRC 流量,可找出通信的服务器地址,并统计访问同一服务器的不同源 IP 数量。进一步分析攻击行为:筛选目标主机的所有入站连接,提取源 IP 和目的端口,识别尝试利用的常见服务端口(如 RPC、NetBIOS、SMB、HTTP 等)。通过追踪数据流内容(如特定程序名或路径特征)可判断具体的攻击类型(如蠕虫传播或缓冲区溢出),而通过观察响应包(如连接复位或默认错误页面)可判定攻击是否成功。

2.实践过程

2.1动手实践任务一

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

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

实验环境:WinXPattacker
打开桌面并键入命令file Rada.exe查看文件类型
image
不难发现Rada.exe是一个 PE32 格式的可执行文件,专为 Windows 系统设计。它属于 GUI 类型,意味着运行后会出现图形界面窗口,而不是命令行窗口。该程序基于 Intel 80386 32 位架构,只能在 32 位或兼容的 64 位 Windows 上运行。
键入命令cat Rada.exe可以看到显示文件内容
image
可以看到是乱码的状态,不难发现是加壳,使用PEiD对该文件查壳。
PEid的位置在所有程序-PE-PEid-PEid.cn
image
打开后选择Rada的路径,可以看到Rada.exe加了UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo壳

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

所有程序-脱壳和加壳工具-超级巡警脱壳机CN
打开软件后选择路径,给我脱!
image
可以发现其脱壳的输出路径与Rada.exe在同一目录。

2.1.3对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

键入strings RaDa_unpacked.exe(此为脱壳后的rada恶意代码)
image
可以看到出现大量函数调用名以及其他有用字符串,但是并未查找到作者信息。
下面使用IDA PRO Free 工具
所有程序-反汇编-IDA PRO Free-IDA PRO Free
依次点击OK-New,拖入脱壳后的rada文件,即可得到如下
image
成功找到作者信息、发布时间、邮箱

2.2动手实践任务二

实验环境:WinXPattacker
实验材料:crackme1.exe、crackme2.exe
实验工具:IDA Pro

2.2.1分析crackme1.exe

对其输入参数进行试探,分别输入1个、2个....参数直到出现重复的回复。
image
可以看到只有在输入一个参数的时候它的回复和其他的不一致,所以猜测输入应该为一个参数。
下面使用IDA Pro工具,进行分析(操作与第一个任务一致)
image
发现在Strings窗口一共发现四个字符串
I think you are missing someting
I know the secret
Pardon?What did you say?
You know how to speak to programs,Mr.Reverse—Engineer
根据内容猜测:
think you are missing someting是输入的参数数量不正确
Pardon?What did you say?是从参数数量正确,但参数的内容或范围不正确。目标应该放在没有出现的两句上。
找到代码中输出 ”I know the secret“的地方右键点击Edit function
image
是sub_401280中的输出
IDA View——View——Gragh——Function calls
image
可以看出I know the secret是函数sub_401280中的输出,sub_401280 函数调用了 strcmp 比较函数、fprintf 与 printf 输出函数,以及 sub_401510 和 sub_401840 函数。
查看sub_401280函数的汇编源码
image
不难发现sub_401280函数的汇编源码就是401280
IDA View——View——Gragh——Flow Chat
image
如上图所示,当命令行传入两个参数时(其中crackme1.exe本身算作一个参数,因此实际是crackme1.exe加上一个参数),程序将跳转至loc_4012D2。随后,它会判断该参数是否为I know the secret":若是,则输出You know how to speak to programs, Mr. ...;否则,输出Pardon? What did you say。若命令行参数个数不为 2,则输出 "I think you are missing something。

2.2.2分析crackme2.exe

第一步与2.2.1的类似
对其输入参数进行试探,分别输入1个、2个....参数直到出现重复的回复
image
可以看到是输入1个参数的时候,和输入其他数量的参数时不一致,猜测输入的参数是1个。
使用IDA Pro分析
image
发现五个字符串其中,I think you are missing something.和I have an identity problem.在进行参数猜测时出现过
猜测:I think you are missing something.是输入的参数数量不正确的情况;
I have an identity problem.是参数数量正确,但可能参数的内容或者范围不正确;
找到代码中输出 ”I know the secret“的地方右键点击Edit function
image
是sub_401280中的输出
查看sub_401280的汇编源码,为401280
image
IDA View——View——Gragh——Flow Chat:
image
根据图示,当命令行传入两个参数时,程序会跳转到 loc_4012D5 处,随后判断第一个参数是否为 "crackplease.exe"。若是,则继续判断第二个参数是否为 "I know the secret":如果成立,输出 "We have a little secret : Chocolate";否则输出 "Pardon? What did you say?"。若第一个参数不匹配,则输出 "I have an identity problem."。如果命令行参数个数不是两个,则输出 "I think you are missing something"。

2.3分析实践任务一:分析一个自制恶意代码样本rada

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

使用md5sum命令查看Rada.exe文件摘要
image
摘要为caaa6985a43225a0b3add54f44a0d4c7
键入file Rada.exe
image
得到的基本信息为PE32文件

2.3.2找出并解释这个二进制文件的目的

使用Process Explorer软件监视脱壳后的RaDa.exe,根据Strings进行分析:
双击RaDa.exe,在 Process Explorer 中双击RaDa.exe进程,切换到 Strings 标签页
image
程序首先主动访问远程控制服务器 http://10.10.10.10/RaDa ,并下载了攻击者指令集文件 RaDa_commands.html。随后,程序在本地创建 C:\RaDa\tmp 目录,将下载的指令文件存入其中以备解析。为实现持久化控制,程序修改注册表项 HKLM\Software\Microsoft\Windows\CurrentVersion\Run,将自身 rada.exe 设置为开机自启,并将其文件本体放入 C:\RADA\bin。最后,程序启动恶意核心任务,发起 DDoS Smurf 攻击,将受害主机变为攻击跳板。

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

image
程序执行了 exe、value、put、get、screenshot 并随后 sleep(即完成了上传、下载、屏幕截图以及休眠等操作);同时,它访问了 10.10.10.10\rada\rada_commands.html,将自身放置在 C 盘根目录下,并修改了注册表

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

使用PEiD检测
image
可以看出,采用的防止被分析或逆向工程的技术为UPX 0.89.6-1.02/1.05-2.90 ->Markus & Laszlo。使用UPX加壳技术

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

是一个后门程序。该程序远程发动攻击,通过程序主动访问10.10.10.10/RaDa

2.3.6 给出过去已有的具有相似功能的其他工具

特洛伊木马Setiri
远控木马SectopRAT

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

打开IDAPRO-查看Strings window
image
作者如上所示

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

实验环境:Kali

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

IRC(Internet Relay Chat)是一种基于客户端-服务器模型的实时文本聊天协议,允许多用户加入频道进行群组讨论或一对一私聊,早期广泛应用于技术社区和在线交流。
当 IRC 客户端申请加入一个 IRC 网络时,它并不是发送一条单独的消息,而是依次完成注册流程:
首先发送 NICK <昵称> 命令,设置自己的昵称;
然后发送 USER <用户名> <主机名> <服务器名> :<真实姓名> 命令,提交用户信息。
服务器收到并验证通过后,客户端才算正式加入网络(随后才能用 JOIN 命令加入具体频道)。
IRC 常用的 TCP 端口包括:
6667 —— 最标准的非加密 IRC 端口;
6660~6669 —— 传统上为 IRC 保留的多个端口;
6697 —— 用于 SSL/TLS 加密连接的 IRC 端口。

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

僵尸网络是指由攻击者通过恶意软件远程控制的大量计算机(称为“僵尸主机”或“肉鸡”)组成的网络。攻击者通过命令与控制(C&C)服务器向这些主机下达指令,而主机主人通常毫不知情。
僵尸网络通常用于:
发起 DDoS 攻击:用海量流量瘫痪目标服务器或网站。
发送垃圾邮件:大规模散布钓鱼邮件或恶意软件。
窃取敏感数据:收集账号密码、信用卡信息等。
挖矿:利用被控主机的算力挖掘加密货币。
点击欺诈:伪造广告点击量骗取收益。
作为跳板:隐藏攻击者真实 IP,实施进一步入侵。

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

sudo wireshark-tcp.port == 6667 && ip.addr == 172.16.134.191
image
image
不难发现,蜜罐主机与209.126.161.29 、66.33.65.58、63.241.174.144、217.199.175.10、209.196.44.172服务器进行了通信。

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

tcpflow -r botnet_pcap_file.dat 'host 209.196.44.172 and port 6667'
image
可以看到有3461台不同的主机访问了以209.196.44.172为服务器的僵尸网络

2.4.5 哪些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 > SCXXX.txt;wc -l SCXXX.txt
image
将被用于攻击蜜罐主机的IP存入SCXXX.txt中:
image
image
可以看到有165个地址

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

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
image
TCP端口为135、139、25、445、4899、80,对应RPC、NETBIOS-SSN、SMTP、SMB、RADMIN、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
image
UDP端口为137,对应NetBIOS网络查点

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

sudo wireshark-ip.addr == 172.16.134.191 && tcp.port == 135
image
可以看到只进行了TCP连接,并未进行攻击。
ip.addr == 172.16.134.191 && tcp.port == 139
image
攻击者多次尝试建立连接,都被识别出,发送了RST指令。
ip.addr == 172.16.134.191 && tcp.port == 25
image
仅TCP连接
ip.addr == 172.16.134.191 && tcp.port == 445
image
image
可以看到PSEXESVC.EXE程序,为蠕虫攻击。
ip.addr == 172.16.134.191 && tcp.port == 4899
image
可以发现是Radmin远程控制工具控制蜜罐主机
ip.addr == 172.16.134.191 && tcp.port == 80
image
追踪No.63的TCP流
image
攻击者想通过缓冲区溢出来获得命令行。
image
可以看到c:\notworm,说明是一个红色代码蠕虫攻击。
ip.addr == 172.16.134.191&&tcp.srcport==80 &&http
image
蜜罐主机做的几次回应均为一个iis服务器的默认页面,攻击失败
ip.addr == 172.16.134.191 && udp.port == 137
image
可以看到为获取用户信息的NetBIOS网络查点。

3.学习中遇到的问题及解决

  • 问题1:做第一个任务时,rada虚拟机没办法解压,但是在宿主机解压时会被杀毒软件删除
  • 问题1解决方案:关闭所有杀毒软件和防火墙

4.实践总结

这次实践内容很充实,让我熟悉了从文件类型识别、查壳脱壳、字符串提取到IDA Pro逆向分析等操作,也了解到了PEiD、超级巡警脱壳机、Wireshark等工具的用法。实践中理解了恶意代码加壳与反逆向技术,还通过实际网络流量分析加深了对僵尸网络、IRC通信协议及常见漏洞利用方式的认识。

http://www.jsqmd.com/news/886088/

相关文章:

  • 16个分片+2副本:pg_shard的master_create_worker_shards最佳实践
  • Photoshop-CC2022-Linux:终极指南 - 如何在Linux上安装Adobe Photoshop CC 2022
  • FPGA边缘计算优化MRI物理驱动AI重建技术
  • 从ADC到BLE:打造超低功耗蓝牙电压表的硬件设计全解析
  • 如何在5分钟内用Flatted轻松处理JavaScript循环引用数据结构 [特殊字符]
  • 高性价比玻璃钢格栅厂家怎么选?-河北喆泓环保 - 资讯快报
  • 2026 天津滨海新区设计公司推荐|口碑榜首 原筑空间:滨海高端设计标杆,独立设计师大本营 - 品牌智鉴榜
  • 2026年数据驱动营销新趋势
  • ETS2LA:欧洲卡车模拟2自动驾驶插件完整指南
  • Wireshark解密SSH流量实战:获取会话密钥四步法
  • BiliRoamingX:彻底解决B站体验限制的完整增强方案
  • 玻璃钢格栅生产厂家选型:主流厂商实力深度对比 - 资讯快报
  • AI大模型应用开发全攻略:从入门到精通,掌握LLM、RAG、Agent、Fine-tuning、MCP等核心技术,成为AI开发高手的秘诀!
  • Qwery性能基准测试:与其他流行选择器引擎的速度对比
  • ARP断网攻击原理与实战防护三步法
  • 四足机器人高频控制与投掷优化技术解析
  • 深度解析HS2-HF Patch:从技术框架到创作工具链的完整升级方案
  • 【脑机接口】脑电信号基础 BCI 核心基础术语详细解释(第1弹)
  • 为什么选择flameshow?终端火焰图工具的5大优势解析
  • 湖州梅雨季来临,房屋漏水抓紧修!2026最新房屋漏水维修公司TOP5调研盘点!卫生间免砸砖防水、楼顶外墙、阳光房+地下室渗漏解决方案解析 - 防水百科
  • 荆州梅雨季来临,房屋漏水抓紧修!2026最新房屋漏水维修公司TOP5调研盘点!卫生间免砸砖防水、楼顶外墙、阳光房+地下室渗漏解决方案解析 - 防水百科
  • 旧木改造互动装置:步进电机驱动眼球实现跟随注视
  • CVE-2025-61783深度解析:OAuth重定向安全与Python Social Auth加固指南
  • TV Bro电视浏览器:为智能电视打造的最佳遥控器上网解决方案
  • 3步搞定中兴光猫配置解密:ZET工具实战指南
  • 5个必学技巧:轻松定制startbootstrap-modern-business模板实现品牌个性化
  • 大语言模型(LLM)深度解析:从基础概念到前沿应用,一篇搞定!
  • 基于ESP32与Linky电表打造三相智能电力负荷管理器
  • 一招搞定:黑群晖DSM918与Linux通用硬盘扩容命令(parted resizepart详解)
  • CVE编号申请实操指南:PoC、版本范围与CWE分类三大核心