Аналіз мереж та управління ними є необхідною складовою сфери інформаційної безпеки та адміністрування мереж. Linux забезпечує багатий набір інструментів та ресурсів для виконання цих завдань. Він має потужні утиліти, які дозволяють вам аналізувати мережевий трафік, виявляти вразливості, настроювати мережеві параметри та багато іншого. Одним з ключових аспектів аналізу мереж є збір та аналіз пакетів. Linux надає такі інструменти, як tcpdump та Wireshark, які дозволяють перехоплювати та аналізувати мережевий трафік. Ви зможете виявити потенційні загрози, аналізувати протоколи та встановлювати причину проблем у мережі. Управління мережами також важливе завдання для Linux-користувачів.
Ви можете налаштовувати мережеві параметри, настраювати мережеві інтерфейси, налаштовувати маршрутизацію та контролювати доступ до ресурсів мережі. Інструменти, такі як ifconfig, ip, iptables та інші, дозволяють здійснювати потужне управління мережами з командного рядка. Аналіз мереж і управління ними в Linux надає вичерпну інформацію про різні аспекти аналізу та управління мережами в Linux. Ви дізнаєтеся про основи мереж, засоби моніторингу, інструменти аналізу трафіку, конфігурацію мережевих інтерфейсів, настроювання маршрутизації та багато іншого. Крім того, ми надаємо практичні приклади та поради для реалізації цих навичок у реальних сценаріях. Отримайте необхідні навички для ефективного аналізу та управління мережами в Linux. “Аналіз мереж і управління ними в Linux” – ваш ключ до успішного опанування цих важливих навичок. Почніть вивчати аналіз мереж і управління ними в Linux вже сьогодні і станьте майстром у цій галузі.
Команда ifconfig є одним з найбільш базових інструментів для вивчення і взаємодії з активними мережевими інтерфейсами. Ви можете використовувати його для запиту ваших активних мережевих підключень, просто ввівши ifconfig у терміналі. Спробуйте самі, і ви побачите результат, подібний до списку 31.
kali >ifconfig ➊eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f ➋inet addr:192.168.181.131 ➌Bcast:192.168.181.255 ➍Mask:255.255.255.0 snip History Topics Tutorials Offers & Deals Highlights Settings Support Sign Out ➎lo Linkencap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 snip ➏wlan0 Link encap:EthernetHWaddr 00:c0:ca:3f:ee:02 Listing 31: Using ifconfigto get network information
Список 31: Використання ifconfig для отримання інформації про мережу
Як бачите, команда ifconfig показує деяку корисну інформацію про активні мережевих інтерфейсах в системі. У верхній частині виводу є ім’я першого виявленого інтерфейсу, eth0 ➊, що скорочення від Ethernet0 (Linux починає рахувати з 0, а не з 1). Це перше дротове підключення до мережі. Якби було більше дротових інтерфейсів Ethernet, вони відображалися б у вихідних даних у тому ж форматі (eth1, eth2 тощо).
Далі вказано тип використовуваної мережі (Ethernet), за нею слідує HWaddr та адреса; це глобальна унікальна адреса, проштампована на кожному мережевому обладнанні — у цьому випадку мережева інтерфейсна плата (NIC), яку зазвичай називають MAC-адресою.
Другий рядок містить інформацію про IP-адресу, яка наразі призначена цьому мережевому інтерфейсу (у цьому випадку 192.168.181.131 ➋); Bcast ➌, або адреса трансляції, яка є адресою, яка використовується для надсилання інформації всім IP-адресам у підмережі; і, нарешті, маска мережі (маска ➍), який використовується для визначення того, яка частина IP-адреси підключена до локальної мережі. Ви також знайдете більше технічної інформації в цьому розділі результатів, але це виходить за рамки цього розділу про основи мережі Linux.
Наступний розділ виводу показує інше мережеве з’єднання під назвою lo ➎, яке скорочується від loopback address і іноді називається localhost. Це спеціальна адреса програмного забезпечення, яка з’єднує вас з вашою власною системою. Програмне забезпечення та служби, які не запущено у вашій системі, не можуть використовувати його. Ви б використовували lo, щоб протестувати щось у вашій системі, наприклад, власний веб-сервер. Localhost, як правило, представлений IP-адресою 127.0.0.1.
Третє підключення – інтерфейс wlan0 ➏. Це з’являється лише в тому випадку, якщо у вас є бездротовий інтерфейс або адаптер, як я роблю тут. Зауважте, що він також відображає MAC-адресу цього пристрою (HWaddr).
Ця інформація від ifconfig дозволяє підключатися до налаштувань локальної мережі (LAN) та маніпулювати ними, що є важливою навичкою для злому.
Якщо у вас є бездротовий адаптер, ви можете використовувати команду iwconfig для збору важливої інформації для бездротового злому, такої як IP-адреса адаптера, його MAC-адреса, режим роботи тощо. Інформація, яку ви можете отримати з цієї команди, особливо важлива, коли ви використовуєте бездротові інструменти злому, такі як aircrackng.
Використовуючи термінал, давайте подивимося на деякі бездротові пристрої з iwconfig.
kali >iwconfig wlan0 IEEE 802.11bg ESSID:off/any Mode:Managed Access Point: Not Associated TxPower=20 dBm snip lo no wireless extensions eth0 no wireless extensions Listing 32: Using iwconfigto get information on wireless adapters
Вихід тут говорить нам, що єдиним мережевим інтерфейсом з бездротовими розширеннями є wlan0, чого ми і очікуємо. Ні lo, ні eth0 не мають бездротових розширень.
Для wlan0 ми дізнаємося, на які стандарти бездротового зв’язку 802.11 IEEE здатний наш пристрій: b і g, два ранніх стандарту бездротового зв’язку. Більшість бездротових пристроїв тепер також включають n (n є останнім стандартом).
Ми також дізнаємося з iwconfig режим бездротового розширення (в даному випадку Mode:Managed, на відміну від monitor або promiscuous mode). Нам знадобиться безладний режим для злому бездротових паролів.
Далі ми бачимо, що бездротовий адаптер не підключений (не пов’язаний) до точки доступу (AP) і що його потужність становить 20 дБм, що представляє силу сигналу. Ми приділимо більше часу цій інформації в розділі 14.
Можливість змінити свою IP-адресу та іншу інформацію про мережу є корисною навичкою, оскільки це допоможе вам отримати доступ до інших мереж, відображаючись як надійний пристрій у цих мережах. Наприклад, під час атаки на відмову в обслуговуванні (DoS) ви можете підробити свою IP-адресу, щоб атака здавалася похідною з іншого джерела, що допоможе вам уникнути IP-адреси
захоплення під час криміналістичного аналізу. Це відносно просте завдання в Linux, і виконується воно за допомогою команди ifconfig.
Щоб змінити свою IP-адресу, введіть ifconfig, інтерфейс, який потрібно перепризначити, і нову IP-адресу, яку потрібно призначити цьому інтерфейсу. Наприклад, щоб призначити IP-адресу 192.168.181.115 інтерфейсу eth0, потрібно ввести наступне:
kali >ifconfig eth0 192.168.181.115 kali >
Коли ви зробите це правильно, Linux просто поверне командний рядок і нічого не скаже. Це добре! Потім, коли ви знову перевірите свої мережеві з’єднання за допомогою ifconfig, ви повинні побачити, що ваша IP-адреса змінилася на нову IP-адресу, яку ви щойно призначили.
Також можна змінити маску мережі (маску мережі) та адресу трансляції за допомогою команди ifconfig. Наприклад, якщо ви хочете призначити той самий інтерфейс eth0 маскою мережі 255.255.0.0 та адресою трансляції 192.168.1.255, ви повинні ввести наступне:
kali >ifconfig eth0 192.168.181.115 маска мережі 255.255.0.0 трансляція 192.168.1.255 Калі >
Знову ж таки, якщо ви все зробили правильно, Linux відповідає новим командним рядком. Тепер введіть ifconfig ще раз, щоб переконатися, що кожен з параметрів був відповідно змінений.
Ви також можете використовувати ifconfig для зміни MAC-адреси (або HWaddr). MAC-адреса є глобально унікальною і часто використовується як засіб безпеки, щоб захистити хакерів від мереж або відстежити їх. Зміна MAC-адреси на підробку іншої MAC-адреси є майже тривіальною і нейтралізує ці заходи безпеки. Таким чином, це дуже корисна техніка для обходу контролю доступу до мережі.
Щоб підробити свою MAC-адресу, просто скористайтеся опцією вниз команди ifconfig, щоб видалити інтерфейс (у цьому випадку eth0). Потім введіть команду ifconfig, а потім ім’я інтерфейсу (hw для обладнання, ефір для Ethernet) та нову підроблену MAC-адресу.
Нарешті, відновіть інтерфейс за допомогою опції вгору, щоб зміни відбулися.
Ось приклад:
kali >ifconfig eth0 вниз kali >ifconfig eth0 hw ether 00:11:22:33:44:55 kali >ifconfig eth0 up
Тепер, коли ви перевіряєте свої налаштування за допомогою ifconfig, ви повинні побачити, що HWaddr змінився на вашу нову підроблену IP-адресу!
Linux має сервер протоколу динамічної конфігурації вузла (DHCP), який запускає демон — процес, який виконується у фоновому режимі — називається dhcpd, або демоном dhcp. DHCP-сервер призначає IP-адреси всім системам підмережі і зберігає файли журналу, IP-адреса яких виділена якій машині в будь-який момент часу. Це робить його чудовим ресурсом для криміналістичних аналітиків для відстеження хакерів після атаки. З цієї причини корисно зрозуміти, як працює DHCP-сервер.
Зазвичай, щоб підключитися до Інтернету з локальної мережі, ви повинні мати призначений DHCP IP. Тому після установки статичного IP-адреси необхідно повернутися і отримати новий DHCPпризначений IP-адресу. Для цього ви завжди можете перезавантажити систему, але я покажу вам, як отримати новий DHCP без необхідності вимикати систему та перезавантажувати її.
Щоб запитати IP-адресу від DHCP, просто зателефонуйте на DHCP-сервер командою dhclient , а потім інтерфейсом, якому потрібно призначити адресу. Різні дистрибутиви Linux використовують різні клієнти DHCP, але Kali побудований на Debian, який використовує dhclient.
Тому призначити нову адресу можна так:
kali >dhclient eth0
Команда dhclient надсилає запит DHCPDISCOVER із вказаного мережевого інтерфейсу (тут, eth0). Потім він отримує пропозицію (DHCPOFFER) від сервера DHCP (у цьому випадку 192.168.181.131) і підтверджує призначення IP серверу DHCP запитом dhcp.
kali >ifconfig eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f inet addr:192.168.181.131 Bcast:192.168.181.131 Маска:255.255.255.0
Залежно від конфігурації DHCP-сервера IP-адреса, призначена в кожному конкретному випадку, може відрізнятися.
Тепер, коли ви вводите ifconfig, ви повинні побачити, що сервер DHCP призначив нову IP-адресу, нову адресу трансляції та нову маску мережі для вашого мережевого інтерфейсу eth0.
Хакери можуть знайти скарбницю інформації про ціль у своїй системі доменних імен (DNS). DNS є критичним компонентом Інтернету, і хоча він призначений для перекладу доменних імен на IP-адреси, хакер може використовувати його для збору інформації про ціль.
DNS – це служба, яка переводить доменне ім’я, наприклад hackersarise.com, на відповідну IP-адресу; таким чином, ваша система знає, як дістатися до нього. Без DNS нам усім довелося б запам’ятовувати тисячі IP-адрес для наших улюблених веб-сайтів – немаленьке завдання навіть для саванта.
Однією з найбільш корисних команд для початківця хакера є dig, яка пропонує спосіб збору інформації DNS про цільовий домен. Збережена інформація DNS може бути ключовою частиною ранньої розвідки, яку потрібно отримати перед атакою. Ця інформація може включати IP-адресу сервера імен цілі (сервера, який перетворює ім’я цілі на IP-адресу), сервер електронної пошти цільової аудиторії та, можливо, будь-які субдомени та IP-адреси.
Наприклад, введіть dig hackers-arise.com і додайте параметр ns (скорочення від nameserver).
Сервер імен для hackersarise.com відображається в розділі ВІДПОВІДЕЙ списку 33.
kali >dighackers-arise.comns snip ;; QUESTION SECTION: ;hackersarise.com. IN NS ;; ANSWER SECTION: hackersarise.com. 5 IN NS ns7.wixdns.net. hackersarise.com. 5 IN NS ns6.wixdns.net. ;; ADDITIONAL SECTION: ns6.wixdns.net. 5 IN A 216.239.32.100 snip Listing 33: Using digand its nsoption to get information on a domain nameserver
Також зверніть увагу в розділі ДОДАТКОВО, що цей запит dig розкриває IP-адресу (216.239.32.100) DNS-сервера, який обслуговує hackersarise.com.
Ви також можете використовувати команду dig, щоб отримати інформацію про сервери електронної пошти, підключені до домену, додавши параметр mx (mx – скорочення від сервера обміну поштою). Ця інформація є критичною для атак на системи електронної пошти.
Наприклад, інформація про www.hackersarise.com сервери електронної пошти відображається в розділі ПОВНОВАЖЕННЯ списку 34.
kali >dighackers-arise.commx snip ;; QUESTION SECTION: ;hackersarise.com. IN MX ;; AUTHORITY SECTION: hackersarise.com. 5 IN SOA ns6.wixdns.net. support.wix.com 2016052216 10800 3600 604 800 3600 snip Listing 34: Using digand its mxoption to get information on a domain mail exchange server
Найпоширенішим DNS-сервером Linux є домен інтернет-імен у Берклі (BIND). У деяких випадках користувачі Linux будуть називати DNS як BIND, але не плутайте: DNS і BIND зіставляють окремі доменні імена з IP-адресами.
У деяких випадках може знадобитися використовувати інший DNS-сервер. Для цього ви відредагуєте відкритий текстовий файл з назвою /etc/resolv.conf у системі. Відкрийте цей файл у текстовому редакторі — я використовую Leafpad. Потім у командному рядку введіть точну назву редактора, розташування файлу та ім’я файлу.
Наприклад:
kali >leafpad /etc/resolv.conf відкриє файл resolv.conf у каталозі /etc у вказаному графічному текстовому редакторі Leafpad.
Файл повинен виглядати приблизно на рисунку 31.
Як ви можете бачити в рядку 3, мій сервер імен налаштований на локальний DNS-сервер за адресою 192.168.181.2. Це працює нормально, але якщо я хочу додати або замінити цей DNS-сервер, скажімо, загальнодоступним DNS-сервером Google на 8.8.8.8, я б додав наступний рядок у файл /etc/resolv.conf, щоб вказати сервер імен:
DNS-сервер 8.8.8.8
Тоді мені просто потрібно було б зберегти файл. Однак домогтися такого ж результату можна і виключно з командного рядка, ввівши наступне:
kali >echo “nameserver 8.8.8.8”> /etc/resolv.conf
Ця команда повторює рядок сервера імен 8.8.8.8 і перенаправляє його (>) до файлу /etc/resolv.conf, замінюючи поточний вміст. Ваш файл /etc/resolv.conf тепер має виглядати як на рисунку 32.
Якщо ви зараз відкриєте файл /etc/resolv.conf, ви побачите, що він спрямовує DNS-запити на DNS-сервер Google, а не на ваш локальний DNS-сервер. Тепер ваша система вийде на загальнодоступний DNS-сервер Google, щоб розпізнати доменні імена за IP-адресами. Це може означати, що для вирішення доменних імен потрібно трохи більше часу (ймовірно, мілісекунди). Тому, щоб зберегти швидкість, але зберегти можливість використання загальнодоступного сервера, ви можете зберегти
локальний DNS-сервер у файлі resolv.conf і слідуйте за ним за допомогою загальнодоступного DNS-сервера. Операційна система запитує кожен DNS-сервер, зазначений у тому порядку, в якому він відображається /etc/resolv.conf, тому система посилатиметься на загальнодоступний DNS-сервер лише в тому випадку, якщо доменне ім’я не можна знайти на локальному DNS-сервері.
Спеціальний файл у вашій системі, який називається файлом hosts, також виконує трансляцію доменного імені – IP-адреси. Файл hosts знаходиться за адресою /etc/hosts, і, як і у випадку з DNS, ви можете використовувати його для визначення власної IP-адреси та зіставлення доменного імені. Іншими словами, ви можете визначити, на яку IP-адресу переходить ваш браузер, коли ви вводите www.microsoft.com (або будь-який інший домен) у браузер, а не дозволяти DNS-серверу вирішувати. Як хакер, це може бути корисно для викрадення TCP-з’єднання у вашій локальній мережі, щоб направити трафік на шкідливий веб-сервер за допомогою такого інструменту, як dnsspoof.
У командному рядку введіть наступну команду (ви можете замінити бажаний текстовий редактор на leafpad):
kali >leafpad /etc/hosts
Тепер ви повинні побачити файл hosts, який буде виглядати приблизно на рисунку 33.
За замовчуванням файл hosts містить лише зіставлення для вашого localhost, на 127.0.0.1, і Ім’я хоста вашої системи (у цьому випадку Kali, 127.0.1.1). Але ви можете додати будь-яку IP-адресу, зіставлену з будь-яким доменом, який хочете. Як приклад того, як це можна використовувати, ви можете зіставити www.bankofamerica.com на своєму місцевому веб-сайті за номером 192.168.181.131.
127.0.0.1 localhost 127.0.1.1 kali 192.168.181.131 bankofamerica.com # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6localhost ip6loopback ff02::1 ip6allnodes ff02::2 ip6allrouters
Обов’язково натискайте клавішу табуляції між IP-адресою та ключем домену, а не клавішею пробілу.
У міру того, як ви будете більше брати участь у своїх хакерських починаннях і дізнаєтеся про такі інструменти, як dnsspoof і Ettercap, ви зможете використовувати файл hosts для спрямування будь-якого трафіку у вашій локальній мережі, який відвідує www.bankofamerica.com на ваш веб-сервер за адресою 192.168.181.131. Досить легко, правда?
Будь-якому хакеру потрібні базові мережеві навички Linux для підключення, аналізу та управління мережами. У міру просування ці навички будуть ставати все більш корисними для розвідки, підробки та підключення до цільових систем.
Ми використовували матеріали з книги “LINUX BASICS FOR HACKERS”, які написав William Pollock