Cobalt Strike 4.8 用户指南-第一节-Cobalt Strike介绍及安装

news2024/11/13 10:07:11
一、欢迎使用Cobalt Strike

Cobalt Strike 是一个用于对手模拟和红队行动的平台。用于执行有针对性的攻击并模拟高级威胁行为者的后渗透行动。本节介绍 Cobalt Strike 功能集支持的攻击过程。本手册的其余部分将详细讨论了这些功能。

# 概述

image-20230906092537101

image-20230906100326157

图中的 Intrumentation & Telemetry 大概可以翻译为「终端行为采集 Agent & 云端 行为分析引擎」。 Instrumentation 指的应该是安装在目标主机上的各类日志收集与监控类工 具, Telemetry 指的应该是将这些监控类工具所产出的各位监测日志进行归一化、汇聚到一个统 一分析引擎并等待引擎的研判结果这类的过程。

深思熟虑的有针对性的攻击从都是从侦察开始的。 Cobalt Strike 的系统分析器是一个 Web 应用程序,可以映射目标的客户端攻击面。从侦察中收集的见解将帮助你了解哪些选项最有可能攻击成功。

武器化是将后渗透的攻击载荷与将在目标上执行的文档或漏洞利用配对。Cobalt Strike具有将普通文档转换为武器化工件(Artifacts )的选项。Cobalt Strike还可以选择以各种格式导出其后渗透攻击载荷Beacon,以便与此工具集之外的工件(Artifacts )配对。

使用 Cobalt Strike 的鱼叉式网络钓鱼工具将武器化文档传递给目标网络中的一个或多个人。 Cobalt Strike 的网络钓鱼工具将保存的电子邮件重新用于精准的网络钓鱼。

使用 Cobalt Strike 的Beacon控制目标的网络。这种后渗透攻击载荷使用高级威胁恶意软件常见的异步“低速且缓慢”的通信模式。 Beacon 将通过 DNSHTTP 或 HTTPS 方式与控制端通信。 Beacon 还可以通过常见的代理配置回连多个主机以避免阻塞。

Exercise your target’s attack attribution and analysis capability with Beacon’s Malleable C2 language. Reprogram Beaconto use network indicators that look like known malware or blend in with existing traffic。

使用 Beacon 的 Malleable C2 扩展语言来锻炼目标的攻击归因和分析能力。对 Beacon重新编程,使其看起来像已知恶意软件或与现有流量混合的网络指示器。

所谓的「让流量看上去像一些知名的恶意软件」,如下图中所示的 GitHub 开源 C2 拓展 文件项目中的 crimeware 文件夹,就是通过配置 C2 拓展文件、让 Beacon的流量特征看上去像 Zeus、Asprox 等知名恶意软件。样可以达到掩盖、伪装 Beacon行动的目的。

image-20230906100856864

借助 Beacon 自动化功能以及通过命名管道和 TCP 套接字进行的点对点通信,深入受感染的网络、发现主机并进行横向移动。Cobalt Strike 经过优化,可以捕获信任关系,并通过捕获的凭据、密码哈希、访问令牌和 Kerberos 票证实现横向移动。

使用 Cobalt Strike 的user-exploitation工具展示有意义的业务风险。 Cobalt Strike 的工作流程可以轻松地在受感染的系统上部署击键记录器和屏幕截图捕获工具。使用浏览器劫持来获取受感染目标通过 Internet Explorer 登录的网站访问权限。这种 Cobalt Strike 独有的技术适用于大多数站点,并能绕过两因素身份验证。

Cobalt Strike 的报告功能可以重建客户的参与度。为网络管理员提供活动时间表,以便他们可以在监控设备中找到攻击痕迹。 可以将Cobalt Strike 生成高质量的报告作为独立报告呈现给客户或用作书面叙述的附录。

在上述每个步骤中,你将需要了解目标环境及其防御,并推理出利用可用资源实现目标的最佳方法。这就是规避。 Cobalt Strike 的目标并不是提供开箱即用的规避功能。Cobalt Strike在其潜在配置和执行攻击操作的选项方面都提供了很大的灵活性,可以根据自己的情况和目标进行调整。

# 1.1、安装和更新

Fortra LLC发行了适用于 WindowsLinux 和 MacOS X 的 Cobalt Strike 软件包。

Cobalt Strike使用C/S模式。客户端和服务端可以部署在同一台机器上,也可以分开部署。Cobalt Strike图形界面客户端被称为Cobalt Strike或者Cobalt Strike GUI,用于启动客户端的命令是cobaltstrikeCobalt Strike服务器成为Team Server,用于启动服务器端的命令是teamserver

安装 Cobalt Strike的基本过程包括下载将其压缩包到你的操作系统上,并运行更新。

# 1.1.1、开始之前

在安装Cobalt Strike之前,先仔细阅读本节内容。

系统要求

不管是运行服务端还是客户端都需要以下依赖条件或软件:

Java

Cobalt Strike 的 GUI 客户端和团队服务器需要以下 Java 环境之一:

  • Oracle Java 1.8
  • Oracle Java 11
  • OpenJDK 11

如果你的组织没有允许将 Oracle Java 用于商业用途的许可证,我们建议你使用 OpenJDK 11

支持的操作系统

Cobalt Strike Team Server 可以在Linux 系统上运行,并且已在以下基于 Debian 的 Linux 发行版上进行了测试(其他版本可能有效,但尚未测试):

  • Debian
  • Ubuntu
  • Kali Linux

Cobalt Strike Client支持的操作系统:

  • Windows 7及更高版本
  • MacOS X 10.13及更高版本
  • 带GUI的Linux发行版,比如Debian、Ubuntu和Kali Linux(其他版本可能有效,但尚未测试)

硬件要求

应满足以下最低硬件要求:

  • 2Ghz+ 处理器
  • 2GB 内存
  • 500MB以上可用磁盘空间
  • 在 Amazon 的 EC2 上,至少使用一个 High-CPU Medium (c1.medium, 1.7 GB) 实例。

Linux glibc

请注意,某些 Linux 发行版可能缺失或没有正确版本的 glibc。如果遇到该问题,请查看 Fortra 门户上的知识文章(https://community.fortra.com/kb-nav/kb-article/?id=3cbb3322-1ecb-ec11-a7b5-0022480b2f00&redirect=false)

# 1.1.2、安装OpenJDK

Cobalt Strike使用OpenJDK 11进行了测试,其启动器与正确安装的OpenJDK 11环境兼容。

Linux (Kali或Ubuntu )

1、更新APT软件源

sudo apt update

2、安装OpenJDK 11

sudo apt install openjdk-11-jdk

3、将OpenJDK 11设置为默认java执行器

sudo update-java-alternatives -s java-1.11.0-openjdk-amd64

其他Linux发行版

1、卸载当前的 OpenJDK 软件包

2、从https://jdk.java.net/archive/网站下载OpenJDK for Linux/x64压缩包

3、解压

tar -zxvf openjdk-11.0.1_linux-x64_bin.tar.gz

4、将 OpenJDK 目录移动到 /usr/local

mv jdk-11.0.1 /usr/local

5、添加环境变量到~/.bashrc文件中:

JAVA_HOME="/usr/local/jdk-11.0.1"
PATH=$PATH:$JAVA_HOME/bin

6、刷新~/.bashrc以使新的环境变量生效:

source ~/.bashrc

MacOS X

1、从https://jdk.java.net/archive/网站下载OpenJDK for macOS/x64压缩包

2、打开终端,进入Downloads/目录

3、解压文件:

tar -zxvf openjdk-11.0.1_osx-x64_bin.tar.gz

4、移动解压文件到 /Library/Java/JavaVirtualMachines/目录

sudo mv jdk-11.0.1.jdk/ /Library/Java/JavaVirtualMachines/

MacOS X 上的 java 命令将使用 /Library/Java 中最高版本的 Java 作为默认值。

如果你看到 JRELoadError 消息,这是因为 Cobalt Strike 中包含的 JavaAppLauncher 存根从设定路径加载库以在存根进程中运行 JVM。发出以下命令来修复此错误:

sudo ln -fs /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

将 jdk-11.0.2.jdk 替换为你的 Java 路径。下一个Cobalt Strike版本将使用更灵活的MacOS X的Java应用程序存根。

Windows

1、从https://jdk.java.net/archive/网站下载OpenJDK for Windows/x64压缩包

2、将其解压到c:\program files\jdk-11.0.1

3、将 c:\program files\jdk-11.0.1\bin 添加到用户的 PATH 环境变量中

  • 控制面板->系统->更改设置->高级>环境变量
  • 用户变量->PATH->编辑->新建->设置值为c:\program files\jdk-11.0.1->确定

Wayland Desktop不支持

WaylandX Windows系统的现代替代品。虽然Wayland已经取得了长足的进步,一些桌面环境将其用作默认窗口系统。不过,并非所有应用程序或应用程序环境在Wayland上都能 100% 完美运行。仍有错误和问题需要解决。

Java(或Wayland)中存在一些错误,可能会导致图形Java应用程序在Wayland桌面中运行时崩溃。这些错误会影响Cobalt Strike用户。不建议在 Wayland 桌面上使用 Cobalt Strike

确定是否在使用Wayland?

使用echo $XDG_SESSION_TYPE 命令确定是使用的wayland还是 x11

image-20230906110941108

如何在 Kali Linux 上禁用 Wayland

1、用文本编辑器打开 /etc/gdm3/daemon.conf

2、找到[daemon]部分

3、添加WaylandEnable=false保存配置并重启系统。

# 1.1.3、安装Cobalt Strike

安装如下说明安装Cobalt Strike

Cobalt Strike发行包(步骤一和三)包含特定操作系统的Cobalt Strike启动器,支持文件和更新程序。但不包括Cobalt Strike主程序。运行更新程序(步骤四)将下载Cobalt Strike主程序并执行最后的安装步骤。

1、下载适用于受支持操作系统的Cobalt Strike分发包。(提供一封电子邮件,其中包含下载链接)

2、配置好Java环境

3、解压缩下载的Cobalt Strike压缩文件

  • Linux :

    tar -zxvf cobaltstrike-dist.tgz
    
  • MacOS X

    1、双击 cobaltstrike-dist.dmg 文件进行装载

    2、将Cobalt Strike目录拖到Applications目录中

  • Windows

    1、禁用反病毒软件

    2、使用压缩软件解压文件到合适的位置

4、运行更新程序完成安装

  • Linux

    cd /path/to/cobaltstrike
    ./update
    
  • MacOS X

    打开Cobalt Strike目录,双击Update Cobalt Strike.command

  • Windows

    打开Cobalt Strike文件夹,双击运行update.bat

使用许可证密钥更新团队服务器和客户端软件。Cobalt Strike通常按用户授权。团队服务器不需要单独的许可证。

# 1.1.4、许可证授权文件

Cobalt Strike 的许可版本需要有效的授权文件才能启动。授权文件是一个加密的 blob,提供有关你的 Cobalt Strike 产品许可证的信息。这些信息包括:你的许可证密钥、许可证到期日期以及与你的许可证密钥关联的ID号。

如何获取授权文件

内置更新程序在运行时会向 Cobalt Strike 的更新服务器请求授权文件。即使你的 Cobalt Strike 版本是最新的,更新程序也会下载新的授权文件。这允许授权文件在运行时与 Fortra reports.server 中的许可证日期保持一致。

当我的许可证到期时会发生什么?

当授权文件过期时,Cobalt Strike 将拒绝启动。此外,获得许可的 Cobalt Strike 产品每天都会检查授权文件。如果授权文件在 Cobalt Strike 运行时过期,则 teamserver 将继续运行额外 14 天的宽限期。如果在此期间不更换授权文件,teamserver将关闭。

详情:

  • Teamserver 在启动时和每天上午 10 点检查许可证。
  • 当团队服务器启动时,团队服务器许可证到期会记录在事件日志中。
  • 连接到团队服务器的客户端将在许可证到期前 45 天开始显示许可证警告功能区。
  • 在每日许可证检查期间关闭服务器之前,正在运行的团队服务器将有 14 天的宽限期。
  • 如果你需要扩展正在运行的团队服务器的许可证,你可以在不同位置安装/更新 CobaltStrike,并将“cobaltstrike.auth”文件从新安装复制/替换到正在运行的实例中
# 1.2、启动团队服务器

Cobalt Strike 分为客户端组件和服务器组件。服务器组件,也就是团队服务器,是 ``Beaconpayload 的控制器,也是 Cobalt Strike 社会工程学攻击功能的托管主机。团队服务器还存储Cobalt Strike收集的数据并管理日志记录。

Cobalt Strike Teamserver 必须在受支持的 Linux 系统上运行。要启动Cobalt Strike teamserver,使用以下命令运行Cobalt Strike Linux安装文件中的teamserver脚本:

./teamserver <ip_address> <password> [<malleableC2profile> <kill_date>

image-20230906125644333

teamserver脚本使用以下两个必需参数和两个可选参数

IP 地址 -(必填)输入团队服务器的外部可访问 IP 地址。Cobalt Strike使用此值作为其功能的默认主机。

密码 -(必填)输入团队成员将用于将 Cobalt Strike 客户端连接到团队服务器的密码。

C2扩展配置 -(可选)指定有效的C2扩展文件。有关此功能的更多信息,后面会详细讲解

终止日期-(可选)以 YYYY-MM-DD 格式输入日期值。团队服务器将此终止日期嵌入到它生成的每个Beacon`stage`中。Beaconpayload将在此日期之后拒绝运行,如果在此日期后这个 ``Beaconpayload 醒来也会自动结束(对应 Beacon会话中的 exit 选项)。

当团队服务器启动时,它将发布团队服务器的SSL证书的 SHA256 哈希。将此哈希分发给你的团队成员。当你的团队成员连接时,他们的Cobalt Strike客户端将在向团队服务器进行身份验证之前询问他们是否识别此哈希。这是防止中间人攻击的重要保护措施。

# 1.3、启动Cobalt Strike 客户端

1、要启动 Cobalt Strike 客户端,使用适用于你的平台的软件包内的启动器。

​ 1、Linux:

./cobaltstrike

​ 2、MacOS X

​ 在Cobalt Strike目录中双击cobaltstrike

​ 3、Windows

​ 在Cobalt Strike目录中双击cobaltstrike.exe

启动后,将看到一个连接对话框

image-20230906130106463

2、Cobalt Strike 会跟踪你连接的团队服务器并记住你的信息。从连接对话框的左侧选择这些团队服务器配置文件之一,以使用其信息填充连接对话框。使用Alias NamesHost Names按钮切换主机列表的显示方式。活动连接将以蓝色文本显示。你可以通过 Cobalt Strike -> Preferences -> Team Servers来控制主机列表的初始显示方式、活动连接文本颜色以及列表样式。

参数选项:

Alias:输入主机别名或使用默认值,不能为空或以*开头。

Host:指定团队服务器的IP地址,不能为空

Port:服务器的端口(默认为50050)

User:你在团队服务器上的昵称,不能为空。

Password:连接到服务器的密码

3、点击 Connect 按钮来连接到 Cobalt Strike 的团队服务器。

如果你是第一次连接到此团队服务器,Cobalt Strike 将询问你是否识别此团队服务器的 SHA256哈希。

image-20230906131831799

4、如果确认无误,请按是,Cobalt Strike 客户端将连接到服务器并打开客户端用户界面。

image-20230906131949399

Cobalt Strike将会记住这个SHA256哈希值,以便将来连接。你可以通过 Cobalt Strike -> Preferences -> Fingerprints来管理这些哈希值。

# 1.4、分布式和团队行动

使用 Cobalt Strike 来协调红队的分散行动。使用一个或更多的远程主机分阶段的筹划 Cobalt Strike 基础设施。启动团队服务器并让你的团队与其建立连接。

image-20230906132219091

连接至一个团队服务器,你的团队将:

  • 使用相同的会话
  • 共享主机、捕获的数据和下载的文件
  • 通过共享事件日志进行通信

Cobalt Strike 客户端可以连接到多个团队服务器。 点击Cobalt Strike -> NewConnection可以设置新的连接。

当连接到多个服务器时,可以在Cobalt Strike底部切换。

image-20230906133333155

活动服务器将会以蓝色加粗文字线上。每一个团队服务器有它自己的按钮。在一个按钮上点击右键、选择重命名来使这个按钮的名称能够反映这台团队服务器在你行动中的作用。

当连接到多个团队服务器,Cobalt Strike 会汇总所有它连接的团队服务器的监听器。这种聚合允许你从一台团队服务器发送引用了托管在另一台团队服务器上的恶意网站的钓鱼邮件。在你行动的末期,Cobalt Strike 的报告功能会查询所有你连接到的团队服务器、合并这些数据来描述一个完整的行动。

重新连接客户端

当用户使用菜单、工具栏或开关栏服务器按钮启动客户端断开连接时,将显示一个带有重新连接(Reconnect)和关闭(Close)按钮的红色横幅。

image-20230906133902669

点击close关闭窗口。点击Reconnect以重新连接到团队服务器。

如果TeamServer不可用,则会显示一个对话框,询问你是否要重试(是/否)。如果选“是”,则再次尝试连接(如果需要,重复)。如果选“否”,对话框将关闭。

当 TeamServer 发起断开连接或其他网络中断时,红色横幅将显示一条消息,其中包含连接重试的倒计时。这将重复,直到与TeamServer建立连接或用户单击“关闭”。在这种情况下,用户可以与 UI 的其他部分进行交互。

当客户端重新连接时,红色的重新连接栏将消失。

# 1.5、编写Cobalt Strike脚本

Cobalt Strike 可通过它的 Aggressor Script 语言来为其编写脚本。Aggressor Script 允许修改和扩展Cobalt Strike客户端。

Aggressor Script 是 Armitage 的Cortana 脚本语言的精神继任者。

Aggressor Script 是一种脚本语言,用于红队操作和对手模拟,灵感来自可编写脚本的 IRC 客户端和机器人。它的目的是双重的。你可以创建长时间运行的机器人来模拟虚拟红团队成员,与你并排进行黑客攻击。你也可以使用它来扩展和修改Cobalt Strike客户端以满足你的需求。

加载脚本

Aggressor Script内置于Cobalt Strike客户端中通过 Cobalt Strike ->Script Manager 来对脚本进行管理。

image-20230906135020483

Cobalt Strike内部的默认脚本定义了Cobalt Strike的所有弹出菜单,并格式化了Cobalt Strike控制台中显示的信息。通过Aggressor Script引擎,你可以覆盖这些默认值和自定义Cobalt Strike

你也可以使用 Aggressor Script 为 Cobalt Strike 的 Beacon增加新的功能和自动执行某些任务。

要了解有关Aggressor Script 的更多信息,请参考后续章节<Aggressor Script >内容。

# 1.6、在MacOS X上运行客户端

Cobalt Strike 客户端最初可能无法在文件浏览器中显示“文档”、“桌面”和“下载”文件夹的内容。(例如加载脚本、上传文件、生成攻击载荷等)

默认情况下,OSX 限制应用程序对“文档”、“桌面”和“下载”文件夹的访问权限。需要显式授予这些应用程序对这些文件夹的访问权限。

由于Cobalt Strike是第三方应用程序,因此它并不像授予应用程序“Cobalt Strike”访问权限那么简单。你可能需要向运行 Cobalt Strike 客户端的 JRE 授予对文件系统的访问权限。你可以授予对特定文件和文件夹的访问权限或完全磁盘访问权限。

系统可能会提示你进行访问:

image-20230906140109059

如果访问之前被拒绝,你可能需要在 OSX 系统偏好设置/安全性与隐私/隐私对话框中编辑访问权限:

image-20230906140143564

请注意,使用JRE的其他应用程序也将具有此访问权限。

# 说明

本文由笔者在Cobalt Strike官方用户指南原文(https://hstechdocs.helpsystems.com/manuals/cobaltstrike/current/userguide/content/topics/welcome_main.htm)基础上编译,如需转载请注明来源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2038371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据重塑之数据去重

下面内容摘录自&#xff1a; 4章7节&#xff1a;用R做数据重塑&#xff0c;数据去重和数据的匹配-CSDN博客文章浏览阅读23次。数据重塑是数据分析和数据清洗中的重要步骤&#xff0c;其中包括数据去重和数据匹配。理解这两个概念以及它们的实现方法对于有效处理和分析数据至关重…

告别转换难题,四款PDF转CAD工具分享

CAD很难搞&#xff0c;将PDF转换为CAD更难搞&#xff0c;想要快速且完整的将PDF文件转换为CAD&#xff0c;自然不是靠一点点的复制重做&#xff0c;直接用PDF转CAD工具就能搞定。那用什么工具呢&#xff1f;我这就给你们捋捋几个神器是怎么帮我们搞定这个难题的。 1.PDF365在线…

milvus helm k8s开启权限管理,attu管理

version:2.4.5 apiVersion: v1 kind: ConfigMap metadata: name: my-release-milvus 该configMap 添加 &#xff0c;然后重启milvus 集群可生效 user.yaml: |-common:security:authorizationEnabled: true或者直接在value.yaml 中添加该配置 extraConfigFiles:user.yaml: |com…

程序员 10 个摸鱼神器分享给大家

问&#xff1a;程序员该不该上班摸鱼&#xff1f; 答&#xff1a;认真上班是劳动换取报酬&#xff0c;上班摸鱼才是从老板那赚钱。 曝光&#xff0c;程序员的 10 个摸鱼神器 摸鱼一时爽&#xff0c;一直摸一直爽 方案一&#xff1a;实物摸鱼方案二&#xff1a;命令行斗地主方案…

抖音用户主页视频数据爬虫详解(点赞,收藏,分享等)

一. 首先进行抓包分析&#xff0c;&#xff0c;&#xff0c;随便找个主页&#xff0c;f12&#xff0c;关键词搜索&#xff0c;发现这个包是以post开头 二.查看请求参数&#xff1a; 我们复制curl在spiderbox里面快速形成请求 对headers&#xff0c;params进行尝试删减&#x…

Linux下用gdb找到cpu占用率最高的线程

我们调试程序的时候&#xff0c;有时候会发现当程序运行时&#xff0c;会出现cpu占用率很高的情况。 一般情况下&#xff0c;程序执行时&#xff0c;cpu占用率比较高的话&#xff0c;就会影响其它程序的执行&#xff0c;所以就需要对程序进行优化&#xff0c;查找程序运行时&a…

亚马逊云科技产 Amazon Neptune 图数据库服务体验

目录 图数据库为什么使用图数据库Amazon Neptune实践登陆创建 S3 存储桶notebook图神经网络快速构建加载数据配置端点Gremlin 查询删除环境删除 S3 存储桶 总结 图数据库 图数据库是一种专门用于存储和处理图形数据结构的数据库管理系统。图形数据结构由节点&#xff08;Node&…

轻松打造:基于本地知识库的私有GPT助手定制教程”

背景知识 众所周知&#xff0c;目前大模型 LLM 的能力已经非常强大&#xff0c;chatgpt 已经可以很好的解决通用型问题&#xff0c;但是对于垂直专业领域的问题处理的还不够好。如果要利用 LLM 大模型根据已有的特定领域的知识&#xff0c;推理出该领域特定问题的答案&#xf…

node.js part1

Node.js Node.js 是一个跨平台JavaScript 运行环境&#xff0c;使开发者可以搭建服务器端的 JavaScript 应用程序。作用&#xff1a;使用Node.js编写服务器端程序 编写数据接口&#xff0c;提供网页资源浏览功能等等 前端工程化&#xff1a;为后续学习Vue和React等框架做铺垫. …

51单片机学习记录-数码管操作

这里实现了静态数码管的显示。51单片机一共有可以显示4个数字&#xff0c;可以通过控制P2(4-2)的端口选择8个数字显示器中的一个显示数字&#xff0c;控制P0端口写入显示的数值信息。将操作的逻辑使用了函数Nixie进行了封装。 #include <8051.h>unsigned char NixieTabl…

PHP汽车保养维修信息管理系统小程序源码

&#x1f697;爱车守护神器&#xff01;揭秘“汽车保养维修信息管理系统”全攻略&#x1f50d; &#x1f525;【开篇揭秘&#xff1a;为何你需要它&#xff1f;】&#x1f525; 在这个快节奏的时代&#xff0c;爱车不仅是代步工具&#xff0c;更是生活品质的象征。但你是否曾…

C++_基本语法笔记_继承和多态

继承 思想与Java差不多 基本语法 语法&#xff1a;class 子类 : 继承方式 父类 继承方式 将访问权限&#xff0c;上升到保护权限&#xff0c;上升到更高的私有权限 继承哪些部分 继承过程中&#xff0c;即使权限不能访问&#xff0c;也会全部继承下来&#xff08;非静…

Liunx搭建Rustdesk远程桌面服务

1、环境准备 Linux&#xff1a;centos7.9 rustdesk server安装包 很多新服务器并没有 wget 和unzip 可以通过yum自行安装下&#xff0c;如果系统中有wget但不能使用&#xff0c;直接卸载重装即可。 yum install wget wget --no-check-certificate https://github.com/rust…

商家福音!阿里巴巴1688又一线下选品中心落地!

7月31日&#xff0c;阿里旗下1688台州选品中心正式开园。后续1688将在核心产业带陆续开设线下选品中心。选品中心的运营模式为“四位一体”&#xff1a;政府搭台&#xff0c;1688提供技术、销售渠道和数字化能力&#xff0c;本地产业链的链主负责运营&#xff0c;本地源头工厂入…

跟着iMeta学做图|ggplot2绘制多个饼图展示菌群物种组成

原始教程链接&#xff1a;https://github.com/iMetaScience/iMetaPlot/tree/main/221017multi-pieplot 写在前面 饼图 (Pie Plot) 在微生物组研究中可以用来展示菌群物种组成&#xff0c;可以起到与堆叠柱状图相同的展示效果。本期我们挑选2022年4月5日刊登在iMeta上的The imp…

浅谈大模型私有化+精调:面向垂直行业与特定场景之需

今天将继续“AI技术”系列&#xff0c;探讨大模型的私有化和精调&#xff0c;以便让预训练的通用模型更好地适应特定的任务或行业需求。 当然&#xff0c;从产品经理的视角出发&#xff0c;我们不会非常深入&#xff08;鄙人能力也有限&#xff09;&#xff0c;而是建立相关的…

HTTP协议和web服务器(Tomcat)

Author&#xff1a;Dawn_T17&#x1f965; 目录 二.请求协议 三.响应协议 四.协议解析 Socket 编程 Servlet介绍 Web服务器 五.Tomcat 简介 HTTP 即超文本传输协议 它是一种应用层协议&#xff0c;用于客户端&#xff08;如浏览器&#xff09;和服务器之间的通信。 为什…

《网络安全自学教程》- Linux安全标识符、身份鉴别、访问控制

《网络安全自学教程》 操作系统有4个安全目标&#xff0c;也就是说想要保证操作系统的安全&#xff0c;就必须实现这4个需求&#xff1a; 标识系统中的用户和进行身份鉴别。依据系统安全策略对用户的操作进行访问控制&#xff0c;防止用户和外来入侵者对计算机资源的非法访问。…

mysql误删数据恢复记录

背景 1、数据库版本 5.7.36&#xff0c;由于误操作删掉了表的所有数据&#xff0c;但是数据库备份每天凌晨进行、只能从备份恢复昨日的全量数据&#xff0c;当日的数据将会丢失 查看binlog配置 尝试恢复 1、找到binlog文件 误删除后立即刷新binlog flush logs 2、binlog转…

OpenAI GPT-2 model use with TensorFlow JS

题意&#xff1a;使用 TensorFlow JS 应用 OpenAI GPT-2 模型 问题背景&#xff1a; Is that possible to generate texts from OpenAI GPT-2 using TensorFlowJS? 是否可以使用 TensorFlowJS 生成 OpenAI GPT-2 的文本&#xff1f; If not what is the limitation, like mo…