Безпека веб-серверів, Cloud-платформ.
Надійний захист від атак відмова в обслуговуванні
Комплексний захист електронних ресурсів.
Пошук та видалення вірусів на веб-сайтах.
Захист та рішення безпеки для сайтів на WordPress.
Пентест сайтів і веб-додатків.
Безпека веб-серверів, Cloud-платформ.
Надійний захист від атак відмова в обслуговуванні
Комплексний захист електронних ресурсів.
Пошук та видалення вірусів на веб-сайтах.
Захист та рішення безпеки для сайтів на WordPress.
Пентест сайтів і веб-додатків.
Безпека веб-серверів, Cloud-платформ.
Надійний захист від атак відмова в обслуговуванні
Комплексний захист електронних ресурсів.
Пошук та видалення вірусів на веб-сайтах.
Захист та рішення безпеки для сайтів на WordPress.
Пентест сайтів і веб-додатків.
Безпека веб-серверів, Cloud-платформ.
Надійний захист від атак відмова в обслуговуванні
Комплексний захист електронних ресурсів.
Пошук та видалення вірусів на веб-сайтах.
Захист та рішення безпеки для сайтів на WordPress.
Пентест сайтів і веб-додатків.
Поговоримо про основи тестування на проникнення. Що таке пентест? Хто такий пентестер? Що входить в його обов’язки. Інструменти, методології, алгоритми. Скільки коштує пентест? Ми підготували велике керівництво по тестуванню на проникнення. Зібрали корисну інформацію, включаючи приклад звіту пентесту. Справжній клондайк для любителів кібербезпеки. Буде корисно й замовникам, котрі планують пентест у своїх компаніях й прагнуть дізнатися якомога більше.
Тестування на проникнення (Тест на проникнення, Пентест, Пентестінг, англ. Pentest, Penetration Testing) — це комплекс санкціонованих заходів з метою протестувати і проаналізувати існуючий кіберзахист інформаційної системи та дати оцінку її захищеності. Пентестер моделює атаки й імітує дії зловмисника, використовуючи техніки етичного хакінгу (Ethical Hacking). Цілі пентесту — перевірити систему на стійкість та вразливість.
Перші тестування на проникнення з’явилися в США у 70-80-ті роки XX століття з розвитком комп’ютерної інженерії. Тоді слово “hacker” означало – обтесувати, шліфувати, вправно зачищати код. “Хакерами” називали талановитих програмістів-операторів електронно-обчислювальних машин (ЕОМ), які тестували комп’ютери на справність, відшукували баги. Цей термін не містив в собі абсолютно нічого зловмисного.
Першими навчальними центрами, які випускали “хакерів” були Массачусетський та Стенфордський університети в США, які мали різні концепції й підходи до підготовки кадрів та конкурували між собою. Більшість винаходів і відкриттів у сфері комп’ютерних технологій були зроблені саме їх випускниками. Потужним центром була також Каліфорнія, зокрема IT-ком’юніті Homebrew Computer Club.
Однак, з часом термін “хакер” набув дещо іншого забарвлення. Хакерські техніки почали застосовуватися для несанкціонованого проникнення та зламу інформаційних систем. Почали розроблятися перші комп’ютерні віруси, такі як “Хробак Морріса” – мережева програма, яка масово розмножувалася і розповсюджувалася через Інтернет, паралізуючи роботу комп’ютерів. Її розробив аспірант Корнелльського університету Роберт Морріс. Комп’ютерний вірус був запущений 2 листопада 1988 року та вразив близько 6000 вузлів ARPANET. Збиток оцінений приблизно в $96,5 мільйонів доларів. Так хакери поступово стали асоціюватися зі злочинністю в інтернеті.
👉 Читайте спецматеріал: ХАКЕРИ. Погляд в історію.
За типом проведення, пентест ділиться на:
За характером, технікою і методикою проведення можна виділити наступні пентести:
ℹ️ Існують також Red Team та Blue Team команди тестування на проникнення. Перша відпрацьовує техніки нападу різного масштабу і калібру (Offensive Security), починаючи від кібер-атак і закінчуючи соціальною інженерією та навіть фізичним проникненням на об’єкти (приклад – вірус Stuxnet), атаками на цифрові пристрої (Hardware Penetration Testing). Фактично, це такі-собі кібер-диверсійні групи. Їх учасники не рідко в майбутньому формують професійні хакерські APT-об’єднання (Advanced Persistent Threat), які можуть спонсоруватися урядами держав. Blue Team команди – це спеціалісти з кібербезпеки, які з допомогою пентестів відпрацьовують техніки захисту. Останнім часом з’явилися Purple Team, які поєднують Red та Blue Team практики (захисна + наступальна стратегія).
В залежності від потреб та цілей тестування, а також типу досліджуваного об’єкта, можуть використовуватися різні методології, які визначають — план, техніки, методики, інструменти тестування на проникнення.
Ось список найбільш відомих методологій пентесту:
👉 Рекомендуємо ознайомитись з матеріалами:
⏩ ТОП-20 світових фреймворків з кібербезпеки
⏩ Методології у сфері ІТ: ITIL, COBIT, Prince2 та інші
ℹ️ Пентест – це процес, який відтворює справжню кібер-атаку, обходить кіберзахист, проникає в систему, симулює дії зловмисника – експлуатує баги, помилки, вразливості. Пентест – це санкціонований злам з застосуванням класичних хакерських фреймворків, стратегій, прийомів, сценаріїв.
ℹ️ Аудит кібербезпеки (Vulnerability Scanning & Assessment) — це процес збору, обробки та оцінки вразливостей. Аудит не передбачає хакінгу, а тому майже не впливає на систему і не вносить змін в її роботу чи будову. Аудит лише аналізує, упорядковує та структурує накопичені дані, формує експертні висновки і рекомендації. Методики Аудиту застосовуються пентестерами на різних етапах, однак сам Аудит подається як окрема послуга і є прерогативою більше Аудиторів, ніж Пентестерів. Хоча, на практиці обидві навички сильно пов’язані між собою і хороший пентестер, на нашу думку, повинен бути одночасно й хорошим аудитором.
Аудит може виконуватися як вручну (manual pentest), так і автоматизовано з допомогою SAST (статичних) і DAST (динамічних) сканерів. Пентест же виконується тільки ручним способом.
Звіти для аудиту і пентесту теж різняться. Pentest Report, зазвичай, включає інформацію лише про проведені атаки, їх оцінку та ступінь ризику, а також рекомендації по усуненню. Натомість Security Audit Report включає багато інформаційно-аналітичної інформації, включаючи статистичні, історичні, моніторингові, технічні дані.
Якщо пояснювати одним словом, то: пентест – це техніка нападу, зламу, атаки, а аудит – це техніка збору і оцінки даних.
В ідеалі, повинен бути комплексний підхід до кібербезпеки, який включає і Аудит кібербезпеки, і Тестування на проникнення. Обидва процеси включені до наших послуг.
Різні типи і види тестувань на проникнення мають різний перебіг подій та складаються з різних фаз і етапів. В інтернеті й підручниках з кібербезпеки, зазвичай, можна зустріти класичний сценарій проведення пентесту:
Ми дещо модифікували цей сценарій і поділили його на 3 етапи, які розбили на 3 фази:
ℹ️ Завдання пентестера на цьому етапі: якомога ретельніше дослідити структуру і архітектуру об’єкта, проаналізувати зібрану інформацію на точки входу (точки зламу і компрометації), продумати алгоритми й сценарії майбутніх атак (написання/підбір експлойтів, скриптів, троянів, шеллів, бекдорів, фішиншових листів / посилань; створення шаблонів команд і додаткових інструментів). На цьому етапі етичний хакер збирає усю можливу інформацію про об’єкт, використовуючи різні практики, засоби, техніки, методики.
ℹ️ Завдання пентестера на цьому етапі: успішно відпрацювати і проексплуатувати підготовлені сценарії атак і експлойти, закріпитися в системі.
Етап 1 і Етап 2 формують так-званий “убивчий ланцюг” або Cyber Kill Chain — послідовність дій хакера, яка приводить до зламу системи.
ℹ️ Завдання пентестера на цьому етапі: фінішний етап роботи пентестера, який демонструє замовнику результати пентесту.
Пентестер — це ІТ-фахівець, який проводить тестування кіберзахисту інформаційних та комп’ютеризованих систем, виявляючи баги, дефекти, вразливості, які можуть привести до зламу, витоку даних, компрометації. Пентестерів часто називають “Ethical Hackers” – тобто етичні “білі” хакери, котрі використовують свої навички на благо.
Професія пентестера творча, поєднує у собі чимало аспектів, навичок та досвіду з різних напрямів IT:
Ми пропонуємо 7 крокову програму опанування професії тестувальника на проникнення:
Крок 1️⃣. Найперше варто забути про Windows і “пересісти” на Linux – альма-матер всіх хакерів, заснована на засадах вільного програмного забезпечення GNU/Open Source. Так ви зможете швидше призвичаїтися до командного рядка, який знадобиться для багатьох задач та операцій: сканування мережі, написання і виконання скриптів, експлуатація вразливостей та інше.
Список хакерських дистрибутивів Linux:
Крок 2️⃣. Познайомившись з Linux, можна починати осягати ази кібербезпеки на базі онлайн-курсів від популярних платформ.
Освітні онлайн-платформи з навчальними курсами та віртуальними лабораторіями:
Крок 3️⃣. Наступний крок — перевірка і вдосконалення своїх знань та навичок на практиці. Для цього підійдуть віртуальні CTF-майданчики (від англ. Capture the Flag – отримати прапорець, зламати систему) та віртуальні машини, які можна використовувати як “полігони”.
Повний список CTF-майданчиків:
Крок 4️⃣. На цьому кроці варто спробувати попрацювати з Bug Bounty – це пошук багів за винагороду для конкретного ресурсу або компанії, яка ініціює BugBounty-програму. Ви не працюєте в найм і маєте змогу займатися пентестами у будь-який вільний та зручний для себе час (щось на зразок фрілансу), дотримуючись строків та умов проведення BugBounty-програми.
Перелік платформ, де можна знайти велику кількість різних та цікавих BugBounty-програм:
BugBounty від деяких українських компаній:
Крок 5️⃣ Поспілкуватися наживо з іншими спеціалістами, обмінятися досвідом, продемонструвати свій рівень, виступити з доповіддю можна на хакерських конференціях:
Крок 6️⃣. Не зайвим буде здобути фахову освіту і отримати диплом за напрямом “Кібербезпека (125)”. Нижче знайдете перелік кращих ВУЗів України, які виховують спеціалістів з кібербезпеки:
Крок 7️⃣. Самотужки вивчати і популяризувати кібербезпеку. Відстежувати останні події та новини в кіберпросторі. Досліджувати та виявляти нові загрози і вразливості, розробляти інструменти/техніки/тактики кіберзахисту, писати статті і документації, навчальні матеріали, бути ментором, залучати інших у сферу кібербезпеки.
Українські ЗМІ і ресурси на тему кібербезпека:
Іноземні ЗМІ і ресурси на тему кібербезпека:
Хакерські інтернет-форуми:
Додаткові матеріали:
Рівень кваліфікації та уміння пентестера у професійних колах підтверджуються наявністю профільних атестацій і сертифікатів:
Окремою частиною самоосвіти є література. Ось, деякі з кращих книг:
👉 Більше літератури в матеріалі: ⏩ ТОП книг для читання про кібербезпеку.
Інструментів для пентестінгу чимало. Ось ті, якими користуємося ми:
👉 Більше хакерських інструментів за посиланнями:
⏩ GitHub – Pentest Tools
⏩ GitHub – RedTeam Tools
⏩ HackerOne: 100 Hacking Tools
⏩ 100 Best Free Red Team Tools
⏩ HackYourMom – Повний список інструментів для тестування на проникнення
⏩ Top 30 Best Penetration Testing Tools 2023
⏩ Offensive OSINT Tools
⏩ GitHub – OSINT Browser Extensions
⏩ GitHub – Penetration Testing Methodology
👉 Додаткові матеріали:
⏩ ТОП пошукових систем для пентестера
⏩ ТОП пошукових систем для OSINT
⏩ Google Dorks на службі у OSINT
⏩ Форензика зображень, IMINT: інструменти, техніки, методики
ℹ️ Пентест потрібен абсолютно усім, хто має справу з інформаційними технологіями! Це може бути веб-майстр, який розробляє і обслуговує веб-додатки; системний адміністратор, який керує ІТ-процесами; власник бізнесу, який має свій маркетплейс в інтернеті; організація, установа або компанія з ІТ-відділами та корпоративними ресурсами.
Переваги і бенефіти пентесту:
Пентест може допомогти виявити вразливості до того, як ними скористається зловмисник. Особливо важливо проводити його для великих сайтів і компаній, державних та інфраструктурних об’єктів, банківських структур, розгорнутих корпоративних систем і мереж, оскільки забезпечити надійну і цілісну безпеку у такому випадку значно важче. Саме на них припадає левова частка атак.
Рекомендується проводити тестування на проникнення регулярно, мінімум 1-2 рази на рік.
Вартість тестування на проникнення залежить від багатьох факторів, наприклад:
Кожна компанія з кібербезпеки може мати власні підходи до формування ціни на пентест. Додатковими факторами можуть бути: престиж, упізнаваність, репутація компанії або окремого спеціаліста, рівень конкурентності в ніші.
Щоби розуміти ціноутворення, варто також усвідомлювати наступне:
👉 Ознайомитися з цінами тестування на проникнення на порталі державних закупівель Prozorro>>
Пентест – це розгорнута процедура, у ході якої ІТ-спеціалісту необхідно виконати чимало перевірок і проаналізувати великий пласт інформації.
Якщо хочете, щоби пентест був якісним, а не виконаним нашвидкоруч, то необхідно запастись терпінням. Пентестеру треба не менш як тиждень (7 днів клопіткої праці), а то й місяця часу. Все залежить від типу досліджуваного ресурсу/інфраструктури, обраної методології.
Проведення навіть найпростішої атаки забирає багато часу, сил і ресурсів. Наприклад, підібравши експлойт, треба його ще ретельно протестувати. Для цього необхідно мати під рукою кілька віртуальних тестових майданчиків, де можна реально змоделювати атаку. Буває так, що експлойт несправний або є різниця у версіях ПЗ, тому без планування робота пентестера може бути зведена на нівець.
Пентестер повинен мати “під рукою” мінімум кілька розгорнутих віртуальних машин з різними операційними системами й додатками. Заготовлені скрипти і шаблони, букмарки, довідники, бази даних і так далі.
Окрім того, значного часу потребує робота над звітом, аби він був якомога інформативнішим та читабельним, наповненим фактами, містив точні твердження та висновки.
Загалом, організованість робочого середовища, грамотність, уважність і спостережливість, помножені на досвід і потужний програмно-апаратний комплекс відіграють важливу роль в тестуваннях на проникнення.
Тестування на проникнення — це процедура, яка передбачає втручання в роботу електронно-обчислювальних систем, може впливати на тріаду безпеки – конфіденційність, цілісність, доступність, а тому потребує обов’язкового юридично завіреного дозволу і договору з власником. В іншому випадку — це може трактуватися як злочин у сфері використання ЕОМ (Ст. 361 ККУ).
Договір на проведення пентесту — це юридичний документ, який укладається у двосторонньому порядку між замовником і виконавцем. В ньому прописуються усі умови, домовленості та будь-які інші деталі співпраці. У договорі вказується перелік наданих послуг, строки та вартість, відповідальність сторін. Якщо пентест внутрішній, то також визначається порядок передачі необхідних доступів, складається карта об’єктів інфраструктури.
Обов’язковим є також пункт про нерозголошення і конфіденційність інформації (NDA). Додатково можна підписати SLA (Service Level Agreement) – це договір про рівень надання послуг.
👉 Завантажити зразок договору на надання IT-послуг >>
👉 Завантажити зразок договору про нерозголошення інформації (NDA) >>
Звіт з тестування на проникнення (Pentest Report) – це основний документ, який засвідчує виконану пентестером роботу. Його можна використовувати для оцінки захищеності, покращення кіберзахисту, а також для підвищення рівня обізнаності про кібербезпеку.
Звіт є індикатором якості та успішності виконаної роботи, а повинен бути чітко і якісно пропрацьованим. Важливо робити його якомога читабельним та інформативним, щоб він містив усі необхідні розділи та перевірки, включаючи не лише технічну інформацію, а й резюме для власників і менеджерів.
Часто буває, коли через невдало або неохайно оформлений звіт, власник просто не зміг оцінити належним чином весь обсяг ювелірно і елегантно виконаної роботи пентестера. Тому важливо ще до тестування проводити опитування-брифи, щоб зрозуміти, що саме власник хоче побачити у звіті, якою є його логіка. Для керівництва важливо побачити реальний бізнес-ризик з доказами помилок та інструкціями щодо їх усунення.
У цьому контексті рекомендую звернути увагу на репорти, виконані компанією CertiK. Їх аудити є еталонними – інформативні, чіткі, візуально привабливі. Фактично, замовник на “блюдечку” отримує всю корисну інформацію для себе. Рекомендую ознайомитись з їх методологією та прикладом звіту.
Структуру звіту з тестування на проникнення умовно можна розділити на такі частини:
Для підготовки звіту можна скористатися автоматизованими системами генерації документів, наприклад:
Готові шаблони звітів:
Для створення діаграм та гістограм підійде Google Sheets. Для роботи з інфографікою – Canva.
Також пропонуємо зразок нашого звіту, створений KR. Laboratories. Він має демонстраційний характер та містить знеособлені, підмінені дані:
⏩ GitHub – Awesome Pentest
⏩ GitHub – Awesome Bug Bounty Tools
⏩ GitHub – Pentesting Bible
⏩ GitHub – Pentest Wiki
⏩ GitHub – Pentest Reports
⏩ Pentestreports.com
⏩ GitHub – Public Pentest Reports
⏩ GitHub – Pentest Consulting Creator
⏩ GitHub – Galaxy Bugbounty Checklist
⏩ GitHub – Pentest Cheat Sheets
⏩ GitHub – Linux Kernel Exploitation
⏩ GitHub – XSS Payload List
⏩ GitHub – Ethical Hacking Labs
⏩ GitHub – SecLists
⏩ GitHub – PayloadsAllTheThings
⏩ GitHub – Awesome Hacker Search Engines
⏩ GitHub – Awesome Wordlists
⏩ GitHub – MITM Cheatsheet
⏩ GitHub – Email Username OSINT
⏩ GitHub – All CVE PoC
⏩ GitHub – PoC
⏩ GitHub – HackerOne Reports
⏩ Github – BurpSuite for Pentester
⏩ MetaOSINT Framework
⏩ PortSwigger XSS Cheatsheet
⏩ Red Team Notes
⏩ Offensive Security Cheatsheet
⏩ Hausec Pentesting Cheatsheet
⏩ OWASP Cheatsheet Series
⏩ OSINT Framework
⏩ CVSSjs Base Score Calculator
⏩ Metasploit Documentation
⏩ Penetration Testing Tools Cheat Sheet
⏩ The art of subdomain enumeration
⏩ AppSecco.com Blog – A Penetration Testers Guide to Subdomain Enumeration
⏩ Cloudflare Blog: DNS Cache Poisoning
⏩ Cloudflare Blog: DNS amplification DDOS attack
⏩ Medium – Penetration Testing of FTP Server
⏩ Philipp Wylie, Kim Crawley. THE PENTESTER BLUEPRINT.
⏩ Aman Hardikar. Cyber Security Mindmaps.
⏩ Styran.com – У чому різниця між тестами на проникнення і аудитами
⏩ NoNamePodcast
⏩ Abdelrhman Allam. Web Application Hacker’s Methodology.
⏩ Reverse Shell Generator
⏩ Методичка з тестування на проникння криптовалютних активів та бірж
⏩ HABR. Bug Bounty vs Penetration Testing
ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:
Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!
Є ще дуже цікавий дистрибутив
Kaisen Linux — це спеціалізований дистрибутив Linux, розроблений для ІТ-професіоналів, особливо для системних адміністраторів, та мережевих адміністраторів.
Так, але у ньому немає жодного інструменту з кібербезпеки. Він для адміністраторів, а не ПЕНТЕСТЕРІВ. Тому ми його не розглядали.