用python写的简单病毒无害
计计 算算 机机 病病 毒毒 实实 验验 报报 告告 姓名:郭莎莎学号: 201306043023 培养类型:技术类年级: 2013 级 专业:信息安全所属学院:计算机学院 指导教员:龙军职称:教授 实 验 室:实验日期: 2016.7.3 国防科学技术大学训练部制 《本科实验报告》填写说明 1.学员完成人才培养方案和课程标准要所要求的每个实验后,均须提 交实验报告。 2.实验报告封面必须打印,报告内容可以手写或打印。 3.实验报告内容编排及打印应符合以下要求: (1)采用 A4(21cm×29.7cm)白色复印纸,单面黑字打印。上下左右 各侧的页边距均为 3cm;缺省文档网格:字号为小4 号,中文为宋体,英文 和阿拉伯数字为 Times New Roman,每页 30 行,每行 36 字;页脚距边界为 2.5cm,页码置于页脚、居中,采用小 5 号阿拉伯数字从 1 开始连续编排, 封面不编页码。 (2)报告正文最多可设四级标题,字体均为黑体,第一级标题字号为 3 号,其余各级标题为 4 号;标题序号第一级用“一、”、“二、”„„,第二 级用“(一)”、“(二)” „„,第三级用“1.”、“2.” „„,第四级用“(1)”、 “(2)” „„,分别按序连续编排。 (3)正文插图、表格中的文字字号均为 5 号。 实验题目实验题目 Python Python 病毒功能实现病毒功能实现 目录 一、实验目的. 4 二、实验内容. 4 三、实验原理. 4 (一)Linux 病毒 4 1.Linux 病毒的发展史 4 2.Linux 平台下的病毒分类 5 (二)文件型病毒. 6 1.感染 COM 文件:. 6 2.感染 文件:. 6 (三)python 文件 7 四、实验所需软硬件. 8 五、实验步骤. 8 (一)程序框架. 8 1.传播感染模块. 8 2.备份模块. 9 3.触发和破坏模块. 9 (二)具体实现. 9 (三)结果截屏. 11 六、实验结果与分析. 12 七、思考与总结. 12 一、实验目的 了解和掌握计算机病毒的工作原理, 编写一个具有基本功能的计算机病 毒。 二、实验内容 编写简易 Python 病毒并实现一些基本功能 在宿主机上进行病毒测试 三、实验原理 (一)Linux 病毒 1.Linux 病毒的发展史 1996 年的Staog是 Linux系统下的第一个病毒, 它出自澳大利亚一个叫VLAD 的组织(Windows 95 下的第一个病毒程序Boza 也系该组织所为) 。Staog病 毒是用汇编语言编写, 专门感染二进制文件, 并通过三种方式去尝试得到root 权限。 Staog 病毒并不会对系统有什么实质性的损坏。它应该算是一个演示 版。它向世人揭示了 Linux 可能被病毒感染的潜在危险。Linux 系统上第二个 被发 现的病毒是 Bliss 病毒,它是一个不小心被释放出来的实验性病毒。与 其它病毒不同的是, Bliss 本身带有免疫程序,只要在运行该程序时加上 “disinfect-files-please”选项,即可恢复系统。 2001 年发现的 Ramen 蠕虫。Ramen 蠕虫可以自动传播,无需人工干预,所 以和 1988 年曾使人们大受其苦的 Morris 蠕虫非常相似。它只感染 Red Hat 6.2 和 7.0 版使用匿名 FTP 服务的服务器,它通过两个普通的漏洞RPC.statd 和 wu-FTP 感染系统。表面看来,这不危险。它很容易被发现,且不会对服务 器做出任何有破坏性的事情。但是当它开始扫描时,将消耗大量的网络带宽。 从 1996 年至今,新的 Linux 病毒屈指可数,这说明Linux 是一个健壮的具有 先天病毒免疫能力的操作系统。 当然, 出现这种情况, 除了其自身设计优秀外, 还有其它的原因。 然而, 2001 年 3 月,美国 SANS 学院的全球事故分析中心(Global Incident Analysis Center——GIAC)发现,一种新的针对使用Linux 系统的计算机的蠕 虫正通过互联网迅速蔓延, 它将有可能对用户的电脑系统造成严重破坏。 这种 蠕虫被命名为“狮子”病毒,与Ramen 蠕虫非常相似。但是,这种病毒的危 险性更大, “狮子”病毒能通过电子邮件把一些密码和配置文件发送到一个位 于 的域名上。攻击者在把这些文件发回去之后就可以通过第一次 突破时的缺口再次进入整个系统。这就是它与Ramen 蠕虫的不同之处。 随着 Klez 病毒在 Linux 平台上的传染,微软的操作系统不再是唯一易受病毒 攻击的操作系统了。 即使 Linux 和其他一些主流 UNIX 平台的用户可能不是微 软捆绑应用软件的大用户,不可能通过这些软件造成病毒的泛滥, Linux 和 UNIX 仍然有它们自身并不引人注目的脆弱点。除了Klez 以外,其他 Linux/UNIX 平台的主要威胁有: Lion.worm、OSF.8759 病毒、Slapper、 Scalper、 Linux.Svat 和 BoxPoison 病毒,这些都很少被提及。 另外,越多的 Linux 系统连接到局域网和广域网,就会有越多受攻击的可能, 这是因为很多 Linux 病毒正在快速地扩散着。 使用 WINE 的 Linux/UNIX 系统 特别容易受到病毒的攻击。 WINE 是一个公开源代码的兼容软件包, 能让 Linux 平台运行 Windows 应用软件。 2.Linux 平台下的病毒分类 可执行文件型病毒 可执行文件型病毒是指能够寄生在文件中的,以文件为主要感染对象的病毒。 病毒制造者们无论使用什么武器,汇编或者 C,要感染 ELF 文件都是轻而易 举的事情。这方面的病毒如Lindose,当其发现一个ELF 文件时,它将检查被 感染的机器类型是否为 Intel 80386,如果是,则查找该文件中是否有一部分的 大小大于 2,784 字节(或十六进制AEO) ,如果满足这些条件,病毒将用自身 代码覆盖它并添加宿主文件的相应部分的代码, 同时将宿主文件的入口点指向 病毒代码部分。 蠕虫(worm) 1988 年 Morris 蠕虫爆发后,Eugene H. Spafford 为了区分蠕虫和病毒,给出 了蠕虫的技术角度的定义, “计算机蠕虫可以独立运行,并能把自身的一个包 含所有功能的版本传播到另外的计算机上。 ”在 Linux 平台下,蠕虫极为猖獗, 像利用系统漏洞进行传播的 ramen,lion,Slapper„„每一个都感染了大量的 Linux 系统,造成了巨大的损失。在未来,这种蠕虫仍然会愈演愈烈,Linux 系统应用越广泛,蠕虫的传播程度和破坏能力也会随之增加。 脚本病毒 目前出现比较多的是使用shell 脚本语言编写的病毒。 此类病毒编写较为简单, 但破坏力同样惊人。 Linux 系统中有许多的以.sh 结尾的脚本文件, 而一个短短 十数行的 shell 脚本就可以在短时间内遍历整个硬盘中的所有脚本文件,进行 感染。 因此病毒制造者不需要具有很高深的知识, 就可以轻易编写出这样的病 毒,对系统进行破坏,其破坏性可以是删除文件, 破坏系统正常运行