Cobalt Strike是一款超级好用的渗透测试工具,拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等多种功能。同时,Cobalt Strike还可以调用Mimikatz等其他知名工具,因此广受技术大佬的喜爱。

Cobalt Strike是由美国Red Team开发,官网地址:cobaltstrike.com。

笔者认为学会使用这款“神器”可以在我们渗透的过程中起到事半功倍的作用,于是分享了一些学习心得,希望给各位一点帮助。

这个工具的社区版是大家熟知的Armitage(一个MSF的图形化界面工具),而Cobalt Strike大家可以理解其为Armitage的商业版。

早期版本Cobalt Srtike依赖Metasploit框架,而现在Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端(Client)与服务端(Teamserver),服务端是一个,客户端可以有多个,团队可进行分布式协团操作。

Cobalt Strike架构

笔者使用的是Cabalt Strike3.13版本,虽然官方已经更新到3.14版本,但是3.14版本并不稳定,因此不推荐使用。

3.13版本文件架构如下:

  • Scripts 用户安装的插件
  • Log 每天的日志
  • c2lint 检查profile的错误异常
  • cobaltstrike
  • cobaltstrike.jar 客户端程序
  • icon.jpg LOGO
  • license.pdf 许可证文件
  • readme.txt
  • releasenotes.txt
  • teamserver 服务端程序
  • update
  • update.jar 更新程序
  • third-party 第三方工具,里面放的vnc dll

当然,强大的CS也支持用户来扩展其功能:私人定制

①Cobalt Strike可以使用AggressorScripts脚本来加强自身,使其更加丰满,能够扩展菜单栏,视图Beacon命令行,提权脚本等;

②Cobalt Strike通信配置文件是Malleable C2,你可以修改CS的通讯特征,Beacon payload的一些行为;

③Cobalt Strike可以引用其他的通讯框架ExternalC2,ExternalC2是由Cobalt Strike提出的一套规范/框架,它允许黑客根据需要对框架提供的默认HTTP(S)/DNS/SMB C2 通信通道进行扩展。

总的来说CS的自定义功能很强大,使用起来很灵活,后期会讲到相关的使用。

Cobaltstrike teamserver的启动

开启Cobaltstrike teamserver和运行GUI界面均需要Java环境,因此老哥们必须先把电脑上的Java装好,这个百度上都写的很详细,在此就不赘述了。

1、Windows下启动teamserver

①下载keytool.exe并将其复制到Cobaltstrike文件夹下,链接:

http://www.onlinedown.net/soft/614989.htm

②切换到Cobaltstrike目录执行如下命令:

Keytool.exe -keystore ./cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias cobaltstrike -dname "CN=Major Cobalt Strike, OU=AdvancedPenTesting, O=cobaltstrike, L=Somewhere, S=Cyberspace, C=Earth"

③执行命令

teamserver.bat 8.8.8.8 123456

8.8.8.8为你的服务器外网IP,123456为Coabltstrike的客户端密码。

④双击cobaltstrike.bat,填写服务器外网IP和teamserver密码,即可登入:

2、Linux下启动teamserver和客户端

①cd切换到Cobaltstrike目录下

②执行命令

teamserver.bat 8.8.8.8 123456

8.8.8.8为你的服务器外网IP,123456为Coabltstrike的客户端密码。

③执行如下命令即可看到GUI界面

Javaw -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar

Listner(监听器)介绍

1、Cobaltstrike Listner简介

Listner(监听器):专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。

在许多的渗透测试工具中,例如empire,metasploit,cobaltstrike中都有Listner的存在。大家可以简单地理解为Listner就是用来接收目标主机权限的模块。

创建Listener的步骤:Cobaltstrike-->监听器

目前我用的是Cobaltstrike3.13版本,其中内置了九个Listener。

windows/beacon_dns/reverse_dns_txt
windows/beacon_dns/reverse_http
windows/beacon_tcp/bind_tcp
windows/beacon_http/reverse_http
windows/beacon_https/reverse_https
windows/beacon_smb/bind_pipe
windows/foreign/reverse_http
windows/foreign/reverse_https
windows/foreign/reverse_tcp

beacon为CS内置监听器,也就是说,当我们在目标系统成功执行Payload以后,会弹回一个beacon的shell给CS。

foreign主要是提供给外部使用的一些监听器,比如你想利用CS派生一个meterpreter或者armitage的shell回来,来继续后面的内网渗透,这时就选择使用外部监听器。

至于如何实现Cobaltstrike与MSF和Armitage的联动,请关注公众号后续推送文章。

2、Listener的配置

选择Cobaltstrike-->监听器

随后输入Listener名字并选择你要使用的Listner类型,配置好外网IP和端口(不能冲突)点击save即可保存,在以后生成Payload的过程中即可使用该监听器。

Cobalt Strike生成后门

1、Payload概念

Payload在渗透测试之中大家可以简单地理解为一段漏洞利用/植入后门的代码或程序。

2、Cobalt Strike生成后门

攻击-->生成后门

我们先来讲红框中的四个生成后门的方式,其余的比较特殊,留作日后单独讲解。

Payload Generator

该模块可以生成n种语言的后门Payload,包括C,C#,Python,Java,Perl,Powershell脚本,Powershell命令,Ruby,Raw,免杀框架Veli中的shellcod,等...个人感觉这是CS的一个很大的迷人之处。

在渗透Windows主机过程中,我用的比较多的就是Powershell和Powershell Command,主要是因为其方便易用,且可以逃避一下杀毒软件(AV)的查杀。

以Powershell Command为例,生成的Payload为一串命令,只要在主机上执行这一串命令(主机需安装Powershell),CS即可收到主机的beacon。

其他语言的Payload,大家可自己研究。

Windows Dropper

这个是一个Windows程序的捆绑器,它可以实现把后门捆绑于其他程序之上,比如扫雷游戏,某些带有诱惑性的可执行文件...

在本处,我捆绑的文件为nidongde.txt,生成的后门名为dropper.exe。

点击dropper.exe执行后,释放出了nidongde.txt文件,同时CS也收到了会话。

Windows Excutable/Windows Excutable(s)

1、Windows Excutable生成的后门是Windows可执行文件,如exe,DLL。

exe文件运行后,CS即可收到目标主机的会话。

至于DLL大家可以使用针对DLL的相关攻击手法,请关注公众号后续推送文章。

2、Windows Excutable带有生成出的是stageless版本(无状态Windows后门木马),下面简单说下这个无状态木马的使用方法。一般使用无状态木马的网络环境是这样的。

首先你需要让一台主机作为中转器,配合无状态木马使用。

这里选择中转器的监听器生成木马。需要注意的是如果开启了防火墙会产生一个Windows安全警报,因此最好提前用cmd添加一个防火墙放行规则或关闭防火墙,随后便可将无状态的木马上传到内网的其他机器运行后返回一个会话。

以上是今天的内容,大家看懂了吗?后面我们将持续更新Cobalt Strike系列的知识点,希望大家及时关注。

Cobalt Strike系列教程第一章:简介与安装的更多相关文章

  1. Cobalt Strike系列教程第二章:Beacon详解

    上周更新了Cobalt Strike系列教程第一章:简介与安装,文章发布后,深受大家的喜爱,遂将该系列教程的其他章节与大家分享,提升更多实用技能! 第二章:Beacon详解 一.Beacon命令 大家 ...

  2. Cobalt Strike系列教程第五章:截图与浏览器代理

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  3. Cobalt Strike系列教程第四章:文件/进程管理与键盘记录

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  4. Cobalt Strike系列教程第三章:菜单栏与视图

    通过前两章的学习,我们掌握了Cobalt Strike教程的基础知识,及软件的安装使用. Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  5. Cobalt Strike系列教程第七章:提权与横向移动

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  6. Cobalt Strike系列教程第六章:安装扩展

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  7. 《进击吧!Blazor!》系列入门教程 第一章 8.部署

    <进击吧!Blazor!>是本人与张善友老师合作的Blazor零基础入门教程视频,此教程能让一个从未接触过Blazor的程序员掌握开发Blazor应用的能力. 视频地址:https://s ...

  8. 村田噪声抑制基础教程-第一章 需要EMI静噪滤波器的原因

    1-1. 简介 EMI静噪滤波器 (EMIFIL®) 是为电子设备提供电磁噪声抑制的电子元件,配合屏蔽罩和其他保护装置一起使用.这种滤波器仅从通过连线传导的电流中提取并移除引起电磁噪声的元件.第1章说 ...

  9. [ABP教程]第一章 创建服务端

    Web应用程序开发教程 - 第一章: 创建服务端 关于本教程 在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发 ...

随机推荐

  1. python——模块(Module)的概念、使用以及安装第三方模块

    一.模块定义 python中,一个.py文件就是一个模块(Module). 使用模块的好处:1.提高了代码的可维护性.我们把函数进行分组,分别放在不同的模块中.2.编写代码不必要从0开始,当一个模块编 ...

  2. Android 基于ksoap2的webservice请求的学习

    [学习阶段] WebService网络请求? 其实我也是第一次遇到,之所以有这个需要是因为一些与 ERP 相关的业务,需要用到这样的一个请求方式. 开始学习WebService ①当然是百度搜索,这里 ...

  3. 又到了抵制Notepad++的时候了?

    逛开源中国(OSCHINA),无意中发现一贴<不用Notepad++,你还有这些更好的选择> 才发现,原来 Notepad++ 的作者侯今吾前几天又在 npp 的官网上发表了一篇个人政治意 ...

  4. 磁盘修复 mount: wrong fs type running e2fsck

    当服务器或PC机器的硬盘在使用一段时间后,会出现无法使用正常进行使用: 1. 当将文件系统挂载到指定的目录的时候,会出现mount 失败,如下图: [root@template ~]# mount / ...

  5. 文件系统常用命令与fdisk分区

    一.硬盘结构 1.硬盘的逻辑结构 硬盘的大小是使用"磁头数×柱面数×扇区数×每个扇区的大小"这样的公式来计算的.其中磁头数(Heads)表示硬盘总共有几个磁头,也可以理解成为硬盘有 ...

  6. ASP.NET Core 2.x 到 3.1 迁移指南

    一.前言 今日(2019/12/4).NET Core 3.1 正式发布了,ASP.NET Core 3.1 随之发布,这次 3.0 到 3.1经过了两个月的短周期,并没有增加重大的功能,主要是对 3 ...

  7. 关于c# winform 键盘响应右边键盘消息响应事件的上下左右方向键没有反应

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11835642.html 记录一下这个小坑,c# winform 键盘响应右边键盘的上下左右方向 ...

  8. git clone 仓库的部分代码

    对于较大的代码仓库来说,如果只是想查看和学习其中部分源代码,选择性地下载部分路径中的代码就显得很实用了,这样可以节省大量等待时间. 比如像 Chromium 这种,仓库大小好几 G 的. clone ...

  9. Python高级特性——切片(Slice)

    摘录廖雪峰网站 定义一个list: L = ['haha','xixi','hehe','heihei','gaga'] 取其前三个元素: >>> L[0],L[1],L[2] (' ...

  10. vue解惑之v-on(事件监听指令)

    一.v-on指令 vue中用v-on指令来监听DOM事件,并触发相应的代码.比如v-on:click,表示监听了点击事件. 二.事件修饰符 在事件处理函数中调用 event.preventDefaul ...