我最近做了一个 CTF,涉及 Samba 共享上的一个文件,该文件在备用数据流中有一个密码。要读取它,我必须使用 Windows 进行连接,但我很好奇是否有任何方法可以从 Linux 读取 ADS,无论是使用 SMBclient 还是其他工具。
答案1
找到了一种无需安装驱动器即可执行此操作的方法。
smbclient -U USER //IP/Share -c 'allinfo "ADS_FILE"'
然后get "ADS_FILE:PASSWORD:$DATA"
下载文件。
答案2
使用以下方法可以读取备用数据流 (ADS): ntfs-3g:
NTFS 将所有数据存储在流中。每个文件只有一个未命名的数据流,并且可以有多个命名的数据流。文件的大小是其未命名数据流的大小。默认情况下,ntfs-3g 将仅读取未命名的数据流。
通过使用选项“streams_interface=windows”,使用 ntfs-3g 驱动程序(lowntfs-3g 无法实现),您将能够读取任何命名的数据流,只需在冒号后指定流的名称即可。例如:
cat some.mp3:artist
命名数据流的作用类似于普通文件,因此您可以从中读取、写入甚至删除它们(使用 rm)。您可以通过获取“ntfs.streams.list”扩展属性列出文件具有的所有命名数据流。