Linux ターミナルを使用して NTFS ファイルの代替データ ストリームにアクセスするにはどうすればよいですか?

Linux ターミナルを使用して NTFS ファイルの代替データ ストリームにアクセスするにはどうすればよいですか?

Google CTF 2019 初心者向けクエストのタスクを解決しようとしています。タスクには NTFS ファイルがあります。ファイルに代替データ ストリームがあることはわかっています (ヒントには拡張属性が記載されています)。

Linux ターミナルで AD にアクセスする方法がわかりません。いくつかのツールとキーワードを使用しましたが、AD を表示することはできず、アクセスすることもできませんでした。

答え1

Windowsの用語では、dir /r拡張属性は表示されません。代替データストリーム(EA は Windows にも存在しますが、ほとんどは OS/2 の遺物として扱われています。)

しないでください7zip などのランダム ツールを使用して、ファイル システムの内容を抽出します。これらのツールはメタデータを理解できないか、またはメタデータを無視するため、ほとんどのメタデータ (EA および ADS を含む) が失われます。ファイルが元の NTFS ファイル システム イメージ内にある間に、ファイルを検査する必要があります。

  • ntfs-progs を使用してイメージの内容を検査できます。

    ntfsls -l <image>
    ntfsinfo -F <path> <image>
    
  • NTFS-3G を使用してイメージをマウントしstreams_interface=xattr、xattr のリストを照会するだけです (このモードでは、各 NTFS ストリームは Linux xattr として表示されます)。

    attr -l <path>
    getfattr <path>
    
  • NTFS-3G を使用してイメージをマウントしstreams_interface=windows、仮想 "ntfs.streams.list" xattr を照会できます。

    attr -g ntfs.streams.list <path>
    getfattr -n user.ntfs.streams.list <path>
    

関連情報