Alternate Data Stream (ADS) のメモ

Alternate Data Stream (ADS) のメモ。

通常のテキストファイルfile.txtを作成。

echo "This is a legit file" > file.txt
C:\Users\user\test>echo "This is a legit file" > file.txt

C:\Users\user\test>type file.txt
"This is a legit file"

file.txtcommandという名前のADSを付与。このADSにはwhoamiコマンドが埋め込まれている。

echo "whoami" > file.txt:command

ADSの中身を確認するにはmoreコマンドを使う。(typeコマンドを使うとエラーになる。)

more < file.txt:command
C:\Users\user\test>more < file.txt:command
"whoami"

C:\Users\user\test>type file.txt:command
The filename, directory name, or volume label syntax is incorrect.

ADS commandに埋め込まれているコマンドを実行する。

cmd < file.txt:command

ADSに埋め込まれているwhoamiコマンドが実行されてカレント・ユーザー名が表示された。

C:\Users\user\test>cmd < file.txt:command
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\user\test>"whoami"
user-pc\user

ファイルにADSが付与されているか確認するにはdirコマンドを/rオプション付きで実行する。

dir /r
C:\Users\user\test>dir /r
 Volume in drive C has no label.
 Volume Serial Number is 04F1-91A4

 Directory of C:\Users\user\test

07/29/2022  09:05 AM    <DIR>          .
07/29/2022  09:05 AM    <DIR>          ..
07/29/2022  09:09 AM                25 file.txt
                                    11 file.txt:command:$DATA
               1 File(s)             25 bytes
               2 Dir(s)   7,539,716,096 bytes free

/r オプションなしでdirコマンドを実行するとADSは表示されない。

C:\Users\user\test>dir
 Volume in drive C has no label.
 Volume Serial Number is 04F1-91A4

 Directory of C:\Users\user\test

07/29/2022  09:05 AM    <DIR>          .
07/29/2022  09:05 AM    <DIR>          ..
07/29/2022  09:09 AM                25 file.txt
               1 File(s)             25 bytes
               2 Dir(s)   7,539,716,096 bytes free

file.txt:commandのようにファイル名の後にコロン (:)が続いている場合、ADSの可能性が高い。

Leave a Reply

Your email address will not be published. Required fields are marked *