Методології неетичного хакерства

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

TOOLS FOR FIND VULNERABILITY

Логин Свят

9/19/20244 min read

Методології неетичного хакерства

1.Методологія хакінгу

Більшість людей вважають, що “хакери” — це комп’ютерні злочинці. Проте цей термін має два різні значення. Є дві сторони кожної медалі: не можна мати щось хороше без його поганої сторони. Можна сказати: “якщо хочеш, щоб твоє обличчя було на світлі, твоя спина повинна бути в темряві”.

Фраза “дві сторони однієї медалі” має дещо інший сенс: дві речі можуть здаватися різними або протилежними, але обидві є частинами одного цілого. Однією стороною є ті, хто займається етичним хакінгом. Зазвичай це фахівці з безпеки, які використовують свої знання для захисту організацій, компаній або урядів, забезпечуючи збереження документів та конфіденційної інформації в Інтернеті. Іншою стороною є ті, хто займається неетичним хакінгом. Це чорні хакери або “крекери”, які використовують свої навички та знання в незаконних або шкідливих цілях.

Що таке хакінг?

У контексті комп’ютерної безпеки хакінг означає несанкціонований доступ до даних у системі або спробу обійти механізми безпеки комп’ютерної системи з метою отримання контролю над нею або виконання будь-якої нелегітимної діяльності для особистої вигоди чи створення загрози безпеці. Щоб краще зрозуміти хакінг, спочатку потрібно зрозуміти, хто такі хакери. Можна легко припустити, що це розумні й високоосвічені в галузі комп’ютерів люди або ті, хто любить возитися з програмним забезпеченням чи електронними системами. Хакери насолоджуються дослідженням і вивченням того, як працюють комп’ютерні системи. Їм подобається відкривати нові способи електронної роботи. Насправді, зламати систему безпеки вимагає більше інтелекту і майстерності, ніж створити її.

Чому хакери зламують?

Основна причина, чому хакери займаються хакінгом, полягає в тому, що вони можуть це робити. Для деяких хакінг — це випадкове хобі; вони просто зламують системи, щоб побачити, що вони можуть або не можуть зламати, зазвичай тестуючи власні системи. Якщо уважно придивитися до хакерів, їх можна класифікувати за різними цілями та підходами.

Типи хакерів

Чорний хакер (Black Hat Hacker) — це комп’ютерники, які займаються неетичним хакінгом. Вони не дбають про закони, які порушують, або про хаос і фінансові втрати, які залишають після себе. Таких можна назвати кримінальними хакерами, крекерами або просто чорними хакерами.

Білий хакер (White Hat Hacker) — це комп’ютерники, які займаються етичним хакінгом. Зазвичай це фахівці з безпеки, відомі як етичні хакери або тестувальники проникнення. Вони зламують системи, щоб забезпечити безпеку своєї системи або системи організації, для якої працюють. Вони використовують свої навички, щоб захистити систему від інших хакерів, які намагаються її експлуатувати або викрасти цінну інформацію.

Сірий хакер (Grey Hat Hacker) — це комп’ютерники, які іноді діють законно, а іноді незаконно. Вони можуть порушувати закони або етичні стандарти, але не мають зловмисних намірів, характерних для чорних хакерів.

Хактивіст (Hacktivist) — хакер, який використовує технології для публікації соціальних, ідеологічних, релігійних або політичних повідомлень. Більшість хактивістських дій включають дефейсінг вебсайтів або атаки на відмову в обслуговуванні (DDoS).

Скрипт-кіді (Script Kiddie) — неексперт, який зламує комп’ютерні системи, використовуючи готові автоматизовані інструменти, створені іншими, зазвичай без глибокого розуміння основних концепцій.

Фрікер (Phreaker) — хакер, який ідентифікує і використовує вразливості в телефонних системах, а не в комп’ютерах.

Розуміння необхідності зламувати власні системи

“Щоб спіймати злодія, треба мислити як злодій”. Це основа етичного хакінгу.

Закон середніх величин працює проти безпеки. Зі збільшенням кількості хакерів і розширенням їх знань, у поєднанні з ростом кількості вразливостей систем і інших загроз безпеці, настане час, коли всі комп’ютерні системи можна буде зламати або скомпрометувати так чи інакше. Як кажуть: “Безпека — це лише ілюзія”.

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

Технічні види хакінгу

1. Локальний хакінг

2. Віддалений хакінг

Нетехнічні види хакінгу

1. Соціальна інженерія

Кроки, що виконуються для компрометації системи віддалено

• Збір інформації (Foot Printing)

• Сканування та перерахунок

• Отримання доступу

• Підтримка доступу та встановлення бекдорів

• Очищення логів

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

Кроки, що виконуються для компрометації системи локально

• Отримання фізичного доступу

• Встановлення бекдора/троянської програми

• Приховування слідів

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

Нетехнічні кроки для компрометації системи

Соціальна інженерія

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

Кодекси етичного хакінгу

Робота етично: Необхідно отримати чіткий дозвіл (зазвичай письмовий) на тестування або перевірку мережі чи системи та спробу виявити ризики й вразливості безпеки. Усе, що ви робите як етичний хакер, повинно відповідати цілям організації, без прихованих мотивів.

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

Завершуйте свою роботу: Після закінчення тестування необхідно закрити всі відкриті вразливості, щоб ні ви, ні хтось інший не могли скористатися ними в майбутньому.

Що таке вразливість та експлойт?

Як кажуть, “Безпека — це лише ілюзія”, що означає, що кожну систему можна зламати. Для цього в системі повинна існувати якась слабкість або неправильна конфігурація. Усе залежить від того, як зловмисник визначить цю слабкість і скористається нею для проникнення в систему. Вразливість можна визначити як “джекпот” для зловмисника, а експлойт — це “лотерея” для цього джекпоту. Тобто, вразливість — це слабкість, яка дозволяє хакеру зламати або скомпрометувати систему. А експлойт — це фактичний код, що дозволяє хакеру скористатися вразливою системою.

Однією з популярних вразливостей у системах Windows була в компоненті драйвера “Microsoft Remote Procedure Call (MSRPC)” у ядрі Windows, що дозволяла локальному зловмиснику отримати доступ до конфіденційної інформації на цільовій системі.

Ця вразливість існує через те, що уражене програмне забезпечення неправильно ініціалізує об’єкти в пам’яті. Зловмисник може легко скористатися цією вразливістю, отримавши доступ до системи та виконуючи додаток, який подає шкідливі дані ураженому програмному забезпеченню, що дозволяє отримати доступ до конфіденційної інформації ядра. Цю інформацію можна використовувати для проведення додаткових атак. Ця вразливість безпеки MSRPC торкнулася багатьох продуктів Windows, включаючи Windows 7, Windows 8.1, Windows 10, Windows RT, Windows Server 2008, Windows Server 2012, Windows Server 2016 та Windows Server 2019. Пізніше Microsoft підтвердила цю вразливість і випустила оновлення програмного забезпечення.

Наслідки хакінгу для бізнесу

Коли особиста система або мережа зламана, це зазвичай призводить до втрати особистих даних, але для бізнесу злам системи може стати справжнім кошмаром, оскільки це може коштувати мільярди доларів. Це включає втрату фінансової інформації, невідворотну втрату даних, шкоду для репутації та фінансові штрафи. За даними опитування Symantec 2012 року, щорічна вартість втрат інформації для бізнесу у всьому світі становить 1,2 трильйона доларів. Кожен бізнес повинен забезпечувати сильний захист для своїх клієнтів; інакше репутація бізнесу може опинитися під загрозою, і компанія може зіткнутися з судовими позовами.

Типи загроз для бізнесу

Крадіжка особистих даних:

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

Справжнє ім’я: Інформація про ідентифікацію використовується для відкриття нових рахунків, кредитних облікових записів або для отримання нових чекових книжок.

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

Витоки даних: Виток даних — це інцидент, який призводить до розголошення конфіденційної або захищеної інформації компанії чи організації. Витік даних може стосуватися втрати особистої інформації клієнтів, такої як номери телефонів, поштові адреси та дані соціального страхування, яка в результаті потрапляє до рук злочинців. Найбільший відомий витік даних в історії Інтернету був виявлений у компанії Yahoo! у другій половині 2016 року. Було скомпрометовано 1 мільярд облікових записів користувачів.

Компрометація бізнес-електронної пошти (BEC, атака “людина в листі”): Компрометація бізнес-електронної пошти (BEC) — це вид експлуатації, коли зловмисник отримує доступ до облікового запису електронної пошти компанії та імітує особистість власника для шахрайства з компанією, її співробітниками, клієнтами або партнерами. Зловмисник може підробити адресу електронної пошти керівника організації, щоб підвищити довіру до електронного листа. Атака зазвичай націлена на конкретних осіб для отримання грошей або конфіденційної інформації. Найпоширеніші методи — це банківські перекази, але також можуть бути запитані чекові платежі.

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

28 лютого 2018 року платформа для розробників GitHub стала жертвою раптового потоку трафіку обсягом 1,35 терабіта на секунду. Якщо це здається великим обсягом, то так воно і є — це не лише величезний трафік, але й рекордний. За даними GitHub, трафік було відстежено до понад тисячі різних автономних систем (ASNs)/ботнетів із десятками тисяч унікальних кінцевих точок.

2.Віддалений хакінг

Це дія, при якій зловмисник націлюється на будь-який комп’ютер або сервер, що знаходиться в тій самій мережі. Віддалений хакінг набагато складніший, ніж це може здатися на перший погляд. Для спрощення цього процесу на допомогу хакерам приходить фреймворк Metasploit, який детально розглядається у наступному розділі. Спочатку давайте розберемо основи компрометації системи за допомогою традиційних методів. Тож почнемо.

Існує чотири основні фази хакінгу. Хакеру не обов’язково слідувати цим крокам послідовно, проте виконання цих кроків може призвести до кращих результатів:

1. Footprinting (збір інформації)

2. Отримання доступу

3. Підтримання доступу

4. Приховування слідів

Footprinting

Збір інформації або Footprinting — це найважливіший етап для проведення атаки. Чим більше інформації ми збираємо про цільову систему, тим більше вразливостей можемо виявити. Footprinting включає збір інформації активними або пасивними методами. Наприклад, перегляд вебсайту компанії — це пасивний метод збору інформації, тоді як дзвінок у службу підтримки з метою соціальної інженерії для отримання привілейованої інформації — активний метод.

Основна мета Footprinting:

• Збір інформації про мережу цілі, її систему та організацію.

Footprinting допомагає:

• Визначити стан безпеки

• Зменшити площу атаки

• Виявити вразливості

• Створити карту мережі

Типи Footprinting

1. Мережевий Footprinting — це процес збору інформації, пов’язаної з цільовою мережею, такої як:

• Доменне ім’я

• Піддомени

• Мережеві блоки

• IP-адреси доступних систем

• Служби TCP та UDP, що працюють

• Запущені системи виявлення вторгнень (IDS)

• Мережеві протоколи

2. Системний Footprinting — це інформація, пов’язана з цільовою системою, така як:

• Імена користувачів та груп

• Банери системи

• Таблиці маршрутизації

• Інформація SNMP

• Імена систем

• Архітектура системи

• Паролі

3. Збір інформації про організацію:

• Дані співробітників

• Вебсайт організації

• Каталог компанії

• Історія організації

• Адреси та номери телефонів

• Посилання на вебсервери

Footprinting за допомогою пошукових систем

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

Наприклад, якщо ви хочете зібрати інформацію про компанію Apple Inc., введіть у пошукове вікно Google “Apple Inc.” і натисніть “Enter”. Це відобразить усі результати пошуку, пов’язані з Apple Inc. Перегляд результатів може надати дані про співробітників, кількість працівників, фізичне місцезнаходження, історію організації, зовнішні посилання та іншу інформацію, яку можна використовувати для подальших дій щодо атаки.

Знаходження внутрішніх URL компанії

Sitechecker Pro — інструмент, що допомагає отримати деталі про вебсайт компанії, включаючи:

1. Навігацію по сайту.

2. Визначення архітектури та ієрархії сайту.

Інформація про доменне ім’я

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

Знаходження IP-адреси

Ви можете використовувати команду ping у командному рядку. Ця команда доступна як в операційній системі Windows, так і в Linux. Ось приклад використання команди для того, щоб знайти IP-адресу сайту temu.com:

ping temu.com

Після цього система надішле кілька пакетів на сервер temu.com і покаже вам відповідь, у якій буде вказана IP-адреса цього вебсайту. Результат виглядатиме приблизно так:

Синтаксис використання:

Діапазони IP-адрес

Великі вебсайти зазвичай мають кілька IP-адрес для обслуговування різних доменів і піддоменів. Невеликі сайти можуть мати одну IP-адресу, але можна отримати діапазон IP-адрес, призначених певній компанії, використовуючи Американський реєстр інтернет-номерів (ARIN).

Щоб отримати діапазон IP-адрес, призначених конкретній компанії, можна скористатися інструментом ARIN Whois за посиланням:

www.itools.com/tool/arin-whois-domain-search

Цей інструмент дозволяє шукати інформацію про власників IP-адрес і діапазони IP-адрес, пов’язані з певними доменами або організаціями.

Історія вебсайту

Мета Wayback Machine полягає в тому, щоб зберегти якомога більше контенту з Інтернету, який інакше міг би бути втрачений при зміні або закритті вебсайтів. Цей проєкт розвивався завдяки використанню складних веб-сканерів, які намагаються завантажити доступні сторінки світової павутини та інші ресурси.

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

Wayback Machine доступний за посиланням:

https://archive.org/web

Відстеження електронної пошти

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

Заголовок електронної пошти: Заголовок електронної пошти — це фрагмент коду в HTML-документі листа, який містить інформацію про Mail Transfer Agents (MTA), які відправляють і отримують повідомлення.

Mail Transfer Agents (MTA): Відповідає за передачу та маршрутизацію електронних повідомлень від комп’ютера відправника до комп’ютера одержувача. Оскільки відправник і одержувач зазвичай не з’єднані безпосередньо, MTA створює шлях між поштовими серверами відправника та одержувача. Заголовки електронної пошти містять інформацію про маршрутизацію.

Як відстежити електронний лист у Gmail:

1. Відкрийте повідомлення електронної пошти в Gmail, а потім виберіть меню “Ще” (іконка з трьома крапками), щоб відобразити додаткові опції.

2. Виберіть опцію “Показати оригінал”. Це дозволить вам переглянути весь заголовок повідомлення, включаючи всі відомості про маршрутизацію.

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

3.Скопіюйте текст з оригіналу повідомлення

4. Відкрийте інструмент для аналізу заголовків повідомлень за посиланням:

https://toolbox.googleapps.com/apps/messageheader/

5. У полі “Paste email header here” вставте заголовок вашого листа, скопійований з Gmail. Після цього натисніть “Analyze the header above” для аналізу заголовка.

Сканування портів

Що таке порти? У комп’ютерних мережах порти визначаються як кінцева точка зв’язку, через яку інформація передається від програми на вашому комп’ютері до Інтернету або до іншого комп’ютера в мережі. Порти використовуються протоколами транспортного рівня набору Інтернет-протоколів, такими як Протокол користувацьких датаграм (UDP) і Протокол керування передачею (TCP).​⬤

Номер порту — це 16-бітне беззнакове ціле число, яке варіюється в діапазоні від 0 до 65535, але лише порти від 0 до 1023 зарезервовані для привілейованих служб і визначені як загальновідомі порти.

Port Number Protocol & (Services)

7 PINg

21 FTP

23 TELNET

80 HTTP

110 PoP3

161 SNMP

443 HTTPS

546 dHCP Client

547 dHCP Server

569 MSN

1080 SoCKS

OS Fingerprinting

OS Fingerprinting — це процес визначення операційної системи та її версії на системі жертви (Windows, Linux, Unix, Mac OS). Визначення операційної системи допомагає адміністраторам ІТ виконувати оцінку вразливостей та внутрішній аудит для захисту своїх мережевих систем. У той же час, це часто є першим кроком для запуску атак на цільову систему або сервер.

Інструменти

NMap (Network Mapper) — це інструмент з відкритим вихідним кодом для сканування вразливостей та дослідження мереж. Експерти з безпеки використовують Nmap для збору інформації про систему, щоб визначити, які пристрої працюють, знаходити доступні хости та послуги, які вони пропонують, відкриті порти, сервіси, що працюють на певній системі, а також виявляти ризики безпеки. Він може використовуватися для моніторингу як окремих хостів, так і великих мереж, що охоплюють сотні тисяч пристроїв.

Основні техніки сканування

Nmap дозволяє системним адміністраторам і окремим користувачам сканувати мережі, щоб визначити, які хости активні і які сервіси вони пропонують. Nmap підтримує велику кількість технік сканування, включаючи:

• UDP

• TCP connect()

• TCP SYN (напіввідкрите з’єднання)

• FTP proxy (bounce attack)

• ICMP (ping sweep)

• FIN

• ACK sweep

• Xmas Tree

• SYN sweep

• IP Protocol

• Null scan

Сканування однієї цілі

Виконання Nmap без опцій командного рядка здійснює базове сканування на вказаній цілі. Ціль може бути визначена як IP-адреса або ім’я хоста.

nmap 192.168.10.10

Результати сканування

Результати сканування показують статус портів, виявлених на цільовій системі. За замовчуванням, Nmap перевіряє 1000 найбільш часто використовуваних TCP/IP портів.

Сканування кількох цілей

Синтаксис використання для сканування кількох цілей одночасно:

nmap [target1 target2 target3 targetN]

Сканування діапазону IP-адрес

Для сканування діапазону IP-адрес можна використовувати наступний синтаксис:

nmap 192.168.1.1-100

Сканування випадкових цілей

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

nmap -iR 4

Команда nmap -iR 4 інструктує Nmap випадково згенерувати 4 IP-адреси для сканування.

UDP-сканування

Хоча TCP є найбільш часто використовуваним протоколом, багато мережевих сервісів (DNS, DHCP і SNMP) досі використовують UDP. Під час збору інформації про мережу завжди корисно перевіряти як TCP, так і UDP-сервіси, щоб отримати повну картину про цільовий хост або мережу.

nmap -sU [target]

Огляд сканування портів

Усього існує 131070 портів, включаючи 65535 TCP і 65535 UDP. За замовчуванням Nmap сканує лише 1000 найпоширеніших портів, щоб зекономити час. Однак ви можете виконати сканування за межами стандартного діапазону портів для виявлення сервісів або портів, щоб отримати повну картину про цільову систему.

Сканування конкретних портів

Параметр -p використовується для сканування зазначених портів цільової системи.

nmap -p [port] [Target]

Можна також сканувати кілька портів або діапазон портів:

nmap -p 25,53,80,443,445-1000 10.10.0.1

Сканування всіх портів

Параметр -p з використанням символу “*” сканує всі порти на цільовій системі замість того, щоб сканувати лише загальновідомі порти.

nmap -p "*" [target IP]

Визначення операційної системи та сервісів за допомогою Nmap

Однією з найвражаючих функцій Nmap є віддалене визначення операційної системи за допомогою TCP/IP fingerprinting. Nmap відправляє серію TCP і UDP-пакетів на віддалений хост і аналізує майже кожен біт у відповідях, щоб точно визначити операційну систему та сервіси, які працюють на цільовій системі.

При виконанні віддаленого визначення операційної системи (OS Fingerprinting) за допомогою Nmap використовуються п’ять окремих зондів. Кожен зонд може складатися з одного або більше пакетів. Відповіді цільової системи на кожен пакет допомагають визначити тип операційної системи.

Ось п’ять різних зондів:

1. Генерація послідовності (Sequence Generation):

Зонд послідовної генерації складається з шести пакетів. Шість пакетів відправляються з інтервалом у 100 мс і всі є TCP SYN-пакетами. Результат кожного TCP SYN-пакету допомагає Nmap визначити тип операційної системи.

2. ICMP Echo:

Два ICMP-запити відправляються на цільову систему з різними налаштуваннями в пакеті. Відповіді, які повертаються, допомагають Nmap перевірити тип операційної системи.

3. TCP Explicit Congestion Notification:

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

4. TCP:

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

5. UDP:

Цей зонд складається з одного пакета, відправленого на закритий порт. Якщо на закритий порт цільової системи повертається повідомлення ICMP про недоступність порту (Port Unreachable), це вказує на відсутність брандмауера.

Визначення операційної системи

Параметр -o дозволяє Nmap виконувати визначення операційної системи.

nmap -o [Target IP]

Визначення невідомої операційної системи

Іноді Nmap не може визначити операційну систему. У такому випадку можна змусити Nmap зробити припущення, використовуючи опцію –osscan-guess.

nmap -o --osscan-guess [Target IP]

Визначення версії сервісів

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

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

• Протокол сервісу (наприклад, FTP, SSH, Telnet, HTTP).

• Назву додатку (наприклад, BIND, Apache httpd).

• Номер версії.

• Ім’я хоста.

• Тип пристрою (наприклад, принтер, маршрутизатор).

• Родину ОС (наприклад, Windows, Linux).

nmap -sV [Target IP]

Нижче наведено приклад виведення сканування з опцією -sV.

root@slogin:~# nmap -sV 192.168.5.102

Starting Nmap 7.01 ( https://nmap.org ) at 2019-03-03 20:07 CET

Nmap scan report for

192.168.5.102 Host is up (1.0s latency).

Not shown: 977 closed ports

PoRT STATE SERVICE VERSIoN

21/tcp open ftp Microsoft ftpd

53/tcp open domain Microsoft DNS

80/tcp open http Microsoft IIS httpd 8.0

88/tcp open kerberos-sec Windows 2003 Kerberos (server time: 2024-03-0319:09:38Z)

111/tcp open rpcbind?

135/tcp open msrpc Microsoft Windows RPC

139/tcp open netbios-ssn Microsoft Windows 98 netbios-ssn

389/tcp open ldap

445/tcp open microsoft-ds (primary domain:MYDOMAIN)

464/tcp open kpasswd5?

514/tcp filtered shell

593/tcp open ncacn

_

http Microsoft Windows RPC over HTTP 1.0

636/tcp open tcpwrapped

2049/tcp open mountd 1-3 (RPC #100005)

3260/tcp open tcpwrapped

3268/tcp open ldap

3269/tcp open tcpwrapped

49152/tcp open msrpc Microsoft Windows RPC

49153/tcp open msrpc Microsoft Windows RPC

49154/tcp open msrpc Microsoft Windows RPC

49155/tcp open msrpc Microsoft Windows RPC

49157/tcp open ncacn

_

http Microsoft Windows RPC over HTTP 1.0

49158/tcp open msrpc Microsoft Windows RPC

Виявлення сервісів завершено.

Будь ласка, повідомте про будь-які неправильні результати на https://nmap.org/submit/.

Nmap виконано: 1 IP-адреса (1 хост активний), сканування тривало 186,76 секунд.

Усунення несправностей сканування версій

Опція –version-trace дуже корисна для налагодження проблем або для отримання додаткової інформації про цільову систему.

nmap --version-trace [Target IP]

Отримання доступу

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

Злам паролів

Існує кілька основних методів зламу паролів:

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

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

Атака на основі правил: якщо відомі деякі деталі про ціль, можна створити правила на основі цієї інформації.

Таблиця “веселки” (Rainbow Table): замість того, щоб порівнювати паролі безпосередньо, використовується хеш пароля. Він порівнюється зі списком попередньо обчислених хешів, поки не знайдеться збіг.

Метод таблиці “веселки” має перевагу для зловмисника, оскільки відсутній механізм блокування облікового запису при введенні неправильних хешів. Щоб запобігти атаці за допомогою таблиці “веселки”, можна використовувати “соління”. Соління — це процес додавання випадкових чисел до пароля, щоб зловмисник не міг зламати хеш без цього додаткового солі.

Типи атак на паролі

-Пасивні онлайн атаки

Пасивна атака — це атака, яка не змінює систему. Вона полягає у моніторингу або записі даних:

• Захоплення трафіку (Wire Sniffing)

• Атака “людина посередині” (Man in the Middle)

• Повторна атака (Replay Attack)

-Активні онлайн атаки

Активна онлайн-атака — це найлегший спосіб отримати несанкціонований доступ до рівня адміністратора в системі:

• Вгадування пароля

• Троянські програми/шпигунське ПЗ/кейлогери

• Впровадження хешів

• Фішинг

Офлайн атаки

Офлайн атаки відбуваються, коли зловмисник перевіряє дійсність паролів без прямого підключення до системи. Офлайн атаки зазвичай займають більше часу:

• Попередньо обчислені хеші

• Розподілена мережа

• Таблиці “веселки”

Неелектронні атаки

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

• Соціальна інженерія

• Підглядання за введенням пароля (Shoulder Surfing)

• Пошук у сміттєвих контейнерах (Dumpster Diving)

Підтримання доступу

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

Огляд троянської програми (Trojan)

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

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

Типи троянів:

1. Руткіти (Rootkits)

Руткіт — це програмне забезпечення, яке встановлюється на машині й дозволяє зловмиснику виконувати кілька шкідливих дій, включаючи відкриття бекдора. Руткіт нелегально встановлюється на машину без відома власника та запускається, коли хакер отримує доступ до системи з правами адміністратора (root). Мета руткіту — перетворити тимчасовий доступ у постійний, дозволяючи зловмиснику постійно контролювати систему.

Уявіть, що руткіт — це інструмент, який дозволяє відкрити бекдор.

2. Бекдори (Backdoors)

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

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

3. Троян-банкір (Trojan-Banker)

Троян-банкір призначений для отримання фінансової інформації або зламу користувачів через банківську або фінансову систему, зазвичай через онлайн-банкінг або брокерський інтерфейс. Іноді такий троян перенаправляє користувачів із банківського сайту на сайт зловмисника, що дозволяє викрасти банківські дані.

Трояни для віддаленого доступу (RAT)

Троян для віддаленого доступу (Remote Access Trojan, RAT) — це шкідлива програма, яка включає бекдор для отримання адміністративного контролю над цільовим комп’ютером. RAT зазвичай завантажується непомітно разом із програмами, які запитує користувач, наприклад, грою, або надсилається жертві у вигляді вкладення до електронної пошти.

Типи троянів:

1. Трояни для передачі даних (Data Sending Trojans)

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

2. Деструктивні трояни (Destructive Trojans)

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

3. Проксі-трояни (Proxy Trojans)

Проксі-троян захоплює та перетворює хост-комп’ютер на проксі-сервер, який може бути частиною ботнету. Це дозволяє зловмиснику здійснювати анонімні дії та атаки, використовуючи заражений ПК для спам-розсилки та інших шкідливих дій.

4. FTP-трояни (FTP Trojans)

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

5. Трояни для відключення антивірусного ПЗ (Security Software Disabler Trojans)

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

6. Трояни для атак на відмову в обслуговуванні (DoS Trojans)

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

Приховування слідів

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

Очищення журналу подій у Windows

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

@echo off

FOR /F “tokens=1,2*” %%V IN (‘bcdedit’) DO SET

adminTest=%%V IF (%adminTest%)==(Access) goto

noAdmin

for /F “tokens=*” %%G in (‘wevtutil.exe el’) DO (call :do

clear

_

“%%G”) echo.

echo All Event Logs have been

cleared! goto theEnd:do

clear

_

echo clearing %1

wevtutil.exe cl %1

goto :eof

:noAdmin

echo Current user permissions to execute this .BAT file are

inadequate. echo This .BAT file must be run with administrative

privileges.

echo Exit now, right click on this .BAT file, and select “Run as

administrator”

. pause >nul

:theEnd

Exit

Інструменти для приховування слідів

1. elsave.exe

Це проста утиліта для очищення журналів подій. Вона працює на основі командного рядка і дозволяє швидко видалити записи журналів подій у системі Windows.

2. WinZapper

Це інструмент, який зловмисник може використовувати для вибіркового видалення записів з журналу безпеки в Windows 2000. WinZapper також забезпечує відсутність запису подій безпеки під час роботи програми, що дозволяє уникнути фіксації активності хакера.

3. Evidence Eliminator

Це система очищення даних для ПК з Windows. Вона запобігає збереженню небажаних даних у системі. Evidence Eliminator очищає кошик, інтернет-кеш, системні файли, тимчасові папки тощо. Хакер може використовувати Evidence Eliminator для видалення доказів своєї присутності в системі після атаки.

Ці інструменти використовуються хакерами для знищення доказів після злому та приховування своєї активності в системі.

3.Metasploit – Останнє рішення для тестування на проникнення

Metasploit — це один із найпопулярніших та найпотужніших інструментів для тестування на проникнення (penetration testing) і розробки експлойтів. Він широко використовується фахівцями з кібербезпеки для ідентифікації, експлуатації та усунення вразливостей у комп’ютерних системах. Водночас, через свою потужність, Metasploit часто використовується зловмисниками для зламу систем.

Основні можливості Metasploit:

Тестування на проникнення: Інструмент дозволяє імітувати реальні атаки на комп’ютерні системи, щоб перевірити їхню безпеку та виявити вразливі місця.

Експлуатація вразливостей: Metasploit містить велику бібліотеку готових експлойтів, що дозволяє зловмисникам отримувати несанкціонований доступ до систем.

Модульна структура: Інструмент побудований на основі модулів, які дозволяють легко розширювати функціонал та додавати нові атаки чи експлойти.

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

Metasploit використовується як етичними хакерами для підвищення безпеки, так і кіберзлочинцями для проведення шкідливих атак.

Основні терміни:

Вразливість (Vulnerability): Слабке місце, яке дозволяє зловмиснику зламати або скомпрометувати безпеку системи.

Експлойт (Exploit): Код, який дозволяє зловмиснику скористатися вразливістю системи.

Пейлоад (Payload): Код, який виконується на системі після успішної експлуатації вразливості.

Модулі (Modules): Готові колекції коду з фреймворку Metasploit, які виконують конкретні завдання, такі як сканування або запуск експлойтів.

Лістенер (Listener): Чекає на вхідне з’єднання від цільової машини або атакуючої машини та керує з’єднанням, коли його отримує.

Meterpreter: Багатофункціональний пейлоад, що надає інтерактивну оболонку. Він дозволяє виконувати завдання, такі як завантаження файлів, отримання хешів паролів та інші дії. Працює в пам’яті, тому є непомітним для більшості систем виявлення вторгнень.

Допоміжний модуль (Auxiliary Module): Не виконує пейлоад і виконує довільні дії, не пов’язані з експлуатацією вразливостей (наприклад, сканування, атаки на відмову в обслуговуванні).

LHOST: IP-адреса, до якої цільова машина повинна підключитися.

LPORT: Порт, до якого цільова машина повинна підключитися.

Модулі Metasploit:

Metasploit використовує модулі для виконання більшості завдань. Модулі можуть бути експлойтами, допоміжними або післяексплуатаційними. Ось шість основних типів модулів:

1. Експлойти (Exploits): Виконують команди для атаки на конкретну вразливість в системі або програмі. Вони включають експлойти на переповнення буфера, ін’єкцію коду та експлойти для вебзастосунків.

2. Пейлоади (Payloads): Це код, який запускається після успішного експлойту. Пейлоад дозволяє вибрати, як підключитися до оболонки та що робити після отримання контролю над системою (наприклад, відкрити Meterpreter або командну оболонку).

3. Допоміжні модулі (Auxiliary): Не виконують пейлоади, а виконують довільні дії, наприклад, сканування, тестування на наявність вразливостей або атаки на відмову в обслуговуванні.

4. Енкодери (Encoders): Використовуються для перекодування пейлоадів і експлойтів, щоб обійти системи безпеки, такі як антивіруси та системи виявлення вторгнень.

5. Післяексплуатаційні модулі (Post Exploitation): Використовуються після зламу системи, коли Meterpreter вже працює. Ці модулі дозволяють виконувати дії, такі як запис натискань клавіш, підвищення привілеїв або активація вебкамери чи мікрофона.

6. Nops (NoP): Це коротка команда, яка змушує процесор робити паузу на один цикл. NoP часто використовуються для виконання віддаленого коду після переповнення буфера.

Bright living room with modern inventory
Bright living room with modern inventory