Wannacrypt蠕虫老树开花?又见Wannacrypt
Wannacrypt蠕虫是一个在2017年就出现的远古毒株,其利用永恒之蓝漏洞降维打击用户服务器,而后进行扩散+勒索,曾经一度风靡全球,可谓是闻者伤心,听着落泪,因为这玩意解密是不可能 解密的。
而2023年的今天,该病毒居然死灰复燃了?
2023年3月5日,某厂区客户现场反馈大量内网服务器出现蓝屏情况,现场工程师安装360安全卫士后,提示为Wannacry蠕虫病毒
从描述中可以猜测是永恒之蓝把服务器打蓝屏了,而后现场通过与现场工程师协同了解到,当时蓝屏的服务器是一台实时数据库服务器,操作系统版本为windows server pack 2 。由于厂区服务器特殊,是不能经常升级的,所以可以理解。。。
通过上述的图片,我推断感染为WannaCrypt蠕虫病毒,该病毒实际爆发事件为2017年,通过永恒之蓝漏洞攻击目标机器,而后通过访问“开关”来判定出网情况,之后释放tasksche.exe文件,而后对系统进行加密,达到勒索的效果。
同时会对内网、外网进行横向攻击,利用永恒之蓝漏洞、SMB、RDP协议爆破来获取更多的权限,幸运的是,此次勒索病毒并没有达到勒索的状态。
这是一款老病毒了,在得知他不能起到勒索的作用后,其实就基本可以判断这就是一次非针对性的流窜,被乱打正着了,清理起来也很容易,结束掉mssecsvc.exe进程,看一下c:/windows目录下有没有tasksche.exe文件,看到直接删除而后打补丁,更改密码即可
但是由于该蠕虫病毒传播性较强,于是乎笔者像前场人员要来了这台服务器的登录日志,可能是沟通有问题,他只给了我登录成功和登录失败的日志
由于永恒之蓝漏洞一大特性是会重启,那么其实可以根据以下进行判断
事件ID 4625(登录失败):如果攻击者尝试通过SMB服务进行远程执行代码攻击,那么会在目标机器的安全事件日志中产生大量登录失败的事件记录。可以筛选该事件ID,以找到与攻击相关的记录。
事件ID 5140(共享对象被其他进程访问):攻击者可能会试图利用漏洞访问共享文件夹或文件,如果成功,系统将记录此事件。
事件ID 7034(服务崩溃):攻击者可能会试图通过攻击SMB服务或相关的Windows服务来执行代码,导致服务崩溃,这会在系统事件日志中记录。
事件ID 7045(服务安装):攻击者可能会通过安装恶意服务的方式利用漏洞。此时,系统将记录新服务的安装记录。
但是他只给了我登录成功和登录失败的日志,那么我们应该如何去用这个日志去获取我们想要的信息呢?
上面也提到过,Wannacay蠕虫病毒在内网会利用MS17010漏洞以及SMB协议漏洞进行攻击,似乎并没有提到会利用到445端口、3389等端口的弱口令暴力破解攻击,但是实际上根据笔者对日志的审计,发现的确会留下很多ntlmssp登录失败日志
其实可以看到,该服务器实际上2021年就已经被打了,但是直到今天其他服务器蓝屏了才发现设备被入侵了,这也是目前国很常见的一个现象,只要没有造成直接的财产损失,他就不是病毒。
那么回到正题,该样本实际上已经没有分析的必要了,因为这是一个老病毒了,我们只需要按部就班的清除就行,索性勒索病毒似乎并没有起,所以我们只需要排查哪些机器已经被污染了,就一起断网清除就可以了
至于为什么一插网线就又有“弹窗”,那是因为内网里其他的机器没有清理病毒,只要网络环境一恢复,那么要不了两分钟立马就给你重新感染,我们通过3.5日的日志也可以看出来,正如我们猜想的那样
笔者简单的看了一下爆破的记录,发现每次爆破都不会很多,少则二三十、多则一两百,没有出现上一次紫狐Rootkit爆破次数达到上万的情况,那么也从侧面说明了,该服务器很有可能是存在弱口令或者是口令共用的情况
而后果然证实了,218确实存在mssecmvc.exe文件,但是依然没有发现本应该存在的tasksche.exe文件以及另一个,这又让我怀疑,这到底是不是wannacay蠕虫病毒
但是当样本给了我之后,我又很确定,这就是mssecmvc2.0蠕虫病毒
而后在本地断网运行后,也的确是在C:/windows目录下生成了tasksche.exe文件
查看一下运行的参数
wmic process get caption,commandline /value
使用IDA看了一下,特征也挺符合的
打开第一眼看到的其实就是访问http://www.iuqerfsodp9ifjaposdfjhgosuri地址,这个地址其实什么也不是,可以理解为是一个开关
0040814A mov esi, offset aHttpWww_iuqerf ; “http://www.iuqerfsodp9ifjaposdfjhgosuri”…
此时按F5进入伪代码,查看一下函数逻辑
其实看起来不是很好看,但是大致就是将http://www.iuqerfsodp9ifjaposdfjhgosuri传入szUrl中,而后访问成功的话就返回0,程序继续往下走,否则就会进入到408090地址
我们先跟踪一下aHttpWww_iuqerf
并没有什么卵用,我们回到刚刚的伪代码,双击408090
我们进入到此函数后,发现该函数首先判断程序是不是双击运行的,双机运行的话是就进入到407F20函数,否则就会打开服务主函数,启动服务管理器(28行)
我们首先进入到407F20函数
第一步,进入407C40函数,带参数执行mssecmvc恶意程序,而后打开服务器创建服务进程,更改成微软的服务名称用来躲避杀软
我们再进入407CE0,该函数的目的其实是为了将tasksche.exe藏起来,这样如果只是把明面上的删除了,过一段时间依然会返回来(我猜的)
最后,如程序是正常执行的,那么此时程序会进入到408000服务主函数内
如注释所看,该函数目的是注册一个服务,服务名为mssecsvc2.0,若是服务注册成功则会进入407BD0主函数内
我们进入到407BD0函数地址
我们首先进入407B90函数地址,如下图所示,此函数主要功能其实就是初始化网络环境,准备加载两个PE文件
我们再进入407A20内容,其实就是申请两个内存空间(到底是堆栈还是内存?)用来存放即将要用到的payload,不管你是x86还是x64架构,直接塞两次进去,而后保存文件,存在的话就打开
我们再来看一下 407720函数,此函数用来进行内网SMB协议漏洞攻击
我们先来查看409160获取网卡信息函数
4076B0 局域网内传播函数,利用SMB协议漏洞或者是SMB协议爆破连接目标机器
由此,我们得出如下结论
到此暂时告一段落,其余的笔者能力有限(菜逼),接下来就要从日志入手,快速知道局域网都哪些人中招了
废话不多说,我们直接从登录失败日志即可得到我们想要的答案;因为该蠕虫会通过445端口进行爆破,那么我们只需要检索服务器4625登录失败日志,找到机器行为的,那么就可以知道谁攻击我,谁攻击我,谁就是有问题的机器
又拐回来了,日志虽然只有5000+条,但是时间线太长,如果一条一条筛不太现实,这个时候我们直接上工具
Log Parser Studio ,这是一款图形化日志分析工具,我们只需要用到几条简单的SQL语句即可快速筛选我们想要的内容
首先我们先将系统日志导入到工具内
而后我们新建一个窗口,修改日志类型,输入sql语句
SELECT TimeGenerated AS [时间],EXTRACT_TOKEN(Strings,5,'|') AS [登录用户名],EXTRACT_TOKEN(Strings,6,'|') AS [登录域],EXTRACT_TOKEN(Strings,19,'|') AS [源IP地址],EXTRACT_TOKEN(Strings,10,'|') AS [登录类型],EXTRACT_TOKEN(Strings,11,'|') AS [登录进程]
FROM C:\Users\Administrator\Desktop\LPSV2.D1\157-4625.evtx
WHERE
EventID=4625
此SQL语句可以获取所有的4624登录失败日志,筛选出爆破的时间、爆破的用户名、登录域、源IP地址、登录类型、登录进程信息;我们着重关注登录类型为3,登录进程为Ntlmssp的,这个进程其实就是445/3389爆破的记录
我们可以点击红色感叹号执行,而后将结果导出到表格里,这样更方便我们观察
导出结果如下图所示
我们以此类推,导出4624结果
SELECT TimeGenerated AS [时间],EXTRACT_TOKEN(Strings,5,'|') AS [登录用户名],EXTRACT_TOKEN(Strings,6,'|') AS [登录域],EXTRACT_TOKEN(Strings,18,'|') AS [源IP地址],EXTRACT_TOKEN(Strings,8,'|') AS [登录类型],EXTRACT_TOKEN(Strings,9,'|') AS [登录进程]
FROM C:\Users\Administrator\Desktop\LPSV2.D1\157-4625.evtx
WHERE EventID=4624
我们看一下导出结果
这两个并没有卵用,我们只需要知道谁爆破我们了就可以了,那么我们可以这样做
SELECT DISTINCT to_date(TimeGenerated) AS [时间],EXTRACT_TOKEN(Strings,19,'|') AS [源IP地址],EXTRACT_TOKEN(Strings,10,'|') AS [登录类型],EXTRACT_TOKEN(Strings,11,'|') AS [登录进程],EXTRACT_TOKEN(Strings,5,'|') AS [登录用户名],COUNT(*) AS [总数]
FROM C:\Users\Administrator\Desktop\LPSV2.D1\157-4625.evtx
WHERE EventID = 4625
GROUP BY to_date(TimeGenerated), EXTRACT_TOKEN(Strings,19,'|') ,EXTRACT_TOKEN(Strings,10,'|') , EXTRACT_TOKEN(Strings,11,'|'), EXTRACT_TOKEN(Strings,5,'|')
HAVING COUNT(*) > 5
ORDER BY to_date(TimeGenerated), COUNT(*) DESC
我们直接将每天的IP去重复,然后按照日期排序,将每天对我们爆破过的IP进行单独计数,我们直接就知道了都有谁爆破我们了,大大的爽
只筛选4625的源IP地址
SELECT DISTINCT EventID, EXTRACT_TOKEN(Strings,19,'|') AS IPAddress
FROM C:\Users\Administrator\Desktop\LPSV2.D1\157-4625.evtx
WHERE EventID = 4625
至此告一段落,清除也简单,结束掉进程,删除就行了
相关文章:
Wannacrypt蠕虫老树开花?又见Wannacrypt
Wannacrypt蠕虫是一个在2017年就出现的远古毒株,其利用永恒之蓝漏洞降维打击用户服务器,而后进行扩散勒索,曾经一度风靡全球,可谓是闻者伤心,听着落泪,因为这玩意解密是不可能 解密的。 而2023年的今天&am…...
结合基于规则和机器学习的方法构建强大的混合系统
经过这些年的发展,我们都确信ML即使不能表现得更好,至少也可以在几乎所有地方与前ML时代的解决方案相匹配。比如说一些规则约束,我们都会想到能否把它们替换为基于树的ml模型。但是世界并不总是黑白分明的,虽然机器学习在解决问题…...
Spring Security OAuth2实现多用户类型认证、刷新Token
原本的OAuth2登录支持用户名密码登录,现在还想支持另外用id号码和密码登录。但是OAuth2默认提供的UserDetailsService只允许传入一个参数:想要实现多种用户登录,是不是可以考虑loadUserByUsername方法携带多个参数呢?接下来记录一…...
云计算介绍,让你更了解云计算
同学们好! 第一次接触IT行业吗?没关系,看完这篇文章肯定会让你不再陌生。给自己几分钟时间,认真看完哦! 1、不知道什么是云计算? 网络计算云计算 官方定义是:通过网络提供可伸缩的分布式计算…...
阿里大佬翻遍全网Java面试文章,总结出这份1658页文档,GitHub收获25K+点赞
就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。这不又到了面试跳槽的黄金段,成功升职加薪,不成功饱受打击。当然也要注意&…...
【JDK1.8 新特性】Lambda表达式
1. 什么是Lambda表达式? Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达…...
【Vue.js】Vuex核心概念
文章目录全局状态管理模式Vuexvuex是什么?什么是“状态管理模式”?vuex的应用场景Vuex安装开始核心概念一、State1、单一状态树2、在 Vue 组件中获得 Vuex 状态3、mapState辅助函数二、Getter三、Mutation1、提交载荷(Payload)2、…...
react router零基础使用教程
安装既然学习 react router 就免不了运行 react安装 reactnpx create-react-app my-appcd my-appnpm start安装 react routernpm install react-router-dom如果一切正常,就让我们打开 index.js 文件。配置路由引入 react-router-dom 的 RouterProviderimport {Route…...
IOC三种依赖注入的方式,以及区别
目录构造方法注入(constructor injection)setter 方法注入(setter injection)接口注入(interface injection)三种方式比较构造方法注入(constructor injection) 构造方法中声明依赖…...
Ubuntu18安装新版本PCL-1.13,并和ROS自带PCL-1.8共存
文章目录1.安装新版本PCL-1.132.在工程中使用新版本的PCL-1.133.pcl-1.13误装到/usr/local/下如何卸载1.安装新版本PCL-1.13 下载PCL-1.13代码: 修改CMakeLists.txt文件,不编译vtk相关的代码:vtk的问题比较难解决,但是一般我们安…...
计算机图形学08:中点BH算法绘制抛物线(100x = y^2)
作者:非妃是公主 专栏:《计算机图形学》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、算法原理二、…...
基于java的高校辅导员工作管理系统
摘 要网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理模块,对于高校辅导员工作管理将是又一个传统管理到智能化信息管理的改革,设计高校辅导员工作管理系统的目的就是借助计算机让复杂的班级信息、学籍信息等管…...
字节3次都没裁掉的7年老测试。掌握设计业务与技术方案,打开上升通道!
前言职场中的那些魔幻操作,研发最烦的是哪个?“面对业务需求的时候,可能都听过这样一句话:这个很简单,直接开发,三天内上线;”朋友说:“产品听了流泪,测试见了崩溃&#…...
详细介绍关于链表【数据结构】
文章目录链表单链表尾插头插尾删第一种方式删除第二种头删查找pos之前插入pos位置删除pos后面插入pos位置后面删除链表 顺序表缺点: 空间不够了 需要扩容,但是扩容是有消耗的头部或中间位置需要插入或删除,需要挪动 ,但是挪动是…...
2.3 二分搜索技术
二分搜索算法是运用分治策略的典型例子。给定己排好府的 n个元素a10:n-1],现要在这n个元素中找出一特定元素3。首先较容易想到的是用顺序搜索方法,逐个比较a10:1-1]中元素,直至找出元素,或搜索遍整个数组后确定,不在其…...
RWEQ模型的土壤风蚀模数估算、其变化归因分析
土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一,土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2,占国土总面积的16.7%,严重影响这些地区的资源开发和社会经…...
学习streamlit-1
Streamlit A faster way to build and share data apps streamlit在几分钟内就可以将数据脚本转换为可共享的web应用程序,并且是纯python编程,无需前端经验。 快速开始 streamlit非常容易上手,运行demo只需2行代码: pip install…...
GPS定位知识介绍
GPS定位和网络定位 GPS定位需要卫星参与,设备借助搜到的卫星讯号,计算出设备的位置。网络定位是指利用基站、WIFI MAC,获取一个粗略的位置。3D定位和2D 定位 3D一般是指使用至少4颗以上卫星完成的定位。2D一般使用3颗卫星完成的定位过程。...
【Linux】理解Linux环境变量
🍎作者:阿润菜菜 📖专栏:Linux系统编程 初识环境变量 什么是环境变量 我们平常所用的Linux指令其实也是可执行程序,和我们自己写的二进制程序没什么两样,那么为什么我们在执行自己的程序的时候需要加上 ./…...
ISCSI块存储-集群
ISCSI块存储-集群 1、ISCSI概述 ISCSI与SCSI原理对比 底层都是硬盘 ISCSI第二层就是通过gateway/网络获取–>SCSI:是直连获取 常见的用于ISCSI服务的网络拓扑类型 SAN:Storage Area Network:存储区域网络; 多采用告诉光纤…...
11.Maxwell 部署
Maxwell 部署 一、环境准备 1、确保服务器上已经安装好了zookeeper、kafka、MySQL软件; (1)启动zookeeper: /usr/app/zookeeper3.4/bin/zkServer.sh start(2)启动三台主题的kafka 启动:bin/kafka-serv…...
一文速学-GBDT模型算法原理以及实现+Python项目实战
目录 前言 一、GBDT算法概述 1.决策树 2.Boosting 3.梯度提升 使用梯度上升找到最佳参数 二、GBDT算法原理 1.计算原理 2.预测原理 三、实例算法实现 1.模型训练阶段 1)初始化弱学习器 2)对于建立M棵分类回归树: 四、Python实现 …...
前端——2.HTML基本结构标签
这篇文章我们从0来介绍一下HTML的相关标签内容 目录 1.HTML语法规范 1.1基本语法概述 1.2标签关系 2.HTML的基本结构标签 2.1第一个HTML网页 2.2基本结构标签总结 1.HTML语法规范 下面,我们来看一下HTML的语法规范的内容 1.1基本语法概述 首先,…...
OAK深度相机使用不同镜头和本地视频流进行模型推理
编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…...
[项目] Boost搜索引擎
目录 1.项目相关背景 2.项目宏观原理 3.技术栈和项目环境 4.正排索引&&倒排索引 5.去标签与数据清洗 6.构建索引模块Index 6.1正排索引 6.2 建立倒排 jiebacpp使用 建立分词 7.搜索引擎模块Searcher Jsoncpp -- 通过jsoncpp进行序列化和反序列化 处理Cont…...
解决新版QGIS找不到Georeferencer插件
目录1. 问题分析1.1 去 Raster 找,没找到1.2 去插件搜,未搜到1.3 插件库里也搜不到2. 解决办法在 QGIS 3.30中,按常规办法,找不到 Georeferencer插件,它并没有被安装,在库中也找不到它, 请问问题…...
c---冒泡排序模拟qsort
一、冒泡排序 二、冒泡排序优化排各种类型数据 文章目录一、冒泡排序二、冒泡排序优化排各种类型数据冒泡排序 冒泡排序原理:两两相邻元素进行比较 初级版 void bulle_sort(int* a, int sz) {int i 0;for (int i 0; i < sz-1; i){int j 0; for (j 0; j…...
Java知识复习(十四)JS
1、数据类型 基本数据类型:null、undefinde、boolean、string、number、symbol(ES6新增)引用数据类型:Function、Array、Object、Map和Set(ES6新增) 2、let、var和const的区别 var定义的变量,…...
代码随想录刷题-数组-移除元素
文章目录写在前面习题我的想法暴力解法双指针写在前面 本节对应代码随想录中:代码随想录 习题 题目链接: 27. 移除元素- 力扣(LeetCode) 给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素&a…...
聚观早报 |拼多多跨境电商业务正式登陆澳洲;中国加快6G网络研发
今日要闻:拼多多跨境电商业务正式登陆澳洲;全球自动驾驶公司排名特斯拉垫底;中国将加快 6G 网络研发;B站再次“崩”上热搜!已闪电修复;微软将必应AI聊天每次对话上限增加至8条拼多多跨境电商业务正式登陆澳…...
wordpress名字修改/济南网站万词优化
1、什么是jQuery jQuery是一个JavaScript函数库。 jQuery是一个轻量级的"写的少,做的多"的JavaScript库。 jQuery库包含以下功能: HTML元素选取 HTML元素操作 CSS操作 HTML事件函数 JavaScript特效和动画 HTML DOM遍历和修改 AJAX Utilites 提…...
电子科技技术支持东莞网站建设/网店运营公司
插入排序 插入排序是这样实现的: 首先新建一个空列表,用于保存已排序的有序数列(我们称之为"有序列表")。 从原数列中取出一个数,将其插入"有序列表"中,使其仍旧保持有序状态…...
公司注册后怎么做网站/seo关键词如何布局
1 引言 摘要:在这项工作中,我们旨在构建一个性能强大的简单,直接和快速的实例分割框架。我们遵循SOLOv1方法的原理。" SOLO:按位置分割对象"。重要的是,我们通过动态学习目标分割器的mask head 。具体来说&a…...
个人网站建设 免费/域名大全免费网站
scrapy爬虫成长日记之将抓取内容写入mysql数据库前面小试了一下scrapy抓取博客园的博客(您可在此查看scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据),但是前面抓取的数据时保存为json格式的文本文件中的。这很显然不满足我们日常的实际应用ÿ…...
做电影网站投资多少/鸿科经纬教网店运营推广
element-ui的菜单样式重构,需要了解结构,再做定制。 ul.myMenuName .el-menuli.el-submenudiv.el-submenu__title //-----------------1 级菜单ul.el-menu .el-menu--inlineli.el-submenudiv.el-submenu__titile //------------1-1级菜单ul.el-menu .el…...
地方政府门户网站的建设/在线建站网页制作网站建设平台
在Windows server 2003上配置DHCP服务<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />实验二DHCP中继代理配置★ 实验环境1.准备三台电脑,一台作为客户机(XP),一台为DH…...