2019-2020-4 20175121 Yang Bo「ネットワーク対策技術」Exp4悪意のあるコード分析

ラベル:悪意のあるコード


1.実用的な目標

1.練習オブジェクト

  • 実験2のバックドアmeter_backdoor.exe

2.練習内容

  • システム稼働監視
    • スケジュールされたタスクなどを使用して、コンピューターがインターネットに接続されているプログラムと接続されている外部IPがどこにあるかを毎分記録します。一定期間実行し、ファイルを分析して分析結果を要約します。目的:ネットワーク化されたすべてのプログラムの接続と操作を調べ、この操作が適切で妥当かどうかを確認し、さらに分析するためにパケットをキャプチャする。
    • インストール構成sysinternalssysmonツールは、合理的なコンフィギュレーション・ファイル、監視ホスト何か不審な行動のフォーカスを設定します。
    • 実際のログの分析は、Linuxテキスト処理命令などの以前に学習した知識と組み合わせて、独自の創造性を発揮する必要もあります(大量のデータからルールを見つけて問題を見つけることは困難です)。
  • マルウェア分析
    • ソフトウェアがターゲットマシンに接続されているときにバックドアソフトウェアを分析し、ソフトウェアが起動して接続されているときに他の操作(プロセスの移行や画面キャプチャなど)を分析します。
      • 読み込まれた、追加された、または削除されたレジストリエントリ
      • 読み込まれた、追加された、または削除されたファイル。
      • 接続されている外部IP、送信されるデータ(キャプチャ分析)。

2.基本的な知識

1.練習の要件

  • 疑わしいプログラムが実行されているかどうかを確認するために、独自のシステムの実行ステータスを監視します。
  • マルウェアを分析するときは、Exp2またはExp3で生成されたバックドアソフトウェアを分析します。分析ツールは、ネイティブ命令またはsysinternals systracerスイートを可能な限り使用します。
  • ホストに今後の作業で問題があると思われる場合、このアイデアを実験で使用し、まずシステム全体を監視して不審なオブジェクトが検出されるかどうかを確認し、次にさらに不審なオブジェクトを分析して特定の動作と性質を確認できます。

2.命令パラメーター

  • schtasksコマンドとプログラムを定期的または指定した時間内に実行するようにスケジュールします
    • TNここに名前を付けたタスク名schtasks5121
    • scタイミング方法、ここではMINUTEは分を意味します
    • bnbは実行可能ファイルの名前、nはIPおよびポート番号
    • TR実行するための指示
    • >出力のリダイレクトは出力ファイルのパスですが、今回はc:\netstatlog.txt
    • schtasks /create /TN schtasks5121 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

3.予備知識

  • MAL_動的分析_Windowsスケジュールタスクschtasks
  • Microsoft Lightweight Monitoring Tool sysmonの原理と実装
  • 分析ツール
    • Schtasksは、コマンドまたはプログラムを定期的または指定した時間内に実行するようにスケジュールします
    • ExcelはSchtasksによって記録されたデータをインポートし、テーブルを使用して統計を生成します
    • Sysmonは、システムサービスとドライバーを使用して、プロセスの作成、ファイルアクセス、およびネットワーク情報(Windowsログイベント)を記録します
    • Wiresharkは、悪意のあるコードがサーバー(Kali)に戻ったときに、ネットワークプロトコル(TCP ICMPなど)でパケットキャプチャ分析を実行します。
    • SysTracerはシステム全体の変更動作を追跡および監視し、比較します
    • PEiDはパックされたファイル(タイプと署名)を検出します
    • VirusTotalは悪意のあるコードをオンラインで分析します(対応するシステムファイルとレジストリ)

3.練習ステップ

1.システム稼働監視

  • 使用でschtasksコマンドschtasks /create /TN schtasks5121 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
    タスクをスケジュール追加

  • 新しいschtasks5121.txt入力
date /t >> c:\netstat20175121.txt 
time /t >> c:\netstat20175121.txt 
netstat -bn >> c:\netstat20175121.txt
  • 保存して終了し、拡張子schtasks5121.bat変更してCドライブディレクトリにコピーします。
  • タスクスケジューラー

  • タスクを実行してnetstat、バックグラウンドデータの記録開始し、コンピューターを通常の使用状態に保ちます。約2時間後、Cドライブディレクトリを開いnetstat20175121.txtてデータ表示します

Neteaseクラウドミュージックcloudmusic.exe
オフィスExcel.exe
実験2つのバックドアmeter_backdoor.exe
NVIDIAグラフィックカードドライバーnvcontainer.exe
ウィンドウsvchost.exe
VMware Workstation Pro vmware.exe vmware-authd.exe vmware-hostd.exe
WeChat wechat.exe
システムプッシュサービスWpnservice.exe

  • この間に最も実際に使用されたVMware仮想マシンは、実際の状況と一致しています

  • SysinternalsSuite.zipダウンロードして解凍する

  • システムは64ビットシステムであるため、それを選択しSysmon64.exe、プロパティを右クリックして詳細情報の製品バージョンを表示し、SysinternalsSuiteが配置されているディレクトリに作成しsysmon20175121.xml、テキストファイルを開き、コードを入力して保存して終了します。

  • ファイルsysmon20175121.xmlのコードは(バージョンは、自分でダウンロードしたSysmonのバージョン番号に変更されます)

<Sysmon schemaversion="10.12">
  <!-- 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>

  • Sysmon64.exeディレクトリで実行する管理者としてCMDを実行しますSysmon64.exe -i sysmon20175121.xml

  • 同意してクリックすると、インストールが成功します
  • 事件查看器(本地)- 应用程序和服务日志- Microsoft- Windows- Sysmon- Operationalコンフィギュレーションに応じてチェックsysmon20175121.xml情報プロセスID、パス、およびその他のシステムの記録処理の情報

2.マルウェア分析

  • マルウェア(実験2のバックドアプログラムを使用して接続する)を使用し、ログ情報とWiresharkパケットキャプチャ情報でシステムプロセスルールを分析する
  • KaliシステムとWindowsシステム間のデータパケットのping

  • MSF接続時にTCPパケットをバウンス

  • dirディスクのバックドアプログラムディレクトリにあるファイルを確認してください。ログは更新されません。

  • getuidサーバーを実行しているユーザーを表示し、ログを更新します

  • SearchFilterHost.exeデスクトップ検索エンジンのインデックスプログラムは、主にクイックインデックスファイルを作成するために使用されるため、ユーザーはコンピューター上のあらゆる情報をよりよく検索できます。コンピュータがアイドル状態のときに、指定されたカテゴリのファイル名、属性情報、ファイルコンテンツを自動的にスキャンします。これらのインデックスの場所には、デフォルトでデスクトップ、お気に入り、スタートメニュー、システムディレクトリが含まれます
  • screenshot画面キャプチャー、3つのログ更新

  • webcam_snapカメラで写真を撮ると、ログが2つ更新されました

  • 一般に、Sysmonは、Sysmon監視を回避せずにマルウェアの攻撃動作を完全に監視することはできず、構成項目を削除したりSysmonDrvフィルターをアンインストールしたりするドライバーはSysmonをバイパスできるため、安全ですソフトウェアは依然として非常に重要です。Wiresharkのパケットキャプチャの結果から、プロトコルパケットの数は主に送信データ(ファイル)のサイズによって決定されます
  • SysTracerをダウンロードしてインストールします。ダウンロードアドレス
    SysTracerは、HIPSとプロセス動作追跡機能を統合したセキュリティ補助ツールです。ファイル操作、レジストリ操作、メモリ操作、危険な動作など、システム全体でのプロセスの変更動作を追跡および監視できます。SysTracerは、すべてのプロセス、またはユーザーとそのサブプロセスによって指定されたプロセスを監視でき、ユーザーが特定のプロセスの動作を分析するのに役立つ監視ログを提供します。いつでも無数の画面スナップショットを取得でき、必要な画面スナップショットのペアを比較して、それらの違いを観察できます。ファイルとフォルダーの数、およびレジストリエントリの総数に応じて、スクリーンショットの撮影には通常数分かかります。
  • 完了後に最初にダウンロードしてインストールする手順は次のとおりです。同意する-> 2番目を選択する

  • インストール中に対応するポートを入力します

  • 変数Kaliが常に実行されているように、合計4つのレコードに対してSysTracerを実行します。バックドアプログラムと仮想マシンの位置はCドライブとDドライブ上にあるため、実際の状況に応じて対応するコンテンツのみを確認して、分析プロセスを簡略化できます。
  • バックドアを開く前にスナップショットを撮り、「スナップショットを撮る」をクリックし、スキャンしてを選択してからOnly selected items開始」をクリックします

  • Snapshot #1マルウェアが埋め込まれる前
  • Snapshot #2マルウェアを埋め込んだ後
  • Snapshot #3マルウェアが戻った後
  • Snapshot #4MSF関連の操作作sysinfo screenshot
  • Snapshot #5マルウェアを終了した後
  • 上記の「アプリケーション」->左側の「実行中のプロセス」->バックドアプロセス「meter_backdoor.exe」を見つけて、対応する呼び出しプロセスを確認します。

  • 以下で比較する2つのスナップショットを選択し、スナップショットインターフェイスの[スナップショット]の右下隅にある[差分リストを表示]をクリックして、コンピューターの前後の変更を比較します

  • と比較する#1#2、いくつかのレジストリ値が追加されていることがわかります

  • それと比較#2すると#3、潜在的に無関係な多数のレジストリ値と関連プロセスが多数追加されていることがわかります

  • と比較#3して#4、実行されたMSF命令操作では、特に明白な関連変更は見つかりませんでした

  • と比較する#4#5、関連するプロセスとファイル、およびキー値が削除されます

  • バックドアプログラムはバックグラウンドで実行されていませんが、関連するレジストリ値は一時的に変更されていません(再起動後に削除される場合もあります)。そのため、定期的にディスクジャンクファイルをクリーンアップするだけでなく、レジストリを維持するツール(修復または削除)も必要ですなど)

  • VirusTotalを使用して悪意のあるコードをチェックします。MD5、SHA-1、ファイルタイプ、ファイルサイズ、パッキング方法、その他の関連情報を表示できます
Basic Properties
MD5	c68f5f089544634816ee7d115b327c78
SHA-1	ebde084c4d3de28db835ff3e94edc82ed8e1c299
SHA-256	74b9f08a8edd0180816cb2f232a13502889b517721b94f6e887b4c3fdb1bc24b
Vhash	074046755d151028z2e32tz27z
Authentihash	a9bc27d788fd344262f3bfa898ecd103166d4089444a9752a92752803802fc14
Imphash	481f47bbb2c9c21e108d65f52b04c448
SSDEEP	1536:IqIlIAkIaacFC691zYWzyVBQ66KcMb+KR0Nc8QsJq39:DINkIYCU1xzmQ6qe0Nc8QsC9
File type	Win32 EXE
Magic	PE32 executable for MS Windows (GUI) Intel 80386 32-bit
File size	72.07 KB (73802 bytes)
History
Creation Time	2009-06-23 12:47:45
First Submission	2020-03-26 04:06:46
Last Submission	2020-03-26 04:06:46
Last Analysis	2020-03-26 04:06:46
Names
meter_backdoor.exe
ab.exe
Signature Info
Signature Verification
 File is not signed
File Version Information
Copyright	Copyright 2009 The Apache Software Foundation.
Product	Apache HTTP Server
Description	ApacheBench command line utility
Original Name	ab.exe
Internal Name	ab.exe
File Version	2.2.14
Comments	Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Portable Executable Info
Header
Target Machine	Intel 386 or later processors and compatible processors
Compilation Timestamp	2009-06-23 12:47:45
Entry Point	21121
Contained Sections	4
Sections
Name	Virtual Address	Virtual Size	Raw Size	Entropy	MD5
.text	4096	43366	45056	7.01	ec1f468c27a1f0859e9c6cc68db03006
.rdata	49152	4070	4096	5.32	25d7ceee3aa85bb3e8c5174736f6f830
.data	53248	28764	16384	4.41	283b5f792323d57b9db4d2bcc46580f8
.rsrc	86016	1992	4096	1.96	c13a9413aea7291b6fc85d75bfcde381
Imports
ADVAPI32.dll
KERNEL32.dll
MSVCRT.dll
WS2_32.dll
WSOCK32.dll
Contained Resources By Type
RT_VERSION	1
Contained Resources By Language
ENGLISH US	1
Contained Resources
SHA-256	File Type	Type	Language
465417d96548ce85076f6509efac41e5ad02fee2b8f712416e8b6aa08d93c494	Data	RT_VERSION	ENGLISH US
ExifTool File Metadata
CharacterSet	Unicode
CodeSize	45056
Comments	Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
CompanyName	Apache Software Foundation
EntryPoint	0x5281
FileDescription	ApacheBench command line utility
FileFlagsMask	0x003f
FileOS	Win32
FileSubtype	0
FileType	Win32 EXE
FileTypeExtension	exe
FileVersion	2.2.14
FileVersionNumber	2.2.14.0
ImageFileCharacteristics	No relocs, Executable, No line numbers, No symbols, 32-bit
ImageVersion	0.0
InitializedDataSize	40960
InternalName	ab.exe
LanguageCode	English (U.S.)
LegalCopyright	Copyright 2009 The Apache Software Foundation.
LinkerVersion	6.0
MIMEType	application/octet-stream
MachineType	Intel 386 or later, and compatibles
OSVersion	4.0
ObjectFileType	Executable application
OriginalFileName	ab.exe
PEType	PE32
ProductName	Apache HTTP Server
ProductVersion	2.2.14
ProductVersionNumber	2.2.14.0
Subsystem	Windows GUI
SubsystemVersion	4.0
TimeStamp	2009:06:23 13:47:45+01:00
UninitializedDataSize	0

4.実験の要約と経験

1.基本的な質問に答える

  • (1)職場のホストで悪意のあるコードが疑われるが、推測しただけの場合は、システムが毎日行っていることを監視したいだけです。監視したい操作と監視方法を設計してください。
    • タスクをスケジュールすることにより、定期的に更新されるログを作成して表示できます
    • sysmonで監視します。
    • Process Explorerツールを使用して、プログラムが異常なDLLライブラリを呼び出すかどうかを確認します
  • (2)プログラムまたはプロセスに問題があると判断した場合、それについてさらに情報を得るにはどのツールが必要ですか?
    • パケットキャプチャツールを使用して分析できます。
    • systracerツールを使用して、プログラムの実行前後のコンピュータのレジストリ、ファイル、およびポートのいくつかの変更を分析します。
    • VirusTotal、Virscan、その他のチャネルを使用して検査する

2.実験的な利益と考え

この実験を通して、私は、どのプロセスが機能しているか、そして私が自由時間中にどこに接続するかについて、一定の理解を持っています。コンピューターに悪意のあるコードソフトウェアが存在するかどうかを監視および検出するさまざまなツールを通じて、ウイルス対策ソフトウェアでは解決できないことを学びました。実験の過程で、さまざまな問題に遭遇し、ファイル、プロセス、またはレジストリは比較的なじみのないものでしたが、これらはすべて根気よく解決する必要があります。悪意のあるコードの検出に関しては、私たち自身のナレッジリザーブはまだかなり不足しており、次の研究に進むことができるように、学習と要約を続け、理論的な知識と実践を組み合わせ、知識と行動の単一性を実現する必要があります。

おすすめ

転載: www.cnblogs.com/xposed/p/12694224.html