2019-2020-2 20175334 Luo Xinrui「ネットワーク対策技術」Exp4悪意のあるコード分析

2019-2020-2 20175334 Luo Xinrui「ネットワーク対策技術」Exp4悪意のあるコード分析

1実践の説明

1.1実用的な目標

  • (1)自分のシステムの実行ステータスを監視して、疑わしいプログラムが実行されているかどうかを確認する

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

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

1.2基本的な知識

1.2.1悪意のあるコードの定義

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

1.2.2悪意のあるコードの特徴

  • 悪意のある目的

  • コンピュータプログラム

  • 実行による効果

1.2.3悪意のあるコードの分類

  • 感染していない依存型悪意のあるコード(トロイの木馬、論理爆弾)

  • 感染しない独立した悪意のあるコード(ドロッパー、乗算器)

  • 感染依存の悪意のあるコード(ウイルス)

  • 感染性の独立した悪意のあるコード(ワーム)

2システム稼働監視

2.1 Windowsスケジュールタスクschtasks

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

  • 次のコマンドを入力して、毎分ネットワークに接続されているプログラムを記録します。このコマンドが完了すると、毎分、どのプログラムがネットワークを使用しているかを監視し、結果をnetstatlog.txtファイルに記録します

schtasks /create /TN 20175334netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

  • 各パラメーターの意味は次のとおりです。
TN:Task Name
SC: SChedule type,本例中是MINUTE,以分钟来计时
MO: MOdifier
TR: Task Run,要运行的指令是 netstat -bn,b表示显示可执行文件名,n表示以数字来显示IP和端口
>:将结果输出到c盘下的netstatlog.txt文件中

  • Cドライブの下にファイルc:\ netstatlog.batを作成します。内容は次のとおりです。
date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt
  • [コントロールパネル]-> [管理ツール]-> [タスクスケジューラ]を開き、作成されたタスクを見つけます。

  • プロパティを開き、操作タブで操作を編集し、ボックス内の元のコマンドをc:\ netstatlog.batに変更します。

  • 「一般」タブで、「最高権限の操作を使用する」にチェックを入れます

  • しばらく待ってから、c:\ netstatlog.txtファイルを開きます。

  • Excelを開き、をクリックして数据- 获取外部数据- 自文本選択しnetstatlog.txt、バラバラ選択区切り文字(セレクト)

  • 分析する列を選択してクリック插入- 次に数据透视图ピボットグラフを生成します

  • 上の図に示すように、最も接続されているのはQQに対応する「QQ.exe」で、2番目は360ブラウザ広告プラグインに対応する「sesvc.exe」です。さらに、WeChat、Tencent Classroom、 360プログラム、他の不審なプログラムは見つかりませんでした

2.2 sysmonツール

  • 要件:sysinternalsにsysmonツールをインストールして構成し、適切な構成ファイルを設定して、ホストの主要なものの疑わしい動作を監視する

  • リファレンス:schtaskおよびsysmonアプリケーションガイド

  • では、このダウンロードツールSYSMON

  • 構成ファイルsysmon.xmlを作成し、ファイルに次の指示を書き込みます。

<Sysmon schemaversion="4.23">
  <!-- 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">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </NetworkConnect>

    <NetworkConnect onmatch="include"> 
      <DestinationPort condition="is">5334</DestinationPort>     
      <DestinationPort condition="is">80</DestinationPort>      
      <DestinationPort condition="is">443</DestinationPort>    
    </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>
  • 管理者としてコマンドラインを開き、指示に従ってSysmon.exe -i sysmon.xmlインストールします


  • オープン打开事件查看器、左側の列を見つけるために应用程序和服务日志- Microsoft- Sysmon-Operational

  • 実験2で生成されたバックドアファイルを実行し、仮想マシンでWindowsコマンドラインを取得します。

  • バックドアファイルのログを表示する

  • プロセスの作成:

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

程序:C:\Users\16487\Documents\ncat\ncat\backdoor5334.exe
描述:ApacheBench命令行实用程序
产品:Apache HTTP服务器
  • 元に戻す:

  • 図から次の情報を取得できます。
程序:C:\Users\16487\Documents\ncat\ncat\backdoor5334.exe
协议:tcp
源IP地址:192.168.186.1(Windows的IP)
目标IP地址:192.168.186.141(kali的IP)
目的端口:5334
源端口:5583

3マルウェア分析

  • 要件:ソフトウェアが(1)起動して接続する、(2)ターゲットマシンにインストールされている(3)およびその他の操作が行われたときに、バックドアソフトウェアを分析する

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

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

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

3.1静的分析

  • (1)ファイルスキャン(VirusTotal)

    • 実験3で生成された圧縮シェルを含むバックドアプログラムを選択しました。

  • DETAILSそのような3つのアルゴリズムの要約値、ファイルタイプ、ファイルフォーマットなどの詳細に見ることができます

  • (2)ファイル形式認識(peidツール)

    • 解凍されたバックドアプログラムの検出


  • パッカーのためのバックドアプログラムの検出


  • バックドアプログラムを実行すると、多くの.DLLファイル、つまりダイナミックリンクライブラリが実行されることがわかります。
  • (3)逆コンパイルと逆アセンブル(PE Explorerツール)

    • ファイルヘッダー情報

  • 呼び出されたDDLファイル

msvcrt.dll:微软在windows操作系统中提供的C语言运行库执行文件
kernel32.dll:32位动态链接库文件,属于内核级文件,它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域
advapi32.dll:一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关
wsock32.dll:Windows Sockets应用程序接口,用于支持很多Internet和网络应用程序
ws2_32.dll:Windows Sockets应用程序接口, 用于支持Internet和网络应用程序
  • バージョン情報(PEIDビューのコンテンツと同じ)

  • 分解

3.2動的分析(SysTracerツール)

  • クリックしてスナップショットを作成します。比較のために4つ作成しました。

    • スナップショット#1:何もしない

    • スナップショット#2:バックドアプログラムを実行し、接続を正常にバウンスする

    • スナップショット#3:mkdirコマンドを実行する

    • スナップショット#4:スクリーンショットコマンドを実行する

  • スナップショット#1とスナップショット#2を比較する

    • 多くのレジストリ情報が変更されました(緑が追加され、赤が削除されます)


  • 多くのdllファイルを追加しました

  • 実行中のバックドアプログラムを見つけ、IPとポートをチェックして、接続が成功したことを確認できます

  • スナップショット#2とスナップショット#3を比較する

    • また、多くのレジストリ情報を変更しました

  • 追加および削除されたDLLファイル

  • 追加または削除されたファイル

  • スナップショット#3とスナップショット#4を比較する

    • 追加および削除されたDLLファイル

  • レジストリ情報を変更

3.3パケットキャプチャ分析(WireSharkツール)

  • 入力ls後にキャプチャされたパケット

  • 送信元IP、宛先IP、送信元ポート、宛先ポート、およびデータパケットからの送信データを確認できます

4実験的な利益と考え

  • この実験を通じて、悪意のあるコードは一部のツールによって静的に分析できるだけでなく、動的な手段によっても保護できることを理解しています。たとえば、私たちのコンピューターにはWindows Defenderとアンチソフトウェア保護機能が搭載されていますが、これらは表示されないため、SysTracerやその他のツールを使用してシステムの変更を保護し、実験的なコンテンツや操作は難しくありません。実験の内容が見直され、多くの恩恵を受けました。

5質問に答える

  • (1)職場のホストで悪意のあるコードが疑われるが、推測しただけの場合は、システムが毎日行っていることを監視したいだけです。監視する操作と監視に使用する方法を設計してください

    • schtasksを使用してタスクを作成し、定期的にホストのネットワークステータスを記録します。sysmonツールを使用して関連ログファイルを記録します。ProcessExplorerツールを使用してプロセス実行ステータスを監視します。ProcessMonitorツールを使用してファイルシステム、レジストリ、プロセスを監視します。活動内容
  • (2)プログラムまたはプロセスに問題があると判断した場合、それに関する詳細情報を取得するためにどのツールが必要ですか

    • systracerツールを使用してマルウェアを分析し、レジストリとファイルへの変更を表示します。Wiresharkを使用してパケットキャプチャを分析し、ホストとの通信プロセスを監視します。VirusTotalを介してファイルを分析します

おすすめ

転載: www.cnblogs.com/lxr1006/p/12710945.html