web-dev-qa-db-ja.com

LinuxでSMBを介して代替データストリームを読み取る

最近、代替データストリームにパスワードが設定されているsamba共有上のファイルを含むCTFを実行しました。それを読むにはWindowsを使用して接続する必要がありましたが、SMBclientまたは別のツールを使用してLinuxからADSを読み取る方法があるかどうか知りたいです。

5
Jammy Dodger

ドライブをマウントせずにこれを行う方法を見つけました。

smbclient -U USER //IP/Share -c 'allinfo "ADS_FILE"' に続く get "ADS_FILE:PASSWORD:$DATA"ファイルをダウンロードします。

5
Jammy Dodger

ntfs-3g を使用すると、代替データストリーム(ADS)を読み取ることができます。

NTFSはすべてのデータをストリームに格納します。すべてのファイルには名前のないデータストリームが1つだけあり、名前の付いたデータストリームを多数持つことができます。ファイルのサイズは、名前のないデータストリームのサイズです。デフォルトでは、ntfs-3gは名前のないデータストリームのみを読み取ります。

オプション "streams_interface = windows"をntfs-3gドライバー(lowntfs-3gでは不可能)と共に使用すると、コロンの後にストリームの名前を指定するだけで、名前付きのデータストリームを読み取ることができます。例えば:

cat some.mp3:artist 

名前付きデータストリームは通常のファイルのように機能するため、それらからの読み取り、書き込み、さらには(rmを使用した)ファイルの削除もできます。 「ntfs.streams.list」拡張属性を取得することにより、ファイルにあるすべての名前付きデータストリームを一覧表示できます。

1
harrymc