捕获在野SMBGhost本地提权攻击样本

前言

从Windows10 v1903/Windows Server v1903开始,微软在协议SMB3.1.1中开启了对数据压缩传输的支持,但是由于SMB没有正确处理压缩的数据包,在客户端/服务端解压数据的时候,没有对COMPRESSIN_TRANSFORM_HEADE结构进行安全校验,导致后续代码发生一连串整形溢出、越界读写等漏洞,SMB远程代码执行漏洞(CVE-2020-0796),该漏洞主要是因为在最新的Windows 10系统中,处理SMB3.1.1协议的压缩消息时,对头部数据没有做任何安全检查,从而引发内存破坏漏洞,黑客利用此漏洞,可无须任何权限的情况下,即可实现远程内核代码执行,此漏洞被公布后不久,国外安全研究人员,利用此漏洞开发出了本地提权利用程序。

样本信息

捕获一例在野的利用SMBGhost本地提权的攻击样本,样本在2020年5月21号使用了无效的数字签名信息,如下所示:

该数字签名的详细信息,如下所示:

详细分析

对样本进行详细分析,使用GlobalAlloc函数分配内存空间,然后解密出第一层的ShellCode代码并执行,如下所示:

解密出来的第一层ShellCode代码,如下所示:

第一层ShellCode代码调用VirtualAlloc分配内存空间,如下所示:

再解密出第二层ShellCode代码,如下所示:

执行第二层ShellCode代码,然后在分配内存空间,解密出SMBGhost本地提权核心代码,如下所示:

然后进行内存替换,执行解密出来的SMBGhost本地提权核心代码,如下所示:

跳转执行到SMBGhost本地提权程序的核心代码处,如下所示:

核心的SMBGhost本地提权代码,使用了是国外安全研究人员公布的一个开源的代码,如下所示:

总结

全球各地的黑客组织都在不断更新自己的网络攻击武器,就像WannaCry勒索病毒一样,在永恒之蓝系列漏洞被曝光后的一个月不到的时间里,就被WannaCry勒索病毒利用,在全球范围内爆发,可见黑客组织的行动之快,无时无刻不在研究最新的攻击手法与攻击武器,现在全球网络安全形势越来越严峻,各种网络犯罪组织都在通过发起网络攻击行为获取利益,网络安全在未来会越来越重要,地下黑客组织的攻击活动从来没有停止过,安全研究人员需要持续不断的关注最新的安全动态,及时掌握全球黑客组织的攻击行为

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/496916.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity中的UI系统之GUI

目录 概述工作原理和主要作用基础控件重要参数及文本和按钮多选框和单选框输入框和拖动条图片绘制和框 复合控件工具栏和选择网络滚动视图和分组窗口 自定义整体样式自定义皮肤样式 概述 什么是UI系统 UI是User Interface(用户界面)的简称,用…

Java特性之设计模式【命令模式】

一、命令模式 概述 ​ 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象&…

springcloud -服务注册治理之nacos

任务 查询: CPU密集型和IO密集型对 CPU内核之间的关系。—线程池 什么是Nacos **服务(Service)**是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理: Kubernetes Service gRPC & Dubbo RPC S…

打卡今天内存管理

首先我们的体系结构是这样的,根据小林coding 来写的笔记 寄存器,速度非常快, 32位的可以存4个字节,64位的可以存8个字节 多少位只是在32位以上 地址空间 分为两种地址空间 : 物理,逻辑 地址空间 地址空间…

【文献管理】zotero插件4——获取知网pdf、中文文献识别与目录生成

文章目录 zotero获取知网PDFzotero——中文文献识别(茉莉花插件)学位论文目录生成 zotero获取知网PDF zotero——中文文献识别(茉莉花插件) 为下载的学位论文添加目录中文文献识别:jasminum 下载pdflabs下载茉莉花插…

百度翻译相关介绍

官网地址:百度翻译(baidu.com) 通用文本翻译API 通用翻译API是百度翻译依托领先的自然语言处理技术推出的在线文本翻译服务,可支持中、英、日、韩等200语言互译,100语种自动检测。 传入待翻译内容,并指定要翻译的源语言&#xf…

2.27数据结构

1.链队 //link_que.c #include "link_que.h"//创建链队 Q_p create_que() {Q_p q (Q_p)malloc(sizeof(Q));if(qNULL){printf("空间申请失败\n");return NULL;}node_p L(node_p)malloc(sizeof(node));if(LNULL){printf("申请空间失败\n");return…

Spring中的事务和事务的传播机制

事务是一组操作的集合,不可以被分割。事务会把所有的操作作为一个整体,这组操作要么全部成功,要么全部失败。 事务有三种操作: 开启事务;提交事务;回滚事务。 如果代码的执行逻辑是这样: 开…

[C++][C++11][四] -- [lambda表达式]

目录 1.为什么要有lambda表达式?2.lambda表达式3.lambda表达式语法4.函数对象与lambda表达式 1.为什么要有lambda表达式? 在C98中,如果想要对一个数据集合中的元素进行排序,可以使用std::sort方法 如果待排序元素为自定义类型&am…

车牌识别-只用opencv的方式

项目简述 本文描述如何只使用opencv将车牌中的车牌号提取出来,整个过程大致分为三个过程:车牌定位,车牌号元素分割,模式匹配。 在做完这个实验后,我感触是,只用opencv的方式能使用的场景有限,不…

大模型(LLM)的token学习记录-I

文章目录 基本概念什么是token?如何理解token的长度?使用openai tokenizer 观察token的相关信息open ai的模型 token的特点token如何映射到数值?token级操作:精确地操作文本token 设计的局限性 tokenizationtoken 数量对LLM 的影响训练模型参…

【MySQL】DCL

DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。 1. 管理用户 在MySQL数据库中,DCL(数据控制语言)是用来管理用户和权限的语句集合。通过DCL语句,可以创建、修改、删…