实验环境
本节实验准备了两个环境,internet-nano与internet-mini,我们将在较小的实验环境internet-nano中实现worm程序,最后迁移至internet-mini的大环境中测试。
由于docker在一次启动过多container时存在bug,在启动internet-mini时使用内置的z_start.sh启动(实际就是分批启动)。
Task 1: Get Familiar with the Lab Setup
启动internet-nano和map两份docker,等待启动完成,进入 http://localhost:8080/map.html 查看网路拓扑。

Task 2: Attack the First Target
利用缓冲区溢出实现Morris worm的攻击部分。首先运行以下指令关闭随机化地址,这可以让所有的container的缓冲区地址等保持一致。
sudo /sbin/sysctl -w kernel.randomize_va_space=0
4.1 The Skeleton Code
具体代码骨架查看实验任务书,这里暂时将攻击的目标主机硬编码为10.151.0.71。
4.2 Creating the badfile
在任意container中向10.151.0.71发送信息,即可看到以下信息(服务端的接收消息在docker up的页面查看,这里是在container中重启server程序看到的)。如果随机化地址成功关闭,那么每次得到的缓冲区地址应该是一样的(但是重启server程序会变动,所以每次重启server需要重新获取地址)。

本文介绍了在实验环境中逐步实现Morrisworm蠕虫程序的过程,包括熟悉环境、利用缓冲区溢出攻击、自我复制策略、传播与防止自感染,最终在更大规模的mini互联网上部署。关键步骤包括设置攻击目标、创建恶意文件、编写shellcode和调整worm.py以适应不同阶段任务。
最低0.47元/天 解锁文章
2197

被折叠的 条评论
为什么被折叠?



