luom · 2014/04/25 12:07

0x00 背景


Cobalt Strike 一款以metasploit为基础的GUI的框框架式渗透工具,Armitage的商业版,集成了端口发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑,mac os 木马生成,钓鱼攻击包括:站点克隆,目标信息获取,java执行,游览器自动攻击等等。

Cobalt Strike 官网为 Cobalt Strike 程序只不接受大天朝的下载,各位自行想办法。作者博客 有很多好东西,推荐大家收藏。

Cobalt Strike 在1.45和以前是可以连接本机windows的metasploit的,在后来就不被支持了,必须要求连接远程linux的metasploit。

Cobalt Strike 还有个强大的功能就是他的团体服务器功能,它能让多个攻击者同时连接到团体服务器上,共享攻击资源与目标信息和sessions。

这篇文章就给大家分享下我大家团体服务器的方法(我的不一定是最好的,参考下就行了)

0x01 搭建


1.服务器

服务器强烈建议大家选择ubuntu的,内存1G以上,带宽8M以上,虽然在Centos上也帮朋友成功搭建过,但是很不推荐,稳定性和维护性都没有用ubuntu好。

2.安装metasploit

metasploit有3个版本 专业版,社区版,和git上面的版本,当然大家用社区版就行了,专业版的功能比起社区版要多,但是要给钱,只能免费使用一段时间,以前找到的无限免费使用专业版也被官方封锁了,git上的版本适合高级安装的用户,具体可以自己去玩玩。

下载安装好社区版的metasploit后接下来就是要激活第一次访问metasploit的web管理页面必须是localhost,这好似规定死的,我这里有两种方法1.给服务器开启VNC,然后上去激活(不推荐)2.连接ssh的时候开启socks5然后游览器设置下就可以访问了。

还有一中快捷的安装方式就是上传Cobalt Strike搭服务器,在里面有个quick-msf-setup 的脚本,它可以帮你快熟部署团体服务器环境,不过我不喜欢这种方式,我比较喜欢折腾,嘿嘿。

3.部署Cobalt Strike

将下载好的Cobalt Strike上传到服务器,解包后会有这些文件

Cobalt Strike是JAVA写的,服务器还得有JAVA环境,这里我们没必要去下载JAVA来安装,metasploit已经有了JAVA环境,我们只需要配置下环境变量就行了 打开root目录下的.bashrc文件,建议先备份,在最下面添加:

#JAVA

export JAVA_HOME=/opt/metasploit/java
复制代码

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

然后在执行

#!bash
source .bashrc
复制代码

最后看看是否成功

回到Cobalt Strike目录

执行./teamserver 服务器IP 连接密码

启动的过程中会有很多警告,不用理会它,大概几分钟后出现这个就OK了

这里不要关闭,然后本机启动Cobalt Strike 连接测试

地址是:192.168.10.62
端口是:55553
用户名是:msf
密码是:luom  (也就是我们刚才设置的)
复制代码

点击连接,会弹出一个服务器认证,确认,然后弹出设置你昵称(Cobalt Strike是可以在线聊天的)

回到SSH 你可以看到各种日志,但是这个一关闭团队服务器也就关闭了,这里我们可以把他置于后台来运行

#!bash
nohup ./teamserver 192.168.10.62 luom &
复制代码

这样就可以了,这个目录下会生成一个nohup.out的文件,这个是程序运行的日志文件 注: 在启动Cobalt Strike的时候报错 如下

这个原因是你的内存使用超过%50 无法启动java虚拟机。

在结束Cobalt Strike的时候也要同时结束所有 msfrpcd 进程,不要下次启动会启动不了的。

0x02 实例之Cobalt Strike通过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

HOST填写的是metasplit服务的IP,在点击Save的时候会要求填写你的NS记录,这里写入我们刚才创建的3个

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

3. 木马生成

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

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

我们把生成的DNS.EXE放到虚拟机中运行。

运行前的端口情况

运行后的端口情况

没有开新的端口,在来抓包看看

走的是DNS。

回到Cobalt Strike打开beacons管理器发现有一个服务端响应了我们

右键是管理菜单,选择sleep设置相应的时间,然后选择interact来到操作界面

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

键入help可以看到支持的命令

    Command                   Description-------                   -----------bypassuac                 Spawn a session in a high integrity processcd                        Change directorycheckin                   Call home and post dataclear                     Clear beacon queuedownload                  Download a fileexecute                   Execute a program on targetexit                      Terminate the beacon sessiongetsystem                 Attempt to get SYSTEMgetuid                    Get User IDhelp                      Help menuinject                    Spawn a session in a specific processkeylogger start           Start the keystroke loggerkeylogger stop            Stop the keystroke loggermessage                   Display a message to user on desktopmeterpreter               Spawn a Meterpreter sessionlink                      Connect to a Beacon peer over SMBmode dns                  Use DNS A as data channel (DNS beacon only)mode dns-txt              Use DNS TXT as data channel (DNS beacon only)mode http                 Use HTTP as data channelmode smb                  Use SMB peer-to-peer communicationrev2self                  Revert to original tokenshell                     Execute a command via cmd.exesleep                     Set beacon sleep timesocks                     Start SOCKS4a server to relay trafficsocks stop                Stop SOCKS4a serverspawn                     Spawn a session spawnto                   Set executable to spawn processes intosteal_token               Steal access token from a processtask                      Download and execute a file from a URLtimestomp                 Apply timestamps from one file to anotherunlink                    Disconnect from parent Beacon
upload                    Upload a file
复制代码

这里就演示几个常用的命令把

Getuid  获取当前用户
复制代码

Execute 运行可执行程序(不能执行shell命令)

Shell  执行shell命令
复制代码
Meterpreter  返回一个meterpreter会话
复制代码

剩下的命令就等大家自己去看吧。

这东西好处在于比较对控制目标主机比较隐蔽,缺点在每次的命令我返回结果比较慢,在过防火墙方面还是不错的。

Cobalt Strike 之团队服务器的搭建与DNS通讯演示相关推荐

  1. 自建linux dns服务器,自己搭建递归DNS服务器

    一般情况下,当我们连接到一个陌生的网络环境时,我们会委托由DHCP告知的DNS服务器来做域名解析的工作.但在我看来,这样的做法有着很大的安全隐患. 使用他人提供的DNS服务器,意味着你查询得到的结果是 ...

  2. Cobalt Strike基本使用

    Cobalt Strike简介 Cobalt Strike是一款由java编写的全平台多方协同渗透测试框架,在3.0版本之前它基于Metasploit框架工作,在3.0后的版本以独立成一个渗透测试平台 ...

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

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

  4. APT组织最喜欢的工具 Cobalt Strike (CS) 实战

    一.Cobalt Strike 背景 Cobalt Strike 在威胁攻击者的恶意活动中的使用次数正在增加.从 2019 年到 2020 年,使用Cobalt Strike 的威胁攻击者增加了 16 ...

  5. Cobalt Strike 使用指南(资源整合笔记)

    0x00 写在前面的话 Cobalt Strike自出世以来,一直在红队常用的工具行列.因其优良的团队协作性,被冠以多人运动的必备利器. 本文将网络上各路神仙的经验分享以渗透流程为依据进行了一次整合, ...

  6. Cobalt Strike使用详解

    目录 前言 一.启动 二.监听器配置与对应payload生成 HTTP Beacon --> CS之攻击菜单详解-后门生成与上线 HTTPS Beacon 三.加载插件包 四.beacon命令 ...

  7. 神兵利器--Cobalt Strike

    前言 经常看到披露出来APT(Advanced Persistent Threat) 高级持续性威胁报告,据目前我所了解到的有常用两种攻击手法还有更多种手法水坑式攻击和鱼叉式钓鱼邮件攻击手法.其实我也 ...

  8. 150.网络安全渗透测试—[Cobalt Strike系列]—[DNS Beacon原理/实战测试]

    我认为,无论是学习安全还是从事安全的人多多少少都会有些许的情怀和使命感!!! 文章目录 一.DNS Beacon原理 1.DNS Beacon简介 2.DSN Beacon工作原理 二.DNS Bea ...

  9. 域前置Cobalt Strike逃避IDS审计

    域前置Cobalt Strike逃避IDS审计 域前置简介 域前置(Domain Fronting)基于HTTPS通用规避技术,也被称为域前端网络攻击技术. 这是一种用来隐藏Metasploit.Co ...

最新文章

  1. 面试高频题:Hash一致性算法是如何解决数据倾斜问题的?
  2. jupyter 魔法函数
  3. NeHe教程Qt实现——lesson02
  4. python numpy np.finfo()函数 eps
  5. 二叉树的递归遍历与复制
  6. Spring自学日志01
  7. linux中时间命令详解
  8. python 循环语句结果存储_Hello,Python!小鲸教你学Python(八)条件语句和循环
  9. php curl模拟post请求提交数据
  10. 丹泽尔 x 陆奇:扫地僧牛逼的日常
  11. 的唯一性_原神:被氪金玩家淹没的角色,输出很高,技能具有唯一性
  12. Arch Linux下 让MPlayer用上CoreAVC1.7.0.0解码器
  13. 多组输入,scanf的与按位取反操作符的运用。
  14. duilib开发(九):定时器和超链接
  15. 动态RAM与静态RAM
  16. JEECG架构讲解及使用
  17. CCT之CAMERA TUNNING调试学习总结
  18. NEON----ARM通用 SIMD 引擎
  19. css引入第三方字体(等宽非衬线)
  20. 中小学教师资格考试介绍

热门文章

  1. 拜腾与博世将在动力系统、驾驶员辅助等方面展开重点合作
  2. centos无网络BROADCAST,MULTICAST,UP,LOWER_UP
  3. 【引用】linux驱动开发中open 方法
  4. 苹果开发者账号申请与iTunesconnect中心相关
  5. mininet安装过程(ubantu、git、mininet源码安装)以及POX安装
  6. Intellij IDEA win下快捷键
  7. [UnityShader3]热扭曲效果
  8. 使用hutool工具类实现map和bean相互转换
  9. 微信公众号客服接口给指定用户openid发送消息
  10. JXL、POI操作Excel