原文地址: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:<IPADDRESS>; 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 <IP-GOES-HERE>: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:<REMOTE-HOST-IP-ADDRESS>: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 <REMOTE-HOST-IP-ADDRESS>: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 <redirector> -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 <redirector> -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 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.jmbmsq.com/599/