1

Можно ли читать / выполнять файлы / программы, используя адресацию LBA, а не местоположение файловой системы?

Например, я могу выполнить /bin/sh используя расположение сектора LBA, полученное с использованием hdparm? Если да, то как?

Я пытаюсь сделать это на Linux Mint (версия 4.14.13+).

1 ответ1

1

Можно ли читать / выполнять файлы / программы, используя адресацию LBA, а не расположение файловой системы

Вы можете читать и хранить данные во втором файле (на основе оперативной памяти, если вы используете tmpfs) по одному LBA за раз, включать биты выполнения и выполнять то, что вы сохранили.

dd находится недалеко от hdparm и с ним будет немного легче работать, и вы практически делаете то же самое, если используете dd на необработанных блочных устройствах, таких как /dev/sda и т. д.

Например, я могу выполнить /bin /sh, используя расположение сектора LBA, полученное с использованием hdparm?

  • Вы должны будете сделать то же самое, что и основная файловая система. Для ext2/3/4 это означает анализ таблиц разделов, поиск суперблока, поиск по таблицам inode и т.д.

  • Это обычно не тривиально. Вы должны точно знать, что делает файловая система и как она работает. Существует исходный код Ext2/3/4, который вы можете изучить, или любое количество текстов по этому вопросу. Для NTFS есть много подобной информации, предоставленной Microsoft и обнаруженной с помощью реверс-инжиниринга.

  • Если вы ищете «простую для взлома» файловую систему, попробуйте FAT (не FAT32). Он очень старый и в результате очень хорошо задокументирован.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .