Репрессия Arent указывает на серьезную угрозу безопасности?

Насколько я понимаю, точки повторной обработки можно добавить в любой файл (не говоря о символических ссылках, а добавляя их в ADS существующих файлов)

Разве тогда не удастся создать файл image.jpg с точкой повторной обработки для cmd.exe? Или я ошибаюсь в том, что такое точки повторного анализа?

2 ответа

Я ошибаюсь в том, что такое точки повторной обработки?

Хорошо, давайте начнем с обзора точек повторной обработки. Когда приложение открывает поток NTFS , содержащий точку повторной обработки , драйвер фильтра файловой системы, связанный с тегом точки повторной обработки, интерпретирует данные точки повторной обработки и предоставляет содержимое для чтения приложению. Например, если точка повторной обработки является символической ссылкой, данные точки повторной обработки содержат путь к целевому файлу, а драйвер фильтра файловой системы прочитает содержимое из целевого файла и предоставит его приложению. Приложению не нужно разбираться в символических ссылках или в том, как их обрабатывать; все это обрабатывается файловой системой. (Возможно, это самое важное различие между символическими ссылками и ярлыками.)

Обратите внимание, что файл, являющийся точкой повторной обработки, обычно не меняет способ интерпретации приложением предоставленных данных. Если test.jpg является символической ссылкой на cmd.exe, и вы берете программу просмотра фотографий и открываете test.jpg, она просто прочитает содержимое cmd.exe и попытается интерпретировать его как jpg; это ничем не отличается от того, что произойдет, если вы просто создадите копию cmd.exe и переименуете ее в test.jpg. (Приложение также может записывать данные в точку повторной обработки, и это опять же обрабатывается соответствующим драйвером фильтра файловой системы.)

Помещение точки повторной обработки в альтернативный поток данных на самом деле ничего не меняет. Обычно такое приложение, как программа просмотра фотографий, полностью игнорирует альтернативный поток данных.

Я это понимаю, но что произойдет, если вы создадите точку повторной обработки с тегом символической ссылки, затем добавите ее в файл jpg и укажете на cmd.exe? Разве Windows не будет рассматривать файл jpg как символическую ссылку и вместо открытия jpg открывать cmd.exe?

Если вы забудете об использовании альтернативного потока данных и просто создадите test.jpg, который является ярлыком для cmd.exe, тогда да. Это связано с тем, что проводник Windows нарушает правила: он явно проверяет, является ли файл символической ссылкой, и если да, то обрабатывает его как ярлык. Вы можете провести этот эксперимент самостоятельно; откройте окно cmd.exe с повышенными правами и введите

      cd \
mklink test.jpg c:\windows\system32\cmd.exe
start .

Откроется окно проводника в корне диска C, в котором будет показан тестовый файл; если вы дважды щелкните по нему, откроется командное окно.

Является ли это серьезной уязвимостью безопасности? Возможно нет; злоумышленнику все равно придется поместить файл (это сложнее для точки повторной обработки, чем обычный файл, поскольку его нельзя просто загрузить) и убедить жертву открыть его, а Проводник показывает файл со значком ярлыка и файлом тип.symlink. В целом я не думаю, что это более опасно, чем традиционная технология ярлыков или просто предоставление жертве исполняемого файла с собственным значком, чтобы он выглядел как безобидный файл.

Насколько мне известно, Explorer таким образом обрабатывает только символические ссылки и точки соединения. Для любого другого типа точки повторной обработки Explorer будет использовать имя файла, чтобы определить, как вести себя, поэтому, если файл называется test.jpg, то двойной щелчок по нему просто откроет средство просмотра фотографий.

Я не уверен, как протестировать сценарий, в котором символическая ссылка добавляется в существующий файл в качестве альтернативного потока данных. Я предполагаю, что Explorer проигнорирует альтернативный поток данных; Итак, еще раз, двойной щелчок по файлу ничего не даст, кроме открытия средства просмотра фотографий.

Я ошибаюсь, в чем заключаются точки повторного анализа?

Точки повторной обработки могут использоваться только приложениями. Данные, содержащиеся в точке повторной обработки, требуют, чтобы приложение интерпретировало данные и обработало файл. В процессе создания точки повторной обработки также должен быть определен тег повторной обработки, который идентифицирует данные, которые он хранит.

Файл или каталог может содержать точку повторной обработки, которая представляет собой набор пользовательских данных. Формат этих данных понятен приложению, в котором хранятся данные, и фильтру файловой системы, который вы устанавливаете для интерпретации данных и обработки файла.

Тогда можно ли будет создать файл image.jpg с точкой повторной обработки для cmd.exe?

Точка повторной обработки не будет доступна для любого старого приложения Photo. Я также серьезно сомневаюсь, что Windows даже позволит вам установить точку повторной обработки из-за размера исполняемого файла.

Очки повторной обработки

Насколько я понимаю, точки повторной обработки можно добавить в любой файл (не говоря о символических ссылках, а добавляя их в ADS существующих файлов)

Вы должны говорить о них, так как точки повторного использования используются для создания символических ссылок NTFS. Они также используются для создания смонтированных каталогов.

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

junction.exe от SysInternals

Другие вопросы по тегам