阅读本文大概须要 5 分钟。html
”2020年 第 14 篇文章 ,flag 继续 python
每周至少更一篇linux
前言
良好的习惯是人生产生复利的有力助手
上一篇文章中讲解了elf loader的实现,接下来会有文章继续拓展这个内容:打造无execve的shellcode版 bash,将来的linux渗透大杀器。git
今天不分享这个,以前分享HW资料的时候,有朋友后台给我留言让我分享一下HW中的攻击,有点超出个人能力边界了。github
可是想一想 HW中使用 Cobalt-Strike 仍是挺多的,因而就分享一下Cobalt-Strike的学习吧,花了一周的时间看了官方手册,以及网上公开的资料,对Cobalt-Strike有了总体认识。web
此次的分享比较宏观,但愿能对你们Cobalt-Strike的学习有必定的启发做用吧。shell
一.高质量的输入
输入windows
Cobalt Strike 4.0 手册 :安全
关注公众号,回复 【13】返回下载连接。bash
Cobalt Strike|Beacon原理浅析:
https://www.secpulse.com/archives/124454.html
启明星辰ADLab:渗透利器Cobalt Strike在野利用状况专题分析:
https://nosec.org/home/detail/4449.html
Cobalt-Strike 系列:
http://blog.leanote.com/cate/snowming/Cobalt-Strike
Cross C2:
https://github.com/gloxec/CrossC2/blob/master/README_zh.md
基于DNS、HTTP和HTTPS隧道协议的木马流量分析:
http://www.lucien116.com/archives/261
渗透测试神器Cobalt Strike使用教程:
https://www.freebuf.com/company-information/167460.html
渗透利器Cobalt Strike - 第2篇 APT级的全面免杀与企业纵深防护体系的对抗:
https://xz.aliyun.com/t/4191
Cobalt-Strike-Aggressor-Scripts:
https://github.com/qiyeboy/Cobalt-Strike-Aggressor-Scripts
Cobalt Strike手册-环境搭建与基本功能:
https://cloud.tencent.com/developer/article/1512022
70.远控免杀专题(70)-终结篇:
https://mp.weixin.qq.com/s/4shT8tP-Gu3XX7fnWKQHAA
二.思考整理输出
思考整理输出
找到比较合适资料后,不要匆忙地去学习细节,容易陷入里面,没法产生对Cobalt-Strike的总体认知,没法实现对知识的降维打击。
在学习Cobalt-Strike的过程当中 ,先从定位,架构,功能,核心概念四个方面入手,至于对抗就属于比较细节的内容了,你们实践就能够了。总体思路以下图所示。
定位
首先须要了解一下Cobalt-Strike 的定位,没有什么解决方案是万能的,了解它的定位才能知道它的适用边界。在官方手册中有说明:
Cobalt Strike 是一个为对手模拟和红队行动而设计的平台,主要用于执行有目标的攻击和模拟高级威胁者的后渗透行动
简单说就是适合有肯定目标的apt攻击,对那种大范围的“无脑”攻击,例如ddos,僵尸网络,是不适用的。
下图是官方手册中描述Cobalt-Strike的一个攻防过程,有各类安全防护工具,也有攻击突破。
架构
Cobalt-Strike 是一个C/S结构,比较特殊的是属于多对多的关系,以下图所示:
一个client能够链接多个server, 一个server能够被 多个client链接,在下图中 cobaltstrike.exe对应的是client,teamserver 对应的是 server。
虽然不少文章也是如上文描述Cobalt-Strike的架构,可是我我的认为被攻击机器上的木马也应该属于client端,只是功能和角色不同罢了。
类比一下,好比咱们使用的QQ和微信,腾讯的服务器属于server端,里面维持着全部client的通讯和数据存储,每一个人的QQ APP 属于client,而QQ项目组员工的运维平台也应该属于client。
下图描述了Cobalt-Strike在攻击过程当中的架构关系:
功能
总结起来,Cobalt-Strike 就干了两件事 :种马 和 用马。在本机,简单使用Cobalt-Strike 演示一下种马和用马。
1. 启动TeamServer
192.168.0.108:这是主机ip
qiye:这是client 与teamserver 链接使用的口令
2. 启动Cobalt-Strike 链接teamserver
双击 cobaltstrike.exe,teamserver默认端口 为50050,输入User(随意只是个标识),输入password(见上文) 。
最后connect 链接上线:
3. 建立Listener和beacon
在Attacks中选择 PE的攻击方案生成 exe,你也能够选择其余的payload,好比生成 宏和html 应用。
接着选择反连http的payload,选择listener中监听的ip和端口,listener是和teamserver是一侧的,生成的木马文件则是位于被攻击主机,木马保存为artifact.exe。
4. 木立刻线
双击artifact.exe,木立刻线,在被攻陷主机上执行个whoami。
核心概念
看你对一个事物是否清楚,主要是能明白其中的核心概念。
TeamServer
TeamServer是整个系统中的“大脑”,包括数据的存储和共享,并维持着client的链接和流量中转
Listener
附属TeamServer的监听设施,与Beacon呼应 ,生成一个Beacon 对应一个Listener与之链接。
Beacon
Beacon 在Cobalt-Strike 中是很常见的概念,它是Cobalt Strike运行在目标主机上的payload,Beacon在隐蔽信道上为咱们提供服务,用于长期控制受感染主机,简单理解的话就是一个木马。Beacon payload 有两种传输方式,第一种,像我上文使用的那样,是生成一个完整功能的payload。第二种是分段传输payload,属于 Staging模式,主要分为两个部分:
stager :payload加载器,很精简的汇编指令
stage:真正的payload
这种模式适用于漏洞场景。假如windows有一个远程代码漏洞,exp 须要使用较短的shellcode,有长度限制,这很常见,否则没法触发,若是Cobalt-Strike 直接生成一个完整木马,是没法使用的,那能够先生一个精简的payload加载器,里面的功能只有下载和执行,完整的payload在下载的内容中。
对抗
Cobalt-Strike 在渗透测试过程当中,主要对抗如下安全防护产品:
防火墙
杀软
EDR
IDS
检测手段无外乎,针对文件,流量和行为,具体在思惟导图中,你们能够看一下 高质量的输入 章节中的对抗方式,再也不赘述。
最后
Cobalt-Strike 进行对抗很灵活,你们按照官方手册好好练习,提供一份 破解版 cobaltstrike3.14 ,你们在公众号 回复【14】便可。
最近有朋友说在后台和我交流技术不是很方便,下面是个人微信号,想进行技术交流的能够加我,备注公众号,卖货的,伸手党不要加我,谢谢。
推荐阅读
沙盒syscall监控组件:strace and wtrace
无"命令"反弹shell-逃逸基于execve的命令监控(上)
若是你们喜欢这篇文章的话,请不要吝啬分享到朋友圈,并置顶公众号。
关注公众号:七夜安全博客
回复【11】:领取Sandboxie源码
回复【1】:领取 Python数据分析 教程大礼包
回复【2】:领取 Python Flask 全套教程
回复【3】:领取 某学院 机器学习 教程
回复【4】:领取 爬虫 教程
回复【5】:领取编译原理 教程
回复【6】:领取渗透测试教程
回复【7】:领取人工智能数学基础
回复【8】:领取 python神经网络 教程
回复【9】:领取 安卓逆向 教程
本文分享自微信公众号 - 七夜安全博客(qiye_safe)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。