2019-2020-2ネットワーク対策技術20175333 Cao Yakun Exp4悪意のあるコード分析
試験的なコンテンツ
-
実用的な目標
疑わしいプログラムが実行されているかどうかを確認するために、独自のシステムの実行ステータスを監視します。
マルウェアを分析するには、Exp2またはExp3で生成されたバックドアソフトウェアを分析します。分析ツールは、ネイティブ命令またはsysinternalsを使用しようとします。systracerスイート
は、将来の作業でホストに問題があると見なし、実験でこのアイデアを使用できます。システム全体疑わしいオブジェクトが見つかるかどうかを監視し、疑わしいオブジェクトをさらに分析して、特定の動作と性質を確認します。 -
実践的な内容
2.1システム動作の監視
(1)スケジュールされたタスクなどの使用、毎分、コンピューターのどのプログラムがネットワークに接続されているか、および接続されている外部IPがどこにあるかを記録します。一定期間実行し、ファイルを分析して分析結果を要約します。
(2)sysinternalsにsysmonツールをインストールして構成し、適切な構成ファイルを設定して、ホストの不審な動作を監視します。
2.2ソフトウェアを分析するには、(1)接続の開始、(2)ターゲットマシンへのインストール、(3)その他の任意の操作(プロセスの移行や画面キャプチャなど、重要なのは興味があること)です。
バックドアソフトウェア
は、どのレジストリエントリを
読み取り、追加、削除し、どのファイルが
接続され、どの外部IPが転送され、どのデータが転送されるかを読み取り、追加、削除します。
質問回答
-
職場のホストに悪意のあるコードがあると思われるが、推測しただけの場合は、システムが毎日行っていることを監視したいだけです。監視したい操作と監視方法を設計してください。
- Windowsに付属のschtasksコマンドを使用して、スケジュールされたタスクを設定し、ネットワーク接続が異常であることを確認できます。
- Sysmonを使用して構成ファイルを書き込み、関連するシステムログを記録できます。
- パケットをキャプチャして異常なデータ転送を分析できます
-
プログラムまたはプロセスに問題があると判断した場合、それについてさらに情報を得るにはどのツールが必要ですか?
- systracerツールを使用してマルウェアを分析し、レジストリとファイルに対するその変更を表示できます。
- Wiresharkを使用して、パケットキャプチャ分析を実行し、ホストによって実行される通信を監視できます。
- 静的分析ツールを使用して、保護にシェルが存在するかどうか、ウイルス対策ソフトウェアが見逃した悪意のあるコードかどうかを確認できます。
実験課題
タスク1:schtasksコマンドを使用してシステムを監視する
1. schtasks / create / TN netstat5333 / sc MINUTE / MO 1 / TR "cmd / c netstat -bn> c:\ netstatlog.txt"コマンドを使用して、スケジュールされたタスクnestat5333を作成します。
- TNはTaskNameの省略形であり、作成したスケジュール済みタスクの名前はnetstat5333です。
- scはタイミング方式を意味し、MINUTEを分単位で入力します。
- TR =タスク実行。実行するコマンドはnetstatです。
- bn、bは実行可能ファイル名を表示することを意味し、nはIPおよびポートを数値として表示することを意味します。
- '>'は出力リダイレクトを意味し、出力をc:\ netstatlog.txtファイルに保存します
2. Cドライブにnetstat5333.batスクリプトファイルを作成し、次の内容を書き込みます。
date /t >> c:\netstat5318.txt
time /t >> c:\netstat5318.txt
netstat -bn >> c:\netstat5318.txt
3.タスクスケジューラを開くと、新しく作成されたタスクを確認できます
4.このタスクをダブルクリックし、[アクション]-> [編集]をクリックして、スクリプトを作成したnetstat5333.batファイルに変更します。
5.一般的なチェックボックスで、ユーザーがログインしているか、最高の権限で実行されているかに関係なく実行します。
6.このスクリプトを一定時間実行すると、このマシンのネットワークレコードをこの期間のnetstat5333.txtファイルで確認できます
7.記録されたデータが十分に豊富になったら、タスクを停止し、取得したデータをExcelで分析します。
監視を継続し
、しばらく待機するには、このプロセスを継続してネットワークに接続する必要があります)、保存されたデータをExcelテーブルで整理します
統計結果:
タスク2:sysmonツールを使用してシステムを監視する
-
sysmonはMicrosoft Sysinternalsスイートのツールです。sysmonツールを使用する前に、まずファイルを構成する必要があります。軽量ツールSysmonを使用してシステムを監視し、構成ファイルsysmon20175333.xmlを作成するを参照してください。
-
使用可能なイベントフィルターは次のとおりです:
ProcessCreateプロセスの作成、FileCreateTimeプロセスの作成時間
NetworkConnectネットワークリンク、ProcessTerminaプロセスの終了
DriverLoadドライバーの読み込み、ImageLoadミラーの読み込み
CreateRemoteThリモートスレッドの作成、RawAccessReadドライバーの読み取り
ProcessAccessプロセスのアクセス、FileCreateファイルの作成
RegistryEventレジストリイベント、FileCreateStreファイルストリームの作成など
1.構成ファイルを作成します
- Xuejieブログを参照して、構成ファイルを作成します:sysmon20175333.xml
<Sysmon schemaversion="3.10">
<!-- Capture all hashes -->
<HashAlgorithms>*</HashAlgorithms>
<EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<ProcessCreate onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">MicrosoftEdgeCP.exe</Image>
</ProcessCreate>
<ProcessCreate onmatch="include">
<ParentImage condition="end with">cmd.exe</ParentImage>
</ProcessCreate>
<FileCreateTime onmatch="exclude" >
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">MicrosoftEdgeCP.exe</Image>
</FileCreateTime>
<NetworkConnect onmatch="exclude">
<Image condition="end with">chrome.exe</Image>
<Image condition="end with">MicrosoftEdgeCP.exe</Image>
<SourcePort condition="is">137</SourcePort>
<SourceIp condition="is">127.0.0.1</SourceIp>
</NetworkConnect>
<NetworkConnect onmatch="include">
<DestinationPort condition="is">80</DestinationPort>
<DestinationPort condition="is">5333</DestinationPort>
</NetworkConnect>
<CreateRemoteThread onmatch="include">
<TargetImage condition="end with">explorer.exe</TargetImage>
<TargetImage condition="end with">svchost.exe</TargetImage>
<TargetImage condition="end with">MicrosoftEdgeCP.exe</TargetImage>
<TargetImage condition="end with">winlogon.exe</TargetImage>
<SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
</EventFiltering>
</Sysmon>
- 3.10は、Sysmonの現在のバージョンがバージョン3.10であることを意味します。
- Excludeはホワイトリストと同等であり、記録する必要はありません。includeはブラックリストと同等です。
- 画像の状態は、使用しているブラウザによって異なります。たとえば、Google Chromeは「chrome.exe」、Internet Explorerは「iexplore.exe」、Firefoxは「firefox.exe」です。ブラウザのプロセス名を知りたいのですが、 「netstat5333.txt」のレコードを表示します。
- NetworkConnectは、ブラウザーのネットワーク接続、送信元IPが127.0.0.1のネットワーク接続、および宛先ポートが137の接続サービスを除外し、宛先ポートが80(http)および5333(https)のネットワーク接続をチェックします。
- CreateRemote(リモートスレッドの作成)は、explorer.exe、svchost.exe、MicrosoftEdgeCP.exe、winlogon.exeおよびpowershell.exeをターゲットとするリモートスレッドを記録します。
- explorer.exeは、Windowsプログラムマネージャまたはファイルエクスプローラです。
- svchost.exeは、Microsoft Windowsオペレーティングシステムに属しているシステムプログラムであり、ダイナミックリンクライブラリ(DLL)から実行されているサービスの共通のホストプロセス名です。
- winlogon.exeは、ユーザーのログインとログアウトの管理に使用されるWindows NTのユーザーログインプログラムです。
- powershell.exeは、システム管理者専用に設計された新しいWindowsコマンドラインシェルです。シェルプログラムには、インタラクティブプロンプトとスクリプト環境が含まれており、どちらも独立して、または組み合わせて使用できます。
2. sysmonをインストールします(管理者権限でインストール)。
- コマンドsysmon.exe -i C:\ sysmon20175333.xmlを実行すると、正常にインストールされた結果は次のようになります。
3.ログを表示する
- 「イベントビューア」を表示し、ログ、アプリケーションおよびサービスログの場所を選択します。Microsoft/ Windows / Sysmon / Operational。ここでは、構成ファイルの要件に従って記録された新しいイベントと、イベントID、タスクカテゴリを確認できます。詳細など
4.ログを
分析する自分で生成したバックドアファイルを分析する
-
kaliに接続するには、最初に戻ってください
-
バックドアファイルに対応するログを見つけ、このイベントを開くと、「NetworkContect」に属していることがわかります。詳細情報を表示すると、このバックドアイメージファイルの特定の場所、ソースIPとポート、宛先IPとポートなどを確認できます。
-
実行操作:シェルと同様に、getuid
はどの操作を実行しても2つの新しいログを生成し、何も表示されません。
タスク3:マルウェア分析
1. VirusTotalを使用してマルウェアを分析する
-
生成された悪意のあるコードをVirusTotalに配置して分析します(VirusScanツールを使用することもできます)
-
この悪質なコードの基本的な属性を見ると、SHA-1、MD5ダイジェスト値、ファイルタイプ、ファイルサイズの結果を確認できます。
-
マルウェアのアルゴリズムライブラリのサポート
2. wriesharkパッチパッケージ分析を
使用して、自分で生成したバックドアファイルを分析する
-
接続を再開し、フィルタールールをip.addr == 192.168.253.128(kali ip)に設定します
-
WindowsからKaliに送信されたTCP同期要求パケットSYN、KaliからWindowsに送信されたSYN同期要求パケットと確認パケットACK、KaliからWindowsに送信されたACKパケット、PSH + ACKパケットなど、TCPパケットが多数あることがわかります。
-
webcam_snap、スクリーンショット、その他のコマンドを実行します。今回は、バイト長が長いパケットがさらに多くあります。これはスクリーンショット、写真のデータであるはずです。具体的なものは何も表示されません。
3. Systracerを使用してマルウェアを分析する
- SysTracerツールをダウンロードしてインストールし、ポート番号5333を設定します。
- 右側の[スナップショットを撮る]をクリックして、スナップショットを保存します
- スナップショット1:バックドアプログラムを実行しない
- スナップショット2:Kaliはmsfconsoleを開き、関連する設定の完了後に監視を開始し、Windowsバックドアを実行します
- スナップショット3:カメラを取得するためのカーリー攻撃(写真)
- スナップショット4:ホストオーディオ機器を取得するためのカーリー攻撃(録音)
- スナップショット分析:
-
[アプリケーション]-> [実行中のプロセス]->バックドアプロセス「cyk_backdoor.exe」を見つけます-> [開いたポート]をクリックして、戻りアドレス、リモートアドレス、ポート番号を表示します。
-
スナップショットインターフェイスの[スナップショット]の右下隅にある[比較]をクリックして、再接続の前後にコンピュータで発生した変更を比較します。すべての青いマークは、変更の前後に発生した場所です。
-
バックドアは多くのファイル、ディレクトリ、キー、接続を生成しました
-
3:実験の経験
この実験は、主にこの実験が以前の実験の知識とツールを使用する必要があり、また新しいソフトウェアに連絡する必要があるため、長い時間がかかります。そして、これらの新しいソフトウェアによって提供される大量のデータは、分析の経験がない私のような人と同じです。この実験の完了中に、システムの実行状態を監視する方法を学び、マルウェアを分析する方法も学びました。また、Excelを使用して自分でデータを分析し、構成ファイルを書き込むことができました。データを分析することで、バックドアプログラムが何をしているかをよりよく理解し、悪意のあるコードをより深く理解できます。