Cobaltstrike渗透测试框架

news2024/11/16 5:47:50

Cobaltstrike简介

cobalt strike(简称CS)是一款团队作战渗透测试神器,分为客户端及服务端,一个服务端可以对应多个客户
端,一个客户端可以连接多个服务端,可被团队进行分布式协团操作.
和MSF关系
metasploit是一款开源框架,armitage是metasploit框架的图形化界面方式,cobalt strike是armitage的增
强版,同时也是收费软件。cobalt strike在2.0版本还是依托metasploit,在3.0之后的版本使用单独的平台。

目录结构

agscript 拓展应用的脚本
c2lint 用于检查profile的错误异常
teamserver 服务端程序
cobaltstrike,cobaltstrike.jar 客户端程序( java跨平台)
logs 目录记录与目标主机的相关信息
update,update.jar 用于更新CS
third-party 第三方工具

部署teamserver

需要java环境 默认服务端安装在linux平台
#!/bin/bash
tar -zxvf jdk-8u321-linux-x64.tar.gz -C /usr/lib/
echo "export JAVA_HOME=/usr/lib/jdk1.8.0_321/" >> /etc/profile
echo "export JRE_HOME=/usr/lib/jdk1.8.0_321/jre" >> /etc/profile
echo "export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH" >> /etc/profile
echo "export CLASSPATH=\$CLASSPATH:.:\$JAVA_HOME/lib:\$JAVA_HOME/jre/lib" >>/etc/profile
source /etc/profile
rm jdk-8u321-linux-x64.tar.gz
保存为 install.sh ,运行 chmod +x install.sh ./install.sh 执行,执行完成后再执行一次 source
/etc/profile ,然后输入 java -version ,返回 java 版本即安装成功。
yum search java|grep jdk
yum install java-1.8.0-openjdk*
上传CS到VPS
赋予teamserver可执行权限
修改默认端口
./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD]
必填参数host 本服务器外网IP/域名
必填参数password Client GUI连接时需要输入的密码 可选参数Malleable C2 communication profile 指定C2通信配置文件 该功能体现了CS的强大扩展性
可选参数kill date 指定所有payload的终止日期

客户端连接

需要java环境
Start.bat
java.exe -Dfile.encoding=UTF-8 -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -
Xms512m -Xmx4048m -jar cobaltstrike.jar

Cobaltstrike基本使用

常用功能

顶部菜单 主要使用cobaltstrike,View和Attack Cobaltstrike 菜单
New Connection # 进行另外一个连接,支持连接多个服务器端
Preferences # 设置 Cobal Strike 界面、控制台、以及输出报告样式 TeamServer 连接记录。
Visualization # 主要展示输出结果的形式
VPN Interfaces # 设置 VPN 接口
Listenrs # 创建一个 Listener
Script Manager # 脚本管理
Close # 退出连接

View菜单

Applications # 显示受害主机的应用信息
Credentials # 显示所有以获取的受害主机的凭证,如 hashdump Mimikatz
Downloads # 查看已下载文件
Event Log # 主机上线记录以及团队协作聊天记录
Keystrokes # 查看键盘记录结果
Proxy Pivots # 查看代理模块
Screenshots # 查看所有屏幕截图
Script Console # 加载第三方脚本以增强功能
Targets # 显示所有受害主机
Web Log # 所有 Web 服务的日志

Attack菜单

packages
HTML Application # 生成 (executable/VBA/powershell) 这三种原理实现的恶意 HTA 木马文件
MS Office Macro # 生成 office 宏病毒文件
Payload Generator # 生成各种语言版本的 payload
USB/CD AutoPlay # 生成利用自动播放运行的木马文件
Windows Dropper # 捆绑器能够对任意的正常文件进行捆绑 ( 免杀效果差 )
Windows Executable # 生成可执行 exe 木马
Windows Executable(Stageless) # 生成无状态的可执行 exe 木马
Web Drive-by
Manage # 对开启的 web 服务进行管理
Clone Site # 克隆网站,可以记录受害者提交的数据
Host File # 提供一个文件下载,可以修改 Mime 信息
Scripted Web Delivery # payload 提供 web 服务以便下载和执行 类似于 Metasploit web_delivery
Signed Applet Attack # 使用 java 自签名的程序进行钓鱼攻击 ( 该方式已过时 )
Smart Applet Attack # 自动检测 java 版本并进行攻击,针对 Java 1.6.0_45 以下以及 Java 1.7.0_21 以下版本
System Profiler # 用来获取一些系统信息,比如系统版本, Flash 版本,浏览器版本等
Spear Phish # 用来邮件钓鱼的模块 , 鱼叉钓鱼攻击

工具栏,即菜单栏中的部分功能

① Connect to team server :连接服务端
② Disonnect from team server :断开当前服务端连接
③ Configure Listeners :配置监听器
④ Show sessions in graph view :展示会话列表
⑤ Show sessions in table view :展示视图列表
⑥ Show targets in table view :展示目标列表
⑦ Credentials :查看从靶机获取的账户密码
⑧ Downloaded Files :查看从靶机下载的文件
⑨ Keystrokes :查看键盘记录
⑩ Screenshots :查看屏幕截图
⑪ Generate Windows Executable (Stageless) :生成无状态的 EXE 木马
⑫ Setup java Signed Applet Attack :开启 Web 服务为自签名 Java Applet 提供运行环境
⑬ MS Office Macro Attack :生成 OFFICE 宏病毒文件
⑭ Setup Scripted Web-Delivery (Stageless) :开启 Web 服务,供下载和执行 Payload
⑮ Host a file :开启 Web 服务,供下载文件
⑯ Manage Web Server :管理 Web 服务
⑰ Help :帮助文档
⑱ About :关于 Cobalt Strike

团队协作

1、多个客户端连接同一个服务端
2、一个客户端连接多个服务端

Cobaltstrike监听器详解

beacon

beacon指的是受害者与我们的teamserver所建立的这个连接,也可以理解成我们所获的的对方主机的控制权

listeners

Listener是用来接收Beacon请求信息的Cobalt Strike模块 ,其中包含DNS、HTTP、SMB、tcp为内置listener。

Foreign

Foreign为外部结合的Listener,常用于MSF的结合,例如获取meterpreter到MSF上

创建listener

Beacon HTTP&HTTPS(以HTTP或HTTPS协议流量建立Beacon连接)
NAME: 监听器名
Payload: 创建监听器所选用的 payload 和传输协议
HTTP Hosts: 回连主机
Host Rotation Strategy:cs4.3 新增在 beacon 通信时,可以选择更多的轮询方案以逃避检测、阻断, beacon 回连主机策略
HTTP Host(stager): 配置 Stager 主机,仅当 Payload 明确需要 Stager 配合时有效
Profile Malleable C2 配置文件,用于自定义通信流量特征
HTTPS Port (C2) Beacon 回连的监听端口
HTTPS Port (Bind) :绑定监听端口,实现端口重定向
HTTPS Host Header :设置内层真实域名,在使用域前置技术时使用
HTTPS Proxy :为 Payload 指定代理 Beacon DNS(以DNS协议流量建立Beacon连接)
DNS Hosts:Beacon回连的主机,可以添加多个
Host Rotation Strategy:Beacon回连主机策略
HTTP Host (Stager):配置Stager主机,仅当Payload明确需要Stager配合时有效
Profile:Malleable C2配置文件,用于自定义通信流量特征
DNS Port (Bind):绑定监听端口,实现端口重定向 DNS Resolver:指定NS服务器
Beacon SMB(以SMB协议流量建立Beacon连接)适用于内网横向
windows/beacon_smb/bind_pipe
官网介绍:SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。
前提条件
具有 SMB Beacon 的主机必须接受 445 端口上的连接。
只能链接由同一个 Cobalt Strike 实例管理的 Beacon。
利用这种beacon横移必须有目标主机的管理员权限或者说是拥有具有管理员权限的凭据。
Beacon tcp(仅与父 Beacon 通信)适用于内网横向移动
windows/beacon_tcp/bind_tcp
命令格式同smb相似,不过此处连接目标IP的命令不是link,而是connect。取消连接目标机器的话对应的命 令与smb同为unlink

Cobaltstrike上线Beacon

Beacon使用

在目标上线CS后,右键目标interact使用Beacon
Tips:在Cobalt Strike中它的心跳默认是60s(即sleep时间为60s,每一分钟目标主机与teamserver通信一次)
如果sleep时间过长,在下载文件面前更为明显,所以在测试时会把时间降低一点 。所以拿到beacon一般先执
行sleep
大家可以根据实战环境来调节,建议不要太快,不然流量会很明显。
Tips:beacon中不能直接输入cmd命令,比如要让目标机执行ipconfig这条cmd命令,对应的beacon命令是
shell ipconfig
其他的beacon命令,可以在beacon中输入help

Office钓鱼

当无法从web找到突破口时,可以尝试钓鱼打入内网
Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执
行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office
软件,也可说是一种应用程式视觉化的Basic 脚本

具体实现

1.CS开启listener
2.点击攻击——>生成后门——>MS Office Macro ——>选择一个监听器,点击Generate
3.复制生成的vb恶意代码
4.打开word编辑器,在工具栏中找到视图,查看宏
5.创建宏名进入 6.找到ThisDocument,并将CS生成的代码复制进去保存
7.然后保存为doc或者启用宏的word文档
8.打开后启用宏即可上线

Cobaltstrike实战演示

cobaltstrike

当我们拥有webshell或者有命令执行权限时,我们可以通过远程加载或者生成木马上线

远程加载上线CS

Attack

远程加载上线一

1.生成远程木马

2.配置参数

3.在目标机器上执行上线

远程加载上线二通过生成后门上线

当拥有webshell可以通过webshell上传木马文件上线CS(若有杀软需做免杀处理)Powershell本地加载上线CS

通过DNS beacon上线

第一步 配置dns beacon监听器

1.配置name为随意名。

2.payload为beacon DNS

3.DNS Hosts为ns记录但如没有域名则可以填写其他网站域名

4.DNS Host为A记录填写自己的域名。如若没有则填其他网站域名,注意需要和DNS Host一致,如若拥有域

名则可填写A记录

5.DNS port 需要填写为53端口填写其他的则不会成功。 //这里需要注意再vps上可能默认是被systemd-resolved 服务占用那我们就要进行修改此服务占用端口了

6.DNS Resolver 此处需要填写cs服务器的真实地址不然目标机器无法找到我们的cs服务器

端口占用解决方法

1.通过netstat -anoutp | grep 53命令查看53端口是否被占用

2.停用systemd-resolved服务,使用命令

systemctl stop systemd-resolved

3.通过vi命令编辑vi /etc/systemd/resolved.conf此文件为下图内容即可

4.通过此命令ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf生成一个软连接,

5.再重启此服务即可

重启命令为 systemctl start systemd-resolved

再通过 netstat -anoutp | grep 53 查看可发现没有返回了

至此修改成功,我们的监听器也就可以进行配置了。

第三步,运行beacon.exe文件即可上线,成功后会上线一个小黑框,此时则需要通过鼠标右击选定第一个进

入,输入checkin命令强制对方主机会连到我们的cs服务器即可获取会话

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

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

相关文章

pdf只要其中一页 pdf只要第一页怎么办 pdf只要前几页怎么弄

在现代办公环境中&#xff0c;PDF文件已经成为我们日常工作中不可或缺的一部分。然而&#xff0c;有时我们可能只需要PDF文件中的某一页&#xff0c;而不是整个文件。这时&#xff0c;我们该如何操作才能只获取所需的那一页呢&#xff1f;本文将详细操作方法&#xff0c;帮助大…

【ai】livekit服务本地开发模式及example app信令交互详细流程

文档要安装git lfs 下载当前最新版本1.6.1 windows版本&#xff1a;启动dev模式 服务器启动 (.venv) PS D:\XTRANS\pythonProject\LIVEKIT> cd .\livekit_release\ (.venv) PS D:\XTRANS\pythonProject\LIVEKIT\livekit_release> lsDirectory: D:\XTRANS\pythonProject\L…

CATIA二次开发VBA入门(3)——vb语言基础,可视化编程基础,消息框等

目录 引出VBA与VB的关系和区别vb基础关于什么时候用set字符串函数数学&#xff1a;三角函数&#xff0c;不等于&#xff0c;随机数日期、脚本、空格数组 顺序、选择、循环可视化编程基础按钮文字输入框的输入窗口控件全局变量 vb基础进阶msgbox详解背景颜色按钮能否点击插入图片…

python-使用API

python-使用API 使用github的api-即url地址请求数据 https://api.github.com/search/repositories?qlanguage:python&sortstars #这个调用返回GitHub当前托管了多少个Python项目&#xff0c;还有有关最受欢迎的Python仓库的信息。在浏览器中输入上面地址可以看到该接口&…

C++第二十一弹---vector深度剖析及模拟实现(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1、基本结构 2、默认成员函数 2.1、构造函数 2.2、析构函数 2.3、拷贝构造函数 2.3、赋值操作符重载 3、数据访问 4、迭代器获取 总结 …

Redis篇 String的基本命令

String基本命令 一.setnx,setex,psetex二. 增加删除命令三.append,setrange,getrange,strlen命令1.append2.setrange3.strlen4.getrange 四.String的内部编码方式 一.setnx,setex,psetex setex和psetex设置过期时间 setex设置的过期时间是秒级 psetex设置的过期时间是毫秒级 二…

【错误记录】HarmonyOS 运行报错 ( Failure[MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL] )

文章目录 一、报错信息二、问题分析二、解决方案 一、报错信息 在 DevEco Studio 中 , 运行程序 , 编译时正常编译 , 但是在真机运行时 , 报如下错误 , 核心报错信息是 " Failure[MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL] " ; 完整报错信息 : 05/29 10:58:55…

探索Django 5: 从零开始,打造你的第一个Web应用

今天我们将一起探索 Django 5&#xff0c;一个备受开发者喜爱的 Python Web 框架。我们会了解 Django 5 的简介&#xff0c;新特性&#xff0c;如何安装 Django&#xff0c;以及用 Django 编写一个简单的 “Hello, World” 网站。最后&#xff0c;我会推荐一本与 Django 5 相关…

工控一体机10.1寸显示器电容触摸屏(YA07JK)产品规格说明书

如果您对工控一体机有任何疑问或需求&#xff0c;或者对如何集成工控一体机到您的业务感兴趣&#xff0c;可移步控芯捷科技。 一、硬件功能介绍 1.1 YA07JK介绍 YA07JK 是我公司推出的一款新型安卓屏&#xff0c;使用电容触摸屏。4 核 Cortex-A7 架构&#xff0c;主频1.2GHz …

React-Redux结合@Reduxjs/Toolkit实现函数组件化(数据持久化,刷新页面数据不丢)

函数式组件和类式组件的优缺点儿 函数组件&#xff08;Function Component&#xff09;和类组件&#xff08;Class Component&#xff09;是React中的两种定义组件的方式。函数组件是以一个函数的方式定义组件&#xff0c;而类组件则是以ES6的类继承React.Component来定义组件…

后端企业级开发之yaml数据序列化格式文件详解2024

yaml格式 数据格式 yaml 是一种数据序列化的格式 容易阅读 容易与脚本语言交互 以数据为核心 重数据轻格式 我们要知道他怎么书写 大小写敏感 属性层级关系使用多行描述 每行结尾使用冒号结束 使用缩进表示层级关系 同层级左侧对其 只运行使用空格 属性前面添加空格 #表…

《Ai企业知识库》-rasa-初步使用

根据上面的环境准备之后&#xff1a; 《Ai企业知识库》-模型实践-rasa开源学习框架-搭建简易机器人-环境准备(针对windows)-02-CSDN博客 基础的使用&#xff1a; rasa项目初始化&#xff1a; rasa init 首先进入目标文件夹 在dos窗口&#xff08;目标文件夹下&#xff09…

智能合约革命:Web3引领智能化商业的未来

随着区块链技术的日益成熟和普及&#xff0c;智能合约作为其重要应用之一&#xff0c;正在逐渐改变着商业世界的面貌。Web3作为下一代互联网的代表&#xff0c;以其去中心化、加密安全的特性&#xff0c;为智能合约的发展提供了无限可能&#xff0c;将智能合约应用于商业领域的…

海云安两大金融案例入编行业典范,七大安全领域实力登榜《2024中国金融网络安全全景图》

近日&#xff0c;数说安全与《中国信息安全》杂志联合编写并发布了《2024年中国金融行业网络安全研究报告》&#xff08;以下简称报告&#xff09;、《2024年中国金融行业网络安全案例集》&#xff08;以下简称案例集&#xff09;、《2024年中国金融行业网络安全市场全景图》&a…

apexcharts数据可视化之雷达图

apexcharts数据可视化之雷达图 有完整配套的Python后端代码。 本教程主要会介绍如下图形绘制方式&#xff1a; 基础雷达图多组数据雷达图雷达图标记点 基础雷达图 import ApexChart from react-apexcharts;export function BasicRadar() {// 数据序列const series [{name…

Pytorch Lighting 库的学习 mvsplat 的笔记

变量理解&#xff1a; context_image&#xff1a; 表示投影的 refrence image Epipolar Transformer vs Swin Transformer : 不同于 Pixel Splat 使用的是 Epipolar Transformer. MVspalt 使用的是 Swin Transformer&#xff0c; 但是作者在 Code 里面 也使用了 Epipolar Tran…

新能源汽车推行精益生产:绿色动力下的效率革命

在新能源汽车行业迅猛发展的当下&#xff0c;推行精益生产已成为提升竞争力的关键所在。精益生产&#xff0c;作为一种以客户需求为导向、追求流程最优化和浪费最小化的管理理念&#xff0c;正逐步在新能源汽车领域展现出其独特的魅力。 新能源汽车的兴起&#xff0c;不仅代表了…

人工智能——什么是摩尔定律以及它如何影响人工智能?

1. 概述 摩尔定律是现代技术发展中一个至关重要的基石。它预言了微芯片上晶体管的数量大约每两年翻一番&#xff0c;这一现象导致了计算能力的指数级增长。在过去的50多年里&#xff0c;这一定律一直是推动技术进步的强大动力&#xff0c;并且对人工智能领域产生了深远的影响。…

基于h5和大数据的游戏数据型网站-计算机毕业设计源码30844

摘 要 在目前的形势下&#xff0c;科技力量已成为我国的主要竞争力。而在科学技术领域&#xff0c;计算机的使用逐渐达到成熟&#xff0c;无论是从国家到企业再到家庭&#xff0c;计算机都发挥着其不可替代的作用&#xff0c;可以说计算机的可用领域遍及生活、工作的各个方面。…

windows web提权

#Web到Win-系统提权-人工操作 如果提权中无法执行命令的话&#xff0c;可以尝试上传cmd.exe到可读写目录再调用 优点&#xff1a;解决实时更新不集成的EXP 缺点&#xff1a;操作繁琐&#xff0c;需要各种复现调试 1、信息收集 参考常见命令&#xff08;见上图&#xff09; …