当前位置: 首页 > news >正文

做网站如何引流深圳网络营销十年乐云seo专家

做网站如何引流,深圳网络营销十年乐云seo专家,wordpress编辑器选择,科技产品0x01 概述 任何行动的第一步都是建立基础设施。就 Cobalt Strike 而言#xff0c;基础设施由一个或多个团队服务器、重定向器以及指向你的团队服务器和重定向器的 DNS 记录组成。一旦团队服务器启动并运行#xff0c;你将需要连接到它并将其配置为接收来自受害系统的连接。监…0x01 概述 任何行动的第一步都是建立基础设施。就 Cobalt Strike 而言基础设施由一个或多个团队服务器、重定向器以及指向你的团队服务器和重定向器的 DNS 记录组成。一旦团队服务器启动并运行你将需要连接到它并将其配置为接收来自受害系统的连接。监听器就是 Cobalt Strike 中用来执行这种任务的机制。 一个监听器既是一个 payload 的配置信息同时又是 Cobalt Strike 起一个服务器来接收来自这个payload 的连接的指示。一个监听器由用户定义的名称、payload 类型和几个特定于 payload 的选项组成。 0x02 监听器管理 要管理 Cobalt Strike 的监听器通过 Cobalt Strike → Listeners 。这会打开一个标签页列举出所有你的配置的 payload 和监听器。 Cobalt Strike 4.0 下图是 Cobalt Strike 3.12中的监听器管理标签页对比可以看到 4.0 多了 bindto 和 profile字段 按 Add 按钮来创建一个新的监听器。 当你创建一个监听器确保你给他一个好记的名称。在 Cobalt Strike 的命令和工作流程中你需要使用此名称来引用此监听器。 要编辑监听器选中一个监听器然后按 Edit 。 要移除一个监听器选中该监听器然后按 Remove 。 0x03 Cobalt Strike 的 Beacon Payload 最常见的情况是你需要为 Cobalt Strike 的 Beacon payload 配置监听器。Beacon 是 Cobalt Strike的 payload用于建模高级攻击者。使用 Beacon 来通过 HTTPHTTPS 或 DNS 出口网络。你也可以通过控制经由命名管道和 TCP sockets 的对等peer-to-peerBeacon 从而限制出口网络只允许部分主机直接回连。 Beacon 很灵活支持异步通信模式和交互式通信模式。异步通信效率缓慢Beacon 会回连团队服务器、下载其任务然后休眠。交互式通信是实时发生的。 Beacon 的网络流量指标具有拓展性。可以使用 Cobalt Strike 的可拓展的 C2 语言来重新定义 Beacon的通信。这允许你掩盖 Beacon 行动比如使其流量看起来像其他的恶意软件又或者将其流量掺入作为合法流量。 0x04 Payload Staging 作为背景信息一个值得一提的主题是 payload staging分阶段传送 payload。在很多攻击框架的设计中解耦了攻击和攻击执行的内容。payload 就是攻击执行的内容。payload 通常被分为两部分payload stage 和 payload stager。stager 是一个小程序通常是手工优化的汇编指令用于下载一个payload stage、把它注入内存然后对其传达执行命令。这个过程被称为 staging分阶段。 staging分阶段过程在一些攻击行动中是必要的。很多攻击中对于能加载进内存并在成功漏洞利用后执行的数据大小存在严格限制。这会极大地限制你的后渗透选择除非你分阶段传送你的后渗透payload。 Cobalt Strike 在它的用户驱动攻击中使用 staging分阶段。大多数这类项目在 Attacks → Packages 和Attacks → Web Drive-by 选项下。使用什么样的 stager 取决于与攻击配对的 payload。比如HTTP Beacon 有一个 HTTP stager。DNS Beacon 有一个 DNS TXT 记录 stager。不是所有的 payload 都有 stager 选项。没有 stager 的 Payload 不能使用这些攻击选项投递。 如果你不需要 payload staging分阶段通过在你的 C2 拓展文件里把 host_stage 选项设为false你可以关闭这个选项。这会阻止 Cobalt Strike 在其 web 和 DNS 服务器上托管 payloadstage。这种设置有助于提升行为安全避免反溯源因为如果开启了 staging分阶段任何人都能连到你的服务器上请求一个 payload、并分析它的内容从而可以从你的 payload 配置中获取信息。 在 Cobalt Strike 4.0 及以后的版本中后渗透和横向移动的行为避开了 stager 并选择去尽可能的投递一个完整的 payload。如果你禁用了 payload staging分阶段那么除非你准备做后渗透那么你应该不会注意到此变动。 0x05 HTTP Beacon 和 HTTPS Beacon 默认设置情况下HTTP 和 HTTPS Beacon 通过 HTTP GET 请求来下载任务。这些 Beacon 通过 HTTP POST 请求传回数据。你也可以通过 C2 拓展文件来极尽可能的控制这个 payload 的行为和流量指标。 要起一个 HTTP 或 HTTPS Beacon 监听器通过 Cobalt Stike → Listeners 。点击 Add 按钮选择 Beacon HTTP 作为你的 payload 选项。 4.0 3.14 按 [] 来为 HTTP Beacon 增加一个或多个回连的主机。按 [-] 来移除一个或多个主机。按 [X] 来清除当前的主机。如果你有多个主机仍然可以在此对话框中粘贴以逗号分隔的回连主机列表这是可行的。 HTTP Host(Stager) 字段控制 HTTP Beacon 的 HTTP Stager 的主机。仅当你将此 payload 与需要显式 stager 的攻击配对时才使用此值。 通过 Profile 字段你可以选择一个 C2 拓展文件变体。通过一个 C2 文件变体你可以在一个文件中指定多个配置文件的变量。使用变体文件之后你设置的每个 HTTP 或 HTTPS 监听器会有不同的网络流量指标。 HTTP Port(C2) 字段设置你的 HTTP Beacon 回连的端口。HTTP Port(Bind) 字段指定你的 HTTPBeacon payload web 服务器绑定的端口。如果你要设置端口弯曲重定向器例如接受来自 80 或443 端口的连接但将连接路由到团队服务器开在另一个端口上的连接这样的重定向器那么这些选项会很有用。 如果 HTTP Host Header 值被指定了会影响你的 HTTP stagers并通过你的 HTTP 通信。这个选项使得通过 Cobalt Strike 利用域名前置变得更加容易。 点击 HTTP Proxy 字段旁边的 … 按钮来为此 payload 指定一个显式的代理配置。 手动的 HTTP 代理设置 (Manual) Proxy Settings 对话框提供了多个选项来控制 Beacon 的 HTTP 和 HTTPS 请求的代理配置。Beacon 的默认行为是为当前的进程/用户上下文使用 Internet Explorer 代理配置。 Proxy Type 字段配置了代理的类型。Proxy Host 和 Proxy Port 字段告诉 Beacon 代理在哪里运行。Username 和 Password 字段是可选的这些字段指定了 Beacon 用来对代理进行身份验证的凭据。 勾选 Ignore proxy settings;use direct connection 忽略代理设置使用直连来强制 Beacon 不通过代理尝试其 HTTP 和 HTTPS 请求。 当你填写好代理配置之后点击 Set 来更新 Beacon 对话框。点击 Reset 可以把代理配置重置为默认 行为。 **注意**手动的代理设置仅影响 HTTP 和 HTTPS Beacon payload stage不影响 payload stager。 重定向器 重定向器是位于你的目标网络和你的团队服务器之间的系统。任何去往重定向器的连接将转发到你的团队服务器进行处理。通过重定向器可以为你的 Beacon payload 提供多个回连主机。使用重定向器还有助于提升行为安全因为它会使溯源团队服务器的真实地址变得更加困难。 Cobalt Strike 的监听器管理功能支持使用重定向器。当你设置一个 HTTP 或 HTTPS Beacon 监听器的时候简单的指定你的重定向器 IP 在 Host 字段填入。Cobalt Strike 不会验证这个信息。如果你提供的 host 不隶属于当前主机不是团队服务器的 IP那么 Cobalt Strike 就假设它是重定向器。一种把服务器转变为重定向器的简单方法是使用 socat。 下面是一句 socat 语法作用是将80端口上的所有连接转发到位于192.168.12.100的团队服务器的80端口 socat TCP4-LISTEN:80,fork TCP4:192.168.12.100:800x06 DNS Beacon DNS Beacon 是一个很棒的 Cobalt Strike 功能。这个 payload 使用 DNS 请求来将 Beacon 返回给你。这些 DNS 请求用于解析由你的 Cobalt Strike 团队服务器作为权威 DNS 服务器的域名。DNS 响应告诉Beacon 休眠或是连接到团队服务器来下载任务。DNS 响应也告诉 Beacon 如何从你的团队服务器下载任务。 在 Cobalt Strike 4.0 及之后的版本中DNS Beacon 是一个仅 DNS 的 payload。在这个 payload 中没有 HTTP 通信模式。这是与之前的版本的产品不同的地方。 数据通道 今天DNS Beacon 可以通过 DNS TXT 记录、DNS AAAA 记录或 DNS A 记录下载任务。当其在目标上此 payload 有在这些数据通道之间切换的灵活性。使用 Beacon 的模式命令来改变当前 Beacon 的数据通道。 mode dns 是 DNS A 记录数据通道mode dns6 是 DNS AAAA 记录数据通道mode dns-txt 是 DNS TXT 记录数据通道。DNS TXT 记录是默认的数据通道。 请注意只有在有可用任务时DNS Beacon 才能 check in。使用 checkin 命令来请求 DNS Beacon在下次回连的时候 check in。 请注意DNS Beacon 直到有可用任务时才会 check in 。使用 checkin 命令要求 DNS Beacon 在下次回连的时候 check in。 这里的 check in 和普通的回连团队服务器有什么区别呢 这里的 check in 应该是数据通道的问题DNS Beacon 会心跳回连也就是 DNS 服务器发送一个 xxx.xxx.com 的 DNS 请求仅此而已不会进行任务数据通讯比如它都不会直接返回受害机器的任何信息因为没有check in。如果做个 DNS Beacon 测试会发现 payload 在目标上执行之后会返回来一个会话但是不显示任何信息。就是会话表中这个 Beacon 的一行数据中只看见一个 last 的时间在走其他信息都是空的。这就是因为没有数据返回。这个时候使用 Beacon 的模式命令来改变当前 Beacon 的数据通道然后执行 checkin 就有数据回来了。常规的 HTTP Beacon 是会有元数据信息回来的但是 DNS Beacon 不 check in 的话元数据信息都没有。 如果不选择当前 Beacon 的数据通道那么默认使用 DNS TXT 记录数据通道。Cobalt Strike 4.0版本之前在配置 DNS payload 的时候有 HTTP 和 TXT 两种选择4.0及未来版本就只有 DNS TXT记录这一种选择了这是默认的。 其实不执行 checkin 也可以。如果执行一个其他命令比如 whoami 它首先会自动 check in再执行其他命令这就是所谓的「直到有可用任务时才会 check in」。如果只输入 checkin 命令就只返回来元数据。 监听器设置 要创建一个 DNS Beacon 监听器通过 Cobalt Strike → Listeners 点击 Add 按钮然后选择Beacon DNS 作为 payload 类型。 Cobalt Strike 13.3 DNS Beacon 选项作为对照 点击 [] 来添加一到多个与 beacon 通信的域名。你的 Cobalt Strike 团队服务器系统必须对你指定的域名具有权威性。创建一个 DNS A 记录然后指向你的 Cobalt Strike 团队服务器。使用 DNS NS 记录来将多个域名或子域名委派到你的 Cobalt Strike 团队服务器的 A 记录。 DNS HOST(Stager) 字段配置 DNS Beacon 的 TXT 记录 stager。这个 stager 仅被用在要求显式stager 的 Cobalt Strike 功能中。你的 Cobalt Strike 团队服务器系统也必须对此域名具有权威性。 要测试你的 DNS 配置打开一个终端并输入 nslookup jibberish.beacon domain domain 自行替换为 stager 域名。如果你得到了一个 0.0.0.0 的 A 记录回复——这说明你的 DNS 配置是对的。如果你没有得到回复那说明你的 DNS 配置不对、DNS Beacon 不会与你通信。 确保你的 DNS 记录引用了你的网络接口的首选地址primary address。Cobalt Strike 的 DNS 服务器会一直从你的网络接口的首选地址发送响应。当 DNS 解析器从一台服务器请求信息但是从另一台服务器接收回复时DNS 解析器往往会丢弃回复。 如果你在 NAT 设备后面请确保用你的公网 IP 地址作为 NS 记录并将你的防火墙设置为转发53端口上的 UDP 流量到你的系统。Cobalt Strike 包含一个控制 Beacon 的 DNS 服务器。 所谓的「在 NAT 设备后面」其实就是说团队服务器在内网中的情况。 当启动一个 DNS Beacon 的时候就相当于 Cobalt Strike 把团队服务器作为了一个 DNS 的解析 服务器。当受害主机进行 DNS 请求的时候就需要给53端口发包。如果团队服务器在内网中 就需要把公网IP的53端口和内网IP做一个端口映射相当于把外网的53端口映射到内网的团队服 务器上去。 0x07 SMB Beacon SMB Beacon 使用命名管道通过一个父 Beacon 进行通信。这种对等通信对同一台主机上的 Beacon 和跨网络的 Beacon 都有效。Windows 将命名管道通信封装在 SMB 协议中。因此得名 SMB Beacon。 所谓的「这种对等通信对同一台主机上的 Beacon 和跨网络的 Beacon 都有效」是指 SMB Beacon 通过管道 pipe 进行进程间的数据传递。管道通信的进程可以是本地主机上的两个进 程也可以和远程主机上的进程通过网络进行通信。 要配置一个 SMB Beacon payload通过 Cobalt Strike → Listeners 。点击 Add 。选择 BeaconSMB 作为你的 payload 选项。 Cobalt Strike 13.3 SMB Beacon用于对照 唯一的与 SMB Beacon 相关的选项是 pipeame 管道名称。你可以设置一个明确的管道名称或接受默认选项。 SMB Beacon 与 Cobalt Strike 中派生 payload 的大多数动作兼容。这个的例外情况是用户驱动的攻击例如 Attacks → Packages Attacks → Web Drive-by 这种要求明确 stager 的。 Cobalt Strike 后渗透和横向移动行为派生一个 payload会尝试为你承担对 SMB Beacon payload 的控制。如果你手动的运行 SMB Beacon你将需要从一个父 Beacon 链接到它。 链接和取消链接 从 Beacon 控制台使用link [host] [pipe]来把当前的 Beacon 链接到一个等待连接的 SMBBeacon。当当前 Beacon check in它的链接的对等 Beacon 也会 check in。 前面已经解释过了所谓的 check in 指的是 Beacon 回连主机回传受害系统的元数据准备好进行任务数据通讯的状态。 为了与正常流量融合链接的 Beacon 使用 Windows 命名管道进行通信。这个流量被封装于 SMB 协议中。对于此方法有一些警告 具有 SMB Beacon 的主机必须接受445端口上的连接。 你只能链接由同一个 Cobalt Strike 实例管理的 Beacon。 如果在你尝试去连接到一个 Beacon 之后得到一个 error 5权限拒绝可以尝试这样解决 窃取域用户的令牌或使用 make_token DOMAIN\user password 来使用对于目标有效的凭据来填充你的当前令牌然后再次尝试去连接到 Beacon。 要销毁一个 Beacon 链接在父会话或子会话中使用 unlink [ip address] [session PID]。这个[session PID] 参数是要取消链接的 Beacon 的进程 ID。该值用于当有多个子Beacon 时指定一个特定的 Beacon 来断开链接。 当你对一个 SMB Beacon 取消了链接它不会离开并消失。相反它进入一种等待其他 Beacon 连接的状态。你可以使用 link 命令来从将来的另一个 Beacon 恢复对 SMB Beacon 的控制。 0x08 TCP Beacon TCP Beacon 使用一个 TCP socket 来通过一个父 Beacon 通信。这种对等通信对同一台主机上的Beacon 和跨网络的 Beacon 都有效。 Cobalt Strike 13.3 TCP Beacon用于对照 要配置一个 TCP Beacon payload通过 Cobalt Strike → Listeners 点击 Add 按钮。选择Beacon TCP 作为你的 payload 选项。 使用这种方法配置的 TCP Beacon 是一个绑定的 payload。一个绑定的 payload 会等待来自它的控制器在此场景中控制器是另一个 Beacon 会话的连接。Port(C2) 选项控制 TCP Beacon 将等待连接的端口。当它监听一个连接勾选 Bind to localhost only 来使 TCP Beacon 绑定到 127.0.0.1。如果你为仅本地的行为使用 TCP Beacon那么这是一个很好的选项。 类似于 SMB BeaconTCP Beacon 与 Cobalt Strike 中派生 payload 的大多数动作相兼容。除了一些要求显式 stager 的用户驱动的攻击比如 Attacks → Packages 、Attacks → Web Drive-by 。 Cobalt Strike 后渗透和横向移动行为派生一个 payload会尝试为你承担对 TCP Beacon payload 的控制。如果你手动的运行 TCP Beacon你将需要从一个父 Beacon 链接到它。 连接和取消链接 从 Beacon 控制台使用 connect [ip address] [port] 来把当前的 Beacon 连接到一个等待连接的 TCP Beacon。当当前的会话 check in它的链接的对等 Beacon 也会 check in。 前面已经解释过了所谓的 check in 指的是 Beacon 回连主机回传受害系统的元数据准备好进行任务数据通讯的状态。 要销毁一个 Beacon 链接在父会话或子会话的控制台中使用 unlink [ip address] [sessionPID]。以后你可以从同一主机或其他主机重新连接到 TCP Beacon。 0x09 外置 C2 外置 C2 是一种规范允许第三方程序充当 Cobalt Strike 的 Beacon payload 的通信层。这些第三方程序连接到 Cobalt Strike 来阅读预定使用的帧并使用以此种方式控制的 payload 的输出写帧。这些第三方程序使用外置 C2 服务器来与你的 Cobalt Strike 团队服务器交互。 转到 Cobalt Strike → Listeners 点击 Add 选择 External C2 作为你的 payload。 外置 C2 接口有两个选项。Port(Bind) 指定外置 C2 服务器等待连接的端口。勾选 Bind to localhost only 以使外置 C2 服务器仅本地主机。 外置 C2 监听器与其他 Cobalt Strike 监听器不同。这个监听端口其实是一个数据接收端口没有相关的其他监听器的功能所以不能用来发一些后渗透指令过去。 要了解有关外置 C2 的更多信息请访问此文档 https://www.cobaltstrike.com/help-externalc2 0x0a Foreign Listeners Cobalt Strike 支持对外监听器的概念。 这些是托管在 Metasploit 框架或其他 Cobalt Strike 实例的 x86 payload handler 的别名。要传递一个Windows HTTPS Meterpreter 会话到一个使用 msfconsole 的朋友那里建立一个 Foreign HTTPSpayload 并将主机和端口的值指向它们的 handler。你可以在任何你想要使用 x86 Cobalt Strike 监听器的地方使用 foreign listener对外监听器。 0x0b 基础设施整合 Cobalt Strike 的分布式行动模型的基本思想是为你的每个行动阶段建立单独的团队服务器。比如将你的后渗透基础设施和持久化基础设施分开。如果一个后渗透行为被发现这个基础设施将被重建。 一些行动阶段要求多个重定向器和通信通道选项。Cobalt Strike 4.0 对此有非常友好的设计。 上图中的「配置文件“变体”允许每个出口监听器有不同的指示器」这句话存在翻译错 误更正为「C2 拓展文件“变体”允许每个出口监听器有不同的网络流量指标」。 你可以将多个 HTTP、HTTPS 和 DNS 监听器绑定到一个单独的 Cobalt Strike 团队服务器。这些payload 在它们的配置中也支持端口弯曲port bending。这允许在你的重定向器和 C2 设置中使用与你的通信通道80443或53共同的端口但是最好把这些监听器绑定到不同的端口以避免你的团队服务器系统中发生端口冲突。 为了使你的网络流量指标多样化Cobalt Strike 的 C2 拓展文件可能包含多种变体。变体是一种将当前文件的变量加到一个配置文件中的方法。当你定义每个 HTTP 或 HTTPS Beacon 监听器时你可以指定一个配置文件变体。 此外你可以在一个团队服务器上定义多个 TCP 和 SMB Beacon每一个都使用不同的管道和端口设置。任一个来自同一团队服务器的出口 Beacon一旦它们被部署在目标环境中那么都可以控制任何一个这些 TCP 和 SMB Beacon 的 payload。 0x0c Payload 安全特性 Cobalt Strike 采取措施保护 Beacon 的通信确保 Beacon 只能接收来自其团队服务器的任务并且只能将结果发送至其团队服务器。 首次设置 Beacon payload 时Cobalt Strike 会生成一个团队服务器专有的公钥/私钥对。团队服务器的公钥会嵌入 Beacon 的 payload stage。Beacon 使用团队服务器的公钥来加密发送到团队服务器的会话元数据。 Beacon 必须在团队服务器可以发出任务和接收来自 Beacon 会话的输出之前持续发送会话元数据。此元数据包含一个由 Beacon 生成的随机会话秘钥。团队服务器使用每个 Beacon 的会话秘钥来加密任务并解密输出。 每个 Beacon 都使用这种相同的方案来实现数据通道。当在混合 HTTP 和 DNS Beacon 中使用记录A、AAAA、TXT数据通道时你有和使用 HTTPS Beacon 同样的安全保护。 请注意当 Beacon 分阶段时payload stager 因为其体积原因没有这些内建的安全特性。
http://www.zqtcl.cn/news/853158/

相关文章:

  • 怎么做兼职网站成都必去十大网红景点
  • 网站建设如何传视频教程电脑网站设计公司
  • 网站开发培训教程制作网站开发公司
  • 网站前端做报名框代码seo教育培训机构
  • 做网站要学习什么分销网站
  • 镇江市住房和城乡建设局网站常州建设网站
  • 学做美食的网站男女做暖暖到网站
  • 手机的网站建设目标刚做的网站 搜不到
  • 重庆网站建设哪里比较好呢ps怎么做网站logo
  • 网站建设五项基本原则优化关键词的公司
  • 高端网站的特点p2p网站开发的流程
  • 什么网站做外贸最好坪地网站建设公司
  • 做网站费用怎么核算没有公司 接单做网站
  • 如何建设一个优秀的电商网站wordpress注册去掉电子邮件
  • 站长工具 seo综合查询长沙高校网站制作公司
  • 杭州网站定制开发哪家好wordpress重置
  • 哈尔滨市建设安全网站火车头更新wordpress
  • 做亚马逊外国网站需要语言好吗邢台seo
  • jsp在网站开发中的优势国内哪个推广网站做的好
  • 做网站工资高吗精品资料
  • 做农业需关注什么网站热门代理项目
  • 网站开发公司营业范围照片制作视频软件app
  • 做网站怎么qq邮箱验证免费拥有wordpress
  • 校园网站建设资金来源有wordpress权重
  • 魔站网站开发wordpress 3.3.1
  • 东莞个人免费建网站网站后台管理系统 asp
  • 呼和浩特网站制作 建设wordpress怎么改中文
  • 银医网站建设方案公司网站模板免费下载
  • 优秀网站设计案例中国网站建设东莞公司
  • 自己的公网ip可以做网站网页设计与制作课程思政建设内容