ATTCK v12版本战术实战研究——提权(二)

news2024/11/17 12:42:52

一、前言

前几期文章中,我们介绍ATT&CK 14项战术中提权战术(二),包括提权前7项子技术。那么从前文中介绍的相关提权技术来开展测试,进行更深一步的分析。本文主要内容是介绍攻击者在运用提权技术时,在相关的资产服务器或者在PC机器上所产生的特征数据进行分析,使安全运维人员在后续工作中应当如何去进行预防和快速响应。 

二、提权战术

(一)cron提权

1.1crontab介绍

Linux crontab 是用来定期执行程序的命令, crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

1.2 Linux Cron Jobs提权

定时任务(cron job)被用于安排那些需要被周期性执行的命令。利用它可以配置某些命令或者脚本,让它们在某个设定的时间内周期性地运行。cron 是 Linux 或者类 Unix 系统中最为实用的工具之一。cron 服务(守护进程)在系统后台运行,并且会持续地检查 /etc/crontab 文件和 /etc/cron.*/ 目录。它同样也会检查 /var/spool/cron/ 目录

提权的前提是存在一个执行危险脚本的任务计划,并且这个任务计划执行的执行脚本可以被非root权限用户修改覆盖,并可以正常执行任务计划。

1.3suid介绍

是一种特殊权限,设置了suid的程序文件。在用户执行该程序时,用户的权限是该程序文件属主的权限。

添加suid权限:chmod u+s filename

只有可以执行的二进制程序文件才能设定SUID权限,非二进制文件设置SUID权限没任何意义

命令执行者要对该程序文件拥有执行(x)权限

命令执行者在执行该程序时获得该程序文件属主的身份

SUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效

1.4crontab提权原理

如果特权用户通过crontab -e 或者 vim /etc/crontab添加了计划任务,计划任务中存在脚本文件,且其他用户有可写的权限,则我们可以利用计划任务进行提权。

1.5crontab提权演示

普通用户test登录192.168.2.164linux系统

并且查看cat /etc/crontab下root用户的计划任务

* * * * * root sh /test.sh >> /tmp/test.txt

普通用户再查看/test.sh文件权限,普通用户有是否有读写权限

ls -l /test.sh

-rw-rw-rw-. 1 root root 3942 Apr 17 17:56 /test.sh

利用其他用户可写权限,向该脚本文件中写入提权操作

echo "cp /bin/bash /tmp/bash; chmod u+s /tmp/bash" >> /test.sh

运行/tmp/bash,此时我们已拿到root权限。

1.6态感平台检查日志

基于计划任务cron日志关联被脚本变化,脚本里写入/bin/bash从而产生告警。

下面是态感平台检测到192.168.2.164系统上rontab的产生的日志

Apr 17 17:49:01 localhost CROND[113772]: (root) CMD (sh /test.sh >> /tmp/test.txt)

下面是态感平台检测到192.168.2.164系统上检测/test.sh脚本的产生的日志

Apr 17 17:49:06 localhost test: secisland user=test client=192.168.2.160 53602 22 path=/tmp command: echo "cp /bin/bash /tmp/bash; chmod u+s /tmp/bash" >> /test.sh

1.7态感管理平台产生告警

1.8防御

系统内可能会有一些定时执行的任务,一般这些任务由crontab来管理,具有所属用户的权限。Cron的脚本程序以root权限执行时,不要将非特权用户可以通过编辑此脚本。

(二)利用漏洞提权

攻击者可利用软件漏洞来提升权限,利用程序、服务或操作系统软件或内核本身中的编程错误来执行恶意代码。漏洞通常存在于通常以较高权限运行的操作系统组件和软件中,可以利用这些漏洞在系统上获得更高级别的访问权限。

2.1永恒之蓝漏洞介绍

永恒之蓝漏洞(MS17-010),是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。

它的爆发源于 WannaCry 勒索病毒的诞生,该病毒是不法分子利用NSA(National Security Agency,美国国家安全局)泄露的漏洞 “EternalBlue”(永恒之蓝)进行改造而成 。勒索病毒的肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。据统计,全球100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。

2.2漏洞原理

永恒之蓝漏洞通过 TCP 的445和139端口,来利用 SMBv1 和 NBT 中的远程代码执行漏洞,通过恶意代码扫描并攻击开放445文件共享端口的 Windows 主机。只要用户主机开机联网,即可通过该漏洞控制用户的主机。不法分子就能在其电脑或服务器中植入勒索病毒、窃取用户隐私、远程控制木马等恶意程序。

2.3影响版本

目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。

2.4漏洞复现过程

环境:

攻击机:Linux kali (IP:192.168.2.164)

靶机:Windows Server 2008 R2 Datacenter (IP:192.168.2.174)

hack主机实施攻击:

我们登录kali攻击机上,matespliot利用 ms17-010 攻击代码进行攻击。搜索ms17-010 攻击相关的攻击模块:search ms17_010。

进入到相关模块后,设置攻击目标地址:set rhosts 192.168.2.174,设置目标端口445。

这样我们就攻击成功,得到靶机system权限。并且可以靶机进行控制

靶机被攻击时,产生的服务:WMI Performance Adapter、Volume Shadow Copy、Shell Hardware Detection、Windows Update、Windows Remote Management (WS-Management)被动启停。

我们登录到靶机上查看相关日志如下:

2.5态感管理平台检测告警

我们态感平台检测到windows server 2008系统上的MS17-010相关漏洞的编码,就会触发告警

2.6漏洞防御

1、关闭445端口。

2、打开防火墙,安装安全软件。

3、安装对应补丁

三、总结

一个网络系统中难免存在一定的漏洞,由于部分用户缺乏一定的安全意识,往往没有对系统中的漏洞进行及时的修补,或系统文件权限等设置过于简单,这都会导致病毒通过系统漏洞入侵到计算机系统,从而获得操作系统的权限。为了提高网络安全性,需要采取合理的措施对计算机防御,为计算机构建一个健康、安全的环境。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ZLMediaKit实现按需拉流时rtsp流地址不对addStreamProxy返回0,接口流id参数踩坑记录

场景 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放: 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放_霸道流氓气质的博客-CSDN博客 基于上面实现拉取视…

vue_02

文章目录 安装axios配置响应拦截器(对响应做统一处理)解决跨域问题登录token问题首先在Login.vue中添加下列代码然后在api.js中添加请求拦截器 页面加载动画的添加请求方式的全局配置在api.js中添加四种请求在main.js中配置全局 Login.vue完成代码 安装a…

前端实战(三):element-ui的二次封装

目录 二次封装 Switch 开关 原始效果 设计效果 实现步骤 在日常开发过程中,大多数项目主要以 vue 为主,并且现在很多公司仍在使用着 vue。但在使用element-ui组件时通常会遇到一些问题:如组件样式与设计不符合、组件不存在某个功能等等&a…

都已经那么卷了,用户还需要开源的 API 管理工具么

关于 API 管理工具,如今的市场已经把用户教育的差不多了,毫不夸张地说,如果我随机抽取一位幸运读者,他都能给我罗列出一二三四款大家耳熟能详的工具。可说到开源的 API 管理工具,大家又能知道多少呢? 我们是…

计算机网络复习题+答案

文章目录 导文题目一、单项选择题二、填空题三、判断改错题,判断下列命题正误,正确的在其题干后的括号内打“√”,错误的打“”,并改正。四、名词解释五、简答题六、应用题导文 计算机网络复习题 题目 一、单项选择题 在应用层协议中,主要用于IP地址自动配置的协议是: (…

一文讲清莱迪斯 LCMXO2-4000HC-4BG256I 可编程逻辑FPGA 特性及运用领域

一文讲清lattice莱迪斯深力科 LCMXO2-4000HC-4BG256I 可编程逻辑FPGA 特性及运用领域 适用于低成本的复杂系统控制和视频接口设计开发,满足了通信、计算、工业、消费电子和医疗市场所需的系统控制和接口应用。 瞬时启动,迅速实现控制——启动时间小于1m…

605. 种花问题

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0…

Mybatis核心组件简介

文章目录 前言一、Configuration二、MappedStatement三、SqlSession四、Executor五、StatementHandler六、ParameterHandler七、ResultSetHandler八、TypeHandler总结 前言 SqlSession是MyBatis提供的面向用户的操作数据库API。那么MyBatis底层是如何工作的呢?为了…

2. VBA Excel宏

在本章中,我们来学习如何逐步编写一个简单的宏。 第1步 - 首先,在Excel 2016中启用“开发者”菜单。要完成这个设置,请点击左上角菜单:文件 -> 选项。如下图所示 - 第2步 - 点击“自定义功能区”选项卡并选中“开发工具”。然…

Pulumi实战 | 一款架构即代码的开源产品

新钛云服已累计为您分享741篇技术干货 本篇文章,主要介绍 Pulumi 是什么以及它的相关原理,并且使用它搭建一个 Nacos 和 SpringBoot 的环境! 一、Pulumi 诞生 (一)诞生原因 Pulumi 是一个架构即代码的开源产品&#xf…

学系统集成项目管理工程师(中项)系列09_收尾管理

1. 广义 1.1. 项目验收工作 1.2. 项目总结工作 1.3. 系统维护工作 1.4. 项目后评价工作 1.5. 项目团队成员的后续工作 2. 狭义 2.1. 项目验收工作 3. 项目验收 3.1. 首要环节 3.2. 包括验收项目产品、文档及已经完成的交付成果 3.3. 需要完成正式的验收报告 3.3.1.…

STM32使用PWM(脉冲宽度调制)

STM32使用PWM(脉冲宽度调制) 一、PWM概述二、STM32的PWM分析三、PWM产生的流程示例代码 一、PWM概述 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出(…

记录关于GPT的应用

一.AutoGPT chatgpt是一问一答的形式,autogpt则是输入需要做的东西以及几个目标,例如: Enter y to authorise command, y -N to run N continuous commands, n to exit program, or enter feedback for .. 注意:openai账户里应该…

Flink高手之路6-Flink四大基石

文章目录 Flink四大基石一、Flink的四大基石1. Checkpoint2. State3. Time4. Window 二、案例1.需求2.代码实现3.运行,查看结果4.增加需求2的实现5.重启程序,查看结果 Flink四大基石 一、Flink的四大基石 Flink之所以能这么流行,离不开它最…

python和PyTorch知识

解包操作 可变参数和关键字参数是 Python 函数的两种参数类型。 b, *_ t.shape python中这个用法是什么意思 我们使用 _” 来“忽略”一个或多个值(表示我们不需要这些值),然后将“t.shape”元组的第一个元素赋值给变量“b”。 pytorc…

使用ChatGPT的方法和替代方案

作为互联网应用,ChatGPT也有国内化的替代方案。在国内,一些公司已经开始利用深度学习技术开发本地化的语言模型,例如阿里巴巴的通义千问、华为的盘古大语言模型,以及百度的文心一言等等,这些模型可以完成自然语言处理任…

javassist 字节码处理库

目录 一、快速入门 1.1 创建class文件1.2 ClassPool的相关方法1.3 CtClass的相关方法1.4 CtMethod的相关方法1.5 调用生成的类对象 1.5.1 通过反射调用1.5.2 通过接口调用1.6 修改现有的类对象二、将类冻结三、类搜索路径四、$开头的特殊字符五、ProxyFactory的使用 我们知道J…

论文排版怎么排?教您3分钟搞定!

案例:如何对论文进行排版? 【我把写好的毕业论文交给老师检查,老师说我的格式不正确,叫我按照正确的格式进行排版修改。如何对论文进行排版?有没有小伙伴知道论文的正确格式?】 临近毕业,很多…

3.java程序员必知必会类库之junit

前言 单元测试技术的使用,是区分一个一般的开发者和好的开发者的重要指标。程序员经常有各种借口不写单元测试,但最常见的借口就是缺乏经验和知识。常见的单测框架有 JUnit , Mockito 和PowerMock 。本文就Junit展开介绍。 1.介绍 JUnit 是一个 Java …

webservice使用帮助手册

什么是Webservice 简单讲就是一种RPC的实现方式 参考:WebService是什么 SOAP1.1和SOAP1.2的区别 参考:https://www.cnblogs.com/yefengmeander/p/4176771.html 发布Webservice服务 1.用WebService编写一个webservice服务 2. 发布服务 3. 查看发布…