ちょっと話題の記事

「Volatility Frameworkを使ったメモリフォレンジック」と言うハンズオンに参加させて頂きました。

2016.03.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

1 はじめに

本日は、「第23回北海道情報セキュリティ勉強会」に参加させて頂きました。

https://secpolo.doorkeeper.jp/events/39013

010

セッションの内容は次の通りです。
Session.1 フリーツールを用いた x86 プログラム解析
トレンドマイクロ株式会社 花岡 弥生 さん
Session.2 Volatility Framework を使ったメモリフォレンジックス (ハンズオン)
トレンドマイクロ株式会社 平原 伸昭 さん
Session.3 北大キャンパスネットワークと私
北海道大学 情報基盤センター 南 弘征 先生

今回は、この2つ目のセッションであった、ハンズオンに参加させて頂いて手を動かした内容を紹介させて頂きます。

講師を務めて頂いた、平原さんにお伺いしたところ、内容は公開しても問題ないとの事でしたので、単純に、作業した内容の羅列で恐縮なのですが、個人的にはこのような作業が初体験であった事もあり、非常に印象に残ったので、記録させて頂きました。

2 メモリフォレンジック

ハンズオンの最初に、メモリフォレンジックについて、簡単に説明をしていただきました。

  • メモリイメージを解析し、不審なプロセス、通信先を調査することで、犯罪者の痕跡・攻撃手法を解明する
  • インシデントライフサイクルにおける「検出」「分析」のサイクルでの作業の一つ
  • フォン・ノイマン型のプログラムは、必ずメモリに展開されるので、確実に実施できる検査方法である
  • 大量のディスクイメージをフォレンジックするのに比べると非常に作業量が少ない(大きな利点)
  • インジェクションされたコードやRootKitは、この方法で見つけやすい

ちなみに、不審な何かを発見するためには、まず、実行プロセス・実行時間などの正常な状態を把握しておく必要があるとのことでした。

たとえば・・・

正常だと、services.exeはひとつだけ存在し、その階層下にsvchost.exeが5つほど存在する

もし、下記のようなものがあったら

  • services.exeが複数ある
  • svchost.exeが、services.exeと同じ階層にある

「不審である」という感じ・・・

3 ハンズオン

いよいよ、ハンズオンの開始です。 なお、ハンズオンで使用する、Volatility Framework と検査対象のメモリイメージは、下記から取得するように指示されておりました。


Volatility Framework
zeus.vmem.zip <=このリンクがいつまで有効かは、不明です。

なお、macであれば、brewでもインストールできます。

$ brew install volatility

(1) OSの判定

まず、最初に行う作業は、このメモリダンプが取られたOSが何であるかを確認する作業です。

volatilityを使用したOS判定は、次のコマンドで行います。 なお、zeus.vmemは、検査対象のメモリダンプファイルです。(以下、同じ)

$ ./volatility_2.4_x86 -f zeus.vmem imageinfo
Volatility Foundation Volatility Framework 2.4
Determining profile based on KDBG search...

          Suggested Profile(s) : WinXPSP2x86, WinXPSP3x86 (Instantiated with WinXPSP2x86)
                     AS Layer1 : IA32PagedMemoryPae (Kernel AS)
                     AS Layer2 : FileAddressSpace (/Users/SIN/Downloads/volatility_2.4.mac.standalone/zeus.vmem)
                      PAE type : PAE
                           DTB : 0x319000L
                          KDBG : 0x80544ce0L
          Number of Processors : 1
     Image Type (Service Pack) : 2
                KPCR for CPU 0 : 0xffdff000L
             KUSER_SHARED_DATA : 0xffdf0000L
           Image date and time : 2010-08-15 19:17:56 UTC+0000
     Image local date and time : 2010-08-15 15:17:56 -0400

Suggested Profile(s)及びImage Type (Service Pack)を見ると OSは、「WinXPSP2x86, WinXPSP3x86 (Instantiated with WinXPSP2x86)」 サービスパックは「2」ということが分かります。

(2) プロセス一覧

pstreeで、そのメモリダンプを採った時点でのプロセス一覧が取得できます。

./volatility_2.4_x86 -f zeus.vmem --profile=WinXPSP2x86 pstree
Volatility Foundation Volatility Framework 2.4
Name                                                  Pid   PPid   Thds   Hnds Time
-------------------------------------------------- ------ ------ ------ ------ ----
 0x810b1660:System                                      4      0     58    379 1970-01-01 00:00:00 UTC+0000
. 0xff2ab020:smss.exe                                 544      4      3     21 2010-08-11 06:06:21 UTC+0000
.. 0xff1ec978:winlogon.exe                            632    544     24    536 2010-08-11 06:06:23 UTC+0000
... 0xff255020:lsass.exe                              688    632     21    405 2010-08-11 06:06:24 UTC+0000
... 0xff247020:services.exe                           676    632     16    288 2010-08-11 06:06:24 UTC+0000
.... 0xff1b8b28:vmtoolsd.exe                         1668    676      5    225 2010-08-11 06:06:35 UTC+0000 
.... 0x80ff88d8:svchost.exe                           856    676     29    336 2010-08-11 06:06:24 UTC+0000
.... 0xff1d7da0:spoolsv.exe                          1432    676     14    145 2010-08-11 06:06:26 UTC+0000
.... 0x80fbf910:svchost.exe                          1028    676     88   1424 2010-08-11 06:06:24 UTC+0000
..... 0x80f60da0:wuauclt.exe                         1732   1028      7    189 2010-08-11 06:07:44 UTC+0000
..... 0x80f94588:wuauclt.exe                          468   1028      4    142 2010-08-11 06:09:37 UTC+0000
..... 0xff364310:wscntfy.exe                          888   1028      1     40 2010-08-11 06:06:49 UTC+0000
.... 0xff217560:svchost.exe                           936    676     11    288 2010-08-11 06:06:24 UTC+0000
.... 0xff143b28:TPAutoConnSvc.e                      1968    676      5    106 2010-08-11 06:06:39 UTC+0000
..... 0xff38b5f8:TPAutoConnect.e                     1084   1968      1     68 2010-08-11 06:06:52 UTC+0000
.... 0xff22d558:svchost.exe                          1088    676      7     93 2010-08-11 06:06:25 UTC+0000
.... 0xff218230:vmacthlp.exe                          844    676      1     37 2010-08-11 06:06:24 UTC+0000
.... 0xff25a7e0:alg.exe                               216    676      8    120 2010-08-11 06:06:39 UTC+0000
.... 0xff203b80:svchost.exe                          1148    676     15    217 2010-08-11 06:06:26 UTC+0000
.... 0xff1fdc88:VMUpgradeHelper                      1788    676      5    112 2010-08-11 06:06:38 UTC+0000
.. 0xff1ecda0:csrss.exe                               608    544     10    410 2010-08-11 06:06:23 UTC+0000
 0xff3865d0:explorer.exe                             1724   1708     13    326 2010-08-11 06:09:29 UTC+0000
. 0xff374980:VMwareUser.exe                           452   1724      8    207 2010-08-11 06:09:32 UTC+0000
. 0xff3667e8:VMwareTray.exe                           432   1724      1     60 2010-08-11 06:09:31 UTC+0000

ここで、名前・親子関係・起動時間などから、不審なものを見つける作業が必要です。

  • svchost.exeは、services.exeの下にあるので、問題ない。
  • services.exeと同じ階層にsvchost.exeも無いので問題無い。

ということで、この時点で、不審なものは見つけることはできませんでした。

(3) 通信の接続状況

connectionsで、メモリダンプを採った時点で通信している一覧が見れます。

./volatility_2.4_x86 -f zeus.vmem --profile=WinXPSP2x86 connections
Volatility Foundation Volatility Framework 2.4
Offset(V)  Local Address             Remote Address            Pid
---------- ------------------------- ------------------------- ---

ここでは、Listen中のものだけを列挙したので、何も通信しているものは見つかりませんでした。

そこで、下記のように、クローズしたソケットも列挙します。

$ ./volatility_2.4_x86 -f zeus.vmem --profile=WinXPSP2x86 connscan
Volatility Foundation Volatility Framework 2.4
Offset(P)  Local Address             Remote Address            Pid
---------- ------------------------- ------------------------- ---
0x02214988 172.16.176.143:1054       193.104.41.75:80          856
0x06015ab0 0.0.0.0:1056              193.104.41.75:80          856

193.104.41.75というサーバに接続していますが、そのプロセス番号は、856です。 先のプロセス一覧で856番のプロセスを確認すると、svchost.exeになっています。

なぜ、svchost.exeが、このサーバにアクセスしているのか? このサーバについて調べてみます。

http://www.ipvoid.com/で、このサーバについてを調査します。

001

怪しい。

(4) ダンプ

続いて、下記のコマンドで対象プロセスのダンプを取ります。

$ ./volatility_2.4_x86 -f zeus.vmem --profile=WinXPSP2x86 malfind -p 856 --dump-dir=.
Volatility Foundation Volatility Framework 2.4
Process: svchost.exe Pid: 856 Address: 0xb70000
Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE
Flags: CommitCharge: 38, MemCommit: 1, PrivateMemory: 1, Protection: 6

0x00b70000  4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00   MZ..............
0x00b70010  b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00   ........@.......
0x00b70020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x00b70030  00 00 00 00 00 00 00 00 00 00 00 00 d0 00 00 00   ................

0xb70000 4d               DEC EBP
0xb70001 5a               POP EDX
0xb70002 90               NOP
0xb70003 0003             ADD [EBX], AL
0xb70005 0000             ADD [EAX], AL
0xb70007 000400           ADD [EAX+EAX], AL
0xb7000a 0000             ADD [EAX], AL
0xb7000c ff               DB 0xff
0xb7000d ff00             INC DWORD [EAX]
0xb7000f 00b800000000     ADD [EAX+0x0], BH
0xb70015 0000             ADD [EAX], AL
0xb70017 004000           ADD [EAX+0x0], AL
0xb7001a 0000             ADD [EAX], AL
0xb7001c 0000             ADD [EAX], AL
0xb7001e 0000             ADD [EAX], AL
0xb70020 0000             ADD [EAX], AL
0xb70022 0000             ADD [EAX], AL
0xb70024 0000             ADD [EAX], AL
0xb70026 0000             ADD [EAX], AL
0xb70028 0000             ADD [EAX], AL
0xb7002a 0000             ADD [EAX], AL
0xb7002c 0000             ADD [EAX], AL
0xb7002e 0000             ADD [EAX], AL
0xb70030 0000             ADD [EAX], AL
0xb70032 0000             ADD [EAX], AL
0xb70034 0000             ADD [EAX], AL
0xb70036 0000             ADD [EAX], AL
0xb70038 0000             ADD [EAX], AL
0xb7003a 0000             ADD [EAX], AL
0xb7003c d000             ROL BYTE [EAX], 0x1
0xb7003e 0000             ADD [EAX], AL

Process: svchost.exe Pid: 856 Address: 0xcb0000
Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE
Flags: CommitCharge: 1, MemCommit: 1, PrivateMemory: 1, Protection: 6

0x00cb0000  b8 35 00 00 00 e9 cd d7 c5 7b 00 00 00 00 00 00   .5.......{......
0x00cb0010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x00cb0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x00cb0030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................

0xcb0000 b835000000       MOV EAX, 0x35
0xcb0005 e9cdd7c57b       JMP 0x7c90d7d7
0xcb000a 0000             ADD [EAX], AL
0xcb000c 0000             ADD [EAX], AL
0xcb000e 0000             ADD [EAX], AL
0xcb0010 0000             ADD [EAX], AL
0xcb0012 0000             ADD [EAX], AL
0xcb0014 0000             ADD [EAX], AL
0xcb0016 0000             ADD [EAX], AL
0xcb0018 0000             ADD [EAX], AL
0xcb001a 0000             ADD [EAX], AL
0xcb001c 0000             ADD [EAX], AL
0xcb001e 0000             ADD [EAX], AL
0xcb0020 0000             ADD [EAX], AL
0xcb0022 0000             ADD [EAX], AL
0xcb0024 0000             ADD [EAX], AL
0xcb0026 0000             ADD [EAX], AL
0xcb0028 0000             ADD [EAX], AL
0xcb002a 0000             ADD [EAX], AL
0xcb002c 0000             ADD [EAX], AL
0xcb002e 0000             ADD [EAX], AL
0xcb0030 0000             ADD [EAX], AL
0xcb0032 0000             ADD [EAX], AL
0xcb0034 0000             ADD [EAX], AL
0xcb0036 0000             ADD [EAX], AL
0xcb0038 0000             ADD [EAX], AL
0xcb003a 0000             ADD [EAX], AL
0xcb003c 0000             ADD [EAX], AL
0xcb003e 0000             ADD [EAX], AL

このsvchost.exeは、元々は正しいものだったのですが、なんらかのプロセスがインジェクションされているようです。

そのことは、4行目から察することができます。

Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE

また、そのダンプを見ると先頭がMZで始まっています。Windowsで先頭がMZなのは、実行形式のプログラムです。

どうやら、不審なものを発見できたようです。

0x00b70000  4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00   MZ..............
0x00b70010  b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00   ........@.......

なお、この時点でフォルダに2つのイメージが出力されています。

$ ls -la
-rw-r--r--   1 SIN  staff     155648  3  5 16:47 process.0x80ff88d8.0xb70000.dmp
-rw-r--r--   1 SIN  staff       4096  3  5 16:47 process.0x80ff88d8.0xcb0000.dmp
$

fileコマンドで見ても、0xb70000は、EXEであると判定されています。

$ file process.0x80ff88d8.0xb70000.dmp
process.0x80ff88d8.0xb70000.dmp: PE32 executable for MS Windows (GUI) Intel 80386 32-bit

(5) イメージの検査

ダンプしたファルを下記のページで確認してみると、各社でウイルスと認定しています。 https://www.virustotal.com/ja/

002

003

これで、どんなウイルスが、どこに感染していたのかを突き止めた事になります。

(6) ミューテックス

先までの作業で、一応、不審なプログラムを発見できましたが、ここからは、その他の検査手法を試してみます。

通常、悪意のあるプログラムの作成者は、そのプログラムが2重起動するのを避けるためミューテックスを使用します。 (ミューテックス自体は、普通に使用されるものなので、使用することが、そのまま悪意があるわけではありません。)

次のコマンドで、使用されているミューテックスを一覧することが可能です。

$ ./volatility_2.4_x86 -f zeus.vmem --profile=WinXPSP2x86 mutantscan
Volatility Foundation Volatility Framework 2.4
Offset(P)              #Ptr     #Hnd Signal Thread           CID Name
------------------ -------- -------- ------ ---------- --------- ----
0x00000000000962c0        1        1      1 0x00000000           
0x00000000007c0840        1        1      1 0x00000000           
0x00000000009d86e0        1        1      1 0x00000000           
0x00000000009d90d8        1        1      1 0x00000000           
0x0000000000eda878        1        1      1 0x00000000           
0x0000000000edae88        1        1      1 0x00000000           
0x000000000105a278        1        1      1 0x00000000           
0x000000000105a2e8        1        1      1 0x00000000           
0x000000000105aa38        7        6      1 0x00000000           _!MSFTHISTORY!_
0x000000000105acf0        2        1      0 0xff3ba880   888:912 wscntfy_mtx
0x000000000105e900        1        1      1 0x00000000           
0x0000000001061fe0        2        1      1 0x00000000           542B5ABE01CB391B000003A82
0x00000000010633b8        2        1      1 0x00000000           msgina: InteractiveLogonRequestMutex
0x0000000001066480        2        1      1 0x00000000           PerfOS_Perf_Library_Lock_PID_684
0x00000000010669d0        2        1      1 0x00000000           winlogon: Logon UserProfileMapping Mutex
0x0000000001066bd0        2        1      1 0x00000000           PerfProc_Perf_Library_Lock_PID_684
0x00000000010676d8        2        1      1 0x00000000           RemoteAccess_Perf_Library_Lock_PID_684
0x0000000001067d60        1        1      1 0x00000000           
0x0000000001069fa8        2        1      1 0x00000000           WmiApRpl_Perf_Library_Lock_PID_684
0x000000000106fb60        3        2      1 0x00000000           WininetProxyRegistryMutex
0x0000000001070380        2        1      1 0x00000000           Spooler_Perf_Library_Lock_PID_684
0x00000000010719b0        2        1      1 0x00000000           ContentFilter_Perf_Library_Lock_PID_684
0x0000000001071e40        1        1      1 0x00000000           
0x000000000107a2b0        2        1      1 0x00000000           54D23F5A01CB391B0000047C2
0x000000000107b290        2        1      1 0x00000000           c:!windows!system32!config!systemprofile!cookies!
0x000000000107c200        1        1      1 0x00000000           
0x000000000108af60        1        1      1 0x00000000           
0x0000000001093568        1        1      1 0x00000000           
0x0000000001093c10        1        1      1 0x00000000           
0x0000000001093c90        4        3      1 0x00000000           ZonesLockedCacheCounterMutex
0x00000000010af880        1        1      1 0x00000000           
0x00000000010b7f68        1        1      1 0x00000000           
0x00000000010bb748        1        1      1 0x00000000           
0x00000000010bb7b8        1        1      1 0x00000000           
0x00000000010bbf10        2        1      1 0x00000000           Tcpip_Perf_Library_Lock_PID_684
0x00000000010bc140        2        1      1 0x00000000           MSDTC_Perf_Library_Lock_PID_684
0x00000000010bc550        2        1      1 0x00000000           PerfDisk_Perf_Library_Lock_PID_684
0x00000000010bc750        2        1      1 0x00000000           PerfNet_Perf_Library_Lock_PID_684
0x00000000010bc7f8        1        1      1 0x00000000           
0x00000000010bcc38        2        1      1 0x00000000           TapiSrv_Perf_Library_Lock_PID_684
0x00000000010bed60        2        1      1 0x00000000           TermService_Perf_Library_Lock_PID_684
0x00000000010c2c60        1        1      1 0x00000000           
0x00000000010c2cd0        1        1      1 0x00000000           
0x00000000010c46f0        1        1      1 0x00000000           
0x00000000010c7cf0        1        1      1 0x00000000           
0x00000000010c9898        4        3      1 0x00000000           ZonesCounterMutex
0x00000000010d4030        2        1      1 0x00000000           ISAPISearch_Perf_Library_Lock_PID_684
0x00000000010d61e8        2        1      1 0x00000000           userenv: User Registry policy mutex
0x00000000010d7de8        1        1      1 0x00000000           
0x00000000010d9a50        2        1      1 0x00000000           53AF607601CB391B000002A42
0x00000000010dd398        2        1      1 0x00000000           ContentIndex_Perf_Library_Lock_PID_684
0x000000000110c530        1        1      1 0x00000000           
0x0000000001113cc8        1        1      1 0x00000000           
0x0000000001116218        1        1      1 0x00000000           
0x0000000001119730        2        1      1 0x00000000           RAS_MO_02
0x000000000111bfe0        1        1      1 0x00000000           
0x000000000111eb40        2        1      1 0x00000000           c:!windows!system32!config!systemprofile!local settings!history!history.ie5!
0x00000000011211a8        4        3      1 0x00000000           ZonesCacheCounterMutex
0x000000000112cad0        1        1      1 0x00000000           
0x000000000112d0e0        1        1      1 0x00000000           
0x000000000112da78        2        1      1 0x00000000           5C9DCF9C01CB391B000007B02
0x000000000112f388        3        2      1 0x00000000           SRDataStore
0x000000000112f688        2        1      1 0x00000000           55319D6A01CB391B000005982
0x0000000001130ef8        3        2      1 0x00000000           c:!documents and settings!administrator!cookies!
0x0000000001133f48        1        1      1 0x00000000           
0x000000000113f1b8        2        1      1 0x00000000           c:!windows!system32!config!systemprofile!local settings!temporary internet files!content.ie5!
0x000000000113fd28        1        1      1 0x00000000           
0x00000000011465c8        3        2      1 0x00000000           c:!documents and settings!administrator!local settings!temporary internet files!content.ie5!
0x000000000114e9c0        2        1      1 0x00000000           userenv: Machine Registry policy mutex
0x0000000001152150        1        1      1 0x00000000           
0x0000000001159760        1        1      1 0x00000000           
0x000000000115e988        1        1      1 0x00000000           
0x000000000115ed38        2        1      1 0x00000000           SingleSesMutex
0x000000000115f628        2        1      0 0xff398638  1732:680 Instance0:  ESENT Performance Data Schema Version 40
0x00000000011627c8        1        1      1 0x00000000           
0x00000000011633c0        2        1      1 0x00000000           839553D201CB391B000006C42
0x0000000001163898        2        1      1 0x00000000           C1EA8C7801CB391B000006BC2
0x0000000001166e20        1        1      1 0x00000000           
0x00000000011875d8        1        1      1 0x00000000           
0x000000000118b330        1        1      1 0x00000000           
0x000000000118c228        1        1      1 0x00000000           
0x000000000118d2d0        1        1      1 0x00000000           
0x000000000118d640        1        1      1 0x00000000           
0x0000000001190288        1        1      1 0x00000000           
0x000000000211a230        5        4      1 0x00000000           TpVcW32ListMutex
0x00000000024c9ef8        2        1      1 0x00000000           PSched_Perf_Library_Lock_PID_684
0x0000000002ae49b0        1        1      1 0x00000000           
0x0000000002e2c4b0        1        1      1 0x00000000           
0x00000000043d21b8        2        1      1 0x00000000           53EAFB4001CB391B0000034C2
0x00000000043d62a0        2        1      1 0x00000000           0CADFD67AF62496dB34264F000F5624A
0x00000000043d6e18        1        1      1 0x00000000           
0x000000000441a380        2        1      1 0x00000000           C3CCBBD401CB391B000001C42
0x000000000445c2c8        1        1      1 0x00000000           
0x000000000445cec8        1        1      1 0x00000000           
0x000000000485e548        1        1      1 0x00000000           
0x0000000004861550        1        1      1 0x00000000           
0x0000000004866dc8        2        1      1 0x00000000           c:!documents and settings!networkservice!local settings!history!history.ie5!
0x000000000486b0f8        1        1      1 0x00000000           
0x00000000048f8fb0        2        1      1 0x00000000           543E6D8E01CB391B000004402
0x000000000493faa8        1        1      1 0x00000000           
0x0000000004a064f8        9        8      1 0x00000000           ShimCacheMutex
0x0000000004a06c00        2        1      1 0x00000000           5A50EAC601CB391B000006842
0x0000000004a4ad70        2        1      1 0x00000000           647C72AE01CB391B0000043C2
0x0000000004a50740        1        1      1 0x00000000           
0x0000000004a97110        1        1      1 0x00000000           
0x0000000004b58900        2        1      1 0x00000000           6303BF2201CB391B000003782
0x0000000004b5c608        1        1      1 0x00000000           
0x0000000004b5c668        2        1      1 0x00000000           HGFSMUTEX00000000000242b4
0x0000000004be2778        1        1      1 0x00000000           
0x0000000004be4410        2        1      1 0x00000000           userenv: user policy mutex
0x0000000004c2d6b8        2        1      1 0x00000000           5C2B5EBC01CB391B000006FC2
0x00000000052af290        1        1      1 0x00000000           
0x00000000052af2d0        1        1      1 0x00000000           
0x00000000054707e0        2        1      1 0x00000000           238FAD3109D3473aB4764B20B3731840
0x00000000054714b0        3        2      1 0x00000000           c:!documents and settings!localservice!local settings!temporary internet files!content.ie5!
0x00000000054716f8        2        1      1 0x00000000           4FCC0DEFE22C4f138FB9D5AF25FD9398
0x00000000054b2a48        1        1      1 0x00000000           
0x00000000054b2ab8        1        1      1 0x00000000           
0x00000000054f30c0        1        1      1 0x00000000           
0x0000000005534f48        1        1      1 0x00000000           
0x00000000055379d8        2        1      1 0x00000000           WPA_LICSTORE_MUTEX
0x0000000005537a28        2        1      1 0x00000000           WPA_HWID_MUTEX
0x0000000005537a78        2        1      1 0x00000000           WPA_LT_MUTEX
0x0000000005537ac8        2        1      1 0x00000000           WPA_RT_MUTEX
0x00000000055fe480        2        1      1 0x00000000           WPA_PR_MUTEX
0x00000000055fe538        1        1      1 0x00000000           
0x00000000058020d0        1        1      1 0x00000000           
0x00000000058021f0        1        1      1 0x00000000           
0x00000000058022d0        1        1      1 0x00000000           
0x00000000058024f0        1        1      1 0x00000000           
0x0000000005802868        1        1      1 0x00000000           
0x0000000005b949a0        1        1      1 0x00000000           
0x0000000005c16378        2        1      1 0x00000000           c:!documents and settings!networkservice!cookies!
0x0000000005c18f08        3        2      1 0x00000000           MidiMapper_modLongMessage_RefCnt
0x0000000005c9f978        2        1      1 0x00000000           C70DD0D201CB391B000001D42
0x0000000005c9fb30        2        1      1 0x00000000           5CE2F3CE01CB391B000000D82
0x0000000005ca17e8        2        1      1 0x00000000           _AVIRA_2108
0x0000000005ce3e60        2        1      1 0x00000000           C39837F001CB391B000001B02
0x0000000005ce5dd0        2        1      1 0x00000000           _SHuassist.mtx
0x0000000005d281f0        2        1      1 0x00000000           746bbf3569adEncrypt
0x0000000005d2a258        1        1      1 0x00000000           
0x0000000005d2a440        1        1      1 0x00000000           
0x0000000005e32020        1        1      1 0x00000000           
0x0000000005e320f0        1        1      1 0x00000000           
0x0000000005e36c08        1        1      1 0x00000000           
0x0000000005e7ffe0        3        2      1 0x00000000           MidiMapper_Configure
0x0000000005f01c68        2        1      1 0x00000000           ExplorerIsShellMutex
0x0000000005f02378        1        1      1 0x00000000           
0x0000000005f024d8        2        1      1 0x00000000           RAS_MO_01
0x0000000005f45148        7        6      1 0x00000000           SHIMLIB_LOG_MUTEX
0x0000000005f45528        1        1      1 0x00000000           
0x0000000005f45908        1        1      1 0x00000000           
0x0000000005f45e48        2        1      1 0x00000000           msgina: InteractiveLogonMutex
0x0000000005f48ba8        2        1      1 0x00000000           DBWinMutex
0x0000000005f8aec8        1        1      1 0x00000000           
0x0000000005fd0b38        3        2      1 0x00000000           c:!documents and settings!localservice!cookies!
0x0000000005fd4eb0        3        2      1 0x00000000           c:!documents and settings!administrator!local settings!history!history.ie5!
0x00000000060152d8        1        1      1 0x00000000           
0x0000000006016b88        2        1      1 0x00000000           VMwareGuestCopyPasteMutex
0x0000000006017ee8        3        2      1 0x00000000           ThinPrint-L
0x0000000006017fe0        2        1      1 0x00000000           c:!documents and settings!networkservice!local settings!temporary internet files!content.ie5!
0x000000000605ff40        1        1      1 0x00000000           
0x0000000006124810        1        1      1 0x00000000           
0x0000000006126908        1        1      1 0x00000000           
0x00000000061682e8        1        1      1 0x00000000           
0x000000000616ad30        1        1      1 0x00000000           
0x00000000061ab388        1        1      1 0x00000000           
0x00000000061ad0e0        1        1      1 0x00000000           
0x00000000061ee258        2        1      1 0x00000000           PnP_Init_Mutex
0x00000000061efc38        1        1      1 0x00000000           
0x0000000006231bd0        1        1      1 0x00000000           
0x0000000006231e28        1        1      1 0x00000000           
0x0000000006233a98        1        1      1 0x00000000           
0x0000000006234b58        2        1      1 0x00000000           5434E42601CB391B000004042
0x0000000006234bc8        1        1      1 0x00000000           
0x0000000006234ec0        1        1      1 0x00000000           
0x00000000062354d8        2        1      1 0x00000000           VMToolsHookQueueLock
0x00000000062363a0        2        1      1 0x00000000           53B1C2D001CB391B000002B02
0x0000000006238c38        1        1      1 0x00000000           
0x00000000062392e8        1        1      1 0x00000000           
0x000000000627e0e0        1        1      1 0x00000000           
0x000000000627f960        1        1      1 0x00000000           
0x0000000006381678        1        1      1 0x00000000           
0x0000000006381aa0        1        1      1 0x00000000           
0x0000000006381de8        1        1      1 0x00000000           
0x0000000006383150        2        1      1 0x00000000           userenv: machine policy mutex
0x00000000063c6678        1        1      1 0x00000000           
0x00000000063c6aa0        1        1      1 0x00000000           
0x00000000063c7908        1        1      1 0x00000000           
0x0000000006408950        1        1      1 0x00000000           
0x00000000064093e8        1        1      1 0x00000000           
0x0000000006409c38        1        1      1 0x00000000           
0x000000000640aa70        1        1      1 0x00000000           
0x000000000640aec0        1        1      1 0x00000000           
0x000000000644c7e8        1        1      1 0x00000000           
0x000000000644e898        3        2      1 0x00000000           c:!documents and settings!localservice!local settings!history!history.ie5!
0x000000000644eeb0        5        4      1 0x00000000           WindowsUpdateTracingMutex
0x0000000006453bc8        1        1      1 0x00000000           
0x0000000006453c38        1        1      1 0x00000000           
0x0000000006453e48        1        1      1 0x00000000           
0x00000000064951d0        3        2      1 0x00000000           WininetStartupMutex
0x00000000064995c0        1        1      1 0x00000000           
0x000000000651a720        1        1      1 0x00000000           
0x0000000006560db0        1        1      1 0x00000000           
0x0000000006560e20        1        1      1 0x00000000           
0x00000000065c05a8        1        1      1 0x00000000           
0x00000000065e6810        1        1      1 0x00000000           
0x00000000066290f8        1        1      1 0x00000000           
0x000000000666c678        1        1      1 0x00000000           
0x00000000066ad9a8        1        1      1 0x00000000           
0x00000000066add28        1        1      1 0x00000000           
0x00000000066f68b0        5        4      1 0x00000000           RasPbFile
0x00000000066f6cd0        1        1      1 0x00000000           
0x00000000067358a8        2        1      1 0x00000000           RSVP_Perf_Library_Lock_PID_684
0x0000000006735dc0        2        1      1 0x00000000           _AVIRA_2109
0x00000000067790f8        1        1      1 0x00000000           
0x0000000006779d48        1        1      1 0x00000000           
0x000000000687f0f8        1        1      1 0x00000000           
0x0000000006901208        1        1      1 0x00000000           
0x0000000006944ba0        1        1      1 0x00000000           
0x0000000006945830        1        1      1 0x00000000           
0x0000000006945a30        1        1      1 0x00000000           
0x0000000006946678        1        1      1 0x00000000           
0x0000000006b1a460        2        1      1 0x00000000           VMwareGuestDnDDataMutex
0x0000000006b400f8        1        1      1 0x00000000           
$

この情報だけで、どれが怪しいかを見つけるのは、難しいのですが、この方法も悪意あるプログラムを探す有効な手段の一つです。

ここでは、もう、答えとして「_AVIRA_2108」が怪しいと分かっていたと仮定すると、次のように検索することで、さらなる調査が可能になります。

004

(7) レジストリ

次のコマンドで、レジストリの状況を出力することもできます。

$ ./volatility_2.4_x86 -f zeus.vmem --profile=WinXPSP2x86 printkey -K "Microsoft\Windows NT\CurrentVersion\Winlogon"
Volatility Foundation Volatility Framework 2.4
Legend: (S) = Stable   (V) = Volatile

----------------------------
Registry: \Device\HarddiskVolume1\WINDOWS\system32\config\software
Key name: Winlogon (S)
Last updated: 2010-08-15 19:17:23 UTC+0000

Subkeys:
  (S) GPExtensions
  (S) Notify
  (S) SpecialAccounts
  (V) Credentials

Values:
REG_DWORD     AutoRestartShell : (S) 1
REG_SZ        DefaultDomainName : (S) BILLY-DB5B96DD3
REG_SZ        DefaultUserName : (S) Administrator
REG_SZ        LegalNoticeCaption : (S) 
REG_SZ        LegalNoticeText : (S) 
REG_SZ        PowerdownAfterShutdown : (S) 0
REG_SZ        ReportBootOk    : (S) 1
REG_SZ        Shell           : (S) Explorer.exe
REG_SZ        ShutdownWithoutLogon : (S) 0
REG_SZ        System          : (S) 
REG_SZ        Userinit        : (S) C:\WINDOWS\system32\userinit.exe,C:\WINDOWS\system32\sdra64.exe,
REG_SZ        VmApplet        : (S) rundll32 shell32,Control_RunDLL "sysdm.cpl"
REG_DWORD     SfcQuota        : (S) 4294967295
REG_SZ        allocatecdroms  : (S) 0
REG_SZ        allocatedasd    : (S) 0
REG_SZ        allocatefloppies : (S) 0
REG_SZ        cachedlogonscount : (S) 10
REG_DWORD     forceunlocklogon : (S) 0
REG_DWORD     passwordexpirywarning : (S) 14
REG_SZ        scremoveoption  : (S) 0
REG_DWORD     AllowMultipleTSSessions : (S) 1
REG_EXPAND_SZ UIHost          : (S) logonui.exe
REG_DWORD     LogonType       : (S) 1
REG_SZ        Background      : (S) 0 0 0
REG_SZ        AutoAdminLogon  : (S) 0
REG_SZ        DebugServerCommand : (S) no
REG_DWORD     SFCDisable      : (S) 0
REG_SZ        WinStationsDisabled : (S) 0
REG_DWORD     HibernationPreviouslyEnabled : (S) 1
REG_DWORD     ShowLogonOptions : (S) 0
REG_SZ        AltDefaultUserName : (S) Administrator
REG_SZ        AltDefaultDomainName : (S) BILLY-DB5B96DD3
$

ここでも、答えとして、「sdra64.exe」が怪しいという前提で進めると、検索した様子が次の通りです。

007

4 質疑応答

Q.何が正しい状態かを確認できる情報はありませんか?

A.SANSのホームページに、次のようなpdfが公開されており、参考になるのでは?

http://www.sans.org/

005

https://digital-forensics.sans.org/media/poster_2014_find_evil.pdf

006

Q.勉強のためにサンプルとなるメモリダンプはありませんか?

A.次のようなサイトがあります。

メモリダンプのサンプル

10 最後に

個人的には、このような作業は初めての経験で、非常に新鮮な経験でした。また、興味を持って、勉強してみたいと思いました。

「せきゅぽろ」という勉強会は、おやつタイムが有名です。

009

次の写真は、昨年末にトレンドマイクロを見学させて頂いた時の写真です。(関係ないけど・・・) 008