前言
几天前和朋友在泡茶的时候,谈起了渗透工程师的面试,当时HR问他,CS怎么上线Linux呢,这时他反问我,我说我不知道,他在纸上写下CrossC2后,嘴里说着”小菜鸡“,转身离开了。
CrossC2简而言之,就是上线Linux系统的拓展插件
初步搭建服务器及启动CS就跳过了,主要是为了记录自己学习CS的笔记,有哪个地方需要补充的,各位师傅们可以留言。毕竟拿下蓝队才是我们的终极目标。
工具下载
CobaltStrike4.3
链接:https://pan.baidu.com/s/1nj8vm6EKqWJ-O_Ah7DAsRw
提取码:10px
CrossC2
链接:https://pan.baidu.com/s/1lLARpBSfGA_aUaXnS5kJjA
提取码:wj7s
CS功能及模块介绍
1.1 Cobalt Strike 模块
- New Connection:打开一个新的”Connect”窗口。在当前窗口中新建一个连接,即可同时连接不同的团队服务器( 便于团队之间的协作)
- Preferences:偏好设置,首选项,用于设置Cobalt Strike主界面、控制台、TeamServer 连接记录、报告的样式
- Visualization:将主机以不同的权限展示出来(主要以输出结果的形式展示)
- VPN Interfaces:设置VPN接口
- Listeners:创建监听器
- Script Manager:查看和加载CNA脚本
- Close:关闭当前与TeamServer的连接
1.2 View模块
- Applications:显示被控机器的应用信息
- Credentials:通过HashDump或mimikatz获取的密码或者散列值都储存在这里
- Downloads:从被控机器中下载的文件
- Event Log:主机上线记录,以及与团队协作相关的聊天记录和操作记录
- Keystrokes:键盘记录
- Proxy Pivots:代理模块
- Screenshots:屏幕截图模块
- Script Console:控制台,在这里可以加载各种脚本(链接)
- Targets:显示目标
- Web Log:Web 访问日志
1.3.1 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):用于生成一个Windows 可执行文件,其中包含Beacon的完整Payload,不需要阶段性的请求。与Windows Executable模块相比,该模块额外提供了代理设置,以便在较为苛刻的环境中进行渗透测试。该模块还支持PowerShell脚本,可用于将●Stageless Payload注入内存
1.3.2 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版本等
1.3.3 Attacks Spear Phish模块
1.4 Reporting模块
- activity report 活动报告生成
- Hosts report 主机报告
- Indicators opromisef com 目标报告
- Sessions report 会话报告
- Social engineering report 社会工程学报告
- Reset Data 重置数据
- Export data 数据出口
1.5 Help模块
主机上线
2.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协议流量建立会话,适用于与外部程序联动)成功开启监听,接下来就是让主机上线
- External C2
2.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,使被攻击机上线
还有其他上线的方法,可以告知一下,互相学习
2.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主机上线是后面进一步的基操,没有上线啥都免谈。
老生常谈的,各位师傅切勿进行无授权渗透
来源:freebuf.com 2021-07-23 10:37:54 by: sec庄sir
请登录后发表评论
注册