Open J005 opened 2 weeks ago
The mass storage protocol only deals with blocks, not files - there's no request where the host says "please give me filename X".
The technique used in that talk involves creating a specially crafted FAT filesystem image. The filesystem has a file allocation table which specifies what filenames are available and where they are stored on the disk. Conceptually that table looks something like:
aaaaaaaa.bin
is stored at block 1bbbbbbb.bin
is stored at block 2upgrade.bin
is stored at block 31337The script knows the contents of the table, so when the host reads block 31337, it knows it's looking for upgrade.bin
.
However, it's not practical to list every possible filename, so there's limitations to what can be done with this approach.
How can facedancer be configured to log filenames that are attempted to be read when emulating a mass storage device? Mentioned in @ktemkin's talk here - https://www.youtube.com/watch?v=h3VWvZ162QE&list=LL&index=1
I have tried increasing the verbosity in the
mass-storage.py
example however only ever see the block reads i.e.