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.txt
にcommand
という名前の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の可能性が高い。