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

20251909-2025-2026-2 《网络攻防实践》实践8报告

1.实践内容

总结一下本周学习内容并介绍下实践内容,不要复制粘贴

2.实践过程

实验一

对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者。
实验环境:WinXPattacker
实验材料:由老师提供在学习通的rada
键入命令file Rada.exe查看文件类型,查看该文件类型,是一个有图形化界面(GUI)的 Win32 PE(可移植可执行)程序。其中 PE32 表示这是一个32位的运行在windows操作系统上的程序, GUI 表示这个程序是一个有图形界面的程序, intel 80386 表示处理器架构。
image
可以看到其内容为乱码查看相关的资料发现,其可能是加壳了。使用PEiD对该文件查壳。可以看到Rada.exe加了UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo壳。
image

使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理。选择RaDa.exe文件,开始脱壳,完成后其脱壳的输出路径与Rada.exe在同一目录(桌面)。文件名为RaDa_unpacked.exe。
image
如下图我们再次使用strings命令查看其字符串,可以看到出现大量函数调用名以及其他有用字符串,但是并未查找到作者信息。

我们换用idapro进行静态分析:
image
将脱壳后的文件直接拖入即可分析,可以成功找到作者信息和发布时间
image
image

实验二

实验环境:WinXPattacker
实验材料:由老师提供在学习通的crackme1.exe、crackme2.exe
实验工具:IDA Pro
实验目的:寻找特定的输入,使其能够输出成功信息。

image
对其输入参数进行试探,分别输入1个、2个、3个参数…,直到出现重复的回复。可以看到只有在输入一个参数的时候它的回复和其他的不一致,所以猜测输入应该为一个参数。
image
将目标程序拖入后 我们在ida的string栏先来查看输出的字符串相关位置。
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,可以发现是sub_401280中的输出
    image

查看exe程序的调用函数图,查看哪里会调用该函数依次点击ida veiw——veiw——Gragh——Function calls。
image
I know the secret是函数sub_401280中的输出。
从函数调用图中可以看到sub_401280函数调用的strcmp比较函数,fprintf、printf输出函数,以及sub_401510和sub_401840函数,
image

从上图可以看到如果命令行输入两个参数,(crackme1.exe也算一个参数,所以实际上就是crackme1.exe + 一个参数)则跳转至loc_4012D2。然后比较该参数是否是”I know the secret”,是的话,输出You know how to speak to programs, Mr.Reserve-Engineer;否则,输出Pardon? What did you say?;

如果命令行输入参数个数不为2,则输出I think you are missing something

  • 程序验证
    image

键入”I know the secret”,发现输出”You know how to speak to programs, Mr.Reserve-Engineer”,表示成功运行程序。
分析无误!

分析crackme2.exe

和上一步类似,我们先对crackme2.exe输入的参数个数进行测试,可以看到仍然是输入一个参数的时候,和输入其他数量的参数时不一致,因此还是猜测输入的参数是1个。
image
与上一步类似依旧使用IDA Pro工具分析可以发现Strings窗口发现五个字符串,其中 I think you are missing something.和I have an identity problem.在进行参数猜测时出现过,猜测:
I think you are missing something.是输入的参数数量不正确的情况;
I have an identity problem.是参数数量正确,但可能参数的内容或者范围不正确;
另外3句没有出现过,还是和上一步一致,接下来应该找i know the secret。
查看i know the secret的来源可以发现,还是在函数sub_401280中。
image
和之前一样,查看sub_401280的汇编值,可以发现仍为401280。
image
查看程序整体的函数调用图例
image
查看sub_401280函数的流程图
image
image
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.。
如果命令行输入参数个数不为2,则输出I think you are missing something.
验证如下:
image

实验三
通过学习md5sum命令用于生成和校验文件的md5值,是一种逐位校验文件内容的算法。故这里使用md5sum命令查看Rada.exe文件摘要
image

可以看出摘要为caaa6985a43225a0b3add54f44a0d4c7

接着在和exploer.exe同文件夹下运行RaDa.exe。在Strings 对话框,在菜单栏中的Edit中点击Setup,设置类型为 Unicode。
image
查看Strings信息参数:可以看到作者和日期信息
image

分析程序运行信息:
image

HTTP请求 10.10.10.10\RaDa\RaDa_commands.html ,连接到目标为10.10.10.10的主机下的一个名为RaDa_commands的网页。
之后又下载和上传文件到 C:/RaDa/tmp 。
将文件 RaDa.exe 复制到了 C:\RaDa\ 目录下。
image

往下看Starting DDoS Smurf remote attack可以发现该恶意程序似乎对主机实行了DDos拒绝服务攻击

image

再往下看可以发现该恶意程序对主机的注册表进行了读写和删除操作
image
exe 在宿主主机中执行指定的命令, get 下载, put 上传, screenshot 截屏, sleep 休眠。
image
宿主主机C:\RaDa\bin目录下确实存在RaDa.exe
image
使用wireshark进行分析,可以看到受害主机向目标主机 10.10.10.10 发送了大量的数据包:
image
image

问题回答总结:
1.提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息: 摘要为caaa6985a43225a0b3add54f44a0d4c7; 使用了UPX加壳工具进行了加壳处理,加壳方式: UPX
0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo
2.找出并解释这个二进制文件的目的: 这个二进制文件通过网络获取指令,连接互联网时,该恶意程序就会通过http请求连接到指定主机,进行接受攻击者指令操作,并且攻击者可以完全控制该系统,所以这应该是一个后门程序。
3.识别并说明这个二进制文件所具有的不同特性: 该程序启动之后将自己复制到c盘之中,并且每过一段时间就会尝试与10.10.10.10建立tcp连接
4.识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术: UPX加壳; 通过查看网卡的 MAC 地址以及查看 VMware Tools 的注册表项 来判断操作系统是否运行在 VMware 虚拟机上,如果是,则使用–authors参数时将不会输出作者信息;
一些干扰字符串Starting DDoS Smurf remote attack,让分析者误认为是程序执行 DDoS 攻击,实际上并没有。
5.对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由: 这个样本不具有传播和感染属性,所以不是病毒或者蠕虫; 没有将自己伪装成有用的程序以欺骗用户运行,所以他也不属于木马; 所以应该是一个后门程序,如果是多对一控制,还可能是 HTTP
Bot(僵尸程序)
6.给出过去已有的具有相似功能的其他工具: Bobax——2004也是使用HTTP协议从指定的服务器下载命令文件,然后解析并执行其中的指令
7.可能调查出这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下? 作者为Raul siles 和 David Perze。使用ida或strings能查看,或者在非vmware环境下执行–authors参数。

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

1.RC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息?IRC一般使用哪些TCP端口? IRC是Internet Relay Chat
的英文缩写,中文一般称为互联网中继聊天。只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。
所有用户可以在一个被称为"Channel"(频道)的地方就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称),所有的沟通就在他们所在的Channel内以不同的Nickname进行交谈。
申请加入的时候要发送口令、昵称和用户信息:USER 、PASS 、NICK 6667端口(明文传输)、6697端口(SSL加密)
2.僵尸网络是什么?僵尸网络通常用于干什么? 僵尸网络 Botnet 是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络
攻击者可以向自己控制的所有bots发送指令,让它们在特定的时间同时开始连续访问特定的网络目标,从而达到DDos的目的。
利用Botnet发送大量的垃圾邮件,而且发送者可以很好地隐藏自身的IP信息
Botnet的控制者可以从僵尸主机中窃取用户的各种敏感信息和其他秘密,例如个人帐号、机密数据等
攻击者利用Botnet从事各种需要耗费网络资源的活动,从而使用户的网络性能受到影响,甚至带来经济损失
3.蜜罐主机(IP:172.16.134.191)与哪些IRC服务器进行了通信?
使用Wireshark打开数据文件,并设置过滤条件ip.src == 172.16.134.191 && tcp.dstport ==6667,因为我们上面的分析知道IRC通过6667端口,我们可以找到五个IRC服务器209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10、209.196.44.172
image
image

4.在这段观察期间,多少了解不同的主机访问了以209.196.44.172为服务器的僵尸网络。
按装工具tcpflow
image
通过命令tcpflow -r botnet_pcap_file.dat “host 209.196.44.172 and port 6667“去tcpflow分流筛选指定host与端口6667
tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667"
产生了三个文件,分别是:209.196.044.172.06667-172.016.134.191.01152、172.016.134.191.01152-209.196.044.172.06667、report.xml

查看配置文件report.xml
image
可获知两个主机互相通信的时间、IP、mac地址、使用端口!

使用管道命令进行筛选,键入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
image

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 > swl123.txt;wc -l swl123.txt,找出所有连接主机的IP地址放入swl123.txt文件中,显示有165个。
image

image

打开swl123.txt发现确实有165条

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,这条命令的作用是筛选TCP包。

image
再键入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,这条命令的作用是筛选UDP包。
image

可以看到,TCP一共有5个端口响应,分别是135(RPC:RemoteProcedureCall,远程过程调用)、139(NetBIOS会话服务)、445(SMB:Server Message Block,服务器消息块)、4899(远程控制软件(remote administrator)服务端监听的端口)、80号端口(HTTP协议)。UDP端口一共有1个端口响应,即137号端口(NetBIOS名字服务)。
这些端口都是流行网络病毒喜爱的后门端口,是黑客们最喜欢扫描的一些端口。
因此,我们接下来有目的性地使用wireshark分析如上面提到的ip和 端口来筛选流量。

7、那些攻击成功了?是如何成功的?
用wireshark打开该文件,在过滤器中键入tcp.dstport==80,查看所有有关80端口的攻击。
image

image
image
由上三图,我们可以看到攻击机向蜜罐发送了大量的无意义填充符号,靶机经常性发送错误报告报文,例如TCP Dup ACK(重复确认)和TCP ZeroWindow(接受缓冲区满)。这表明靶机遭受了缓冲区溢出攻击。

对于端口135,在过滤器中键入tcp.port135,发现只是对端口的一个简单扫描,并没有攻击。
image
对于端口139,在过滤器中键入tcp.port
139,发现企图与许多主机建立连接,但是都失败了,该攻击没有成功。
image

对于端口445,这个端口连接非常多,可以看到许多 \samr,\srvsvc 字符串。61.111.101.78向蜜罐放了PSEXESVC.EXE,这是一种Dv1dr32蠕虫病毒的特征码,这种蠕虫正是通过IRC进行通信,攻击者对系统注入了蠕虫病毒并成功获取了远程调用。对445端口实施的攻击是成功的。

image
image
分析137号udp服务端口:
image
未发现异常流量。

我们再来分析80号端口数据包
tcp.dstport == 80 and ip.dst == 172.16.134.191
image
如下图,大量源ip24.197.194.106的数据包目标访问80端口,的行为就是不停的用脚本攻击 IIS 服务器的漏洞,从而获取系统权限。
image

过滤结果中还有218.25.147.83访问80端口,追踪tcp流发现:
c:\notworm,说明这是一个蠕虫攻击。上网搜索发现是红色代码(red code)病毒。

image
此外,其余的 ip 地址均为正常访问蜜罐
分析完毕!

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

相关文章:

  • 谁能实现工厂数据智能化,谁就拥有开启工业5.0的钥匙?
  • BetterJoy:终极Switch控制器跨平台无缝集成方案
  • 写给做系统设计 / 项目实战的你:设备指纹系统怎么设计
  • 低轨卫星实时任务功耗黑洞(Tickless模式失效、浮点陷阱、Cache预热冗余)及航天院所内部禁用清单
  • 仅限TOP20工业自动化厂商内部流通:C语言Modbus网关安全扩展SDK v3.2.1(含FIPS 140-3认证加密模块源码)
  • 告别数据库臃肿:手把手教你用SQL脚本+SSMS给SQL Server 2019/2022做“瘦身手术”
  • DragMesh技术:轻量级3D交互生成的核心突破
  • 蓝桥杯嵌入式备赛:用STM32CubeMX搞定按键、LCD和ADC的完整配置清单
  • QuickLookVideo:突破macOS原生限制的视频预览效率倍增器
  • 从玩具车到无人机:手把手教你用Simulink搭建一个带干扰的闭环速度控制系统
  • 向量检索系统中Ground-Truth-Aware评估指标的设计与实践
  • 时间折叠术:软件测试从业者的效率跃迁与未来应对策略
  • P3381 【模板】最小费用最大流 题解 最小费用最大流SSP算法模板
  • 基于MCP协议构建个性化AI知识库:FeedNest MCP Server实战指南
  • 3个颠覆性技巧:彻底解决网盘限速问题的终极方案
  • Python subprocess模块学习总结
  • 能量模型在机器人策略学习中的优势与应用
  • 基于MCP协议的本地AI应用工具化与记忆增强实践
  • 2026年青岛搬家公司精选推荐:同城 / 长途 / 钢琴 / 工厂搬迁一站式服务 - 海棠依旧大
  • 固件签名验证失效=裸奔上线:从X.509证书链裁剪、ECDSA-P256密钥硬件绑定到BootROM级公钥固化,一套完整防篡改固件开发闭环(含航天某院实测数据)
  • Python实现季节性持续预测:时间序列分析实战
  • 为什么买来的 AI 用了半年反而“变蠢”了:拆解数据飞轮与持续学习闭环
  • AI代码隔离实战指南(生产级Docker Sandbox架构设计全图谱)
  • CogVideoX-2b实战:用英文提示词生成高质量视频的秘诀
  • LangForce框架:视觉语言动作模型的贝叶斯优化
  • VSCode 接入GPT-5.3-codex 大模型配置指南
  • Winhance中文版:终极Windows系统优化工具完全指南 [特殊字符]
  • MAA明日方舟助手:3大核心功能让你告别手动刷图!
  • C语言写传感器驱动的7个致命错误(92%农用IoT项目因第4条返工超3轮)
  • 离散状态空间概率路径建模与TV稳定性分析