@port139 Blog

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

Rundll32 と Prefetch

Rundll32.exe を利用した DLL 実行と、プリフェッチファイルの関係について確認してみます。テストした環境は Win 10 1709 Build 16299.15 です。

DLL ファイルには、Didier Stevens さんの作られた cmd.dll を利用します。

Rundll32

Windows\Prefetch フォルダ配下にある .pf ファイルは削除しておきます。念のため WinPrefetchVew でも確認しておきます。

f:id:hideakii:20171105083007p:plain

rundll32 経由で cmd.dll を起動します。

f:id:hideakii:20171105083136p:plain

WinPrefetchViewで RunDll32 を確認します。RunDll32 のファイルリスト内に cmd.dll の項目を確認できます。

f:id:hideakii:20171105083441p:plain

 システムを再起動した後、AppCompatCache 内で cmd.dll のレコードを確認しましたが、これは存在しませんでした。

念のため、cmd.dll のパスを変更して再度テストしましたが、AppCompatCache 内にレコードは確認できませんでした。

SHELL32

次に Shell32.dll 経由で CMD.DLL を呼び出してみます。(プリフェッチファイルは事前に削除します。)

f:id:hideakii:20171105091643p:plain

プリフェッチファイルを確認します。

f:id:hideakii:20171105085944p:plain

 システムを再起動した後、AppCompatCache 内で cmd.dll のレコードを確認します。レコードが2件ありますが、これは念のためパスを変更した場合もテストしたものとなります。

f:id:hideakii:20171105091054p:plain

 shell32.dll 経由で cmd.dll を起動した場合、 AppCompatCache 内にレコードが残るようですね。

PowerShell

PowerShdll を利用し、Rundll32 経由で PowerShell を呼び出した場合。
rundll32.exe PowerShdll,main -w

f:id:hideakii:20171105123632p:plain

 

 

参考URL:
pentestlab.blog

www.attackdebris.com

 

blog.didierstevens.com

 

Chasing Adversaries with Autoruns – evading techniques and countermeasures – Windows Performance & Troubleshooting

 

github.com

 

f:id:hideakii:20171105162802j:plain