百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

CobaltStrike4.3之Windows与Linux主机上线

ahcoder 2025-01-17 10:51 35 浏览

公众号:白帽子左一
专注分享渗透经验,干货技巧...
.

*此工具仅供技术分享、交流讨论,严禁用于非法用途。后果自负

渗透人员必备的一款工具,CS主机上线是基操,没有上线啥都免谈。

一、前言

几天前和朋友在泡茶的时候,谈起了渗透工程师的面试,当时HR问他,CS怎么上线Linux呢,这时他反问我,我说我不知道,他在纸上写下CrossC2后,嘴里说着”小菜鸡“,转身离开了。

CrossC2简而言之,就是上线Linux系统的拓展插件

初步搭建服务器及启动CS就跳过了,主要是为了记录自己学习CS的笔记。

毕竟拿下蓝队才是我们的终极目标。


二、CS功能及模块介绍

1.Cobalt Strike模块


New Connection:打开一个新的”Connect”窗口。在当前窗口中新建一个连接,即可同时连接不同的团队服务器( 便于团队之间的协作)


Preferences:偏好设置,首选项,用于设置Cobalt Strike主界面、控制台、TeamServer 连接记录、报告的样式


Visualization:将主机以不同的权限展示出来(主要以输出结果的形式展示)


VPN Interfaces:设置VPN接口


Listeners:创建监听器


Script Manager:查看和加载CNA脚本


Close:关闭当前与TeamServer的连接

2. View模块


Applications:显示被控机器的应用信息


Credentials:通过HashDump或mimikatz获取的密码或者散列值都储存在这里


Downloads:从被控机器中下载的文件


Event Log:主机上线记录,以及与团队协作相关的聊天记录和操作记录


Keystrokes:键盘记录


Proxy Pivots:代理模块


Screenshots:屏幕截图模块


Script Console:控制台,在这里可以加载各种脚本(链接)


Targets:显示目标


Web Log:Web 访问日志

3. Attacks Packages模块


HTML Application:基于HTML应用的Payload模块,通过HTML调用其他语言的应用组件进行攻击测试,提供了可执行文件、PowerShell、 VBA三种方法


MS Office Macro:生成基于Office病毒的Payload 模块


Payload Generator:Payload 生成器,可以生成基于C、C#、COM Scriptlet、 Java、 Perl、 PowerShell、Python、 Ruby、 VBA等的Payload


Windows Executable:可以生成32位或64位的EXE和基于服务的EXE、DLL等后门程序。

在32位的Windows操作系统中无法执行64位的Payload, 而且对于后渗透测试的相关模块,使用32位和64位的Payload会产生不同的影响,因此在使用时应谨慎选择


Windows Executable (S):用于生成一个W‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍indows 可执行文件,其中包含Beacon的完整Payload,不需要阶段性的请求。


与Windows Executable模块相比,该模块额外提供了代理设置,以便在较为苛刻的环境中进行渗透测试。


该模块还支持PowerShell脚本,可用于将●Stageless Payload注入内存

(1)Attacks Web Drive-by模块


Manage:管理器,用于对TeamServer上已经开启的Web服务进行管理,包括 Listener 及 Web Delivery模块


Clone Site:用于克隆指定网站的样式


Host File:用于将指定文件加载到Web目录中,支持修改Mime Type


Script Web Delivery:基于Web的攻击测试脚本,自动生成可执行的Payload


Signed Applet Attack:使用Java自签名的程序进行钓鱼攻击测试。如果用户有Applet 运行权限,就会执行其中的恶意代码


Smart Applet Attack:自动检测Java的版本并进行跨平台和跨浏览器的攻击测试。


该模块使用嵌入式漏洞来禁用Java的安全沙盒。可利用此漏洞的Java版本为1.6.0_45以下及1.7.0 _21以下


System Profiler:客户端检测工具,可以用来获取一些系统信息,例如系统版本、浏览器版本、Flash版本等

(2) Attacks Spear Phish模块

4.Reporting模块


activity report活动报告生成


Hosts report主机报告


Indicators opromisef com目标报告


Sessions report会话报告


Social engineering report社会工程学报告


Reset Data 重置数据


Export data 数据出口

5.Help模块


三、主机上线

1. 打开监听

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 HTTP(以HTTP协议流量建立Beacon连接)

Beacon HTTPS(以HTTPS协议流量建立Beacon连接)

HTTPS Hosts:Beacon回连的主机,可以添加多个

Host Rotation Strategy:Beacon回连主机策略

HTTPS Host (Stager):配置Stager主机,仅当Payload明确需要Stager配合时有效

Profile:Malleable C2配置文件,用于自定义通信流量特征

HTTPS Port (C2):Beacon回连的监听端口

HTTPS Port (Bind):绑定监听端口,实现端口重定向

HTTPS Host Header:设置内层真实域名,在使用域前置技术时使用

HTTPS Proxy:为Payload指定代理

Beacon SMB(以SMB协议流量建立Beacon连接)

使用命名管道通过父级Beacon进行通讯,当两个Beacon连接后,子Beacon从父Beacon获取任务执行,两者使用Windows命名管道通信,流量封装在SMB协议中,较为隐蔽

Beacon TCP(以TCP协议流量建立Beacon连接)


External C2

External C2是一种通信规范

Foreign HTTP(以HTTP协议流量建立会话,适用于与外部程序联动)

Foreign HTTPS(以HTTPS协议流量建立会话,适用于与外部程序联动)


成功开启监听,接下来就是让主机上线

2. Windows主机上线

No.1



No.2



Emmm,作者这个无法实现上线,具体思路是这样的


保存成一个带宏模板的办公文件,当受害人点击使用宏模板时,主机上线

大家可以试一试


No.3


这边举个栗子就好了,Powershell Command ,会生成一个文件,保存下来,用powershell执行,这边的原理大致就是生成可执行木马文件


执行后,主机上线,但是只能上线Windows主机



No.4 Windows Executable 和 Windows Executable(S)用法相同



No.5


生成一个Url,访问这个网站去下载,使被攻击机成功上线,目前也未能复现

No.6


这儿的Type 类型 选择哪个都是没问题的,主要看是系统能不能执行,大致的意思就是生成一个Url,让受害者去带上7788的参数去访问这个Url,使被攻击机上线



3. Linux主机上线

要先安装CrossC2,具体得跳过了


设置一个监听端口,CrossC2目前只支持Beacon HTTPS



设置监听和Linux/Mac的型号x86/x64就Ok了



点击Build 就会生成这么个命令,把这个命令复制到要上线的Linux主机上



成功上线


网上还有个是利用命令


./genCrossC2.Linux 10.6.6.25(监听IP) 443(监听端口) null null Linux(Linux/Mac) x86(x86/x32) test

大家可以试试


四、结语

CS主机上线是后面进一步的基操,没有上线啥都免谈。

老生常谈的,各位师傅切勿进行无授权渗透!

原文地址:http://33h.co/w467c

相关推荐

Java程序员必备的Linux命令速查表

Java程序员必备的Linux命令速查表在Java开发的世界里,Linux就像一位默默支持的幕后英雄。作为一名Java开发者,掌握一些基本的Linux命令,不仅能提高工作效率,还能让你在团队中显得格外...

Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!

在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...

linux磁盘管理相关命令(linux磁盘管理常用命令)

磁盘的使用情况会直接影响系统的性能,因此我们经常会用到以下命令,主要围绕:fdisk:磁盘分区df:文件系统的磁盘空间占用情况du:文件目录的磁盘空间占用情况查看磁盘关系lsblk查看磁盘分区情况fd...

第四章 Linux常用shell命令-4.5.磁盘管理

主要介绍一下跟磁盘管理相关命令,有比较多的内容摘抄自网络,如有侵权,请及时联系我删除:显示目前在Linux系统上的文件系统磁盘使用情况统计:df创建和维护分区表的程序:fdisk将磁盘分区或镜像挂...

Linux新手必备:20个高效命令轻松掌握!

Linux基本命令使用指南在现代计算机操作系统中,Linux因其开放性、灵活性和强大的功能,广泛应用于服务器和开发环境中。作为技术人员,掌握Linux的基本命令是非常重要的。在本文中,我们将重点介绍2...

每日必学Linux命令:ls命令(linux命令详解之ls命令)

ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。通过ls命令不仅可以查看linux文件...

Linux系统dev和proc目录详解(linux dev/sr0)

简介:Linux系统里的/dev和/proc目录那可是相当重要的系统文件。在Linux系统中,/dev目录专门用来存放设备文件。不光有设备文件,系统里还有好多特殊功能也是通过设备的形式...

Linux切换目录之cd命令(linux切换指定目录)

1.基本概念1.1命令作用当我们在Linux系统上工作时,做得相当多的一项任务就是在不同的目录之间进行切换,这时就需要用到cd命令了。cd是"changedirectory"的首...

Linux切换目录(cd命令)(linux如何切换到目录)

cd命令,是ChangeDirectory的缩写,用来切换工作目录。Linux命令按照来源方式,可分为两种,分别是Shell内置命令和外部命令。所谓Shell内置命令,就是Shel...

MongoDB数据库的快速部署和启动(mongodb的使用教程)

一、Mongodb介绍常见数据库介绍关系数据库RDBMS设计表结构,通过SQL语句进行操作。连表关系常见的关系型数据库:mysqloracle(商业)DB2(IBM)sqlserver(微软...

5分钟学会网络服务搭建,飞凌i.MX9352 + Linux 6.1实战示例

在“万物互联”的技术浪潮下,网络服务已成为连接物理世界与数字世界的核心纽带,它不仅赋予了终端设备“开口说话”的能力,更构建了智能设备的开发范式。本文就将以飞凌嵌入式OK-MX9352-C开发板(搭载了...

centos安装geoserver并配置开机启动

前提条件:服务器已经安装了java环境一、下载下载地址:http://geoserver.org/release/maintain/下载后文件名为:geoserver-2.19.3-bin.zip二、...

开机启动流程(开机流程图)

grubandbootCentos5,6的开机启动流程grubCentos7的开机启动流程Centos5,6的开机启动流程initrd/initramfs一般存储在/boot目录下,以.img...

Linux cron服务概述(crontab服务)

cron是Linux/Unix系统中一个非常重要的后台服务(守护进程),用于在预定的时间间隔自动执行命令或脚本。它使得自动化重复性任务成为可能,例如日志清理、数据备份、系统维护等。1.cron...

CentOS 8利用rc.local进行开机自启动的配置

CentOS8利用rc.local进行开机自启动的配置CentOS8linux系统是不建议使用rc.local进行开机自启动的,建议创建systemdservice。我们为了方便以后多一个配置...