歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

在 AWS 云環境中濫用 VPC 流量鏡像抓取網絡流量

來源:本站整理 作者:佚名 時間:2019-10-07 TAG: 我要投稿

云環境下的網絡檢測問題
人們可能希望監視云環境中的網絡流量有很多原因——出于攻擊和防御的目的。 被動的網絡檢查在云環境中可能很困難,而且在這之前需要對網絡配置進行重大修改,以確保每臺主機都被監控,并且不會被惡意用戶繞過。 這意味著作為一個攻擊者,監視整個網絡會產生數量難以置信的噪聲,而且破壞任何東西也變得非常危險。
對于在云端進行通用網絡檢查遇到的困難,滲透測試人員采用了其他更簡單的方法,比如審查 Elastic Load Balancer 訪問日志。 這些日志可以為 你提供一些信息,但與全面的網絡流量檢查相比,這些日志里面的信息非常有限。
然而,AWS 最近在今年六月的 re: Inforce 上發布了一個被動網絡檢測的新功能,稱為“ VPC 流量鏡像”。 使用這個新特性,我們創建了一個名為“ malmirror”的腳本,用于部署必要的基礎設施來鏡像和提取 VPC 流量。
VPC  流量鏡像: 一種潛在的 AWS 網絡監測解決方案
VPC  流量鏡像是在 VPC 中復制 EC2實例的入站和出站流量,而不需要在實例中安裝任何東西。 這些重復的流量通常會被發送到類似于網絡入侵預防系統服務器(IDS)之類的地方進行分析和監控。
隨著 VPC 流量鏡像的發布,AWS 中的 VPC 網絡檢測變得更加容易,無論是進攻還是防守。 現在只需要一些 AWS API 調用(以及使用這些 API 的必要權限) ,就可以在 AWS VPC 中監視網絡流量。
惡意 VPC 流量鏡像的影響及其可能性
惡意的 VPC  流量鏡像可能產生極大的影響,因為在 VPC  內移動的網絡流量通常包含對攻擊者有用的敏感信息。 實現惡意的 VPC 流量鏡像的可能性也非常高,因為通過 VPC 往往有大量的明文流量。 使用明文流量的一個常見原因是,在流量鏡像之前,流量不太可能被探測到,所以風險不大。
這方面的一個例子是今年1月發布的一個特性,即用于網絡負載均衡的 TLS 終止。 通常的做法是,環境在其負載均衡器處終止 TLS,然后以明文形式將請求傳遞給后端服務器。 這意味著在 VPC 中將會有大量的明文流量被我們惡意的 VPC 鏡像抓取。 關于負載均衡器的 TLS 終止的更多信息可以在這里找到,關于最佳實踐的一些討論可以在這里找到。
由于 TLS 對性能的巨大影響,所以許多公司還將在其內部網絡中使用明文協議。 以前做這些事情感覺很安全,尤其是知道傳統的中間人攻擊 或 ARP 欺騙變的不可能發生。
由于這些原因,我們可以合理地假設,作為攻擊者,在流量鏡像攻擊期間,我們至少會獲得一些明文流量。使用 AWS 憑證部署惡意鏡像作為一家主要關注攻擊性研究的公司,我們希望將這一過程自動化,以使其能夠快速、簡單和可重復的執行。 因此,出于這個原因,我們編寫了一個概念驗證腳本,它將接受 AWS 憑證作為輸入參數,并部署必要的基礎設施,以便在目標 VPC-malmirror 中開始對所有支持的 EC2實例進行鏡像。 值得注意的是,VPC 流量鏡像只支持由 AWS Nitro 系統驅動的 EC2實例類型,VPC 鏡像目標必須與被鏡像的任何主機在同一個 VPC 中。在接下來的幾節中,我們將介紹 malmirror 的工作原理、它的功能以及如何分析提取數據。 這個腳本可以在我們的 GitHub 上找到。malmirror 是如何工作的malmirror 將以下資源部署到一個賬戶中:
·將流量鏡像到的 EC2實例
·該 EC2實例的 EC2安全組
·一個 VPC 鏡像目標,指向已創建的 EC2實例
·配置為鏡像所有流量的 VPC 鏡像過濾器
·在這個帳戶中的每個支持的 EC2實例的 VPC 鏡像會話

一個簡單的圖表演示了在將鏡像基礎結構部署到一個小型 VPC 中之后,該小型 VPC 中的流量流可能是什么樣的(請注意,為了簡單起見,該圖中遺漏了許多資源)。
在一切都部署完畢后,流量將開始鏡像到創建好的 EC2實例。 Ec2實例將開始偵聽并以 PCAP 格式記錄接收到的所有鏡像網絡流量。 在實例上本地存儲了大約100mb 的數據之后,它將自動將該數據轉移到 你選擇的 S3 存儲桶中(可能在 你自己的 AWS 帳戶中) ,并從系統中刪除本地文件。 這樣可以防止實例耗盡磁盤空間,并允許我們以自動的方式提取鏡像流量。 請注意,100mb 的限制是任意設置的,對于一些流量較大的網絡來說可能太小了。之所以要以這種方式提取流量,是因為似乎沒有一個簡單的方法來鏡像交叉帳戶的流量,這似乎是一個可靠的方式來確保數據轉移到外部環境。
由于流量正在被轉移到 S3 存儲桶中, 你可以在本地下載以便進行分析。 一個簡單的方法是使用 AWS CLI 提供的 S3“同步”命令,這樣 你只需下載上次與 存儲桶同步時丟失的數據。使用 malmirror 的先決條件要使用 malmirror,你需要:一個用于將鏡像流量轉移到的 S3 存儲桶 (這個存儲桶可能在你自己的 AWS 賬戶中)存儲在 AWS CLI 配置文件中的AWS 憑證(可能屬于 你自己 AWS 帳戶中的用戶)。 這個用戶應該有訪問將 PCAP 文件提取到的 S3 存儲桶的 write/s3:PutObject 權限
存儲在 AWS CLI 配置文件中的帶有以下 IAM 權限 的AWS 憑證(這個憑證是你將鏡像部署到的目標帳戶) :
·ec2:DescribeInstances
    ·識別要鏡像的 EC2實例
·ec2:RunInstances
    ·創建一個將作為 VPC 鏡像目標的 EC2實例
·ec2:CreateSecurityGroup
    ·為我們的 EC2實例創建安全組
·ec2:AuthorizeSecurityGroupIngress
    ·允許入站訪問我們的 EC2實例
·ec2:CreateTrafficMirrorTarget
    ·將 EC2實例指定為 VPC 鏡像目標
·ec2:CreateTrafficMirrorSession
    ·要為我們想要鏡像的每個 EC2實例創建鏡像會話
·ec2:CreateTrafficMirrorFilter
    ·為鏡像會話創建流量過濾器
·ec2:CreateTrafficMirrorFilterRule

[1] [2] [3]  下一頁

【聲明】:黑吧安全網(http://www.gkrbnd.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        福彩原副主任