2019-2020-2 20175305 Zhang Tianyu "Network Countermeasure Technology" Exp4悪意のあるコード分析

2019-2020-2 20175305 Zhang Tianyu "Network Countermeasure Technology" Exp4悪意のあるコード分析


1.練習目標

1.1は、疑わしいプログラムが実行されているかどうかを確認するために、システムの実行ステータスを監視することです。

1.2は、マルウェアを分析し、Exp2またはExp3で生成されたバックドアソフトウェアを分析することです。分析ツールは、ネイティブ命令またはsysinternals、systracerスイートをできるだけ使用します。

1.3今後の作業でホストに問題があると思われる場合、実験でこのアイデアを使用して、まずシステム全体を監視し、疑わしいオブジェクトが検出されるかどうかを確認してから、疑わしいオブジェクトをさらに分析して、特定の動作と性質を確認できます。

2.練習内容と手順

2.1システム稼働監視

(1)スケジュールされたタスクなどを使用して、コンピューター上にあるプログラム、および接続されている外部IPがどこにあるかを毎分記録します。しばらく実行してファイルを分析し、分析結果を要約します。目標は、ネットワークに接続されたすべてのプログラム、それらが接続されている場所、およびそれらが行ったことを見つけることです(パケットをキャプチャしない場合にのみ推測できます)そうすることは適切だと思いますか?さらに分析する場合は、対象となるパケットをキャプチャできます。

(2)sysinternalsにsysmonツールをインストールして構成し、適切な構成ファイルを設定して、ホストのメインホストの疑わしい動作を監視します。

2.2マルウェア分析

(1)接続の開始、(2)ターゲットマシンへのインストール、(3)その他の任意の操作(プロセスの移行や画面キャプチャなど、重要なのは興味があること)のときにソフトウェアを分析します。バックドアソフトウェア

(3)どのレジストリエントリが読み取られ、追加され、削除されるか

(4)読み込み、追加、削除されたファイル

(5)接続されている外部IPと送信されるデータ(キャプチャー分析)

この実験は「特定のソフトウェアの使い方」ではなく「分析」に焦点を当てています。チームリーダーとプロジェクトリーダーは、より詳細な情報を要求し、他の人は分析に集中できます

練習記録

タスク1:schtasksコマンドを使用してシステムを監視します(スケジュールタスクなどのタスクを使用して、コンピューター上のプログラムと接続されている外部IPの場所を毎分記録します。しばらく実行し、ファイルを分析して分析結果を要約します)。

Cドライブにnetstat5305.batスクリプトファイルを作成し、次のように記述します。

date /t >> c:\netstat5305.txt
time /t >> c:\netstat5305.txt
netstat -bn >> c:\netstat5305.txt

schtasks /create /TN netstat5305 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"コマンドを使用してスケジュールされたタスクを作成するnetstat5305

TNTaskName:指定の略称であり、我々は、スケジュールされたタスク名がnetstat5318で作成し、
sc定期的に表し、私たちは数分のMINUTEに時限記入し、
TRタスクの実行を=、命令は、netstatコマンドを実行することで
bnb実行可能ファイルの名前が表示されていることを示し、nIPおよびデジタルディスプレイを表しますポート。
>出力リダイレクトを意味し、出力をc:\netstatlog.txtファイルに保存します。

コントロールパネルの検索管理ツールを開き、タスクスケジューラを開いて、新しい計画netstat5305を見つけます。

このタスクをダブルクリックし、[アクションと編集]をクリックして、「プログラムまたはスクリプト」を作成したnetstat5305.batバッチファイルに変更し、オプションのパラメーターをクリアし、[OK]をクリックします。十分なデータをカウントするために、[条件]タブに表示されます。 、電源オプションのデフォルト操作をキャンセルします只有在计算机使用交流电源时才启动此任务次に、[一般]列で[最高の権限で実行]を選択し、[OK]をクリックして保存します。次に、[一般]列の下を選択し、使用最高权限运行[OK]をクリックして保存します。

記録されたデータが十分に豊富になったら、タスクを停止し、取得したデータをExcelで分析します。監視を続けるには、このプロセスを継続してネットワークに接続する必要があります。
しばらく待ってから、Excelデータを介して保存データを並べ替えます。
統計は次のとおりです。

統計チャートは次のとおりです。

タスク2:sysmonツールを使用してシステムを監視します(sysinternalsにsysmonツールをインストールして構成し、適切な構成ファイルを設定し、ホストの主要なものの疑わしい動作を監視します)。

Sysmonは、MicrosoftのSysinternalsスイートに含まれるツールで、システムサービスおよびデバイスドライバーとしてシステムにインストールされ、常駐します。sysmonは、システムアクティビティを監視および記録し、プロセスの作成、ネットワークリンク、ファイル作成時間の変更に関する詳細情報を提供できるWindowsイベントログに記録するために使用されます。

選択可能なイベントフィルターは、ProcessCreateプロセスの作成、FileCreateTimeプロセスの作成時間、NetworkConnectネットワークリンク、ProcessTerminaプロセスの終了、DriverLoadドライバーのロード、ImageLoadイメージのロード、CreateRemoteThリモートスレッドの作成、RawAccessReadドライバーの読み取り、ProcessAccessプロセスアクセス、FileCreateファイルの作成、 RegistryEventレジストリイベント、FileCreateStreファイルストリームの作成など。

ダウンロードして解凍SysinternalsSuite.zipし、SysinternalsSuiteディレクトリに設定ファイル作成します。設定ファイルsysmon20175318.xmlイベントフィルターを追加できます。具体的なフィルタリングイベントオプションは次のとおりです。

  • ProcessCreateのフィルターイベントオプションは次のとおりです。UtcTime, ProcessGuid, ProcessId, Image, CommandLine, CurrentDirectory, User, LogonGuid, LogonId, TerminalSessionId, IntegrityLevel, Hashes, ParentProcessGuid, ParentProcessId, ParentImage, ParentCommandLine
  • プロセス作成時のFileCreatTimeのフィルターイベントオプションは次のとおりです。UtcTime, ProcessGuid, ProcessId, Image, TargetFilename, CreationUtcTime, PreviousCreationUtcTime
  • ネットワーク接続NetworkConnectフィルタリングイベントのオプションは次のとおりです。UtcTime, ProcessGuid, ProcessId, Image, User, Protocol, Initiated, SourceIsIpv6, SourceIp, SourceHostname, SourcePort, SourcePortName, DestinationIsIpv6, DestinationIp, DestinationHostname, DestinationPort, DestinationPortName
  • リモートスレッドによって作成されたCreateRemoteThreadのフィルタリングイベントオプションは次のとおりです。UtcTime, SourceProcessGuid, SourceProcessId, SourceImage, TargetProcessGuid, TargetProcessId, TargetImage, NewThreadId, StartAddress, StartModule, StartFunction

これらのフィルタリングイベントに従って、構成ファイルの作成を選択しますsysmon20175305.xml

<Sysmon schemaversion="7.18">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>
    
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </NetworkConnect>

    <CreateRemoteThread onmatch="include">
      <TargetImage condition="end with">explorer.exe</TargetImage>
      <TargetImage condition="end with">svchost.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
  </EventFiltering>
</Sysmon>

Excludeはホワイトリストと同等であり、記録する必要はありません。includeはブラックリストと同等です。
お使いのブラウザに合わせて画像の状態を変更する必要があり、「2345 Accelerated Browser」と「360 Safe Browser」がホワイトリストに登録されています。同時に、ループバックアドレス127.0.0.1を削除し、ポート137を削除します。ポート137の主な機能は、ローカルエリアネットワークでコンピューター名またはIPアドレスクエリサービスを提供し、HTTPのポート80とhttpsのポート443を表示することです。
explorer.exe、svchost.exe、firefox.exe、winlogon.exe、powershell.exeを記録するリモートスレッドを作成するためにリモートで構築されています。
explorer.exeは、Windowsプログラムマネージャーまたはファイルリソースマネージャーです
。svchost.exeは、Microsoft Windowsオペレーティングシステムに属するシステムプログラムであり、ダイナミックリンクライブラリ(DLL)から実行されるサービスの一般的なホストプロセス名です。
winlogon.exeは、ユーザーのログインとログアウトの管理に使用されるWindows NTのユーザーログインプログラムです。
powershell.exeは、システム管理者専用に設計された新しいWindowsコマンドラインシェルです。シェルプログラムには、インタラクティブプロンプトとスクリプト環境が含まれており、どちらも独立して、または組み合わせて使用​​できます。

書き込んだ後、Sysmon64.exe -i sysmon20175305.xmlを使用して、管理者としてcmdにインストールします

イベントビューアを開く应用程序和服务日志/Microsoft/Windows/Sysmon/Operationalと、構成ファイルの要件に従って記録された新しいイベントと、イベントID、タスクカテゴリ、詳細情報が表示されます。

C:\Users\qinghuan\Desktop\Sysmon\sysmon20175305.xml構成ファイルによって記録された最初のログは、構成ファイルを開き、前の実験3のバックドアプログラムを実行することであることがわかります。

バックドアプログラムの実行記録は、イベントビューアで確認できます。

図から次の情報を取得できます。

程序:C:\Users\qinghuan\Desktop\20175305_backdoor.exe
协议:tcp
源IP地址:192.168.10.128(Windows的IP)
目标IP地址:192.168.10.131(kali的IP)
目的端口:5305

タスク3:マルウェア分析

静的分析

  • ファイルスキャン(VirusTotal、VirusScanツールなど)
  • ファイル形式の認識(peid、ファイル、FileAnalyzerツールなど)
  • 文字列抽出(文字列ツールなど)
  • 分解(GDB、IDAPro、VCツールなど)
  • 逆コンパイル(REC、DCC、JADツールなど)
  • 論理構造分析(Ollydbg、IDAProツールなど)
  • パックとアンパック(UPX、VMUnPackerツールなど)

(1)ファイルスキャン(ウイルス合計):

(2)ファイル形式識別(パイ)

PEiD(PE Identifier)はよく知られているシェルチェックツールで、その強力な機能はほとんどすべてのシェルを検出でき、その数は470の種類とPEファイルの署名を超えています。
スキャンモードには、通常スキャンモード、ディープスキャンモード、コアスキャンモードの3つがあります。
解凍されたバックドアファイルをスキャンします。PEiDの主な機能は、シェルを確認することです。まず、解凍されたファイルを確認します。

次に、パックされたプログラムをスキャンします。

(3)PE Explorerを使用してマルウェアを分析する

PE Explorerは強力なビジュアルDelphi、C ++、VBプログラムパーサーであり、32ビットの実行可能プログラムをすばやく逆コンパイルしてリソースを変更できます。ソフトウェアはプラグインをサポートしています。プラグインを追加することでソフトウェアの機能を拡張できます。元の会社は、UPXアンパックプラグイン、スキャナー、逆アセンブラをツールにバンドルしていました。
主にファイルヘッダー情報と呼び出されたDDLファイルを確認します。

ソフトウェアのバージョン情報も確認できます。

動的分析

スナップショット比較(SysTracer、Filesnap、Regsnapツールなど)
パケットキャプチャ分析(WireSharkツールなど)
動作監視(Filemon、Regmon、ProcessExplorerツールなど)
サンドボックス(NormanSandbox、CWSandboxツールなど)
動的トレースデバッグ(Ollydbg、IDAProツールなど)

systracerをダウンロードしてインストールし、
[スナップショットを撮る]をクリックしてからキャプチャを開始し、[停止]をクリックして停止して保存します。
スナップショット1(スナップショット#1):バックドアプログラムが移植されていない
スナップショット2(スナップショット#2):バックドアプログラムが埋め込まれている
スナップショット3(スナップショット#3):バックドアプログラムを実行し、バックリンク
スナップショット4(スナップショット#4)をKaliに実装するwebsnam_snapコマンドを実行します
スナップショット5(スナップショット#5):getuidコマンドを実行します

比較をクリックします。今回は、スナップショット1とスナップショット2、スナップショット2とスナップショット3を比較します。

多くの.ddlファイルが削除され、多くのddlファイルが追加されました。つまり、ダイナミックリンクライブラリで、潜在的であると偽装されています。

Wiresharkを使用してマルウェアを分析する

Wiresharkを開始してパケットのキャプチャを開始し、kaliに接続してkaliにdirキャプチャを入力して、キャプチャ終了します。バックリンクに関連するパケットを含む多数のTCPパケットと、dirコマンドによって
データパケットから送信されたデータがあることがわかります。送信元IP、宛先IP、送信元ポート、宛先ポート、および送信データを確認します。

Kaliはコマンドウィンドウを取得し、dirと入力してデータパケットをキャプチャします。

送信されるデータには、WindowsからKaliに送信されたTCP同期要求パケットSYN、KaliからWindowsに送信されたSYN同期要求パケットと確認パケットACK、KaliからWindowsに送信されたACKパケット、PSH + ACKパケットなどが含まれます。

3.基本的な質問応答

1.動作中のホストで悪意のあるコードが疑われる場合でも、システムの毎日の動作を監視したいだけです。監視したい操作と監視方法を設計してください。

回答:schtasksコマンドを使用してスケジュールされたタスクを設定し、ネットワーク接続が異常であることを確認します。sysmonはホストを監視し、構成ファイルに書き込み、関連するシステムログを記録します。VirusTotalとVirusScanで静的にスキャンし、動的なスナップショットを比較します。

2.プログラムまたはプロセスに問題があると判断した場合、それについてさらに情報を得るにはどのツールが必要ですか。

回答:プロセスエクスプローラーツールを使用してファイルシステムとレジストリアクティビティを分析および監視するか、SysTracerツールを使用してプロセスがレジストリとファイルプログラムを変更したかどうかを確認し、Wiresharkを使用してパケットをキャプチャしてプロセスによって転送されたデータを確認します

4.実験の要約と経験

この実験は私に多くのことを教えてくれました知識には、さまざまな指示やツールの使用、バックドアプログラムの静的分析や動的分析が含まれます。実験は難しくありませんが、ダウンロードするソフトウェアと分析は非常に複雑ですが、非常に実用的なソフトウェアツール、プロセスを表示するSysTracerツール、Excelを使用してデータを配置する方法、Sysmonを使用してログを監視または分析する方法をマスターしましょう最大の利益は、悪意のあるコードのさまざまな特性をある程度理解している現象の内容です。これは、将来のクエリと防止に非常に役立ちます。

おすすめ

転載: www.cnblogs.com/zhangtianyu/p/12729711.html