红队网络基础设施建设

存储架构 2018-05-15

原文地址: Red-Team-Infrastructure-Wiki

译者: MyKings

  • 设计注意事项 (Design Considerations)
  • 功能分离 (Functional Segregation)
  • 使用转向器 (Using Redirectors)
  • 设计举例 (Sample Design)
  • 更多资源 (Further Resources)
  • 域名 (Domains)
  • 分类和黑名单检查资源列表 (Categorization and Blacklist Checking Resources)
  • 钓鱼 (Phishing)
  • 基于 Web 的钓鱼 (Easy Web-Based Phishing)
  • Cobalt Strike 钓鱼 (Cobalt Strike Phishing)
  • 网络钓鱼框架 (Phishing Frameworks)
  • 转向器 (Redirectors)
  • SMTP 协议 (SMTP)
    • Sendmail 软件 (Sendmail)
      • 移除之前的服务器头 (Remove previous server headers)
      • 配置一个通用地址 (Configure a catch-all address)
    • Postfix 软件 (Postfix)
  • DNS 协议 (DNS)
    • socat 之 DNS (socat for DNS)
    • iptables 之 DNS (iptables for DNS)
  • HTTP[S] 协议 (HTTP[S])
    • socat 与 mod_rewrite (socat vs mod_rewrite)
    • socat 之 HTTP (socat for HTTP)
    • iptables 之 HTTP (iptables for HTTP)
    • ssh 之 HTTP (ssh for HTTP)
    • Payloads 和 Web 重定向 (Payloads and Web Redirection)
    • C2 重定向 (C2 Redirection)
      • C2 使用 HTTPS 重定向 (C2 with HTTPS)
    • 其他 Apache mod_rewrite 资源 (Other Apache mod_rewrite Resources)
  • 修改 C2 流量 (Modifying C2 Traffic)
  • Cobalt Strike
  • Empire
  • 第三方 C2 频道 ([Third-Party C2 Channels)
  • Domain Fronting 技术 (Domain Fronting)
    • Domain Fronting 更多参考 (Further Resources on Domain Fronting)
  • PaaS 重定向 (PaaS Redirectors)
  • 其他第三方 C2 (Other Third-Party C2)
  • 隐蔽基础设施 (Obscuring Infrastructure)
  • 保护基础设施 (Securing Infrastructure)
  • 自动部署 (Automating Deployments)
  • 提示&建议 (General Tips)
  • 感谢列表 (Thanks to Contributors)

一、设计注意事项

1.1 功能分离

在设计红队的网络基础设施架构时,要考虑到否能够提供长期(数周、数月、数年)和稳定的响应服务,这要根据功能来拆分每个资产服务,这一点非常重要。当网络对抗中的资产服务被(蓝队)发现时,将会造成对方的警觉。 而功能分离的好处是当红队的网络钓鱼电子邮件评估系统被识别出来时,红队只需要重新创建一个新的 SMTP 服务器和 Payload 主机即可,而不是重新搭建整套网络的基础设施。

在不同资产(服务器)上分离这些功能:

  • SMTP 钓鱼
  • 钓鱼使用的 Payloads
  • 长期的 C2(Command and Control)
  • 短期的 C2(Command and Control)

每次社工活动都可能需要这些功能,由于红队具有主动出击的特性,所以每一次活动都需要重新部署一套新的基础设施(功能资产模块化)。

1.2 使用转向器

为了进一步提高系统弹性和隐蔽性,每个后端资产(即团队服务器)都应该在其前面放置一个转向器(redirector)。 这样的目的是保证目标和我们的后端服务器之间间接的建立连接。 这种方式有两种好处:1.是能够解耦各个功能资产服务;2.是能够达到隐蔽效果。当某一个资产服务被蓝队发现时,无需部署整套后端服务,便可进行迁移会话、重连接后端的未焚毁的资产等。

常见的转向器(redirector)类型:

  • SMTP
  • Payloads
  • Web 流量
  • C2 (HTTP[S]、DNS、等)

每个转向器(redirector)类型都有多个最适合不同场景的实现选项。 这些选项将在本文的部分进一步详细讨论。 这里的转向器(redirector)可以是 VPS 主机、专用服务器、甚至是在 PaaS 上运行的应用程序。

1.3 设计举例

下面这个样例,使用了功能分离和转向器(redirector)的设计思路。其中 LT DNS C2 代表长期的 DNS C2 服务; ST DNS C2 代表短期的 DNS C2 服务; ST HTTP C2 代表短期的 HTTP C2 服务。

1.4 更多资源

二、域名

根据目标所使用的产品及其构造,来选择具有迷惑性的域名至关重要。 由于,选择一个适用于你目标的域名是非常繁琐和“无规矩”可寻的。OSINT(开源情报收集)可以更好的帮助推测管理所需要的资源,这个很重要(开源情报的重要与便利性)。 庆幸的是域名商也需要知道域名的状态与资产信息,并且他们提供了一些查询接口,这也会我们创建了一些便利的条件。

expireddomains.net 是一个收集最近过期或已丢弃域名的引擎。 它提供了搜索和高级过滤,例如:到期时间、反向链接数量、archive.org快照数量、 SimilarWeb 分数。 使用 SimilarWeb 网站,我们可以注册预先使用的域,这些域将与目标域名的年份相同,会使它看起来与我们的目标域类似,使他融入我们的目标网络来迷惑对手。

在为 C2 或数据回传选择域时,请优先考虑“财务”或“医疗保健”域的分类。由于法律或数据敏感性问题原因,许多组织不会在这些分类中执行 SSL 中间人。请确保你选择的域名与之前的任何恶意软件或网络钓鱼系列没有关联也很重要。

Charles Hamilton( @ MrUn1k0d3r )的工具 CatMyFish 会自动执行 expireddomains.net 的搜索,并且会使用 bluecoat.com 来检查网站的所属分类。你可以对过滤器进行修改,以便搜索更多内容,你还可以利用它来长期监控你的注册资产(域名资产)。

Joe Vest( @joevest ) 和 Andrew Chiles( @andrewchiles )提供了另一个工具 DomainHunter ,它会返回一个表格,主要内容包括 BlueCoatIBM X-ForceCisco Talos 中查询出的分类,域名年龄、可用的TLDs、Archive.org链接和HTML报告等信息。 此外,它使用 malwaredomains.commxtoolbox.com 来检查域名是否存在已知的恶意软件和网络钓鱼活动,该工具还包括了绕过 BlueCoat/WebPulse 验证码的 OCR 功能( 查看该工具更多详细信息 )。

(上图为译者提供)

Max Harle 的另一个工具 AIRMASTER 使用 expireddomains.netBluecoat 来查找域名的分类。该工具使用 OCR 绕过 BlueCoat 验证码来提高搜索速度。

如果以前注册的域名不可用(域名分类不正确或不理想),或者使用自己注册的域名(域名没有进行分类)时,你可以克隆或重定向到一个相似分类的域名上,然后在手动提交你的域名分类。你可以使用 Dominic Chell 开发的 Chameleon 工具。大多数产品在确认域名的分类时,都会忽略重定向或克隆的网站内容。 有关Chameleon使用的更多信息,请查看Dominic的帖子 Categorisation is not a security boundary

最后,确保你的 DNS 设置正确, 这里可以借助 DNS Propogation Checker 来检验。

2.1 分类和黑名单检查资源列表

三、网络钓鱼设置

3.1 基于 Web 的钓鱼

简单操作和网络钓鱼似乎不可同时兼得,建立一个适当的网络钓鱼基础设施可能是一个非常痛苦的事。 这里将为你提供快速设置一个钓鱼服务器的知识和工具,该服务器可以绕过大多数垃圾邮件过滤器,并为你提供一个简单的网络钓鱼体验,包括与你的目标进行双向通信的 RoundCube 界面。 网上有很多设置网络钓鱼的方法,这里只是其中的一种。

一旦你的域名通过了上面的设置与检查,并且你的钓鱼服务器已启动,那么首先你需要为你的域名创建一条“A”记录,如图所示。

接下来,进入你的钓鱼服务器并确保你的 /etc/hosts 中列出了正确的 FQDN 主机名。 示例: 127.0.0.1 mail.yourphishingserver.com mail localhost

现在,你只需几个简单的步骤即可安装网络前端来进行网络钓鱼。首先下载 iRedMail 的最新版本到你的钓鱼服务器上,并解压 tar -xvf iRedMail-0.9.8.tar.bz2 。进入到解压后的文件夹,并为 iRedMail.sh 脚本添加可执行权限( chmod +x iRedMail.sh )以 root 用户身份执行脚本,按照提示操作,然后重新启动服务器。

你需要确保你的邮件服务器拥有所有正确的 DNS 记录(相关记录设置请参考 https://docs.iredmail.org/setup.dns.html )。对于 DKIM(DomainKeys Identified Mail,域名密钥识别邮件)使用命令 amavisd-new showkeys 来列出你的 DKIM 密钥。

(上图为译者提供)

对于 DMARC (Domain-based Message Authentication Reporting and Conformance, 基于域的消息认证报告一致性)我们可以使用 https://www.unlocktheinbox.com/dmarcwizard/ 在线生成我们的 DMARC 条目。

现在,创建一个用户进行钓鱼。

登录到 RoundCube 界面, 使用新用户开始钓鱼吧!

3.2 Cobalt Strike 钓鱼

Cobalt Strike 提供可自定义的钓鱼功能来帮助 Pentest(渗透测试) 和红队。它支持 HTML 和纯文本(plaintext)格式的模板、附件、反弹地址、URL 嵌入、使用远程 SMTP 服务器以及每条消息延迟发送。你还可以为每个用户嵌入的 URL 添加唯一标记以进行点击跟踪。

有关更多详细信息,请查看以下资源:

3.3 网络钓鱼框架

除了搭建自己的网络钓鱼服务外,还有许多像 Cobalt Strike 这种专用于电子邮件钓鱼的工具和框架。这篇文章不会详细介绍每个框架,但下面提供了一些参考资料:

3.3.1 Gophish

3.3.2 Frenzy

3.3.3 Social-Engineer 工具包

3.3.4 FiercePhish (formerly FirePhish)

四、转向器

4.1 SMTP 协议

“转向器(Redirector)”可能不是描述我们要实现此功能的最佳词语,但其目的与我们使用的其他重定向功能相同。 我们希望从最终的电子邮件头中删除钓鱼邮件的所有痕迹,并在受害者与我们的后端服务器之间提供缓冲区。 理想情况下 SMTP 转向器安装快速并易于停止。

我们想要配置 SMTP 转向器来执行两个关键操作:

4.1.1 Sendmail 软件

移除之前的服务器头

将以下行添加到结尾 /etc/mail/sendmail.mc :

define(`confRECEIVED_HEADER',`by $j ($v/$Z)$?r with $r$. id $i; $b')dnl

添加到结尾 /etc/mail/access :

IP-to-Team-Server *TAB* RELAY
Phish-Domain *TAB* RELAY

Removing Sender’s IP Address From Email’s Received From Header

Removing Headers from Postfix setup

配置一个通用地址

这会将会把收到的任何电子邮件转发到 *@phishdomain.com 到选定的电子邮件地址。这对于收到任何响应或反弹到钓鱼邮件非常有用。

echo PHISH-DOMAIN >> /etc/mail/local-host-names

/etc/mail/sendmail.mc//Mailer Definitions// (结尾处)之前添加以下行:

FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl

将以下行添加到 /etc/mail/virtusertable 结尾:

@phishdomain.com  external-relay-address

注意:这两个字段应该以制表符(t)分隔

4.1.2 Postfix 软件

Postfix 提供了一个更容易替代 Sendmail 而且提供了更好的兼容性。 Postfix 还为 Dovecot 提供全面的 IMAP 支持。这使得测试人员能够实时地与对原始消息做出响应的钓鱼攻击目标相对应,而不是依靠全部通讯地址,并且必须使用钓鱼工具创建新消息。

Julian Catrambone's( @n0pe_sled )提供了一个设置 Postfix 邮件服务器进行网络钓鱼的完整指南 Mail Servers Made Easy

4.2 DNS 协议

注意:使用 C2 转向器时,应在你的后渗透框架中配置外部侦听器,以通过转向器域发送分段流量。 这会使受感染的主机像 C2 流量本身一样分段通过转向器。

4.2.1 socat 之 DNS

socat 可用于将端口 53 上的传入 DNS 数据包重定向到我们的团队服务器, 此方法很有效。目前,某些用户已为 Cobalt Strike 提出了这个功能issues需求。

由于来自 @xorrior 的测试,以下 socat 命令似乎很好用:

socat udp4-recvfrom:53,reuseaddr,fork udp4-sendto:; echo -ne

Redirecting Cobalt Strike DNS Beacons - Steve Borosh

4.2.2 iptables 之 DNS

iptables 转发 DNS 规则已被发现可与 Cobalt Strike 配合使用。 貌似 socat 暂时还处理不了这类流量的问题(NAT穿透)。

下面是一个 DNS 转向器规则集示例:

iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination :53
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -I FORWARD -j ACCEPT
iptables -P FORWARD ACCEPT
sysctl net.ipv4.ip_forward=1

另外,将“FORWARD”链策略更改为“ACCEPT”。

DNS重定向也可以在NAT后面完成

有时候可能需要在内部网络上托管 C2 服务器。 使用 iptablessocat 和反向 SSH 隧道的组合,我们可以通过以下方式实现这一点。

在这种情况下,我们使用 iptables 转发所有 DNS 流量。 接下来,我们创建一个从我们的内部 C2 服务器到我们的主转向器的 SSH 反向端口转发隧道。 这会将主转向器在端口 6667 上接收的任何流量转发到端口 6667 上的内部 C2 服务器。现在,启动服务器上的 socat 将端口 6667 上的任何传入TCP流量分流到 UDP 端口 53 ,这就是我们的 DNS C2 需要监听。 最后,我们在主转向器上同样设置一个 socat 实例,将任何传入的 UDP 端口 53 流量重定向到端口 6667 上的SSH隧道。

4.3 HTTP(S) 协议

4.3.1 socat 与 mod_rewrite

socat 提供了 dumb pipe 重定向,在指定的源接口/port上接收到的任何请求都会被重定向到目标IP/port,但 socat 没有过滤或设置条件的功能。 Apachemod_rewrite 模块提供了许多方法来加强钓鱼攻击并增强测试基础架构的弹性。 mod_rewrite 能够根据请求属性(如URI、User-Agent、请求参数、操作系统和IP)执行条件重定向。 Apachemod_rewrite 使用 htaccess 文件来配置 Apache 应该如何处理每个传入请求的规则集。 例如:使用这些规则,你可以使用默认 wgetUser-Agent 请求重定向到你的服务器,从而将其转到目标网站上的合法页面。

简而言之,如果你的转向器(redirector)需要执行条件重定向或高级过滤,请使用 Apachemod_rewrite 。 也可使用 socat 重定向并 iptables 过滤。

4.3.2 socat 之 HTTP

socat 可用于将指定端口上的任何传入 TCP 数据包重定向到你的服务器。将 localhost 上的 TCP 端口 80 重定向到另一台主机上的端口 80 的基本语法是:

socat TCP4-LISTEN:80,fork TCP4::80

如果你的转向器配置了多个网络接口,则可以使用以下语法通过IP地址将 socat 绑定到特定接口:

socat TCP4-LISTEN:80,bind=10.0.0.2,fork TCP4:1.2.3.4:80

在本例中 10.0.0.2 是转向器的本地 IP 中的一个, 1.2.3.4 是远程组服务器的 IP 地址。

4.3.3 iptables 之 HTTP

除了 socat , iptables 可以通过 NAT 执行 dumb pipe 重定向。 要将转向器的本地端口80转发到远程主机,配置命令如下:

iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination :80
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -I FORWARD -j ACCEPT
iptables -P FORWARD ACCEPT
sysctl net.ipv4.ip_forward=1

4.3.4 SSH 之 HTTP

我们之前已经介绍过使用 SSH 进行 DNS 隧道。 SSH 作为一种坚实可靠的方式来突破 NAT 并获得种植体连接转向器和服务器环境的方式。 首先,你必须设置 GatewayPorts 转发,否则将无法正常使用:

nano /etc/ssh/sshd_config

add

GatewayPorts yes

要将转向器的本地端口 80 转发到你的内部服务器,命令如下:

tmux new -S redir80
ssh  -R *:80:localhost:80
Ctrl+B, D

译者注:上面的命令第一和第三条非必须,这里作者使用 tmux 进行 Session 保持, tmux new -S redir80 使用 tmux 开启一个 shell, Ctrl+B, D 隐藏 tmux 操作界面, 使用 tmux ls 显示 Seesion。_

你也可以转发多个端口,例如:如果希望 443 和 80 一次全部打开:

tmux new -S redir80443
ssh  -R *:80:localhost:80 -R *:443:localhost:443
Ctrl+B, D

4.3.5 Payloads 与 Web 重定向

当我们的 Payloads (服务)和网络资源开启时,我们希望降低被检测到的风险,同时希望无论是建立 C2 还是收集信息 payload 都能被高效的执行。

下面是 Jeff Dimmock 关于 Apachemod_rewrite 的用法和示例:

其他 Apachemod_rewrite 的用法和示例:

要在服务器上自动设置 Apachemod_rewrite 重定向器,请查看 Julain Catrambone's( @ n0pe_sled ) 博客文章 Mod_Rewrite Automatic Setupaccompanying tool

4.3.6 C2 重定向

重定向 C2 流量的意图有两方面:隐藏后端服务器;蒙蔽相关的调查者,让他们以为这是个合法网站。 通过使用 Apachemod_rewrite 和自定义C2配置文件或其他代理(比如使用Flask),我们可以高效的过滤出来自调查 C2 的真实流量。

C2 使用 HTTPS 重定向

基于上述 “C2重定向”,另一种方法是可以在重定向服务器使用 ApacheSSL 代理引擎来接受入站 SSL 请求,并将这些请求代理到 HTTPS 反向侦听器上。 整个阶段使用加密,你可以根据需要在转向器上转发 SSL 证书。

假如你已经使用了LetsEncrypt(aka CertBot),为了使你的 mod_rewrite 规则能够工作,你需要在 “/etc/apache2/sites-available/000-default-le-ssl.conf” 安装配置你的证书。 另外,要启用 SSL ProxyPass 引擎,相关配置如下:

# Enable the Proxy Engine
SSLProxyEngine On

# Tell the Proxy Engine where to forward your requests
ProxyPass / https://DESTINATION_C2_URL:443/
ProxyPassReverse / https://DESTINATION_C2_URL:443/

# Disable Cert checking, useful if you're using a self-signed cert
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

4.3.7 其他 Apache mod_rewrite 资源

五、修改 C2 流量

5.1 Cobalt Strike

Cobalt Strike 通过 Malleable C2 配置文件修改其流量。 配置文件提供了高度可定制的选项,用于修改服务器的 C2 流量在线路上的形式。 Malleable C2 配置文件可增加强事件响应的规避,使用的合法内部应用程序冒充已知对手或伪装目标。

5.2 Empire

Empire 可以用使用 Communication Profile 定制配置,它可以提供对 URI、User-Agent、Header定制选项。 profile 文件由每个由管道符(|)分隔元素,并使用 listeners 上下文菜单中的 set DefaultProfile 进行设置。

以下是一个示例 Profile:

"/CWoNaJLBo/VTNeWw11212/|Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1)|Accept:image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*|Accept-Language:en-en"

DefaultProfile 的值可以通过 Empire 的初始化之前修改 /setup/setup_database.py 来设置。除通过 Communication Profile 之外,你可以考虑按照Joe Vest's( @joevest )发布的步骤定制 Empire 服务器的 URI、服务器头和默认网页内容 Empire - Modifying Server C2 Indicators

六、第三方 C2 频道

自己创建一个可信的合法化的 Web 服务用于 C2 ,这需要你有足够的相关知识储备,而且使用的技术越来越复杂,运维管理的时间也越来越高。这里介绍一种利用第三方服务 Domain Fronting 进行 C2 重定向。

6.1 Domain Fronting

Domain Fronting 是一种被审查制度规避服务和应用程序用于通过合法和高度信任的域进行流量传输的技术。 支持 Domain Fronting 的热门服务包括 Google App EngineAmazon CloudFrontMicrosoft Azure 。 简而言之,流量使用受信任的服务提供商的 DNSSNI 名称。拿 Google 举一个例子,当边缘服务器接收到流量时(例如:位于gmail.com)数据将被转发到数据包的主机头中指定的原始服务器(例如:phish.appspot.com),根据服务提供商的不同,原始服务器会直接将流量转发到指定的域,这里可以是我们的(C2)服务器或者使用代理应用来执行最终跳转。

有关 Domain Fronting 工作原理的更多详细信息,请参阅白皮书 Blocking-resistant communication through domain fronting 和TOR项目 meek documentation 。除了标准的 frontable 域名(如任何google.com域名)之外,还可以利用其他合法域名作为前端。

有关前沿领域的更多信息,请查看:

关于 Domain Fronting 更多资讯

6.2 PaaS 转向器

许多 PaaSSaaS 提供商为应用实例提供了一个静态子域或 URL 的功能。 如果此服务商的域是高度可信的,则可购买的此域的 VPS 为您的 C2 基础架构提供服务。

要设置重定向,您需要确定将静态子域或URL作为实例的服务一部分发布。 然后,实例将需要使用网络或基于应用程序的重定向进行配置。 该实例将充当代理,之后与此文与上讨论的其他转向器类似。

根据服务的具体实施可能会有很大差异; 然而,对于使用Heroku的示例,请查看 Alex Rymdeko-Harvey (@Killswitch_GUI) 博客文章 Expand Your Horizon Red Team – Modern SaaS C2

另一个值得进一步研究的有趣技术是使用 Amazon S3 的 buckets 存储用于 C2 。 可查看 Andrew Luke (@Sw4mp_f0x) )的帖子 S3 Buckets for Good and Evil )。 这种技术可以与 Empire 的第三方 C2 功能结合使用。

6.3 其他第三方 C2

过去,一些第三方服务已经被利用于 C2 (译者注:如dropbox.com、pastebin.com)。 这种方式是利用允许用户快速发布或修改内容来帮助你逃避基于信用检测的监控系统,尤其是在第三方网站普遍受到信任的情况下。

查看其他第三方C2选项的资源:

七、隐蔽基础设施

用来攻击的基础架构通常易于识别,要让它看起来想一个合法的服务器,我们需要采取一些措施来增强与目标组织或目标可能使用的服务之间的迷惑性。

转向器(Redirectors)可以通过 redirecting invalid URIsexpiring phishing payload linksblocking common incident responder techniques ; 但是,还应该注意潜在的主机及其指标。

例如,在 Fall of an Empire 文章中 John Menerick( @Lord_SQL )罗列了在互联网上检测 Empire 服务器的方法。为了对抗这些容易被识别的指标,最好的办法就是采用修改 C2 流量模式(见本文“修改 C2 流量”部分),修改服务器入口页面、限制打开的端口并修改默认的响应头。

有关如何为多种攻击框架执行这些和其他策略的更多详细信息,请查看这些帖子: Empire – Modifying Server C2 Indicators - Andrew Chiles Hunting Red Team Empire C2 Infrastructure - chokepoint.net Hunting Red Team Meterpreter C2 Infrastructure - chokepoint.net Identifying Empire HTTP Listeners (Tenable Blog) - Jacob Baines

八、保护基础设施

攻击基础架构也可能会受到与任何其他联网主机相同的攻击,并且由于正在使用的数据和连接到目标环境中,这些都被视为高度敏感的。

在2016年,远程代码执行漏洞被披露在最常见的攻击工具上:

iptables

应该用于过滤不需要的流量并限制所需基础架构模块之间的流量。 例如,如果 Cobalt Strike 服务器仅将资产提供给 Apache 转向器,那么 iptables 规则应该只允许来自转向器源 IP 的 80 端口。 这对于任何运维管理都尤为重要,如 SSHCobalt Strike 的默认端口50050 还要考虑阻止非目标国家 IP。 作为替代,请考虑使用由 VPS 提供商提供的管理程序防火墙。 如:Digital Ocean提供可以保护一个或多个资产的 Cloud Firewalls 云防护。

chattr

可以在团队服务器上使用,以防止修改 cron 目录。 使用 chattr 你可以限制任何用户(包括root)在修改文件之前删除 chattr 属性。

SSH

应仅限于公钥认证,并配置为使用受限权限的用户进行初始登录。 为了增加安全性,请考虑将双因子验证添加到 SSH。

更新升级

定期更新系统升级漏洞补丁也是非常重要的。

当然,这份清单并不详尽,你可以做什么来保护团队服务器。 可参考下面的常见强化实践:

特定的加固资源

网上有许多可用的资源来讨论基础设施的安全配置和设计。 并非每种设计考虑都适合每种攻击基础架构,但了解可用选项和其他测试人员正在做什么很有用。

以下是其中一些资源:

九、自动部署

本文所讲的红队基础设施建设,真正建设时这需要耗费大量的时间来设计和实施。 而自动化可用于大大缩短部署时间,使你能够在更短的时间内部署更复杂的设置。

查看有关攻击基础架构自动化的这些资源:

十、提示&建议

  • 记录一切 - 运行复杂的红色团队基础设施意味着许多移动部件, 务必记录每项资产的功能以及其流量的发送位置。

  • 在不同服务提供商和地区之间分割资产 - 基础设施资产应分布在多个服务提供商和地理区域。 蓝队成员可能会针对被确认为主动攻击的提供商提高监控门槛,甚至可能彻底阻止给定的服务提供商。 注意:如果跨边界发送加密或敏感数据,请记住国际隐私法。

  • 不要过度设计 - 人们很容易对先进技术感到兴奋,并想把一切都应用到目标上。 如果你正在模拟特定的敌对威胁,只能假扮利用真正的威胁使用的技术或技能。 如果你的红队会长期攻击同一目标,在你的评估中应该考虑“简单”的通过更先进的谍报工作。 红队应该循序渐进的推动蓝队向前发展,而不是将所有火力开到最大来攻击蓝队,这可能会打垮蓝队并延缓蓝队学习与向前发展的进程。

  • 监控日志 - 在整个参与过程中应监视所有日志:SMTP日志、Apache日志、socat转向器上的tcpdump、iptables日志(特定于流量转发或目标过滤)、weblogs、Cobalt Strike/Empire/MSF日志。 将日志转发到日志服务器,例如 rsyslog ,以便于监控。 操作员终端数据保留可能会在操作过程中用于检查历史命令的使用情况。 @Killswitch_GUI 创建了一个名为 lTerm 的易于使用的程序,它将所有 bash 终端命令记录到一个中心位置。 Log all terminal output with lTerm

  • 设置高价值事件告警 - 配置攻击基础架构以生成高价值事件的警报,例如新的 C2 会话或凭证捕获匹配。 实现警报的一种流行方式是通过聊天平台的API,比如 Slack,查看以下关于 Slack 警报的相关文章: Slack Shell Bot - Russel Van Tuyl (@Ne0nd0g) , Slack Notifications for Cobalt Strike - Andrew Chiles (@AndrewChiles) , Slack Bots for Trolls and Work - Jeff Dimmock (@bluscreenfojeff)

  • 指纹事件响应 - 如果可能的话,在评估开始前尝试被动或主动地指定 IR 操作。 例如,向目标发送平庸的网络钓鱼电子邮件(使用不相关的基础架构)并监视基础架构收到的流量。 IR 团队调查可以披露关于团队如何运作以及他们使用何种基础架构的大量信息。 如果这可以在评估之前确定,则可以对其进行过滤或直接重定向。

感谢列表

感谢所有以下人员(按字母顺序排列),他们贡献了包括此文中的工具、提示或链接,还有人感谢任何编写本维基引用的工具或帖子的人!

Paper

责编内容by:Paper (源链)。感谢您的支持!

您可能感兴趣的

day18_文件的上传和下载学习笔记 一、文件的上传和下载 1、文件上传的原理分析 什么是文件上传? 要将客户端(浏览器)数据存储到服务器端,而不将数据直接存储到数据库中,而是要将数据...
day18_文件的上传和下载学习笔记 一、文件的上传和下载 1、文件上传的原理分析 什么是文件上传? 要将客户端(浏览器)数据存储到服务器端,而不将数据直接存储到数据库中,而是要将数据...
Optimize Images to Reduce Page Weight: File Format... This article was originally seen on Dareboost's blog . "Reduce the page weight": here is one of ...
压力测试工具ab – Apache HTTP server benchmarking t... 搞互联网开发,压力测试必不可少。压力测试的工具很多,我用过ab和JMeter,今天主要讲ab的用法。 1、ab是什么 ab is a tool for benchmarking your...
Monitoring SRE’s Golden Signals Key Takeaways Golden signals are critical for ops teams to monitor their systems and iden...