Як стати хакером: 12 кроків (з ілюстраціями)

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

Частина1 З 2:
Перед тим як почати

  1. Навчіться програмувати.на те, щоб навчитися програмувати, піде чимало часу, так що запасіться терпінням. У виборі мови керуйтеся власними бажаннями, проте тримайте в розумі наступне:
    • Мова Сі була створена під час роботи над операційною системою Unix. Вивчення Сі, як і асемблера, дозволить вам краще зрозуміти принципи роботи оперативної пам'яті.
    • Python і Ruby є високорівневими мовами програмування, відмінно підходять для написання скриптів, що автоматизують рішення різних завдань.
    • Perl також відповідний вибір для хакінгу, як і PHP, який варто вивчити хоча б тому що більшість сучасних інтернет-сайтів і додатків написано на ньому.
    • А ось вміння створювати скрипти на bash просто необхідно. Саме вони допоможуть вам з легкістю маніпулювати Unix-подібними операційними системами, включаючи всі дистрибутиви Linux.
    • Без знання мови асемблера також не обійтися. Це мова низького рівня, який дозволяє спілкуватися з процесором безпосередньо. По суті, код на будь-якому високорівневому мовою в результаті буде перетворений в асемблер. Тому знання асемблера може дуже стати в нагоді при пошуку вразливостей в програмах.
  2. Досконально вивчіть атаковану систему. чим більше ви будете знати про свою жертву, тим краще. Тому для збору інформації варто використовувати всі доступні засоби.

Частина2 З 2:
Злом системи

  1. Використовуйте * Nix-термінал для введення команд. Cygwin допоможе вам отримати доступ до терміналу, якщо ви використовуєте Windows. Якщо говорити зокрема про Nmap, то він запускається на Windows без установки Cygwin; для його функціонування потрібно WinPCap. однак, його продуктивність на Windows істотно знижена через брак "сирих" (низькорівневих) сокетів. Загалом, краще використовувати системи Linux або BSD, так як вони більш гнучкі, надійні і безпечні.
    • Як варіант, якщо у вас Windows 10 з оновленням Fall Creators Update або більш пізнім, знайдіть * Nix-термінал в магазині додатків для Windows. Завдяки WSL (Windows Subsystem for Linux — шар сумісності для запуску Linux-додатків) на Windows можна емулювати команди Linux в *Nix-терміналі.
  2. Для початку подбайте про безпеку своєї системи.для цього вам слід вивчити всі відомі на сьогодні методи захисту. Почніть з основ - однак врахуйте, що у вас має бути дозвіл на злом: зламуйте власні ресурси, або запросіть письмовий дозвіл на злом, або створіть власну лабораторію з віртуальними машинами. Злом системи, незалежно від її контенту, незаконний і напевно призведе до неприємностей.
  3. Перевірте ціль. перевірте доступність сервера. Для цього підійде тест утилітою ping, що входить до складу всіх основних операційних систем. Однак не варто на сто відсотків довіряти даному тесту, — він діє через ICMP-протокол, який іноді може бути відключений надмірно обережним сисадміном.
  4. Визначте операційну систему (ОС).запустіть сканер портів, наприклад, nmap, і направте його на атаковану систему. У результатах сканування ви побачите список відкритих портів цілі, інформацію про встановлену ОС і, можливо, використовуваний фаєрвол (міжмережевий екран) або роутер. Ця інформація необхідна для того, щоб почати планувати подальші дії. Для визначення ОС запустіть сканування в nmap, встановивши опцію-O.
  5. Знайдіть відкриті порти в системі.Часто використовувані порти, такі як FTP(21) і HTTP(80), часто надійно захищені, і не піддаються відомим на сьогоднішній день експлойтам.
    • Пошукайте серед інших TCP-і UDP-портів, з необережності залишених відкритими місцевим сисадміном. Наприклад, порт Telnet (23) або використовувані для ігор по мережі UDP-порти.
    • Відкритий 22 TCP-порт в більшості випадків означає, що на ньому запущений сервіс SSH (Secure Shell), який можна спробувати зламати брутом (повним перебором можливих паролів).
  6. Взломайте пароль.є кілька способів отримати доступ до пароля, включаючи брутфорс. Метод брутфорс (англ.brute force - груба сила) полягає в переборі всіх можливих варіантів пароля.
    • Останнім часом застосовується практика використання більш складних паролів, що помітно ускладнює процедуру брута. Хоча і технологія самого брута не стоїть на місці.
    • Більшість алгоритмів хешування мають уразливості, які ви можете використовувати, щоб значно збільшити швидкість злому.
    • З недавнього часу для злому стали використовуватися обчислювальні потужності відеокарт, що дає дуже істотний приріст у швидкості (до тисяч разів).
    • Для прискорення процедури злому можна використовувати так звані райдужні таблиці. Зауважте, що починати злом пароля варто тільки в тому випадку, якщо у вас є його хеш.
    • А ось намагатися перебрати паролі, намагаючись авторизуватися в системі з кожним з них-далеко не найкраща ідея. Такий діяльність швидко виявляється, залишає багато слідів в системних логах і вимагає величезної кількості часу для успішного завершення.
    • Пам'ятайте, що злом пароля — далеко не єдиний спосіб отримати доступ до системи.
    • Досягніть прав суперкористувача. Для цього вам необхідно отримати права доступу root на UNIX подібних ОС або права адміністратора в Windows.
  7. Отримайте права суперкористувача (адміністратора).у більшості випадків інформація, до якої Ви хочете отримати доступ, буде захищена від сторонніх, і для того щоб обійти цей бар'єр, вам будуть потрібні певні права. Для отримання доступу до всіх файлів і процесів без винятку потрібні права суперкористувача, аккаунт має такі ж привілеї як root в Linux і BSD.
    • Для роутерів потрібно аккаунт адміністратора з ім'ям користувача "admin» або "administrator" за замовчуванням.
    • Для Windows систем також буде потрібно доступ до аккаунту з правами адміністратора.
    • Іншими словами, просте підключення до системи ще не дає вам доступ до всіх локальних файлів і процесів, — для цього вам будуть потрібні права суперкористувача (root або адміністратора).
  8. Використовуйте різні хитрощі.існує безліч методів отримання доступу до прав суперкористувача. Один з популярних способів- переповнення буфера, при якому з'являється можливість записувати в стек пам'яті виконуваного процесу код з командами, які в свою чергу будуть виконані з правами користувача, який запустив процес.
    • В UNIX подібних ОС уразливий процес повинен бути запущений з встановленим suid бітом.
    • Пам'ятайте, що для використання даного способу необхідно знайти на атакується системі запущений процес з уразливістю або написати таку програму самому і потім якимось чином домогтися її виконання з аккаунта суперкористувача.
  9. Створіть бекдор.якщо вам вдалося отримати доступ до системи, подбайте про те, щоб для отримання доступу в наступний раз вам не довелося все проробляти заново. Для цього необхідно встановити бекдор (програму-зломщик) в одній з системних служб, наприклад, на SSH сервері. Пам'ятайте, що такий бекдор може бути знесений при черговому оновленні системи. Хакери-віртуози в таких випадках дописують код в компілятор, що дозволяє автоматично створювати бекдори і уразливості в будь-який скомпільованої програмі.
  10. Замітайте сліди.постарайтеся все робити так, щоб у адміністратора атакованої системи не виникло ніяких підозр. Не змінюйте вміст веб-сайту (якщо ви атакуєте веб-сайт), і не створюйте непотрібних файлів. Також не створюйте ніяких додаткових акаунтів. Здійснюйте всі дії максимально швидко. Якщо ви пропатчили SSH-сервер, переконайтеся, що ваш пароль збережений в хард коді. Тобто в разі використання цього пароля сторонніми для входу в систему, сервер не повинен видавати ніякої важливої та / або компрометуючої інформації.

Поради

  • Пам'ятайте, що для того, щоб стати кращим, необхідно намагатися атакувати тільки найбільш захищені системи. Не варто також страждати завищеною зарозумілістю, вважаючи себе найбільшим професіоналом. Просто поставте собі за мету вдосконалюватися кожен день. Якщо ви не дізналися сьогодні нічого нового або не відточили вже набуті навички, то вважайте, що день прожитий даремно. Все в ваших руках. Головне, повністю присвятити себе справі, без жодних напівзаходів і поблажок.
  • Не всі хакери однакові. Є такі, яких цікавить тільки прибуток, інші ж керуються зовсім іншим: жагою інформації і знань, але, на жаль, навіть вони часом переступають закон.
  • Будучи новачком, не намагайтеся зламати зазначеним ваше способом системи великих корпорацій або державних структур. Врахуйте, що люди, що відповідають за безпеку таких систем, швидше за все, розбираються в предметі набагато краще вас. До слова, в деяких випадках навіть після виявлення вторгнення в систему вони не будуть реагувати негайно, а почекають, поки хакер не успадкує достатньо, щоб його зловити. Тобто, коли хакер відчуває себе в безпеці після злому і продовжує досліджувати систему на приклад інших вразливостей, тим часом його можуть заманювати в пастку.
  • Читайте книги з комп'ютерних мереж і TCP / IP.
  • Пам'ятайте, що для того щоб стати хакером, необхідно поставити собі за мету стати кращим з кращих. Інші ж, більш приземлені, цілі, як злом якої-небудь системи, розробка і продаж експлойтів на чорному ринку, або ж отримання хорошої роботи і допомога компаніям в забезпеченні інформаційної безпеки, не зроблять вас хакером.
  • Хакери створили інтернет, розробили Linux і продовжують працювати над відкритим програмним забезпеченням. Очевидно, що для того, щоб стати професійному хакером потрібні великі пізнання і відточені до досконалості спеціальні навички.
  • Не дивлячись на те, що є велика кількість легальних способів відточувати свої навички, ви ніколи не зможете стати видатним професіоналом без досвіду атак на реальні системи, і чим краще вони будуть захищені, тим більше буде у вас шансів чогось навчитися. Тому необхідно завжди пам'ятати, що навіть якщо у вас немає ніяких злих намірів, і ви ламаєте системи з метою самоосвіти, ви навряд чи зможете довести це, коли вас зловлять.
  • Практикуйтеся - спочатку спробуйте зламати власний комп'ютер.

Попередження

  • Якщо ви не хочете втратити авторитет в хакер-спільнотах або навіть бути вигнаними їх них, не допомагайте нікому патчити програми і системи, так як це не вітається. Також не варто викладати у відкритий доступ створені іншими хакерами експлойти, інакше ви ризикуєте нажити собі небезпечних ворогів.
  • При зачистці слідів не видаляйте логи повністю-це точно викличе підозру. Краще буде, якщо ви просто очистите лог тільки від записів про вашу діяльність в системі. Інше питання: Що робити якщо десь є резервні копії логів? Адже в цьому випадку достатньо лише буде порівняти їх з оригіналами, щоб виявити сліди атаки. Тому, завжди розглядайте всі варіанти замітання слідів, можливо, найкращим виходом буде видаляти випадкові записи разом з тими, які залишилися після Вашого вторгнення.
  • Злом чужої системи часто незаконний. Тому його слід виробляти, тільки якщо у вас є дозвіл власника, або ж ви вважаєте себе супер-хакером і на всі сто впевнені в собі
  • Будь-яка інформація, представлена в даній статті, повинна використовуватися лише в освітніх цілях і не містить ніяких закликів до порушення закону. Невиконання даної рекомендації може привести вас до кримінальної або адміністративної відповідальності.
  • Не варто розслаблятися, якщо у вас вийшло занадто легко зламати систему або Ви знайшли якусь «дитячу» вразливість. Цілком можливо, що це пастка від Адміністратора, так званий [[1]].
  • Пам'ятайте, що злом систем — це не розвага і не спосіб весело провести час. Це серйозне заняття, до якого слід підходити з усією відповідальністю.
  • Якщо у вас є хоч найменші сумніви в своїх здібностях, утримайтеся від спроб злому систем великих корпорацій або державних і військових структур. Навіть якщо встановлені на них Системи безпеки не надто ефективні, вони без сумнівів зроблять все можливе, щоб зловити будь-якого хакера в разі його успіху.

Що вам знадобиться

  • потужний комп'ютер або ноутбук з доступом в інтернет
  • Proxy (не обов'язково, але бажано)
  • IP сканер

Ще почитати: