135 порт exploit linux

Тестирование на проникновение — Взлом XP

Наш подход к тестированию на проникновение будет очень простым. Я уже написал пост об идеальном способе начать тестирование на проникновение. Но мы этим способом пользоваться не будем. Я обучу вас тестированию на проникновение так же, как когда-то изучил его сам: путём реального проникновения и использования уязвимостей. Конечно, мы не сможем взломать Windows 7 или Windows 8 со свежими обновлениями в первом же руководстве, но у нас получится осуществить взлом непропатченной машины с Windows XP. Для этого нам потребуется машина-жертва. Тестирование данного метода на чужом компьютере нелегально, и я этого делать не советую. Настоятельно рекомендую вам создать собственную виртуальную машину и тестировать эксплойты только на ней.

Что вам понадобится для взлома XP

Знания

  • Базовые термины тестирования на проникновение (рекомендую ознакомиться со статьей по этой ссылке, поскольку в дальнейшем я буду свободно использовать эти термины без всяких разъяснений)
  • Сложный способ тестирования на проникновение (большой объём продвинутого материала, который поможет вам стать прекрасным пентестером, если у вас хватит терпения на то, чтобы всё это прочитать и понять)
  • Инструменты VMWare (без инструментов VMWare у вас не будет Kali linux (атакующая машина) и непропатченной версии XP (цель атаки), одновременно работающих на одном компьютере)

Виртуальные машины

  • Kali linux (Нажмите на эту ссылку, чтобы прочитать подробное руководство)
  • Windows XP (После прочтения вышеприведённого руководства по установке Kali linux, установка XP на виртуальную машину не должна составить для вас особого труда. Ниже вы найдёте несколько скриншотов этого процесса)

В ситуации с Windows XP есть один подвох. Kali linux — бесплатная операционная система, а Windows XP — нет. Поэтому вам придётся её купить. Я категорически против пиратства и не буду содействовать ему в своём блоге. Просто убедитесь, что приобретаете непропатченную версию Windows XP с пакетом обновлений SP1. Если система окажется пропатчена, эксплойт не сработает. Попробуйте поискать на своих полках старый диск с XP, который вы купили много лет назад.

Взгляд на фреймворк Metasploit

Запуск фреймворка

«В соответствии с политикой сетевых служб Kali Linux, никакие сетевые сервисы, включая сервисы, обращающиеся к базам данных, не могут работать во время загрузки. Поэтому, чтобы запустить Metasploit с поддержкой базы данных, нам потребуется проделать кое-какую работу». Проще говоря, для работы Metasploit требуются сервисы, которые не запускаются вместе с загрузкой системы. Вот несколько команд, которые вам нужно будет выполнить в консоли, перед стартом metasploit:

(Metasploit использует PostgreSQL в качестве базы данных, поэтому его нужно запустить в первую очередь.)

После запуска PostgreSQL можно переходить к работе с самим сервисом metasploit. Во время первого запуска он создаст пользователя базы данных с логином msf3 и базу данных под названием msf3. При необходимости, сервис также запустит Metasploit RPC и веб-сервер.

Теперь мы, наконец, готовы к старту фреймворка metasploit.

Осмотр целей

На данный момент мой фреймворк metasploit работает в Kali, запущенной на Vmware, которая в свою очередь установлена на Windows 8. Вдобавок к этому, одновременно с Kali работает другая виртуальная машина с Windows XP Sp3. Нам нужно, чтобы фреймворк Metasploit увидел эти машины. Для этого мы проведём сканирование портов.

Сканирование портов

Metasploit обладает отличной функцией сканирования, которая называется auxiliary scanner. Вот команда, которую нужно выполнить для запуска сканирования.

Чтобы воспользоваться этой функцией, введите следующий код:

Выполните команду show options чтобы увидеть список доступных опций

Теперь нам нужно изменить несколько настроек. Во-первых, следует уменьшить число сканируемых портов

Во-вторых, нам нужно указать IP адрес для сканирования. Этот шаг сложнее предыдущих, поскольку IP может быть разным. Вот что вам необходимо сделать. Зайдите в свою виртуальную машину с XP (которую вы пытаетесь взломать). Запустите там командную строку и введите

В появившихся на экране результатах, найдите IP машины. Именно его и нужно указать в качестве опции RHOSTS.

В моём случае значение IP было таким — 192.168.63.131

Теперь вернитесь к своей машине с Kali и введите вот такую команду (IP замените на свой собственный)

Вот как это должно выглядеть

На этом скриншоте есть небольшая опечатка. Я написал RHOSTS неправильно. Убедитесь, что в конце стоит буква «s»

Всё готово. Снова выполните команду show options, чтобы увидеть внесённые вами изменения. Наконец, введите

Читайте также:  Редактор html кода linux

Начнётся процесс сканирования. Через некоторое время вы увидите информацию о том, какие tcp открыты и уязвимы к атакам. Если вы использовали пропатченную версию Windows, уязвимых портов не будет.

Фактически, это означает, что все порты закрыты. В этом случае вы ничего не сможете сделать. Но если вам повезёт, и машина окажется уязвимой, на экране появятся доступные порты. В нашем случае, я просто отключил брандмауэр на машине с windows и вновь запустил модуль auxiliary.

После этого появилось 3 открытых порта. Если вы работаете с какой-то другой версией XP, вам тоже можете потребоваться отключить брандмауэр, чтобы увидеть открытые порты.

Теперь мы знаем, что IP адрес нашей цели 192.168.63.131, а порты 135 139 и 445 открыты.

Сканирование портов в реальных условиях

При тестировании на проникновение в реальной среде, у вас нет информации об IP адресе, открытых портах и даже операционной системе цели. В таких случаях мы можем использовать сканер портов Nmap, которые гораздо лучше auxiliary. Вернёмся к нему позже.

Поиск эксплойтов

Это очень важный шаг. Нам нужно выяснить, какие эксплойты работают на атакуемой операционной системе. В нашем случае мы уже знаем, что делать. Используйте команду back, чтобы выйти из сканера. Найдите dcom на msfconsole.

Это очень известный эксплойт для Windows.

Скопируйте номер эксплойта (3). В следующей строке введите

Теперь вы используете один из самых знаменитых эксплойтов для Windows. Снова введите show options

Укажите адрес 192.168.63.131 в качестве значения RHOST (подставьте адрес своей цели)

Кроме этого, укажите начинку.

Укажите set LPORT 135 (такой же как и для ms03_026_dcom (RPORT 135)

Настало время самой лучшей части

Вы успешно взломали компьютер, работающий под управлением Windows XP. У вас есть доступ к открытой оболочке командной строки с административными привилегиями. Короче говоря, теперь это ваш компьютер. Попробуйте что-нибудь сделать со своими новыми возможностями. Подробнее на этом мы остановимся в следующем руководстве.

Итак, во время данного урока мы подготовили среду для тестирования на проникновение и успешно взломали машину с XP.

4 thoughts to “Тестирование на проникновение — Взлом XP”

Ребят, для той же XP не плохо было бы описать эксплоит ms08_067_netapi с нагрузкой meterpreter и разбором команд к нему. Годная статейка получится.

Нашел пару неточностей в статье, исправьте , пожалуйста.
1) после того как будет указан пейлоад (set PAYLOAD windows/shell_bind_tcp), нужно указать set LPORT 135 (такой же как и для ms03_026_dcom (RPORT 135)

Спасибо, Дмитрий. Исправление внесли.

Сделал всё по инструкции. После слов Sending exploit… пишется, что соединение открыто на таких-то портах. И всё, дальше ничего. Возможно ли это потому что удаленная машина в спящем режиме? Или в таким случае не открылась бы сессия?

Источник

Продвинутое туннелирование: атакуем внутренние узлы корпоративной сети

В этой статье будут рассмотрены сценарии атаки защищенных сегментов корпоративной сети с помощью pivoting-техник, metasploit framework и proxychains.

Многослойная сетевая архитектура создается для защиты важных корпоративных сервисов согласно концепции Defense-in-Depth, которая занимает важное место в сфере информационной безопасности. Другими словами, критичные для компании системы не могут располагаться в той же сети, что и все остальные. В данной статье я покажу на примерах, как атакующий может получить доступ к «скрытой» сети, не имея к ней прямого доступа на первых этапах тестирования на проникновение, используя методы pivoting’а или продвинутого туннелирования.

Маршрутизация

Процесс, во время которого устройства в различных сетях определяют, как им связываться друг с другом называется маршрутизацией. Маршрутизация обычно происходит на устройствах, называемых маршрутизаторами или роутерами. Они перенаправляют сетевые пакеты между узлами сети, используя таблицу маршрутизации, пока те не достигнут конечной точки назначения. Вообще говоря, маршрутизацию могут выполнять не только роутеры, но и обычные операционные системы, установленные на рабочих компьютерах.

Согласно примеру на схеме выше, для успешной маршрутизации между подсетями 192.168.1.0/24 и 192.168.10.0/24, роутер должен иметь соответствующую запись в своей таблице маршрутизации. Эта запись говорит о том, как сетевой пакет должен попадать из сети 192.168.1.0/24 в сеть 192.168.10.0/24 и наоборот.

Путь сетевого пакета можно представить так (начинается путь с узла, отправляющего пакет):

1. Может ли целевой IP-адрес находиться в моей подсети?
— Если да, то доставить пакет по адресу назначения.
— Если нет, то отправить пакет на шлюз.
2. Когда маршрутизатор получает пакет, он проверяет свою таблицу маршрутизации.
3. Есть ли у меня запись об узле или подсети, которой предназначен IP-пакет?
— Если да, то отправить пакет в сеть назначения.
— Если нет, то отправить пакет на следующий шлюз.
4. Тот же процесс повторяется на всех других роутерах.
5. В итоге пакет попадает на маршрутизатор, отвечающий за выход в Интернет из корпоративной сети, и пакет отправляется в Интернет.

Читайте также:  Разбивка диска для линукс минт

Pivoting

Pivoting, это техника, с помощью которой организовывается доступ к тем сетям, к которым мы не имеем доступ при обычных обстоятельствах и полученный с использованием скомпрометированных компьютеров. Сетевая изоляция будет бесполезна в случае, если мы скомпрометируем узел сети, имеющий доступ во все изолированные подсети. Таким образом, атакующий может использовать возможности маршрутизации на скомпрометированной машине для доступа к внутренним корпоративным ресурсам. Каждый запрос, который будет сделан к внутренней сети, будет проходить через скомпрометированный хост, обычно называемый pivot. Другими словами мы получаем туннель во внутреннюю сеть для наших пакетов.

Как видно на схеме выше, устройство в центре имеет два сетевых интерфейса, чтобы получать доступ в обе сети, 192.168.1.0/24 и 192.168.10.0/24. При нормальной работе между этими двумя сетями маршрут пролегает только через маршрутизатор с сетевыми интерфейсами 192.168.1.1 и 192.168.10.1. Согласно архитектуре, авторизованный пользователь устройства в центре схемы должен иметь доступ к некоторым сервисам в DMZ.

Компрометация первого узла проброса (pivot) и проброс портов

Согласно сценарию атаки, мы получили шелл метерпретера на машине RD, которая находится в DMZ и, как выяснилось, имеет два сетевых интерфейса.

Как мы видим — роутер на схеме не имеет маршрута между нужными злоумышленнику сетями.

Далее, согласно сценарию, атакующий хочет получить доступ к подсети за интерфейсом 7.7.7.0/24. Для этого ему нужно задать правило маршрутизации для хоста RD, т.е. превратить скомпрометированный хост в pivot.

Это очень просто сделать средствами полезной нагрузки (payload) метерпретер. Следующая команда может быть использована для создания туннеля через существующую сессию метерпретера.

Согласно заданному правилу, пока сессия метерпретера с ID 2 запущена, другие модули Metasploit Framework имеют доступ к сети 7.7.7.0/24. Другими словами, после выполнения команд выше, IP адрес хоста JC будет определен, если мы воспользуемся таким модулем, как arp_scanner. JC – это хост, работающий во внутренней сети и имеющий IP-адрес 7.7.7.20.

Мы узнали IP-адреса доступных хостов в сети 7.7.7.0/24.

Пробрасываем nmap через туннель

Чтобы пробросить nmap, маршрут должен быть сконфигурирован в metasploit, а сама конфигурация должна быть доступна через socks4 прокси. Для этого используем модуль socks4a в metasploit:

Теперь, используя утилиту ProxyChains, любое TCP соединение может быть отправлено к цели назначения через TOR, SOCKS4, SOCKS5, HTTP/HTTPS прокси. Несколько прокси-серверов могут быть построены в цепочку. В дополнение к анонимности, при использовании такой схемы приложения могут получать доступ к обнаруженным внутренним сетям.

Прежде чем использовать ProxyChains, нужно произвести небольшую настройку в файле /etc/proxychains.conf. Для этого нужно отредактировать последнюю строку в файле.

Теперь можно выполнить сканирование утилитой nmap через созданный нами socks4 прокси-сервер:

На основании результатов сканирования, мы можем сказать, что нам доступны SSH и HTTP сервисы на хосте 7.7.7.20. Прежде чем двигаться дальше, мы рассмотрим еще одну технику, часто применяемую во время pivoting-а, технику проброса портов или port forwarding.

Проброс портов

Проброс портов – это один из базовых шагов во время туннелирования. Данная техника используется, когда сервис внутри обнаруженной сети недоступен напрямую. Это происходит потому что наша маршрутизация однонаправленная. Мы знаем, как получить доступ к внутреннему сервису, но сервис не имеет соответствующего маршрута к машине атакующего.

Поэтому мы перенаправим порт с машины атакующего на порт целевого сервиса через сессию метерпретера. Этот проброс порта будет работать, пока существует процесс метерпретера на скомпрометированной машине (на pivot-е).

Стоит заметить, что туннель, который был создан при помощи autoroute существует только к контексте фреймворка metasploit и доступен для других модулей. Но если мы хотим использовать туннель другими утилитами, выходящими за пределы фреймворка, нам нужны инструменты вроде proxychains и техники, такие как port forwarding.

Проброс порта может быть выполнен при помощи модуля portfwd, который является одним из post-модулей фреймворка Metasploit.

Когда мы будем отправлять запрос на подключение к нашему локальному порту 2323, вводя в браузере соответствующий URL, наш запрос будет перенаправлен на порт 80 узла 7.7.7.20 через Metasploit Framework. Ранее при помощи nmap и proxychains мы обнаружили, что во внутренней сети есть веб-сервис, работающий на TCP порте 80. Чтобы получить к нему доступ всеми доступными утилитами Kali Linux, мы должны пробросить наш локальный порт 2323 на удаленный порт 80, узла 7.7.7.20.

Теперь попробуем получить доступ к веб-сервису Eash File Sharing Web Server.

SSH-брутфорс через pivoting

Как вы помните, мы обнаружили так же SSH сервис на машине 7.7.7.20. Мы можем провести атаку на перебор учетных данных (брутфорс) через наш туннель. Для этого будем использовать вспомогательный модуль SSH_enumusers:

В результате выполнения команды мы обнаружили множество пользователей.

Читайте также:  Пароль линукс минт по умолчанию

В дополнении к вспомогательным модулям Metasploit Framework, для атаки могут быть использованы такие инструменты как Hydra. Мы запустим брутфорс при помощи Hydra через ProxyChains. Весь траффик будет проходить через туннель, работающий на скомпрометированном узле RD.

Далее подключиться по SSH можно через прокси-сервер с логином admin и паролем 123456, полученными при помощи Hydra.

Получение доступа ко второму узлу pivot

Во время сканирования nmap сети 7.7.7.0/24 были обнаружены хосты, уязвимые к MS08-067 и BoF уязвимость в приложении Easy File Share. Доступ ко второму узлу pivot может быть получен с использованием одной из уязвимостей. Другой опцией будет являться продолжение прокладывания туннеля при помощи техники SSH Port Forwarding, но здесь мы будем использовать MS08-067 и BoF.

Уязвимость MS08-067 и Bind TCP

Metasploit Framework имеет модуль для эксплуатации уязвимости exploit/windows/smb/ms08_067_netapi.
Важно заметить, что мы используем пейлоад bind_tcp, т.к. у нас не определены маршруты в обе стороны и целевая система не сможет выполнить обратное подключение на машину атакующего, т.к. не имеет соответствующего маршрута. Таким образом, целевая машина будет просто ждать подключения на порт, который мы укажем в настройках пейлоада bind_tcp. Ниже на схеме указана последовательность шагов при использовании прямого и обратного подключений.

Выберем модуль для эксплуатации MS08-067, пейлоад bind_tcp и скомпрометируем вторую машину:

Уязвимость Easy File Share BoF

Также можно воспользоваться другой найденной уязвимостью в приложении Easy File Share. Компрометация машины может быть произведена следующим образом:

Ниже схематично представлена атака:

Так как мы получили доступ на машину 7.7.7.20, мы можем продолжить сбор информации. Как оказалось, машина JC так же имеет два сетевых интерфейса. Это означает, что мы нашли вторую сеть, к которой не имеем прямого доступа (8.8.8.0/24).

Двойной удар pivoting

Мы обнаружили сеть 8.8.8.0/24. У нас уже есть маршрут между 172.16.0.0/24 и 7.7.7.0/24 через скомпрометированную машину RD. В текущей конфигурации пакеты, приходящие из сети 172.16.0.20 на хост JC (вторая скомпрометированная машина) сперва идут на хост RD (первая скомпрометированная машина) и RD уже транслирует их на машину JC. Если атакующий (172.16.0.20) теперь хочет получить доступ к новой сети 8.8.8.0/24, должно быть определено новое правило маршрутизации. Чтобы использовать инструменты за пределами Metasploit Framework мы должны запустить новый socks4 прокси-сервер, чтобы соединить два pivot-узла, после чего задать новый прокси сервер в настройках proxychains.

Сетевые пакеты с адресом назначения 8.8.8.9, отправленные с машины атакующего (172.16.0.20) должны пройти через две скомпрометированные машины:

  • RD: Я не знаю как получить доступ к IP 8.8.8.9. Но я знаю роутер, который сможет получить доступ к этому IP. Я могу перенаправить пакет ему.
  • JC: Я знаю как перенаправить пакеты из сети 7.7.7.0/24 в сеть 8.8.8.0/24.

В результате мы получаем такую схему:

Всемогущий ProxyChains

Инструмент ProxyChains создает туннель через цепочку прокси-серверов и передает по нему пакет до адреса назначения. Последним шагом будет создание socks4 прокси-сервера, слушающего порт 1081 для сети 8.8.8.0/24.

Остается адаптировать настройки proxychains в файле /etc/proxychains.conf. Опция Dynamic Chain используется, чтобы пакеты шли строго по цепочке прокси-серверов, указанному в файле конфигурации proxychains, в порядке сверху вниз.

Теперь при помощи proxychains мы можем просканировать хост 8.8.8.9 через наш туннель:

Как видите, пакеты проходят через два прокси-сервера и, в конечном счете, достигают цели.
В результате сканирования можно обнаружить уязвимую версию vsftpd на хосте 8.8.8.9. Выполним следующие шаги, чтобы скомпрометировать цель:

Меры противодействия

Незащищенные хосты, имеющие два сетевых интерфейса, среди которых один доступен из DMZ, должны быть удалены из сетевой инфраструктуры. Хосты, находящиеся в DMZ должны быть доступны только из DMZ.

Заключение

Атакующий обнаружил две скрытые сети в результате следующих шагов:

  1. Атакующий получил доступ к машине RD, которая находилась в той же сети, что и атакующий.
  2. Было обнаружено, что хост RD имеет два сетевых интерфейса и имеет доступ в скрытую сеть.
  3. Атакующий определил правило маршрутизации при помощи post-модуля Metasploit autoroute.
  4. Проведено ARP и NMAP сканирование сет 7.7.7.0/24 и была обнаружена машина JC.
  5. JC имела две публичные уязвимости: Easy File Share и MS08-067.
  6. Успешная эксплуатация MS08-067 позволила атакующему получить доступ к машине 7.7.7.20
  7. В результате сбора информации, оказалось, что машина JC также имеет два сетевых интерфейса и имеет доступ во вторую скрытую сеть.
  8. Второй правило маршрутизации было определено через сессию метерпретера на хосте JC (7.7.7.20).
  9. Было проведено ARP и NMAP сканирование в отношении сети 8.8.8.0/24.
  10. В результате сканирования был обнаружен уязвимый сервис vsftp на машине 8.8.8.9 (имя хоста SK).
  11. Машина SK была скомпрометирована.

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

Источник

Оцените статью