Як користуватися Metasploit Framework: можливості, інструкція по застосуванню

220 0 Новини високих технологій

Metasploit Framework (MSF) - безкоштовне рішення для тестування можливості несанкціонованого проникнення в комп'ютерну систему з відкритим вихідним кодом Rapid7. Використання MSF варіюється від систем захисту від проникнення до вивчення вразливих точок, що представляють реальну загрозу. Metasploit усуває необхідність написання окремих експлойтів, тим самим економлячи користувачам час і зусилля. Програма представляє набір шелл-кодів, інструментів фаззинга, корисних навантажень і кодувальників, об'єднаних в єдину платформу. Вона доступна на платформах Linux, Windows, OS X. Її головна мета - перевірити комп'ютерну захист організації, створюючи штучні атаки, провокуючи систему, щось на кшталт «порушити, захищаючи». Metasploit пропонує широкий спектр інструментів і утиліт для таких атак на всі операційні системи, включаючи Android і iOS.


Історія захисту публічного коду

Як користуватися Metasploit Framework: можливості, інструкція по застосуванню
Metasploit був спочатку розроблений і задуманий HD Moore (Мур) – експертом з мережевої безпеки, програмістом з відкритим вихідним кодом і хакером. Він став розробником MSF, пакету програмного забезпечення для тестування на проникнення, а також засновником Metasploit Project. Мур обіймав посаду головного наукового співробітника в охоронній фірмі Rapid7 в Бостоні, штат Массачусетс, постачальника програмного забезпечення для захисту даних і аналітики, а також хмарних рішень. Він випустив своє перше видання Msf на основі Perl в жовтні 2003 року з загальною кількістю 11 експлойтів і залишався головним архітектором Metasploit Framework аж до звільнення. Він оголосив про свій відхід з Rapid7 в 2016 році, перейшовши в фірму венчурного капіталу.


Багато користувачів внесли свій внесок у розвиток MSF. Основне інтелектуальне вливання було в 2006 році, після чого база поповнилася 150+ експлойта. Потім у 3 версії відбулися серйозні зміни. Вона була перепрограмована в Ruby, стала кроссплатформної й володіла унікальним властивістю - нові версії і модулі легко завантажувалися і додавалися в ПО. У 2009 році Rapid7 придбала весь проект, власником якого є досі. Базова архітектура Metasploit не змінилася, а версії так і залишилися безкоштовними.

Корисна термінологія

Як користуватися Metasploit Framework: можливості, інструкція по застосуванню
Початок роботи з Metasploit стартує після установки програми. ЗА легко допоможе встановити файлову систему і бібліотеки, так як воно інтуїтивно зрозуміло. Metasploit заснований на мові сценаріїв, тому має папку містять сценарії «meterpreter» та інші, необхідні платформою. MSF можна отримати через GUI, а також версію командного рядка. Загальні терміни:
  • Вразливість - слабкість в цільовій системі, завдяки якій може успішно статися проникнення.
  • Експлойт, як тільки уразливість стає відомою, зловмисник використовує її і проникає в систему за допомогою коду.
  • Payload, корисне навантаження, набір завдань, ініційованих зловмисником після експлойта, щоб зберегти доступ до скомпрометованої системі.
  • Single - автономна корисне навантаження, виконує певне завдання.
  • Stager - полегшує доставку корисних функцій і створює мережне з'єднання між комп'ютерами зловмисника і жертви. Перед тим як користуватися Metasploit завантажують функції, через з'єднання, наприклад, VNC і meterpreter.
  • Є і інші мережеві і системні команди, які потрібно вивчити для успішної роботи з ПЗ. Захоплення натискання клавіш легко виконується за допомогою набору команд інтерфейсу «stdapi». Keyscan_start запускає службу, а keyscan_dump показує захоплені натисканням клавіші.

    Графічні інтерфейси

    Як користуватися Metasploit Framework: можливості, інструкція по застосуванню
    Новий графічний інтерфейс для Metasploit був доданий ScriptJunkie в репозиторій SVN. Перша версія розроблена у таких рамках, що фреймворк - це і функціональність, і довговічність. Новий графічний інтерфейс є мультиплатформенним і заснований на Java. Проект Netbeans розміщений в каталозі external /source /gui /msfguijava /для тих, хто хоче зробити свій внесок і має навички роботи з Java і користувацькими інтерфейсами. GUI можна запустити, викликавши скрипт «msfgui» в базі каталогу MSF. Metasploit поставляється в різних інтерфейсах:
  • Msfconsole - інтерактивна оболонка, для виконання багатокористувацьких завдань.
  • Msfcli - викликає функції msf з самого терміналу /cmd, не змінюючи його.
  • Msfgui - графічний інтерфейс.
  • Armitag - ще один графічний інструмент, написаний на Java, для управління пентестом, проведеним з MSF.
  • Веб-інтерфейс спільноти Metasploit, наданий rapid7 - це фреймворк, що дозволяє виконувати легке тестування.
  • CobaltStrike - ще один графічний інтерфейс з деякими додатковими функціями для пост-експлуатації та звітності.
  • Модулі Auxiliary, Encoders

    Експлойт (Pws) - це метод, за допомогою якого зловмисник використовує уразливість в системі, службах, додатках і завжди супроводжуються корисними навантаженнями. Payload, корисна успішна навантаження - фрагмент коду, що виконується в експлуатованої системи. Після роботи експлойта платформа впроваджує корисне навантаження через вразливість і запускає її у цільовій системі. Таким чином, зловмисник потрапляє всередину системи або може отримати дані з скомпрометованої системи, перед тим як використовувати Metasploit корисну навантаження.
    Auxiliary допоміжний модуль надає додаткові функціональні можливості, такі як фаззинг, сканування, реконт, дос-атака та інші. Допоміжне сканування банерів або операційних систем не виконує DOS-атаку на ціль. Він не вводить корисну навантаження, як експлойти, тому не зможе отримати доступ до системи за допомогою цього модуля. Encoders - кодери використовуються для маскування модулів, щоб уникнути виявлення з допомогою механізму захисту, такого як антивірус, брандмауер або широко застосовується, для створення чорного ходу.

    Інструкції Shellcode і Listener

    Shellcode - набір інструкцій, що використовуються в якості корисного навантаження при експлуатації, написана на асемблері. У більшості випадків командна оболонка або оболонка Meterpreter будуть надані після того, як серія команд буде виконана цільової машиною.

    Інструкція «Слухач» прослуховує з'єднання з корисного навантаження, введеної в скомпрометовану систему. Модуль Post, як і випливає з назви, застосовуються для подальшої експлуатації. Після злому заглиблюються в систему або встановлюють в якості центру для атаки на інші системи. Nop - No Operation, широко відома функція, завдяки процесорів x86 пов'язана з шелл-кодом і інструкціями на машинній мові, запобігає збій програми при використанні операторів переходу в шелл-коді. Nops зациклює інструкції машинного мови з самого початку, якщо вони потрапляють в неприпустиму область пам'яті після видачі оператора переходу і не допускає збій корисного навантаження. Це дуже просунута концепція, і розробник повинен розуміти кодування оболонки, перед тим як користуватися Metasploit з перевагами «nops».

    Керівні принципи

    Як користуватися Metasploit Framework: можливості, інструкція по застосуванню
    Велика частина підтримки Metasploit в співтоваристві з відкритим вихідним кодом надається у вигляді модулів. Вони повинні проходити msftidy.rb і дотримуватися керівних принципів Contributing.md, обидва поширюються з MSF. Модулі повинні мати чітку і очевидну мету: експлойти призводять до оболонці, поштові до підвищення привілеїв, допоміжні відносяться до категорії «Все інше», але навіть вони обмежені чітко визначеної завданням, наприклад, збиранням інформації для використання. Вони не повинні активувати інші, враховуючи складність настройки кількох корисних навантажень. Такі дії є задачами автоматизації для зовнішнього інтерфейсу, встановлених перед тим, як запустити Metasploit.
    Модулі відмови в обслуговуванні повинні бути асиметричними і, принаймні, мати деякі цікаві особливості. Якщо це порівняти з синфлудом, то не повинно бути включено. Якщо це порівняти з Baliwicked, то, навпаки, повинно бути включено. Модулі, slowloris, включаються з певним обгрунтуванням.

    Клієнтські експлойти Windows

    MSF призначає кожному користувачеві унікальний SID - ідентифікатор безпеки. Кожен потік має пов'язаний первинний токен, що містить інформацію про таких аспектах, як привілеї і групи. Використовуючи маркер уособлення, процес або потік можуть тимчасово прийняти ідентичність будь-якого іншого юзера. Як тільки витрачений ресурс, потік знову приймає основний маркер. Схеми атаки по жетонах:
  • Локальне підвищення привілеїв. Якщо в системі з аутентифікацією адміністратора запускається процес з низькими привілеями, для адміністратора доступний токен уособлення. Якщо зловмисник припинить використовувати який-небудь експлойт, він отримає доступ до токена уособлення з правами адміністратора.
  • Підвищення привілеїв домену. Тут зловмисник переходить на інші машини по мережі, застосовуючи маркер уособлення.
  • Це може бути виконано інкогніто в консолі «meterpreter», яку встановлюють перед тим як користуватися Metasploit . Застосовують команди, такі як «list_tokens, steal_tokens» і «impersonate_token», для виконання операцій. Якщо мета знаходиться за брандмауером або NAT, зловмисник повинен надати жертві посилання, яка перенаправляє його на свій комп'ютер - примірник Metasploit. Це необхідно, оскільки безпосереднє зондування мети неможливо.

    Клієнт і сервер на одній машині

    Можна використовувати версію Metasploit російською для Windows, щоб виконувати всі тести на одній машині. Платформа MSF вимагає прав адміністратора для установки Windows. Вона буде встановлена за замовчуванням в папку c: metasploit. AV на комп'ютері буде генерувати попередження при установці MSF в Win, тому створюють правильні виключення. Створення Windows повільніше, ніж в Linux. Для створення 32-бітних і 64-бітових виконуваних файлів для введення корисного навантаження Meterpreter застосовує MSFVenom (c:metasploitmsfvenom.bat). Перелік команд:
  • «msfvenom.bat –help» покаже параметри;
  • «msfvenom.bat –list payloads» покаже корисні навантаження;
  • «msfvenom.bat –help-format» покаже всі вихідні формати.
  • Виконувані формати будуть генерувати програми і сценарії, в той час як формати перетворення будуть просто створювати корисне навантаження. Використовують «msfvenom.bat» для створення 32-bit і 64-бітного виконуваного файлу з корисним навантаженням «meterpreter_reverse_http», який визначають перед тим як користуватися Metasploit. Якщо не вказана платформа і архітектура, «msfvenom» обере їх у залежності від корисного навантаження.
    Як користуватися Metasploit Framework: можливості, інструкція по застосуванню
    Обробник MSF тепер чекає підключення, запускають «meterpreter-64.exe» з правами адміністратора. Після запуску meterpreter-64.exe підключиться до обробника і буде чекати інструкцій.

    Інструмент тестування безпеки

    MSF є програмною платформою для розробки, тестування та виконання експлойтів. Вона може використовуватися для створення інструментів безпеки і застосування модулів, а також в якості системи на проникнення для Android.
    Як користуватися Metasploit Framework: можливості, інструкція по застосуванню
    Команди, необхідними для виконання:
  • Створюють АПК і запускають експлойт multi/handler.
  • Відкривають Kali Linux OS на Oracle VM VirtualBox. Логін за замовчуванням: root/toor.
  • Входять у віртуальну машину Kali Linux, використовуючи облікові дані за замовчуванням.
  • Перевіряють IP-адресу машини Kali. Вводять команду ifconfig.
  • Відкривають термінал в Kali Linux і записують IP-адресу системи.
  • Відкривають MSF з терміналу: msfconsole.
  • Виконують команду: msf > use exploit/multi/handler.
  • Встановлюють LHOST і LPORT командою «set».
  • Запускають слухача. Команда: msf> exploit.
  • У Metasploit команда use використовує конкретну модель фреймворка. У цьому випадку потрібен експлойт «multi /handler», який полегшує прослуховування вхідного символ узагальнення з'єднання. Команда «search» в «msfconsole» застосовується для пошуку за ключовим словом. У цій команді знаходять навантаження Android meterpreter. Поряд з командами «use» і «search», «set» - ще одна команда, використовувана в MSF для встановлення конкретної корисної навантаження для експлойта - «show options», щоб побачити різні вхідні дані.

    Установка програми для Android

    Metasploit termux - це додаток для Android, що підтримує середовище Linux. Щоб установити, виконують такі дії:
  • Встановлюють Termux Google Play-Store.
  • Вводять команду «apt update».
  • Оновлюють команду «apt install curl».
  • Вводять «cd $ HOME».
  • Після завершення завантаження вищевказаного файлу вводять «ls», відкриється файл «.sh».
  • Вводять цю команду «chmod + x metasploitTechzindia.sh».
  • Запускають скрипт по команді типу «sh metasploitTechzindia.sh».
  • Вводять "ls".
  • Знаходять папку «Metasploit-framework».
  • Відкривають папку «cd yourfoldername».
  • Вводять команду «ls».
  • Вводять «./msfconsole» для запуску MSF.
  • Огляд веб-інтерфейсу MSF

    Веб-інтерфейс на основі браузера містить робочий простір, яке використовують для налаштування проектів та виконання завдань пентестирования і надає навігаційні меню для доступу до сторінок конфігурації модуля. Користувальницький інтерфейс працює в наступних браузерах.
    Як користуватися Metasploit Framework: можливості, інструкція по застосуванню
    З його допомогою виконується запуск сканування виявлення, запуск експлойта проти мети, створення звіту, настройка системних налаштувань та виконання адміністративних завдань. Кожна має свою власну сторінку конфігурації, яка відображає всі параметри і настройки. В інтерфейсі відображаються поля, необхідні для введення даних, параметри прапорців, які можна включити або відключити в залежності від вимог тесту, і спадні меню. Сторінка огляду демонструє статистичну інформацію для проекту, таку як кількість виявлених хостів і служб, а також кількість отриманих сеансів і облікових даних. Проект не буде відображати статистику або панель інструментів, поки не буде відсканованим мета або імпортовані дані хоста, після чого відобразиться панель моніторингу, яка надає високорівневий графічну розбивку даних, що зберігаються в проекті і журнал останніх подій.

    Обхід антивіруса

    Для тестерів на проникнення, деякі антивірусні рішення за замовчуванням не налаштовані на сканування файлів MSI або TMP-файлів, які створюються при виконанні MSI-файли. Використовують «msfconsole» для створення файлу MSI, який буде виконувати корисну навантаження MSF. Крім того, можна згенерувати MSI-файл за допомогою сценарію «msfvenom ruby», який поставляється разом з Metasploit: msfvenom -p windows/adduser USER=Attacker PASS=Attacker123! -f msi > evil.msi. Копіюють файл «evil.msi» в цільову систему і запускають установку MSI з командного рядка, щоб виконати корисну навантаження Metasploit. З точки зору тесту на проникнення, використання параметра «/quiet» зручно, оскільки воно пригнічує повідомлення, які звичайно відображаються користувачу. Перевірте антивірусні журнали, щоб побачити, була визначена корисна навантаження. Можна також перевірити, чи була виконана корисне навантаження, і додати користувача «Атакуючий». Якщо інформація про нього повертається, то корисна навантаження виконана успішно.

    Тестування уразливості

    Сканер уразливості схожий на інші типи сканерів - наприклад, сканери портів допомагають захистити мережу і системи в ній. Метою таких перевірок є виявлення будь-яких слабких місць і використання результатів для вирішення проблем до того, як це зроблять зловмисники. Поширені проблеми в процесі сканування, включають виявлення переповнення буфера, непатентована програмне забезпечення, проблеми мови структурованих запитів (SQL) і інші. Те, скільки сканер виявляє, залежить від самого програмного забезпечення, деякі сканери набагато більш агресивні в скануванні, виявляючи відсутні виправлення або помилки конфігурації, в той час як інші просто вказують юзеру правильний напрямок. Metasploit виходить за рамки звичайних сканерів вразливостей, він дає можливість розробляти власні експлойти і механізми доставки. Ідея полягає в тому, що в тих випадках, коли інші методи засновані на відомих проблеми, Msf дозволяє розробляти свої з метою забезпечення більшої гнучкості в скануванні, а також у дослідженнях. Щоб запустити функцію сканера, виконують інструкцію по застосуванню Metasploit:
  • Вибирають і налаштовує експлойт для націлювання. Він буде націлений на систему з метою скористатися дефектом. Пул залежить від операційної системи і змінюється в залежності від версії системи, постійно збільшуючись. В даний час Msf містить більше 400 експлойтів для більшості сучасних операційних систем.
  • Перевіряють експлойт проти системи з метою з'ясувати, вразлива система для нього.
  • Вибирають і налаштовує корисну навантаження, у вигляді коду, запущеного після того, як сканер виявить точку входу в систему.
  • Вибирають і налаштовує метод кодування і доставки, який буде використовуватися. Мета цього кроку - відформатувати корисну навантаження таким чином, щоб вона могла обійти укорінені системи виявлення вторгнень (IDS).
  • Виконують експлойт.
  • Таким чином, MSI пропонує безліч інформації про безпеку. Це не просто експлойти, це повна структура мережевої безпеки. В даний час в немає недоліку в інструментах. Розширені можливості Metasploit дозволяють адміністраторам сканувати широкий спектр мережевих пристроїв і повідомляти про знайдені вразливості або відповідним невірним налаштувань безпеки.

    Популярі новини
    Загрузка...