计算机病毒永恒之蓝_永恒之蓝攻击win10

计算机病毒永恒之蓝_永恒之蓝攻击win10做技术的要一直保持激情,和对新鲜事物的敏感性,从中寻找到快乐—-JobBird  最近永恒之蓝病毒肆虐,简直让电脑用户闻风丧胆,一旦中招真的是毁灭性的,虽然自己写不出来这么牛逼的程序,也没有这样的耐心去分析它究竟是怎么做到的,或者怎么解除威胁。基于技术宅的好奇心免不了对其指手画脚一番。  什么是病毒?  网上跟教科书上都有非常明确的定义,什么什么一大堆,看一下就过了,反正也

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

   做技术的要一直保持激情,和对新鲜事物的敏感性,从中寻找到快乐—-JobBird

    最近永恒之蓝病毒肆虐,简直让电脑用户闻风丧胆,一旦中招真的是毁灭性的,虽然自己写不出来这么牛逼的程序,也没有这样的耐心去分析它究竟是怎么做到的,或者怎么解除威胁。基于技术宅的好奇心免不了对其指手画脚一番。

   什么是病毒?

   网上跟教科书上都有非常明确的定义,什么什么一大堆,看一下就过了,反正也记不住。其实我自己的理解就是:病毒首先是可执行代码段,其次就是非法的,也就是不是用户预想到的。

   永恒之蓝病毒?

   这个病毒会自动给你电脑上的所有文件加密,然后会跟你索取金钱。至于这个病毒的工作原理,还有传播途径,网上有比较详细的分析,包括如何修复防范,这些文章我是写不出来了,但是可以从别的方面随便分析一二。

    我怎么样才能写这么一个病毒呢?

    首先,我会把它当成一个正常的程序来写:就是写个加密软件嘛,把原有的文件从字符或者二进制的层次进行加密。在windows系统上面,我可以任意对所有文件或者文件夹进行加密,但是在linux上面就是有各种权限的限制。这一方面就可以突出linux的文件系统优点,至少别的用户的文件是修改不了,不过当前的实际情况基本上一个电脑上的所有文件都是同属一个用户,所以意义不大。

   第二步,我会遍历整个系统的文件系统,找出所有文件,然后加密之。

   第三步,只要用户运行,就自动执行第一步和第二步。

   其实完成这三步,目前的计算机使用环境、生态圈,最主要的是电脑使用者的防范意识不强烈的情况下,比如随便点击不明来历的程序,或者安装流氓软件,破坏性都非常大,并不亚于永恒之蓝,会写程序的同学是不是觉得这么一个程序非常简单呢?跃跃欲试捉弄一下你的同事、同学、朋友?不想被打死就这么干吧。

   第四步,可以搜索本地计算机的邮件列表,然后复制自己,把自己添加到附件中,发送出去。这一步是很简单的。

   截止到第四步,只要有编程基础的同学应该都可以完成,难度并不太大。

    第五步,通过socket协议自动繁殖感染其他电脑。这个socket协议包含了很多协议,有网络编程基础的都知道,要能顺利感染到对方电脑,必须要建立连接,哪怕是广播也是要被感染主机愿意接收病毒繁殖主机发过来的病毒数据。这个永恒之蓝病毒是通过445这个端口来传播的,在这个端口后面有一堆支持这个端口的应用的协议,总之就是提供了病毒传播的通道,反正你发过来的数据,我都接收。

    第六步,病毒顺利到达了目的之后,刚才说了基于445端口的主机程序,有很多内部线程在不断运行分析过来的数据,这又从理论上提供了主动运行非法代码段的可能性。至于这个怎么从单纯的分析数据变成运行非法程序,这就是系统漏洞,比如执行除零或者别的程序bug。然后最终就是病毒运行起来了。

    目前我们解决这个问题,首先禁用445,然后再打补丁,其实就是把系统漏洞给补上。通常linux都是默认把端口关闭,而windows则是默认把端口打开。

题外话扩展:

  1、计算机无论系统程序,还是应用程序,都是程序段,在内存中排的好好的,然后按照一定的规则执行。病毒就是在这些执行过程中,改变跳转指令,改成执行自己的代码段。

   2、病毒通常都会针对特定的操作系统,特定的硬件平台。linux病毒相对来说比较少,当然,linux因为维护基数跟质量都windows要优秀,另一方面病毒的传播很大一部分原因是PC用户的使用习惯,用Linux的用户相对来说是比较专业的,windows用户无论什么程序都喜欢去点一下,无差别运行。

   3、其他的,其实病毒蛮有意思的,需要对计算机系统有非常深入的理解跟认识才写的出来。这个深入的理解是比较模糊的,找漏洞是一个概率性的问题,也许是编程过程中偶尔发现的,找到了漏洞怎么利用?主要是一个跳转,跳转到非法的程序段。

   4、写一小段程序,让其不断创造垃圾文件,然后别人运行了。这也算是一个垃圾软件,或者叫小病毒吧。

   就这样吧。有兴趣的留言讨论,想了好多,好多,但是写出来却是干瘪瘪的。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181335.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • samba服务共享目录时 什么参数表示该共享目录可以浏览_电脑samba共享

    samba服务共享目录时 什么参数表示该共享目录可以浏览_电脑samba共享会不会有那么一天,生活可以简单到每天清早踏上一辆载着鲜花的脚踏车,微笑着穿过窄窄的街巷,为爱花的人送去芬芳,为需要知识的你送去帮助。上期为大家说了如何搭建dhcp服务(详情点击使用DHCP动态分配IP)本期为大家带来搭建samba服务先来说说samba服务的作用:跨平台支持文件共享服务samba的特点:支持匿名和身份验证共享数据,它的安全性也比较高samba支持的协议有:nmb(监听137,138号端口,提供域名访问,属于UDP协议)smb(监听139号端口,服务消息块,提供Linux平台共享

    2022年9月24日
    1
  • 聊聊互联网行业年终奖:大家一起关门哭吧「建议收藏」

    聊聊互联网行业年终奖:大家一起关门哭吧

    2022年2月12日
    49
  • java程序运行机制的特点_Java语言的特点

    java程序运行机制的特点_Java语言的特点特点一:面向对象1、两个基本概念:类、对象2、三大特性:封装、继承、多态特点二:健壮性吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制特点三:跨平台性跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Writeonce,RunAnywhere”原理:只要在需要运行java应用程序的操作系…

    2022年7月8日
    14
  • Android屏幕手写签名的实现-详细篇

    Android屏幕手写签名的实现-详细篇

    2021年3月12日
    244
  • c数组移除指定元素方法_删除数组中的某个对象

    c数组移除指定元素方法_删除数组中的某个对象方式一:通过差集的方式排除0newList<int>{0,1,2,3,4,5}.Except(newList<int>{0}).ToList()方式二:先去重,在排除0varlist=newList<int>{0,1,2,3,4,5,0}.Distinct()list.Remove(0);

    2022年8月10日
    3
  • SpringBoot面试题及答案整理

    SpringBoot面试题及答案整理什么是SpringBootSpringBoot建立spring框架之上,使用spring启动,帮我们避免了大量的配置。因此,SpringBoot可以帮助我们以最少的工作量,更加健壮地使用现有的Spring功能。SpringBoot有哪些优点?1、减少开发,测试时间和努力。2、使用JavaConfig有助于避免使用XML。3、避免大量的Maven导入和各种版本冲突。4、提供意见发展方法。5、通过提供默认值快速开始开发。6、没有单独的Web服

    2022年5月11日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号