Браузерний експлойт. Що таке експлойт? Як виникають експлойти

На стадії розробки у всі програми та мережі вбудовуються механізми захисту від хакерів на кшталт замків, що запобігають несанкціонованим зазіханням ззовні. Вразливість же схожа на відкрите вікно, пробратися через яке не складе величезної праці для зловмисника. У випадку з комп'ютером або мережею зловмисники можуть встановити шкідливе програмне забезпечення, скориставшись вразливістю, з метою отримати контроль або інфікувати систему у своїх корисливих цілях з відповідними наслідками. Найчастіше це відбувається без відома користувача.

Як виникають експлойти?

Експлойти викликаються помилками в процесі розробки програмного забезпечення, в результаті яких у системі захисту програм виявляються вразливості, які успішно використовуються кіберзлочинцями для отримання необмеженого доступу до самої програми, а через неї - до всього комп'ютера. Експлойти класифікуються відповідно до типу вразливості, що використовується хакером: нульового дня, DoS, спуфінгу або XXS. Зрозуміло, розробники програм незабаром випустять оновлення безпеки з метою усунення знайдених дефектів, проте до цього моменту програма, як і раніше, є вразливою для зловмисників.

Як розпізнати експлойт?

Так як експлойти використовують проломи в механізмах безпеки програм, у рядового користувача практично немає шансів визначити їх наявність. Саме тому надзвичайно важливо підтримувати встановлені програмионовленими, особливо вчасно встановлювати оновлення безпеки, що випускаються розробниками програм. У випадку, якщо розробник ПЗ випустить оновлення безпеки для усунення відомої вразливості у своєму ПЗ, але користувач не встановить його, то, на жаль, програма не отримає найнеобхідніші останні вірусні визначення.

Як усунути експлойт?

Зважаючи на те, що експлойти є наслідком скоєних недоліків, їх усунення входить у прямі обов'язки розробників, тому саме автори повинні будуть підготувати та розіслати виправлення помилок. Тим не менш, обов'язок підтримувати встановлені програми оновленими та своєчасно встановлювати пакети оновлень, щоб не дати хакерам шансів скористатися вразливими, лежить повністю на користувачі програми. Одним з можливих способівне пропустити найсвіжіші оновлення - використовувати менеджер додатків, який подбає про те, щоб усі встановлені програми були оновлені, або - що ще краще - скористатися інструментом автоматичного пошуку та встановлення оновлень.

Як припинити спроби хакерів скористатися вразливістю сторонніх програм
  • Переконайтеся, що ви встановили найсвіжіші оновлення безпеки та патчі для всіх програм
  • Щоб бути в безпеці онлайн і залишатися в курсі подій, встановлюйте всі оновлення відразу після їхнього випуску
  • Встановіть та використовуйте антивірус класу преміум, який здатний автоматично оновлювати встановлені програми
Убезпечте себе від експлойтів

Покладайтеся на здоровий глузд і дотримуйтесь базових правил безпечної роботив інтернеті. Хакери можуть скористатися вразливістю лише в тому випадку, якщо їм вдасться отримати доступ до ПК. Не відкривайте вкладення у підозрілих повідомленнях та не завантажуйте файли з невідомих джерел. Підтримуйте встановлені програми оновленими, а також встановлюйте оновлення безпеки. Якщо хочете максимально спростити це завдання, скачайте антивірус Avast, який не тільки забезпечить надійний захист від усіх типів шкідливого ПЗ, але й допоможе встановити найсвіжіші оновлення для сторонніх програм.

У багатьох фахівців-початківців в області інформаційної безпекипостає безліч питань щодо експлойтів: Що таке експлойти? Хто пише експлойти? Як користуватись експлойтами? У цій статті ви знайдете відповіді на ці питання!

Що таке експлойт?

Експлойт (exploit)- це комп'ютерна програма, фрагмент програмного коду або послідовність команд, що використовують уразливості в програмне забезпеченнята застосовувані для проведення атаки на обчислювальну систему. Метою атаки може бути як захоплення контролю за системою (підвищення привілеїв), і порушення її функціонування (DoS-атака). ...

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

Хто пише експлойти?

Експлойти пишуть тисячі ентузіастів, захоплені вивченням інформаційної безпеки, вони публікують їх на безлічі відомих сайтів подібних до SecurityFocus. Роблять вони це не заради слави і не на радість скрипт-кіддісів, роблять вони це для оповіщення системних адміністраторівта інших фахівців у галузі ІБ про існування цієї вразливості. Адже маючи на руках реалізацію конкретної вразливості, можна легко написати «латку».

Як користуватись експлойтами?

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

Наприклад, візьмемо вразливість знайдену одному з численних компонент Joomla. Опис експлойту ви знайдете за посиланням Joomla Component com_camp SQL Injection Vulnerability .

В першу чергу ви повинні подивитися програму та версію програми для якого існує вразливість. Якщо ви знайшли те, що потрібно, приступайте до вивчення опису експлойта. В описі зазвичай пишуть, де саме знайдена вразливість у нашому випадку це компонент com_camp, як ви бачите вразливість існує через брак фільтрації в змінній cid:

Http://127.0.0.1/index.php?option=com_camp&task=show&cid=


Зайшовши сайт з даною вразливістю і підставивши в змінну cid лапку ви швидше за все виявите помилку на сторінці, що свідчить про наявність sql injection.

Що робити далі? Була б фантазія, а зробити щось можна багато! Тут ми і підходимо до самого експлойту. На сторінці опису експлойта зазвичай викладають файл із самим експлойтом або рядок програмного коду, який потрібно або скомпілювати, або якимось чином "годувати" вразливій програмі. У нашому випадку ми бачимо рядок SQL коду, яку потрібно вставити в змінну cid:

1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14--


Так само в нашому випадку ми бачимо приклад реалізації цієї вразливості:

http://127.0.0.1/index.php?option=com_camp&task=show&cid=-1/**/UNION/**/SELECT/**/1,2,3,4,5,6,7,8, 9,10,11,12,13,14--


Володіючи цими даними та знаю структуру БД Joomla ви з легкістю зможете отримати всі необхідні дані, включаючи логіни та хеші паролів користувачів у тому числі й адміністратора.

Які ще бувають експлойти?


Залежно від методу отримання доступу до вразливого програмного забезпечення, експлойти поділяються на віддалені (англ. remote) та локальні (англ. local).

Експлойти призначені для виконання сторонніх дій на вразливій системі і можуть бути розділені між собою таким чином:

Взагалі ж шукати по конкретному сайту вам допоможе GoogleHack & «Розширений пошук», наприклад site: http:securityfocus.com joomla sql injectionвиведе вам безліч експлойтів, що дозволяють провести sql injection в joomla.

Чи може експлойт користуватися кожен дурень?


Ні ні та ні. Для використання експлойтів як мінімум потрібно загальні знання в програмуванні (багато експлойтів спеціально пишуть з помилками і не наділяють великими можливостями адже це всього то «презентація» вразливості), так само необхідно вивчити систему, яка піддається атаці і зібрати достатньо інформації для її проведення. Досвід показує, що багато людей, які хочуть «легкої наживи», просто не мають комплексу потрібних знань.

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

Ядерна енергія може нести світло, а може принести й вічну темряву, кожен сам вирішує, як йому жити.

Інформація для тих, хто не зовсім розуміє, що таке експлойт.
Що таке експлойт?
Офіційне визначення можна прочитати в комп'ютерних енциклопедіях. Мені подобається таке: "Залежно від призначення - програма, шматок коду або скрипт, які дозволяють отримати вигоду від використання існуючої вразливості в програмному забезпеченні для чого завгодно, що програмно керується". У якомусь сенсі молоток проти смартфона теж є технічним експлойтом, який діє з примітивною метою – знищити пристрій. Розглянемо сутність, принцип застосування та роль експлойту у зламі системи. Розглянуто питання, де експлойт взяти, чи є сенс його скачувати чи купувати, і чому підтверджений експлойт може не спрацювати.

  • Що таке експлойти
  • Які експлойти бувають
  • Трохи про вразливість
  • Роль експлойту в атаці на систему
  • Приклад успішного експлойту
  • Бази даних експлойтів
  • Проблеми з експлойтом
Звідки з'являється експлойт? Любителі конкретики – пропускайте частину.
Найпростіше пояснення - «відносини» людини та вірусу. біологічного. У нашому організмі все продумано до дрібниць, проте, зіткнувшись з мікрокодом ззовні, він виходить з ладу на якийсь час або назавжди. Вразливість – це просто нездатність механізму(у тому числі і програмного) адекватно реагувати на певну дію з боку, зберігаючи при цьому закладені в нього (механізм) характеристики та функціонал. І експлойтназивається експлойтом тільки якщо дозволяє отримати від вразливостівигоду. Не вважайте за белетристику, це важливо зрозуміти відразу.
Трохи про вразливість.
Модулі Metasploit, що містять експлойти, і спрямовані на вразливість. У пентестерів прийнято формалізувати методи, якими ці вразливості групуються. Таким чином був створений словник, що постійно розширюється. Common Vulnerabilities and Exposures (CVE) - Загальноприйнятих Вразливостей та Виявлень. Так що запам'ятовуйте: з абревіатурою CVE ви не раз зіткнетеся . Загальноприйнятий вигляд записується у такому форматі:
CVE - РІК_ВИПУСКУ - ПРИСВОЄНИЙ_ІДЕНТИФІКАТОР
наприклад
CVE 2008-4250
Якщо ви хочете прямо зараз подивитися на повний списокбюлетеня, прошу сюди:

Насправді вразливостей, які можуть розкрити секрети господаря, набагато більше, ніж офіційний список цього бюлетеня. Так, щоб потрапити до цього словника, вразливості потрібно місце «заслужити». І конкретної організації, яка офіційно цим займається, звичайно, немає. Все залежить від того, на що буде спрямований майбутній експлойт – уразливості без експлойту не існує. Але в будь-якому випадку майже всі дороги ведуть на Exploit Database і вказаний вище ресурс.
Окремим рядком є ​​проблеми безпеки для продуктів від Майкрософт. Вони формуються окремим списком під назвою Бюлетень безпеки Microsoft. Їх уразливості прийнято групувати так:
MSYY-XXX
де YY - рік виявлення, ХХХ - присвоєний ID.

Повернемося до хакерів. Які експлойти бувають?
Умовно їх все можна розкидати за трьома купками:
  • експлойт сервісу
  • експлойт клієнта
  • експлойт привілеїв
Експлойт сервісу атакує якусь службу, яка, наприклад, слухає мережеві з'єднання. Служба займається тим, що збирає мережеві пакети та чекає, коли користувач ініціює з'єднання з мережею (запускає браузер). А так може вчинити і хакер, створивши свої пакети для цього сервісу та викликати повноцінний запуск служби, яка (без відома користувача) полізе до мережі.
Експлойт клієнта - він же клієнтський експлойт - сфокусований на атаці клієнтської програми, яка отримує певний контент від комп'ютера-сервера. Заснований на тому, що жертва проводитиме якісь дії, а програма-клієнт має активно з цим контентом працювати. Простіше кажучи, моє завдання як хакера змусити вас натиснути на посилання, відкрити якийсь документ, потрапити на шкідливий сайт.
Експлойт привілеїв . Його завдання - домогтися посилення наявних у системі прав. Наприклад, отримати права адміністратора із гостьової УЗ. А там і до SYSTEM недалеко ... Наприклад, у Windows XP є така вразливість, коли нехитрими рухами можна. Причому вразливість лежала лежить на поверхні. Не полінуйтеся та погляньте на статтю – пояснення стануть зайвими.
Процес експлойту та його роль в атаці на комп'ютер.

Поступово ми підбираємось до принципу, як працює компрометація системи. Кожен із цих етапів - це дуже складний процес, що вимагає багатотомного керівництва. Але схематично це можна відобразити так:

  • потенційно вразлива система сканується на предмет відкритих портів та запущених сервісів
  • вичленюються точки, по яких можна завдати удару
  • на віддалений комп'ютерв цю або ці точки відправляється експлойт відомої вразливості
  • до експлойту приклеюється пейлоуд (він дозволить контролювати систему жертви)
  • якщо експлойт спрацював (саме він першим і запускається) та система жертви відгукнулася, запускається пейлоуд; за результатами виконання коду пейлоуду хакер отримує доступ до комп'ютера жертви
Як це виглядає на власні очі або як працювати з експлойтом?
Для прикладу використовуємо ОС Калі Лінукс як господарську і Windows XP (експлойт древній, починаючи з вже з Windows XP SP2 він вже робить це менш охоче) як гостьовий у VirtualBox. Нам, звичайно, відомо, які характеристики мають гостьова машина в мережі (у нашому випадку віртуальна), але нехай сканер Nmapзробить свою справу. Наведемо «офіційну довідку» про жертву:
  • nmap -v -n 192.168.0.162
де 192.168.0.162 – ip адреса жертви. Якщо ви знайомі з , то зрозуміли, що прапори:
  • - vдозволяє отримати докладний звіт про адресу
  • - nвідключає реверсивні перетворення DNS



Ми бачимо, які відкриті порти із запущеними через них службами.
Поскануємо систему ще з метою більш детальної інформаціїна предмет операційної системи та версії служби. Команда набуде вигляду (розташування прапорів за командою довільне):

nmap -T4 -A -v 192.168.0.162


Інформації достатньо. Вибираємо місце завдання удару.
Відкрито цілу купу портів, які є потенційними лазівками в систему противника.
Нехай це буде один із відкритих портів 135 з занедбаною службою mcrpc(Вона ж Microsoft Windows RPC - Ссистемна служба віддаленого виклику процедур). Нам залишається підібрати під конкретний процес відповідний експлойт.
База даних експлойтів. Кілька секунд на теорію.
Якщо ви зараз сидите в Калі, вона, основа, у вас під рукою. Потрібне лише з'єднання з мережею та запущений msfconsole(Він же набір інструментів Metasploit). База експлойтів, що постійно поповнюється, які ви можете побачити прямо зараз, запустивши консоль msfconsole та набравши команду show exploitsвідобразить список експлойтів:


Відображення на екрані списку вам поки що нічого не скаже. Вони представлені в алфавітному порядку з датою публікації, наданим рангом щодо застосування та надійності роботи, а також коротким поясненням на що націлений.
Своєрідним дзеркалом базиє знаменитий ресурс
Він повністю присвячений експлойтам у тому числі. І тут можна (озброївшись словником) докладніше познайомитися з історією експлойту, завантажити його безпосередньо (якщо захочете скомпонувати власний експлойт – про це потім), познайомитися з інформацією з експлойту. Втім, весь смак знаходиться тут. Але є ще дещо.
Непоганий ресурс, на якому можна знайти цікаве, це:
ru.0day.today/
Багатомовний ресурс, який пропонує не лише загальновідомі (читай – давно прикриті) експлойти, а й власні варіанти учасників. За гроші. Завітайте та ознайомтеся: російська мова там теж підтримується.
Продовжуємо. Шукаємо відповідний експлойт.
Metasploitбезпосередньо пов'язаний з базою даних експлойтів, так що кроки, які ви побачите, можна не запам'ятовувати: Metasploit тим і хороший, що його кроки автоматизовані (що, втім, не завжди добре). Стаття про експлойт, і ми використовуватимемо лише його, тобто. вручну. Знайдемо, завантажимо, завантажимо. Навіщо вручну? Про це в абзаці «Проблеми експлойту».
Як знайти експлойт, що цікавить?
Якщо вас цікавить експлойт, який можна застосувати проти конкретної платформи або програми, можна не вовняти список з більш ніж півтори тисячі експлойтів вручну, які відображаються командою
show exploits
Натомість ви можете набрати в відкритої сесії Metasploit команду на кшталт:
search name:smb type:exploit platform:windows
Metasploit відобразить лише ті експлойти, які працюють у Windows. Далі, якщо цікавлять експлойти браузерів в Windows, розбавте команду ім'ям. Дивіться:
msf > search name:browser type:exploit platform:windows


Крім того, у Калі Лінукс доступний прямий пошук експлойтів прямо з терміналу без запущеної сесії Metasploit. Наберіть команду на пошук експлойту у форматі:
searchsploit Internet Explorer
Термінал вам поверне всі наявні експлойти в базі, яка оновлюється щотижня.
Продовжимо…
Отже, службу знаємо, тип ОС бачимо. Так у базі даних і набираємо: Search-кнопка після введення запиту:
windows rpc
Пройдемо перед пошуком верифікацію на робота та знайомимося з результатами:


Ось і наш. Клацаємо по посиланню, переходимо за наступним посиланням Download, і він на нашому комп'ютері як файла 66.с.
ПОВТОРЮСЯ
. Все, що зроблено вище, можна зробити швидше. У запущеному Metasploit наберіть команду на пошук експлойту з Вашої Калі:



Однак ситуація, коли відповідного експлойта в базі Metasploit може і не знайтись – не рідкість. Так що коли ви познайомитеся з роботою експлойтів ближче, можна собі дозволити присвятити більше часу на пошук і компонування потрібного експлойта. І в нашому випадку ми підготуємо завантажений експлойт до інжектування вручну. У терміналі перетворимо його на бінарний файл (я попередньо перетягнув 66.с з Завантаженьв Робочий стіл):
gcc 66.c -o 66
Тепер їх два:


І запихаю бінарник експлойта прямо в жертву XP:
./66 6 192.168.0.162


Система озвалася. По-науковому це називається успішним результатом компрометації системи. Фактично, цей комп'ютер вже в руках хакера. Хакер бачить його, ніби сидить за комп'ютером - він може керувати системою за допомогою команд консолі. А тепер подивимося, як використовується експлойт під керуванням Metasploit. Порти жертви ми вже «продзвонили» за допомогою Nmap. І як ви помітили, серед інших відкритий ще й 445 під керуванням службиMicrosoft-ds. У вікні Metasploit виберемо відповідний експлойт:
exploit/windows/smb/ms08_067_netapi
exploit
Комп'ютер власнику не належить.

Проблеми експлойту чи абзац для любителів «на все готове».
Ця частина заслуговує на окрему тему. Але вистачить лише абзацу. Що підстерігає пентестера на шляху застосування експлойту? Пояснюю на пальцях (хай вибачать майстри):

  • Перша проблема - старіння вразливості, яку розробники майже відразу встановлюють латку. Так, абсолютна більшість експлойтів у тому вигляді, як вони існують, не заслуговують на вашу увагу. Вони марні – оновлення систем безпеки їх прикривають. Тож виходів небагато: користуємося 0dayексплойти ( зеро-дей) - якщо зможете знайти та застосувати; або включаємо голову та працюємо над своїми; це проблема номер один - нам доводиться вчитися на операційні системиі програмах попередніх поколінь: причина проста - розробники «забили» на підтримку (Windows XP типовий тому приклад) і не реагують на вразливості, що з'являються, навіть при офіційному повідомленні (не забуваючи, проте, перевіряти чи не проявиться ця вразливість в робочих версіях програм або ОС- їй).
  • друга проблема (випливає з першої) - якщо вразливість опублікована, і існує для неї експлойт, десятки фахівців вже працюють над тим, щоб уразливість залишилася в минулому. Їм платять. І люди, які шукають вразливості, теж хочуть, щоб платили їм також. Так що не сподівайтеся на викручену вздовж і поперек уразливість: краса криється там, де стежка не хожена. Якщо з'явилося те, що потрібно, а розуму чи досвіду немає – за це потрібно часом платити (із ризиком залишитись без результату та без грошей). І не завжди тому виною буде піонер уразливості та письменник експлойту. Хоча б тому, що є проблема третя.
  • технічні моменти застосування експлойту полягають у тому, що ТЕ, ЩО ПРОКАТИЛО на англійській локалі Windows ШВИДШЕ ЗА СЕГО НЕПРОКАТИТЬ російською. Експлойт, написаний для американської версії Windowsвиправдано не спрацює для російської системи. Результат застосування може стати несподіваним: до безмовної помилки з Metasploit типу Exploit seems to be failedдо відмови служби за системою жертви, що змусить її насторожитися.

У статті описується сутність, принцип застосування та роль експлойту у зламі системи. Розглянуто питання, де експлойт взяти, чи є сенс його скачувати чи купувати, і чому підтверджений експлойт може не спрацювати.

Що таке експлойт?

"Офіційне" визначення можна прочитати у комп'ютерних енциклопедіях. Мені подобається таке: "Залежно від призначення - програма, шматок коду або скрипт, які дозволяють отримати вигоду від використання існуючої вразливості в програмному забезпеченні для чого завгодно, що програмно керується". У якомусь сенсі молоток проти смартфона також є технічним експлойтом, що діє з примітивною метою – знищити пристрій. Солодкі цукерки проти зубної емалі також діють.

Звідки з'являється експлойт? Любителі конкретики – пропускайте частину.

Де відома вразливість, там, можливо, може з'явитися і експлойт. Вразливість можна тлумачити також по-різному. Вікіпедія, як мені здається, дає трохи неправильне визначення. Вразливість – це завжди помилка чи недолік. Ахіллесова п'ята має будь-який механізм. Ну не можна назвати помилкою той факт, що двигун працює від палива. Адже, якщо він працюватиме на повітрі, це також одразу стане його недоліком. Як і метал, з якого він зібраний; людина, яка ним управляє… Недоліки є у всього, і професіоналам вони також помітні у всьому.

Найпростіше пояснення такої думки - "взаємини" людини та вірусу. біологічного. У нашому організмі все продумано до дрібниць, проте, зіткнувшись з мікрокодом ззовні, він виходить з ладу на якийсь час або назавжди. Вразливість – це просто нездатність механізму(у тому числі і програмного) адекватно реагувати на певну дію з боку, зберігаючи при цьому закладені в нього (механізм) характеристики та функціонал. І називається експлойтом тільки якщо дозволяє отримати від вразливостівигоду. Не вважайте за белетристику, це важливо зрозуміти відразу.

Трохи про вразливість.

Модулі Метаса, що містять експлойти, і спрямовані на вразливість. У пентестерів прийнято формалізувати методи, якими ці вразливості групуються. Таким чином було створено словник Common Vulnerabilities and Exposures, що постійно розширюється. CVE) – Загальноприйнятих Вразливостей та Виявлень. Так що запам'ятовуйте: з абревіатурою CVE ви неодноразово зіткнетеся. Його мета: німецькі та китайські хакери повинні бути впевнені, що говорять про одну і ту ж дірку в безпеці. І всі вони бачать такі уразливості у форматі:

CVE – РІК_ВИПУСКА – ПРИСВОЄНИЙ_ІДЕНТИФІКАТОР

наприклад

CVE 2008-4250

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

Насправді вразливостей, які можуть розкрити секрети господаря, набагато більше, ніж офіційний список цього бюлетеня. Так, щоб потрапити до цього словника, вразливості потрібно місце "заслужити". І конкретної організації, яка офіційно цим займається, звичайно, немає. Все залежить від того, на що буде спрямований майбутній експлойт – вразливості без експлойту немає. Але в будь-якому випадку майже всі дороги ведуть на Exploit Database і вказаний ресурс.

Окремим рядком є ​​проблеми безпеки для продуктів від Майкрософт. Вони формуються окремим списком під назвою Бюлетень безпеки Microsoft. Їх уразливості прийнято групувати таким чином:

MSYY-XXX

де YY - рік виявлення, ХХХ - присвоєний ID.

Повернемося до хакерів.Які експлойти бувають?

Умовно їх можна розкидати по трьох купках:

  • експлойт сервісу
  • експлойт клієнта
  • експлойт привілеїв

Експлойт сервісуатакує якусь службу, яка, наприклад, слухає мережеві з'єднання. Служба займається тим, що збирає мережеві пакети та чекає, коли користувач ініціює з'єднання з мережею (запускає браузер). А так може вчинити і хакер, створивши свої пакети для цього сервісу та викликати повноцінний запуск служби, яка (без відома користувача) полізе до мережі.

Експлойт клієнта– він же клієнтський експлойт – сфокусований на атаці клієнтської програми, яка отримує певний контент від комп'ютера-сервера. Заснований на тому, що жертва проводитиме якісь дії, а програма-клієнт має активно з цим контентом працювати. Простіше кажучи, моє завдання як хакера змусити вас натиснути на посилання, відкрити якийсь документ, потрапити на шкідливий сайт.

Експлойт привілеїв. Його завдання – домогтися посилення наявних у системі прав. Наприклад, отримати права адміністратора із гостьової УЗ. А там і до SYSTEM недалеко ... Наприклад, у Windows XP є така вразливість, коли нехитрими рухами можна. Причому вразливість лежала лежить на поверхні. Не полінуйтеся та погляньте на статтю – пояснення стануть зайвими.

Процес експлойту та його роль в атаці на комп'ютер.

Поступово ми підбираємось до принципу, як працює компрометація системи. Кожен із цих етапів – це дуже складний процес, що вимагає багатотомного керівництва. Але схематично це можна відобразити так:

  • потенційно вразлива система сканується на предмет відкритих портів та запущених сервісів
  • вичленюються точки, по яких можна завдати удару
  • на віддалений комп'ютер у цю або ці точки відправляється експлойт відомої вразливості
  • до експлойту приклеюється пейлоуд (він дозволить контролювати систему жертви)
  • якщо експлойт спрацював (саме він першим і запускається) та система жертви відгукнулася, запускається пейлоуд; за результатами виконання коду пейлоуду хакер отримує доступ до комп'ютера жертви
  • інші дії обмежені фантазією хакера (завантаження вірусів, видалення інформації чи її копіювання тощо.)

Як це виглядає на власні очі або як працювати з експлойтом?

Для прикладу використовуємо ОС Калі Лінукс як господарську і Windows XP (експлойт древній, починаючи з вже з Windows XP SP2 він вже робить це менш охоче) як гостьовий у VirtualBox. Нам, звичайно, відомо, які характеристики мають гостьова машина в мережі (у нашому випадку віртуальна), але нехай сканер Nmapзробить свою справу. Наведемо “офіційну довідку” про жертву:

Nmap -v -n 192.168.0.162

де 192.168.0.162 – ip адреса жертви. Якщо ви знайомі з , то зрозуміли, що прапори:

  • – vдозволяє отримати докладний звіт про адресу
  • - nвідключає реверсивні перетворення DNS

Ми бачимо, які відкриті порти із запущеними через них службами. Поскануємо систему ще з метою більш детальної інформації щодо операційної системи та версії служби. Команда набуде вигляду (розташування прапорів за командою довільне):

Nmap -T4 -A -v 192.168.0.162

Інформації достатньо. Вибираємо місце завдання удару. Відкрито цілу купу портів, які є потенційними лазівками в систему противника. Нехай це буде один із відкритих портів 135 із запущеною службою mcrpc(Вона ж Microsoft Windows RPC- з системна служба віддаленого виклику процедур). Нам залишається підібрати під конкретний процес відповідний експлойт.

База даних експлойтів. Кілька секунд на теорію.

Якщо ви зараз сидите в Калі, вона, основа, у вас під рукою. Потрібне лише з'єднання з мережею та запущений msfconsole(Він же набір інструментів Metasploit). База експлойтів, що постійно поповнюється, які ви можете побачити прямо зараз, запустивши консоль msfconsoleта набравши команду show exploits,відобразить список експлойтів:


Відображення на екрані списку вам поки що нічого не скаже. Вони представлені в алфавітному порядку з датою публікації, наданим рангом щодо застосування та надійності роботи, а також коротким поясненням на що націлений.

Своєрідним дзеркалом базиє знаменитий ресурс

https://www.exploit-db.com/

Він повністю присвячений експлойтам у тому числі. І тут можна (озброївшись словником) докладніше познайомитися з історією експлойту, завантажити його безпосередньо (якщо захочете скомпонувати власний експлойт – про це потім), познайомитися з інформацією з експлойту. Втім, весь смак знаходиться тут. Але є ще дещо.

Непоганий ресурс, на якому можна знайти цікаве, це:

ru.0day.today/

Багатомовний ресурс, який пропонує не лише загальновідомі (читай – давно прикриті) експлойти, а й власні варіанти учасників. За гроші. Завітайте та ознайомтеся: російська мова там теж підтримується.

Продовжуємо. Шукаємо відповідний експлойт.

Metasploitбезпосередньо пов'язаний з базою даних експлойтів, тому кроки, які ви побачите, можна не запам'ятовувати: Метастим і добре, що кроки його автоматизовані (що, втім, не завжди добре). Стаття про експлойт, і ми використовуватимемо лише його, тобто. вручну. Знайдемо, завантажимо, завантажимо. Навіщо вручну? Про це в абзаці «Проблеми експлойту».

Як знайти експлойт, що цікавить?

Якщо вас цікавить експлойт, який можна застосувати проти конкретної платформи або програми, можна не вовняти список з більш ніж півтори тисячі експлойтів вручну, які відображаються командою

Show exploits

Натомість ви можете набрати у відкритій сесії Метаса команду на кшталт:

Search name:smb type:exploit platform:windows

Метас відобразить лише ті експлойти, які працюють у Windows. Далі, якщо цікавлять експлойти браузерів в Windows, розбавте команду ім'ям. Дивіться:

Msf > search name:browser type:exploit platform:windows

Крім того, в Калі Лінукс доступний прямий пошук експлойтів прямо з терміналу без запущеної сесії Метаса. Наберіть команду на пошук експлойту у форматі:

Searchsploit Internet Explorer

Термінал вам поверне всі наявні експлойти в базі, яка оновлюється щотижня.

Продовжимо…

Отже, службу знаємо, тип ОС бачимо. Так у базі даних і набираємо: Search-кнопка після введення запиту:

windows rpc

Пройдемо перед пошуком верифікацію на робота та знайомимося з результатами:

ПОВТОРЮСЯ. Все, що зроблено вище, можна зробити швидше. У запущеному Метасі наберіть команду на пошук експлойту з Вашої Калі:

Однак ситуація, коли відповідного експлойту в базі Метасу може і не знайтись – не рідкість. Так що коли ви познайомитеся з роботою експлойтів ближче, можна собі дозволити присвятити більше часу на пошук і компонування потрібного експлойта. І в нашому випадку ми підготуємо завантажений експлойт до інжектування вручну. У терміналі перетворимо його на бінарний файл (я попередньо перетягнув 66.с з Завантаженьв Робочий стіл):

Gcc 66.c -o 66

Тепер їх два:

І запихаю бінарник експлойта прямо в жертву XP:

./66 6 192.168.0.162

Система озвалася. По-науковому це називається успішним результатом компрометації системи. Фактично, цей комп'ютер вже в руках хакера. Хакер бачить його, ніби сидить за комп'ютером - він може керувати системою за допомогою команд консолі. А тепер подивимося, як використовується експлойт під керуванням Метаса. Порти жертви ми вже продзвонили за допомогою Nmap. І як ви помітили, серед інших відкритий ще й 445 під керуванням служби Microsoft-ds. У вікні Metasploit виберемо відповідний експлойт:

exploit/windows/smb/ms08_067_netapi

Візьмемо його на озброєння:

Use exploit/windows/smb/ms08_067_netapi

Перевіримо, що потрібно для його успішної реалізації командою:

Show options

Рядок з адресою віддаленого хоста RHOST порожній. Заповнимо її IP адресою жертви:

Комп'ютер власнику не належить.

Проблеми експлойту чи абзац для любителів “на все готове”.

Ця частина статті заслуговує на окрему тему. Але поки що відведу їй лише абзац. Що підстерігає пентестера на шляху застосування експлойту? Пояснюю на пальцях (хай вибачать майстри):

  • перша проблема - старіння вразливості, на яку розробники майже відразу встановлюють латку. Так, абсолютна більшість експлойтів у тому вигляді, як вони існують, не заслуговують на вашу увагу. Вони марні – оновлення систем безпеки їх прикривають. Тож виходів небагато: користуємося 0dayзеро-дей) – якщо зможете знайти та застосувати; або включаємо голову та працюємо над своїми; це проблема номер один - нам доводиться вчитися на операційних системах і програмах попередніх поколінь: причина проста - розробники "забили" на підтримку (Windows XP типовий приклад) і не реагують на вразливості навіть при офіційному повідомленні (не забуваючи, проте, перевіряти не чи проявиться ця вразливість у робочих версіях програм або ОС).
  • друга проблема (випливає з першої) - якщо вразливість опублікована, і існує для неї експлойт, десятки фахівців вже працюють над тим, щоб уразливість залишилася в минулому. Їм платять. І люди, які шукають вразливості, теж хочуть, щоб платили їм також. Так що не сподівайтеся на викручену вздовж і поперек уразливість: краса криється там, де стежка не хожена. Якщо з'явилося те, що потрібно, а розуму чи досвіду немає – за це потрібно часом платити (із ризиком залишитись без результату та без грошей). І не завжди тому виною буде піонер уразливості та письменник експлойту. Хоча б тому, що є проблема третя.
  • технічні моменти застосування експлойту полягають у тому, що ТЕ, ЩО ПРОКАТИЛО на англійській локалі Windows ШВИДШЕ ЗА СЕГО НЕПРОКАТИТЬ російською. Експлойт, написаний для американської версії Windows, виправдано не спрацює для російської системи. Результат застосування може стати несподіваним: до безмовної помилки з Метасом типу Exploit seems to be failedдо відмови служби за системою жертви, що змусить її насторожитися. Тему розгорнемо потім.

Поки все. Тож довго вийшло. Успіхів нам.

Звідки беруться сплоїти? Чи замислювався ти, яким чином тьмяна новина з
багтрака перетворюється на реально працюючу відмичку? Яким чином двом десяткам
Рядків коду вдається отримати шелл на віддаленому сервері? Сьогодні ми відвідаємо
фабрику сплоїтів і у всіх подробицях подивимося, як виготовляється
якісний виріб.

Запускаємо MSF eXploit Builder, заходимо в меню "Editor" та вибираємо "New".
З'являється вікно з кількома вкладками (Information, Badchars, Analysis,
Shellcode, Design). Переходимо на вкладку "Information" і бачимо багато цікавих
полів. Як ти пам'ятаєш, у цій секції вказуються цілі (OS + SP) та тип/протокол
експлоїту (наприклад, remote/tcp). Більше того, програма надає нам
можливість тестування та налагодження отриманого експлоїту, тому відразу можна
вибрати файл і вказати параметри для його запуску (порт, ip-адреса).

Отже, вибираємо наш tftpd.exe, після чого утиліта запропонує наступні дії
на вибір: запустити програму, запустити її під налагоджувачем або не запускати
взагалі - просто запустимо додаток. Зверніть увагу, що справа збоку
з'явиться список завантажених програмою DDL"ек.

Тепер починаємо дивитися код сплоїту – на наше щастя він дуже зрозумілий.