Исправление уязвимости тильды IIS

9

Один из наших серверов IIS (IIS 7.5, Server 2008 R2), по-видимому, «уязвим» к проблеме раскрытия короткого имени тильды .

Тем не менее, мне трудно на самом деле решить проблему. До сих пор я

  • Отключил 8.3 имен файлов, остановил веб-сервер, пересоздал каталог сайта и снова запустил сервис

  • Добавлено правило фильтра для тильды в URL:

введите описание изображения здесь

  • Добавлено правило фильтра для тильды в любом месте:

введите описание изображения здесь

  • IISRESET Пару раз

  • Проверено, что web.configдобавлены соответствующие правила фильтра

.. но все же я не могу заставить свой сайт пройти тест :

java -jar ~/temp/IIS-ShortName-Scanner-master/IIS_shortname_scanner.jar http://www.example.com

[...SNIP...]

Testing request method: "TRACE" with magic part: "/webresource.axd" ...
Testing request method: "DEBUG" with magic part: "" ...
Testing request method: "OPTIONS" with magic part: "" ...
Testing request method: "GET" with magic part: "" ...
Reliable request method was found = GET
Reliable magic part was found = 
144 requests have been sent to the server:

<<< The target website is vulnerable! >>>

Что еще мне нужно сделать, чтобы решить эту проблему?

РЕДАКТИРОВАТЬ: вот, DIR /xчто, кажется, показывает не 8,3 имени файла:

введите описание изображения здесь

и вот пул приложений для сайта (все остальные сайты на сервере одинаковы):

введите описание изображения здесь

РЕДАКТИРОВАТЬ 2 : Проверка, что не осталось 8.3 имен файлов:

введите описание изображения здесь

Kend
источник
Быстрый способ перепроверить наличие 8.3 имен в каталоге dir /x. Ваш сайт может иметь символические ссылки на каталоги, которые все еще содержат автоматически сгенерированные имена 8.3.
Брайан
Боюсь, никаких признаков файлов 8.3 нет :(
KenD
Установка .NET 4.0 (которая не уязвима для этого эксплойта) является другим распространенным решением этой проблемы. Вы уже пробовали это?
HopelessN00b
.Net 4 установлен, и все пулы приложений на сервере настроены для использования .NET Framework v4.0.30319- см. Скриншот в редактировании выше.
KenD
4
Ух ты. Вероятно, хватается за соломинку здесь, но вы уверены, что сканер уязвимостей, который вы используете, надежен? Попробуйте другой инструмент или попробуйте выполнить атаку вручную и посмотрите, что вы видите.
HopelessN00b

Ответы:

6

Попробуйте найти существующие короткие имена файлов с помощью fsutil:

  • fsutil 8dot3name scan /s /v E:\inetpub\wwwroot

И раздеть их, если они найдены:

  • fsutil 8dot3name strip /s /v E:\inetpub\wwwroot

Также, глядя на журнал с пустой магической частью ( magic part: ""), мне интересно, может ли это быть ошибкой в ​​POC. Эта строка в config.xml выглядит как лишняя запятая после /webresource.axd:

<entry> key="magicFinalPartList">
 <![CDATA[\a.aspx,\a.asp,/a.aspx,/a.asp,/a.shtml,/a.asmx‌​,/a.ashx,/a.config,/a.php,/a.jpg,/webresource.axd,,/a.xxx]]>
</entry>

Я спросил Dev. через Twitter об этом он ответил:

Для редких случаев, когда не требуется никаких расширений. Но в последнее время это вызвало только больше проблем! Я удалю это сейчас.

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

Итак, кажется, что вы в безопасности сейчас :)

beatcracker
источник
Боюсь, что нет изменений - см. «EDIT2» в моем оригинальном сообщении :(
KenD
1
magic part: ""Интересно, глядя на журнал с пустой магической частью ( ), это может быть ошибкой в ​​POC. Эта строка в config.xml выглядит как лишняя запятая после /webresource.axd:<entry key="magicFinalPartList"><![CDATA[\a.aspx,\a.asp,/a.aspx,/a.asp,/a.shtml,/a.asmx,/a.ashx,/a.config,/a.php,/a.jpg,/webresource.axd,,/a.xxx]]></entry>
beatcracker
Это очень интересно - хотя, оглядываясь назад на ревизии, эта двойная запятая была в коде некоторое время. Удаление означает, что тест теперь выполняется без каких-либо явных ошибок ...
KenD
Ха, вы в безопасности, смотрите обновление!
битрейкер
Вся эта работа, и мы все время были в безопасности :) Спасибо за вашу помощь и за связь с разработчиком!
Кенд
1

также «ПРИМЕЧАНИЕ. Изменение записи реестра NtfsDisable8dot3NameCreation влияет только на файлы, папки и профили, созданные после изменения. На уже существующие файлы это не влияет».

Примечание. Хотя отключение создания имени файла 8.3 повышает производительность файла в Windows, некоторые приложения (16-разрядные, 32-разрядные или 64-разрядные) могут не иметь возможности находить файлы и каталоги с длинными именами файлов.

Альберт Риохас
источник
0

К сожалению, единственный способ действительно справиться с этим - это раздражающий набор вращений, в зависимости от вашей версии окон, отключающий возможность генерировать 8.3 имен.

Для вашей версии Windows:

Чтобы отключить создание имени 8.3 во всех разделах NTFS, введите в командной строке с повышенными правами fsutil.exe поведение set disable8dot3 1 и нажмите клавишу ВВОД.

Источник: http://support.microsoft.com/kb/121007

Дейв Холланд
источник
В статье, на которую вы ссылаетесь, рассказывается, как отключить создание имени файла 8.3, а не почему она решает проблему.
Майкл Хэмптон
Я уже отключил имена файлов 8.3 и не dir /xотображает короткие имена в каталоге сайта
KenD
Кен, это был метод, который ты использовал для этого?
Дейв Холланд
Да; Я также видел ссылку на параметр реестра, но fsutilкоманда, кажется, просто устанавливает этот ключ для меня.
KenD
0

Я не совсем уверен, как работает скрипт и как настроена ваша сеть, но как насчет фильтрации через что-то перед сервером IIS (даже если это просто виртуальное устройство на виртуальной машине)? А именно, вы настраиваете IPS с правилом, которое специально отбрасывает трафик, относящийся к этой конкретной проблеме?

dtbnguyen
источник