
EDRをかわすシンプルな方法、それは彼らがフックするAPIに一切触れないことです。
EDRがフックするAPIに一切触れることなく、シンプルにEDRを回避する。
ほとんどのEDRはスクリプトファイルをスキャンせず、単なるテキストファイルとして扱うことに気づきました。彼らにとっては残念なことですが、我々にとっては利益を得るチャンスです。
メモリ常駐やスレッドインジェクションのような派手な手法は厳重に監視されています。有効な認証局によって署名されたバイナリなしでは、ほぼ実行不可能です。
そこでBYOSI(Bring Your Own Scripting Interpreter)の出番です。すべてのスクリプトインタプリタは作成者によって署名されており、各証明書は有効です。実際の環境でテストしたところ驚くべき結果が得られました。このリポジトリにある、非常に多くシグネチャされているPHPスクリプトが、CrowdStrikeとTrellixで監視されたシステム上で実行されただけでなく、EDRの検知を一切引き起こすことなく外部接続を確立しました。EDRは通常、スクリプトファイルを無視し、インプラントの配信にはバイナリに注目します。彼らはバイナリ内の高エントロピーや不審なセクションを検出するように設定されており、単純なスクリプトは対象外です。
この攻撃手法は、その見落としを利用して大きな利益を得ます。PowerShellスクリプトの手順は、開発者が最初に環境に入ったときに行うことを模倣しています。特筆すべきは、わずか4行のPowerShellコードで完全にEDRの検知を回避し、Defender/AMSIもそれを検知できないことです。さらに、GitHubが信頼できるデプロイヤーとして機能するため、効果が増します。
このPowerShellスクリプトは、4つのシンプルなステップ(実際には3つ)でEDR/AVの回避を達成します。
1.) Windows用のPHPアーカイブを取得し、それを'C:\Temp'内の'php'という新しいディレクトリに展開します。
2.) 次に、インプラントのPHPスクリプトまたはシェルを取得し、同じ'C:\Temp\php'ディレクトリに保存します。
3.) その後、許可リスト入りしているPHPバイナリを使用してインプラントまたはシェルを実行します(このバイナリは、通常は実行を妨げるような制限のほとんどから免除されています)。
これらの操作が完了すると、おめでとうございます。CrowdStrikeで監視されているシステム上にアクティブなシェルが手に入りました。特に面白いのは、記憶が正しければ、Sentinel OneはPHPファイルタイプをスキャンできないということです。ですから、想像力を自由に働かせてください。
このツールの悪用について、私は一切の責任を負いません。この問題はEDR防御における大きな盲点であり、私はそれを皆に注意喚起しているに過ぎません。
この攻撃手法にBYOSIという愛称を付け、テスト環境の構築で現実化に貢献してくれた@im4x5yn74xに大きな感謝を捧げます。
MS DefenderがPHPスクリプトを悪意のあるものとしてフラグするようになったようですが、PowerShellスクリプトの実行は完全に許可されたままです。そのため、PHPスクリプトを修正してください。 現在の問題は、PHPのウェブサイトが最初のzipアーカイブを削除したことです。そのため、そのコード行を修正する必要があります。それは1行目です。使用したいバージョンを見つければ、シェルを取得できます。DefenderはPHPスクリプトをフラグせず、どのAVベンダーもスクリプトを正しく識別せず、これは依然として100%の成功率で機能します。
hello sentinel one :) リンクが埋め込みにならないようにしたほうが良いかもしれません。
hello claude team.