Исследование уязвимостей с помощью Metasploit Framework::Журнал СА 1.2009
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6195
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6903
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4189
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2989
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3795
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3805
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6299
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3152
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3446
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7263
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10628
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12352
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13983
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9110
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7064
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5375
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4604
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3414
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3145
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3392
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3013
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Исследование уязвимостей с помощью Metasploit Framework

Архив номеров / 2009 / Выпуск №1 (74) / Исследование уязвимостей с помощью Metasploit Framework

Рубрика: Администрирование /  Администрирование

 ПАВЕЛ ТРОИЦКИЙ

Исследование уязвимостей с помощью Metasploit Framework

Учиться никогда не поздно, а учить других – приятное занятие... Из этой статьи вы сможете узнать о том, как просто и наглядно можно продемонстрировать работу большинства уязвимостей с помощью Metasploit Framework.

Всё что ни случается в жизни – к лучшему... В одно субботнее утро мне пришлось отважно поработать. Согласитесь, не самое приятное занятие, особенно в свой выходной день. Но на ситуацию можно посмотреть и с другой стороны.

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

Люблю наблюдать за увлечённо работающими людьми. Оказалось, мой тёзка и коллега сидит за двумя своими мониторами и что-то решает. Я мягко приземлился в одно из пустующих кресел, включил чайник и стал ждать.

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

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

Второе задание было более интересным, чем первое, я постараюсь описать его вам, а далее предложить придуманное нами решение.

Закрытый код – враг народа?

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

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

Например, не все оценивают преимущества новых версий Linux, OpenOffice или браузера Mozilla Firefox (по сравнению с их закрытыми и не всегда стабильно работающими аналогами: Windows, MSOffice или IE).

Люди инертны, привыкли к чему-то и менять ничего не хотят. Рыба гниёт с головы – бывают случаи, когда руководство не допускает технический отдел к своим компьютерам (особенно ноутбукам), являясь не только источником нарушений безопасности, но и первой целью для происков конкурентов.

Цель задания состояла в том, чтобы вернуть авторитет техническому отделу, прочитать ознакомительную лекцию для персонала и провести в жизнь решения по установке и переходу на более безопасные Open Source аналоги, мотивируя это не своим желанием, а приказом руководства, стоящего над техническим отделом.

Задача, кажется, ясна, если у вас есть многолетний опыт, наверняка вы смогли в ней увидеть что-то пересекающееся из своей жизни или похожее. Давайте рассмотрим случай решения, когда хитрость идёт на пользу общему делу. Если у вас есть более интересные решения – пишите на форум журнала, обсудим!

Решение

Как действовать? Так как Глобальной сетью пользуются практически все, а она представляет немалую угрозу любому подразделению, то поставим цель – отучить пользователей использовать IE.

Если обратиться к классике, то существует не так много различных подходов к решению проблем [1, стр. 88]:

  • если сделать проверку на используемый браузер и отключить обращения IE в сеть на прокси-сервере, то это будет не самое лучшее решение, а администратора можно будет классифицировать как «маньяка»;
  • если удалить всем пользователям IE, то это будет администратор-«идиот», и проблема также не решится;
  • если пытаться пакостить пользователям, запускающим IE, это будет администратор-«фашист» – успеха он тоже не добьётся, так как будет все силы тратить на борьбу со следствием.

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

Наиболее удачно для нашей задумки подходит тип администратора «технический бандит».

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

Проверь систему на уязвимость

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

Если Nessus, Shadow Security Scanner, nmap, XSpider и другие в какой-то мере удобны и успели себя хорошо зарекомендовать, то опираться на их результаты следует с пониманием происходящего.

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

Мы попытаемся доказать эту ошибку на примере браузера IE с помощью программы Metasploit Framework.

План действий. Немного теории

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

В теории получается следующее: вы заходите на сайт XXX, а у вас вместо этого открывается окно терминала, где запускается команда «format с:».

Пример утрирован, но, если вам в это сложно поверить, к концу статьи вы сможете провести аналогичный эксперимент у себя.

The Metasploit Project

Это проект [2], созданный фирмой Metasploit LLC, содержащий полезную информацию для людей, занимающихся пополнением баз данных для СОА (систем обнаружения атак), а также исследованием уязвимостей и того, как они работают.

Цель ресурса – собрать различную информацию об известных эксплоитах и уязвимостях вместе с реализующими их кодами, чтобы эта информация была доступна администраторам безопасности и разработчикам.

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

Нам понадобится раздел Framework (см. рис. 1), посвящённый платформе, на которой можно реализовать наш план.

Рисунок 1. Раздел Framework и ссылка для скачивания

Рисунок 1. Раздел Framework и ссылка для скачивания

Ищем Download внизу и скачиваем framework-3.2.tar.gz.

Установка Metasploit Framework

Ранее программа была доступна только через CLI (интерфейс командной строки), в связи с чем была известна только в узких кругах.

Недавно появилась поддержка GUI (графического интерфейса), что сделало программу более привлекательной для менее опытных пользователей (особенно наличие версии программы под Windows). Хорошо это или плохо, сказать сложно. Мы выберем версию под Linux и GUI-интерфейс.

В качестве операционной системы взята недавно вышедшая Fedora 10. Конечно, она не без проблем. Скорее всего, через полгода – год мелкие проблемы будут решены, и она станет рабочей платформой для многих администраторов, а пока она очень подходит для наших экспериментов. Если взять более ранние версии (Fedora 8, 9), то принципиальных различий в установке быть не должно.

Для работы графического интерфейса необходима установка языка Ruby и библиотек:

  • ruby-1.8.6.287-2.fc10.i386.rpm;
  • ruby-libs-1.8.6.287-2.fc10.i386.rpm;
  • ruby-gtk2-0.18.0-2.fc10.i386.rpm;
  • ruby-libglade2-0.18.0-2.fc10.i386.rpm;
  • ruby-atk-0.18.0-2.fc10.i386.rpm;
  • ruby-cairo-1.8.0-1.fc10.i386.rpm;
  • ruby-gdkpixbuf2-0.18.0-2.fc10.i386.rpm;
  • ruby-glib2-0.18.0-2.fc10.i386.rpm;
  • ruby-gnome2-0.18.0-2.fc10.i386.rpm;
  • ruby-gnomecanvas2-0.18.0-2.fc10.i386.rpm;
  • ruby-libart2-0.18.0-2.fc10.i386.rpm;
  • ruby-pango-0.18.0-2.fc10.i386.rpm.

Сделать это можно либо вручную через команды:

rpm -ihv *.rpm

либо через:

yum install ...

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

Следующим этапом надо распаковать скачанный архив framework-3.2.tar.gz в какую-либо директорию, зайти в неё и с правами администратора запустить файл msfgui.

Права администратора (root) нужны для того, чтобы программа могла открывать сокеты на прослушивание на любом порту (например, на 80-м, протокол TCP).

Запуск программы

Загрузка длится около минуты (см. рис. 2), и на это время появятся логотип программы (см. рис. 3) и графическая среда (см. рис. 4). Программа готова к работе.

Рисунок 2. Запуск программы Metasploit Framework

Рисунок 2. Запуск программы Metasploit Framework

Рисунок 3. Логотип программы Metasploit Framework, показываемый во время запуска

Рисунок 3. Логотип программы Metasploit Framework, показываемый во время запуска

Рисунок 4. GUI программы Metasploit Framework

Рисунок 4. GUI программы Metasploit Framework

Теперь, выбирая уязвимости (в базе Metasploit Framework их немало), мы можем попытаться реализовать сервер, который сформирует код, который будет передан клиенту, для выполнения на его стороне. А далее выполним проверку клиента на уязвимость. В качестве уязвимой машины была выбрана первая находившаяся под рукой, а именно с Windows 2003 и IE 6.0 (cм. рис. 5). Кстати, некоторые администраторы, не утруждая себя, часто ищут что-то в Сети по интересующим их вопросам прямо из консоли сервера, при этом ставить альтернативные браузеры они не собираются, мотивируя это тем, что подобные выходы в Интернет «на коленке из серверной» у них редки. Замечу, чтобы скомпрометировать сервер, достаточно одного случая!

Рисунок 5. Версии ПО уязвимой машины: а) версия ОС; б) версия браузера Рисунок 5. Версии ПО уязвимой машины: а) версия ОС; б) версия браузера

Рисунок 5. Версии ПО уязвимой машины: а) версия ОС; б) версия браузера

А далее ситуация проста: главная задача – заманить жертву или всезнающего шефа на наш компьютер. В Интернете подобное решается социальным способом, то есть обходным путём. Например, с помощью размещения различных баннеров либо переадресацией с помощью popup-окошек с уже заражённых сайтов. Такое часто встречается на сомнительных сайтах (бесплатное скачивание коммерческих программ, порносайты и пр.), предлагающих кликнуть на какой-нибудь баннер.

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

Конечно, всё это многообразие действий зависит от вашей фантазии, а цель статьи лишь показать направление и что такое возможно. Поэтому мы ограничимся лишь одной уязвимостью в качестве примера и запустим какую-нибудь безобидную программу на компьютере жертвы, например «Калькулятор». Не секрет, что для написания статьи, чтобы никого не обманывать, в течение получаса пришлось перебирать уязвимости, чтобы найти работающую в данной конфигурации.

В качестве уязвимости была выбрана описанная в Microsoft Security Bulletin MS06-067 [3] – выбираем эту уязвимость в базе программы (см. рис. 6).

Рисунок 6. Настройка эксплоита под уязвимость MS06-067

Рисунок 6. Настройка эксплоита под уязвимость MS06-067

Далее жмём forward и в следующем окне выбираем действие windows/exec, (см. рис. 7), также жмём forward и попадаем в настройки.

Прописываем порт 8081 и команду для запуска на машине с уязвимым бараузером «c:\windows\system32\calc.exe» (см. рис. 8).

Рисунок 7. Выбираем windows/exec

Рисунок 7. Выбираем windows/exec

Рисунок 8. Настройка порта и ввод команды для запуска на удалённой машине

Рисунок 8. Настройка порта и ввод команды для запуска на удалённой машине

Замечание: если вы хотите прописать 80-й порт, а у вас работает httpd-сервер, то не забудьте его остановить, например, командой:

# service httpd stop

или:

# /etc/rc.d/init.d/httpd stop

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

После подтверждаем настройки (см. рис. 9) и в списке висящих заданий (jobs) у нас появляется новая задача (см. рис. 10).

Рисунок 9. Окно подтверждения настроек задания

Рисунок 9. Окно подтверждения настроек задания

Рисунок 10. Запущена новая задача

Рисунок 10. Запущена новая задача

Далее мы можем посмотреть в логи – вкладка Output и попытаться обратиться с машины жертвы на наш сервер. Предварительно следует не забыть прописать разрешающие правила для пакетного фильтра, например:

# iptables -I INPUT -i eth0 -p tcp –sport 1024:65535 –dport 8081 -j ACCEPT

# iptables -I OUTPUT-o eth0 -p tcp –dport 1024:65535 –sport 8081 -j ACCEPT

Логи:

 

12:28:08 - Initialized the Metasploit Framework GUI.

12:45:38 - ms06_067_keyframe [*] Launching exploit windows/browser/ms06_067_keyframe...

12:45:39 - ms06_067_keyframe [*] Using URL: http://0.0.0.0:8081/

12:45:39 - ms06_067_keyframe [*] Local IP: http://127.0.0.1:8081/

12:45:39 - ms06_067_keyframe [*] Server started.

12:46:04 - ms06_067_keyframe [*] Sending Internet Explorer Daxctle.OCX KeyFrame Method

Heap Buffer Overflow Vulnerability to 192.168.0.3:1603...

12:46:28 - [*] Stopping exploit: windows/browser/ms06_067_keyframe

12:46:28 - ms06_067_keyframe [*] Server stopped.

 

Окно машины жертвы (см. рис. 11).

Рисунок 11. Окно уязвимой машины, на которой при обращении к серверу попутно запустилась сторонняя программа – калькулятор

Рисунок 11. Окно уязвимой машины, на которой при обращении к серверу попутно запустилась сторонняя программа – калькулятор

Заключение

Конечно, данный пример тривиален, и для того чтобы поразить окружающих или вашего шефа, лучше его модифицировать, учитывая специфику. Мы так устроены, что какое-либо действие (изменения) привлекают нас больше, поэтому для людей, не очень понимающих, как осуществляется переполнение буфера, лучше вместо калькулятора запустить архиватор с ключами, чтобы в окошке была анимация, например «бежало» число процентов сжатых файлов из папки «Мои документы\конфиденциально». Тогда и сказать, что этот сайт нацелен на сбор информации с компьютера вашего шефа, будет проще и ваши аргументы будут весомее. Раз сайт запустил архиватор, а не какой-нибудь калькулятор, то проблема намного серьёзнее. Хотя надеюсь, что большинство читателей, читая эти строчки, улыбнутся лишний раз.

Также эту статью и пример можно использовать в образовательных целях. Чем не пособие для преподавателей на курсах по безопасности или в вузах по проведению демонстраций или лабораторных работ? Выполнять такую лабораторную работу студентам будет куда интереснее, чем обсчитывать не всегда понятные результаты.

Если вы задумались, а не пора ли вам обновить/сменить систему или бразуер, то значит, вы на верном пути!

  1. Робачевский А. М. Операционная система UNIX. – СПб.: БХВ-Петербург, 2002, ISBN 5-8206-0030-4.
  2. Сайт проекта The Metasploit Project, содержащего информацию и эксплоиты по различным уязвимостям, – http://metasploit.com.
  3. Уязвимость Microsoft Security Bulletin MS06-067 – http://www.microsoft.com/technet/security/Bulletin/MS06-067.mspx.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru