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

admin 2019年5月10日09:56:32评论359 views字数 3559阅读11分51秒阅读模式
摘要

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

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 之团队服务器的搭建与DNS通讯演示

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

#JAVAexport JAVA_HOME=/opt/metasploit/java 

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

然后在执行

source .bashrc 

最后看看是否成功

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

回到Cobalt Strike目录

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

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

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

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

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

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

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

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

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

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

nohup ./teamserver 192.168.10.62 luom & 

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

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

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

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

0x02 实例之Cobalt Strike通过DNS控制目标


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

1. 域名设置

首先我们的有个域名,并且创建一条A记录指向我们的metasploit服务器,记住不要用CDN什么的

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

然后再创建2个或3个ns记录指向刚才创建的A记录

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

这样我们就可以通过dns找到我们的metasploit服务器了

2. Cobalt Strike设置

在Cobalt Strike中我们添加一个listener

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

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

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

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

3. 木马生成

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

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

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

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

运行前的端口情况

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

运行后的端口情况

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

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

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

走的是DNS。

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

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

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

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

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

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

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

    Command                   Description     -------                   -----------     bypassuac                 Spawn a session in a high integrity process     cd                        Change directory     checkin                   Call home and post data     clear                     Clear beacon queue     download                  Download a file     execute                   Execute a program on target     exit                      Terminate the beacon session     getsystem                 Attempt to get SYSTEM     getuid                    Get User ID     help                      Help menu     inject                    Spawn a session in a specific process     keylogger start           Start the keystroke logger     keylogger stop            Stop the keystroke logger     message                   Display a message to user on desktop     meterpreter               Spawn a Meterpreter session     link                      Connect to a Beacon peer over SMB     mode 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 channel     mode smb                  Use SMB peer-to-peer communication     rev2self                  Revert to original token     shell                     Execute a command via cmd.exe     sleep                     Set beacon sleep time     socks                     Start SOCKS4a server to relay traffic     socks stop                Stop SOCKS4a server     spawn                     Spawn a session      spawnto                   Set executable to spawn processes into     steal_token               Steal access token from a process     task                      Download and execute a file from a URL     timestomp                 Apply timestamps from one file to another     unlink                    Disconnect from parent Beacon upload                    Upload a file 

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

Getuid  获取当前用户 

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

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

Shell  执行shell命令 

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

Meterpreter  返回一个meterpreter会话 

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

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

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2019年5月10日09:56:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Cobalt Strike 之团队服务器的搭建与DNS通讯演示https://cn-sec.com/archives/64529.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息