最近、代替データストリームにパスワードが設定されているsamba共有上のファイルを含むCTFを実行しました。それを読むにはWindowsを使用して接続する必要がありましたが、SMBclientまたは別のツールを使用してLinuxからADSを読み取る方法があるかどうか知りたいです。
ドライブをマウントせずにこれを行う方法を見つけました。
smbclient -U USER //IP/Share -c 'allinfo "ADS_FILE"'
に続く get "ADS_FILE:PASSWORD:$DATA"
ファイルをダウンロードします。
ntfs-3g を使用すると、代替データストリーム(ADS)を読み取ることができます。
NTFSはすべてのデータをストリームに格納します。すべてのファイルには名前のないデータストリームが1つだけあり、名前の付いたデータストリームを多数持つことができます。ファイルのサイズは、名前のないデータストリームのサイズです。デフォルトでは、ntfs-3gは名前のないデータストリームのみを読み取ります。
オプション "streams_interface = windows"をntfs-3gドライバー(lowntfs-3gでは不可能)と共に使用すると、コロンの後にストリームの名前を指定するだけで、名前付きのデータストリームを読み取ることができます。例えば:
cat some.mp3:artist
名前付きデータストリームは通常のファイルのように機能するため、それらからの読み取り、書き込み、さらには(rmを使用した)ファイルの削除もできます。 「ntfs.streams.list」拡張属性を取得することにより、ファイルにあるすべての名前付きデータストリームを一覧表示できます。