サンドボックスを使用したファイルの有害性の評価:パート2.オフライン分析

そのため、 先ほど、ファイル分析のためにネットワーク上で利用可能な主なリソースに会いました

ただし、実際には、オンラインサンドボックスを使用しても問題を解決できない場合がかなりあります。 これは、次のようなさまざまな要因が原因である可能性があります。

-インターネットへのアクセスが難しい
-現在、オンラインサンドボックスは過負荷になっており、分析はタイムクリティカルです
-オンラインサンドボックスでの実行は、調査したファイルによってブロックされます
-分析中にファイルの実行モードをさらに微調整する必要があります。たとえば、起動時からの遅延時間の増加

この場合、問題のオフラインソリューションが助けになります。

ほぼすべてのサンドボックスの作業の本質は、システムに加えられた変更の仮想化により、制御された環境でのプログラムの実行を制限することです。 もちろん、この問題の理想的な解決策は、スナップショットにロールバックできる仮想マシンでコードを実行するか、同じロールバックの可能性があるシステムのセクターごとの完全なバックアップがある物理マシンで実行することです。 そして、これは絶対に真実です。世界中のアナリストが同じように作業し、すでにレビューしたオンラインサンドボックスも同じように機能します。 ただし、この場合、システム、レジストリなどの変更を調査するために、メモリダンプを手動で削除および分析する必要があります。 この作業を自動的に実行するいくつかのソリューションを検討します。 まあ、またはほぼ自動的に:)

レビューでは、単純なものから複雑なもの、アクセスしやすいものから困難なもの、自動から手動のものに移行します。 このアプローチでは、退屈した人は去り、重要なものを失うことはないようです:)

Buster Sandbox Analyzer + SandboxIE Complex

SandboxIEは、おそらく一般に公開されている最も有望なサンドボックスプログラムの1つです。 これはいくつかの要因によるものであり、少なくともそれらのほとんどは、著者によるプログラムの継続的なサポートと更新、およびほぼすべての機能を備えた無料のユースケースの利用可能性です(いずれにせよ、目的には十分です)。 最も重要なのは、SandboxIEが機能を拡張するプラグインをサポートしていることです。

そのようなプラグインの1つは、 Buster Sandbox AnalyzerまたはBSAです。 このプラグインは、すでに説明したCWSandboxとほぼ同じように機能します。調査中のプロセスのアドレス空間に動的ライブラリを埋め込み、実行中にAPI呼び出しを追跡できるようにします。 さらに、このプログラムを使用すると、ネットワークアクティビティを監視し、変更されたファイルやその他の有用なものを分析できます。

このシステムの動作を評価するために、最初に構築します。 さらに、SandboxIEに次の2つのアドオンをダウンロードする必要があります: Block Process AccessAntidel 。 これらのプラグインを使用すると、一方で、サンドボックス外の他のプロセスの存在を分析中のプロセスから隠すことができ、他方で、作業中のファイルの削除を防ぐことができます(一部のドロッパーを分析する場合に便利です)。

次:

1. SandboxIEをインストールします。

2.サンドボックスから追加のサンドボックスを作成します-新しいサンドボックスを作成します 。 私はそれをBSAと呼びました-たとえあなたが単純化のために同じものを持っていたとしても。

3.プログラムウィンドウのリストでBSAサンドボックスを右クリックし、[ サンドボックス設定]を選択します。

4.クリティカル:
動作 -ウィンドウの周囲に境界線を表示-赤を選択
回復 。 -即時回復-Dawを削除し、通常、単一のフォルダが回復中でないことを確認します。
削除 -削除に関するすべてのDAWを削除します。
制限 -インターネットアクセス-「プログラムはインターネットにアクセスできません」と表示されるまで、すべてのプログラムを削除します。 このオプションを覚えておいてください-いくつかのマルウェアへのアクセスを開く必要がありますが、この場合、ホストマシンからのすべてのパスワードと情報は攻撃者に委ねられることに注意してください。
制限 -実行および実行アクセス-すべて許可。
低レベルのアクセスとハードウェア -すべてのジャックドーを脱ぎます。 これは重要です。さもないと、TDSS、Mebratix、Mebrootなどの低レベルのウイルスがサンドボックスからシステムにクロールされます。
他のオプションはデフォルトで残しておく必要があります。 将来的には、好みに合わせてカスタマイズできます。すべてが十分に明確になっています。

5. SandboxIEをインストールしたフォルダーにBuster Sandbox Analyzerフォルダーを作成します。このフォルダーには、上記でダウンロードしたすべてのものが解凍されます。

6. LOG_API.DLLファイルの名前は、必要な名前に変更されます。 私はそれをLAPI.DLLと呼びました。 また、HideDriver.sysの名前を変更します。

7.メインのSandboxIEウィンドウで、[ 構成]- [ 構成の編集]を選択します。 開いたテキストドキュメントでは、これらの文字のすぐ下にBSAセクションがあり、行を追加しています。

InjectDll=C:\Program Files\SandboxIE\Buster Sandbox Analyzer\sbiextra.dll
InjectDll=C:\Program Files\SandboxIE\Buster Sandbox Analyzer\antidel.dll
InjectDll=C:\Program Files\SandboxIE\Buster Sandbox Analyzer\LAPI.dll
OpenWinClass=TFormBSA


もちろん、パスは異なる場合があります。 しかし、注入されるライブラリの順序はそのようでなければなりません

次に、 GlobalSettingsセクション、特にFileRootPathパラメーターに注意してください。

FileRootPath=C:\Sandbox\%SANDBOX%
(あなたによって異なる場合があります)。

その意味を覚えておいてください。

8.元のパスに従ってテキストファイルを保存します。 SandboxIEのメインウィンドウで、[ 構成]- [ 構成の再読み込み]を選択します。

9. SandboxIEのメインウィンドウで、以下を選択します。 構成 -Windowsエクスプローラーへの統合-SandboxIE管理の起動-プログラムがサンドボックスで起動し、「サンドボックスで実行」 アクション -ファイルとフォルダーの「サンドボックスで実行」コンテキストメニュー項目を追加します。

10. Buster Sandbox Analyzerを実行します(手動で、bsa.exeを実行して同じ名前のフォルダーから。

11. [ オプション] -[分析モード]-[手動およびオプション] -[プログラムオプション]-[Windows Shell Intagration]を選択し、右クリックアクション「Run BSA」を追加します。

すべてが仕事の準備ができています。

使い方は?

1.常駐アンチウイルスを無効にします(ある場合)。

2.検討中のプロセスにマウスを向け、[ BSAの実行 ]を右クリックします 。 BSAウィンドウが開きます。

3. FileRootPath SandboxIEパラメーター(上記参照)の値に一致するフォルダーがSandboxフォルダーで指定されていることを確認します 。%SANDBOX%の代わりにBSAのみが示されます。 私の場合、パラメータで

FileRootPath=C:\Sandbox\%SANDBOX%

BSAでは

C:\Sandbox\BSA

4. [分析の開始]をクリックします。

5.検討中のプロセスにマウスを向け、サンドボックスで [ 実行 ]を右クリックします 。 提案されたサンドボックスのリストで、BSAを選択します。

それだけです プロセスが進みます。 メインのSandboxIEウィンドウに、BSAのAPI呼び出しのログとアクティブなプロセスが表示されます。 プロセスが終了することもあれば、BSAで[分析の​​終了]をクリックします。アクティブなBSAサンドボックスの終了プログラムを右クリックして、SandboxIEに添付する必要があります(たとえば、ファイル感染者の場合)。

完了すると、BSAはシステムの変更に関する詳細なレポートを発行しますが、ビューアーを使用して他のレポートを表示することもできます。 システムにWinPcapを配置すると、サンドボックスからパケットをインターセプトすることもできますが、そこではあまり整理されていません。たとえば、UDPパケットのパーソナライズはありません。 しかし、本当にしたい場合は可能ですが、同時にホストシステムですべてのネットワークアプリケーション、特に急流をout滅する必要があります。

作業後、右マウスボタンでBSAサンドボックスをクリックすると、 [コンテンツの表示]を選択し、作業中にプロセスによって作成または変更されたすべてのファイルを確認できます。

BSAログとサンドボックスファイルは、新しい調査プロセスが次に開始されるまで保存されます。

調査したファイルによってシステムに加えられた変更を直接分析できることに注意してください。 仮想化されたレジストリがC:\ Sandbox \ %SANDBOX% \ RegHiveに保存されている場合、このコマンドスクリプトを使用して「理解可能な」形式に変換するのは非常に簡単です。

REG LOAD HKLM\uuusandboxuuu C:\Sandbox\ DefaultBox \RegHive
REG EXPORT HKLM\uuusandboxuuu C:\Sandbox\sandbox.reg
REG UNLOAD HKLM\uuusandboxuuu


「DefaultBox」はすべての人にとって個別のものになることに留意してください。ただし、これについてはすでに上記で説明しました。

結果のsandbox.regファイルには、レジストリに加えられた分析が容易なすべての変更が含まれます。

SandboxIEがプロセスに動的ライブラリを挿入する機能は、PE実行可能ファイルとしてではなく、プロセスアドレス空間に挿入された、またはサービスとして登録されたライブラリとして実行される悪意のあるコードによって効果的に使用できます。 しかし、これはまったく異なる困難な会話です。

ゼロワイン

悪意のあるコードの調査を自動化するための最も一般的な方法の1つは、Pythonスクリプトを使用してLinuxシステムで多くの操作とユーティリティの実行を結合することです。 これは、Joxean KoretがZeroWineプロジェクトを作成したときに行ったことです。 ZeroWineは、Debianに基づいて構築されたQEmu仮想マシンイメージ(ただし、VBoxやVMWareを含む他のシステムに簡単に変換できます)です。 悪意のあるファイルはWebインターフェイス経由でダウンロードできます。その結果、ワイン環境で実行され、その動作はPythonスクリプトによって自動化された多数のユーティリティによって制御されます。 その結果、ユーザーは呼び出されたコマンド、プロセスメモリダンプ、ネットワークパケットの傍受などに関する情報を取得できます。

ZeroWineプロジェクトのもう1つの「顔」はZeroWine-tryoutsです。 いくつかの追加機能が導入されました。

残念ながら、wineを使用しても、Windowsに匹敵するマルウェア環境が完全に作成されるわけではありません。 この結果、コードの実行は完全に異なる場合があり、場合によってはまったく実行されないこともあります。 著者自身が、彼のプログラムの多くの欠点と、研究中のプロセスの側面からワイン環境での実行を検出する簡単な方法を指摘しています。 また、作成者のウェブサイトのスクリーンショットに表示されるログは、感染メカニズムの理解と治療プロセスの計画にほとんど役立ちません。むしろ、マルウェアに対する署名または行動保護を構築するアナリストにとって興味深いものです。

ZeroWineは昨年12月に更新されましたが、個人的には(2009年以降)ZeroWineのトライアウトがより好きでした-スキャンのより柔軟な設定と制御のため、または多分それは私から始まったためです通常、新しいバージョンとは異なります:)

分散分析システム

これらは、分析的性質の中で最も深刻で複雑な決定です。 通常、分散システムは、サーバーとして機能し、感染したWindowsシステムから受信したダンプとログを受け入れて処理するLinuxシステムです。 このようなメカニズムは、仮想マシンまたはLinuxホストとの仮想Windowsゲストの相互作用のフレームワークで構築できます。 MINIBISは最後の原則に基づいて構築されています。Ubuntu環境で仮想Windows XPを実行することに基づいて、このようなシステムを展開するために必要なものをすべて自由にダウンロードできます。 別の興味深いアプローチは、Etherプロジェクトのようにハイパーバイザーを使用することです。

ただし、この問題を真剣に考えた場合、最も正しいアプローチは、2台の物理マシンに基づいて独自のシステムを構築することです。 この場合、Linuxシステムは通常、ネットワーク接続と情報処理端末ステーションのエミュレーターとして機能し、Windowsは悪意のあるコードが実行される調査対象のベースとして機能します。 Trumanなどの既製のソリューションや、 REMnuxSIFT WorkstationなどのLinuxシステムの例は、ネットワーク上で自由に配布されます。

もちろん、お気に入りのLinuxディストリビューションに基づいて、同様のシステムを自分で作成できます(Ubuntuを強くお勧めしますが、私はそのファンではありませんが、残念なことに、Debianで開発された、現在はほぼ常にUbuntuであるため)上記または必要に応じて、画像内の必要なソフトウェアとスクリプト、または自身の理解に従ってください。 ただし、このようなシステムの作成の説明は非常に難しく、時間がかかるため、このような作業で興味深く有用なプロジェクトへのリンクをいくつか提供します。

-C&Cとの通信およびモジュールのダウンロードに使用されるhttp / httpsトラフィックを傍受および分析するための非表示のプロキシサーバー。 例はBurp Suiteです。
-インターネットシミュレータ、たとえばINetSim
-FOGなどの集中イメージリカバリシステム。
-メモリダンプを分析するためのシステム。ここで最も良いIMHOVolatality Frameworkです。
-検出されたマルウェアの分類を自動化するClamAVアンチウイルスシステム 。 私は故意に商用アンチウイルスを作成していません。ClamAVの方がクールだという考え(間違っている)ではなく、商用バージョンでは利用できないClamAVに自分の署名を追加する可能性があるためです。 極端な場合、同じ目的でYARAを使用できます。
-JS、PDF、Flash、javaスクリプトの分析と難読化解除、Windowsファイルシステムの解析、ファイル署名の操作と解凍のためのユーティリティ-これらはすべてネットワーク上で大量にあり、すべてを記述することは不可能であり、常に好みの問題です。 特に、このようなユーティリティの多くはREMnuxプロジェクトのWebサイトで言及されており、それに含まれています。

この楽観的なノートで、私は終了しますか(?)まだ質問がある場合、私のコメントをキャンセルします。 最後まで我慢して読んでくれた人々に感謝します:)

Source: https://habr.com/ru/post/J114450/


All Articles