obuchenie_post
April 1

День 12. Основы “НЕТВОРКИНГ”.

В этой статье разбираем комнаты Нетворкинг, Сети, HTTP, DNS, Сайты.

Прошел все модули из бесплатного старта и решил что нужно объединить все вместе, так как статейки маленькие. Буду рассказывать вкратце, начнем.


1) Что такое нетворкинг?

Нетворкинг = общение = сеть

Сети — это связанные объекты, как круг друзей или городская транспортная система.

В вычислительной технике сеть — это взаимодействие устройств (от телефонов до светофоров) по определённым правилам. Они важны в повседневной жизни — от передачи данных до управления инфраструктурой. Понимание сетевого взаимодействия критично в кибербезопасности.

Что такое: Интернет — это гигантская сеть, где мы находимся. Сети бывают частными и общественными. Придумал интернет Тим Бернерс-Ли в 1989 году.

Как устройства общаются в сети?

Представь, что у нас есть три человека:

  • Иван Петрович Сидоров
  • Анна Сергеевна Иванова
  • Максим Олегович Козлов

Эти полные ФИО — как MAC-адреса. Они уникальны и присваиваются устройству на заводе.

Но в повседневной жизни мы часто используем сокращённые имена:

  • Иван
  • Анна
  • Максим

Это похоже на IPv4 — короткие, удобные, но ограниченные по количеству.

Теперь представим, что мы хотим записать полные имена, но в другом формате, например:

  • Сидоров Иван Петрович
  • Иванова Анна Сергеевна
  • Козлов Максим Олегович

Это как IPv6 — он длиннее, но даёт больше уникальных комбинаций.

Аналогично в сети:

  • MAC-адрес (ФИО) уникален и не меняется.
  • IPv4 (краткое имя) используется чаще, но имеет ограничения.
  • IPv6 (полное имя в новом формате) даёт больше возможностей.

У каждого устройства есть ИМЯ, общаются они по именам как и люди, только у них ИМЯ=IP
IP - это числовой идентификатор устройства в сети. Он может быть публичным (в Интернете) или частным (в локальной сети). IP-адреса следуют сетевым протоколам и могут изменяться, но не повторяться в одной сети одновременно, делится на 4 октета, кто дает имя/ip?
В интернете IP-адреса выдаёт интернет-провайдер (ISP), а в локальных сетях — маршрутизатор (роутеры) или сервер DHCP.

IPv6 и IPv4

IP-адреса могут иметь разные форматы в зависимости от их «родителя». Например, короткое имя вроде "Артем" похоже на IPv4, а более сложное, как "Давид Тутан-Хамонович Оглы ", соответствует IPv6, так как содержит больше символов. (шутка - пример)

IPv6 — это новая версия схемы адресации интернет-протокола, призванная помочь решить эту проблему. Хотя она кажется более сложной, она может похвастаться несколькими преимуществами:

  • Поддерживает до 2^128 IP-адресов (более 340 триллионов), решая проблемы, возникающие при использовании IPv4.
  • Более эффективно благодаря новым методологиям

MAC-адреса

Все устройства в сети будут иметь физический сетевой интерфейс, который представляет собой плату микросхемы , находящуюся на материнской плате устройства. Этому сетевому интерфейсу назначается уникальный адрес на заводе, на котором он был собран, называемый MAC - адресом ( Media Access Control ).

Ping - выполняет команду между устройствами - "привет, пообщаемся?"


Ping — один из самых фундаментальных сетевых инструментов , доступных нам. Ping использует пакеты ICMP ( Internet Control M essage Protocol ) для определения производительности соединения между устройствами, например, существует ли соединение или является ли оно надежным .

Здесь мы пингуем устройство с частным адресом 192.168.1.254 . Ping сообщает нам, что мы отправили шесть пакетов ICMP, все из которых были получены со средним временем 4,16 миллисекунды.

2) Сетевые службы

Тут пробежимся по сетевым службам и зачем они нужны.

1. SMB (Server Message Block)

📌 Порт: 445 (TCP), раньше использовались 137-139 (TCP/UDP)
🔹 Назначение: Протокол для общего доступа к файлам, принтерам и другим ресурсам в локальной сети Windows.
🔹 Особенности:

  • Используется в Windows и Samba (на Linux).
  • Может поддерживать аутентификацию пользователей.
  • Уязвим к атакам, например, EternalBlue (MS17-010).

Enumerating SMB – сбор информации о доступных файлах, папках и учетных записях с помощью smbclient, enum4linux, nmap (--script smb-*).
Exploiting SMB – атаки на слабые пароли, эксплуатация уязвимостей (MS08-067, MS17-010).


2. Telnet

📌 Порт: 23 (TCP)
🔹 Назначение: Протокол для удаленного доступа к устройствам (как SSH, но без шифрования).
🔹 Особенности:

  • Передает данные в открытом виде (небезопасен).
  • Используется в старых системах и сетевых устройствах (например, маршрутизаторы, камеры).
  • Может быть защищён с помощью VPN или SSH-туннелирования.

Enumerating Telnet – поиск открытых Telnet-серверов (nmap -p23 --script telnet-*), проверка учетных данных.
Exploiting Telnet – брутфорс паролей, атаки по перехвату трафика (например, MITM).


3. FTP (File Transfer Protocol)

📌 Порты: 21 (управление, TCP), 20 (передача данных, TCP)
🔹 Назначение: Передача файлов между клиентом и сервером. (Обычно это свалка документов)
🔹 Особенности:

  • Работает в активном (сервер подключается к клиенту) и пассивном (клиент устанавливает соединение) режимах.
  • Не шифрует данные (аналогично Telnet).
  • Может поддерживать анонимный доступ. - (вектор атаки)
  • Альтернативы: SFTP (через SSH, порт 22), FTPS (SSL/TLS, порт 990).

Enumerating FTP – проверка анонимного входа, сканирование nmap -p21 --script ftp-*.
Exploiting FTP – использование слабых паролей, эксплуатация FTP Bounce Attack, перехват трафика.

3) Сетевые службы часть 2

1. NFS (Network File System)

📌 Порт: 2049 (TCP/UDP), также использует rpcbind на 111 (TCP/UDP).
🔹 Назначение: Протокол удаленного доступа к файловым системам в Linux/Unix. Позволяет монтировать сетевые каталоги как локальные.
🔹 Особенности:

  • Используется в корпоративных сетях и дата-центрах.
  • Не поддерживает встроенное шифрование.
  • Может быть открыт для неавторизованного доступа.

Enumerating NFS – проверка доступных экспортированных каталогов (showmount -e <IP>).
Exploiting NFS – подключение к открытому каталогу, загрузка SSH-ключа для обхода аутентификации.


2. SMTP (Simple Mail Transfer Protocol)

📌 Порты: 25 (TCP, без шифрования), 465 (SSL), 587 (TLS).
🔹 Назначение: Протокол отправки электронной почты между серверами.
🔹 Особенности:

  • Может использоваться для спама и фишинга.
  • Поддерживает VRFY и EXPN команды, позволяющие узнавать существующие email-адреса.
  • Открытые SMTP-серверы можно использовать для релея спама (Open Relay).

Enumerating SMTP – поиск учетных записей (nmap --script smtp-enum-users).
Exploiting SMTP – перехват логинов, спуфинг отправителей, эксплуатация Open Relay.


3. MySQL

📌 Порт: 3306 (TCP).
🔹 Назначение: Реляционная база данных, широко используемая в веб-приложениях.
🔹 Особенности:

  • Если открыт во внешнюю сеть – цель для атак.
  • Атаки на слабые пароли, SQL-инъекции.
  • Важна настройка прав доступа (лучше ограничить доступ локальным хостом).

Enumerating MySQL – проверка учетных записей (mysql -h <IP> -u root -p или nmap --script mysql-*).
Exploiting MySQL – брутфорс паролей, эксплуатация уязвимостей (CVE-2016-6662 – Privilege Escalation).

4) HTTP в деталях

Что такое HTTP ? (Протокол передачи гипертекста)

HTTP — это то, что используется всякий раз, когда вы просматриваете веб-сайт, разработанный Тимом Бернерсом-Ли и его командой в 1989-1991 годах. HTTP — это набор правил, используемых для связи с веб-серверами для передачи данных веб-страниц, будь то HTML, изображения, видео и т. д.

Что такое HTTPS? (Безопасный протокол передачи гипертекста)

HTTPS — это защищенная версия HTTP . Данные HTTPS шифруются, поэтому это не только не позволяет посторонним видеть данные, которые вы получаете и отправляете, но и дает вам уверенность в том, что вы общаетесь с правильным веб-сервером, а не с чем-то, выдающим себя за него.

Что такое URL? (унифицированный указатель ресурсов)

URL (Uniform Resource Locator) – это адрес ресурса в интернете.

Схема: здесь указывается, какой протокол использовать для доступа к ресурсу, например HTTP , HTTPS, FTP (протокол передачи файлов).

Пользователь: для входа в некоторые службы требуется аутентификация. Для входа в систему можно указать имя пользователя и пароль в URL-адресе.

Хост: Доменное имя или IP-адрес сервера, к которому вы хотите получить доступ.

Порт: порт, к которому вы собираетесь подключиться, обычно 80 для HTTP и 443 для HTTPS, но его можно разместить на любом порту от 1 до 65535.

Путь: Имя файла или местоположение ресурса, к которому вы пытаетесь получить доступ.

Строка запроса: Дополнительные биты информации, которые могут быть отправлены по запрошенному пути. Например, /blog? id=1 сообщит пути блога, что вы хотите получить статью блога с идентификатором 1.

Фрагмент: это ссылка на местоположение на запрошенной странице. Обычно используется для страниц с длинным содержимым и может иметь конкретную часть страницы, напрямую связанную с ним, поэтому она становится видимой для пользователя, как только он получает доступ к странице.

HTTP-методы

Запросы и ответы в контексте веб-разработки, как правило, связаны с протоколом HTTP (HyperText Transfer Protocol). HTTP запросы могут использовать различные методы для выполнения разных операций. Рассмотрим основные HTTP методы:

1. GET

  • Описание: Метод GET используется для запроса информации с сервера. Он не должен изменять состояние сервера, только извлекать данные.
  • Пример: Получение страницы или данных. GET /index.html HTTP/1.1

2. POST

  • Описание: Метод POST используется для отправки данных на сервер. Это может быть создание нового ресурса, отправка данных формы и другие операции, которые могут изменить состояние сервера.
  • Пример: Отправка формы с данными.

5) DNS in detail

Что такое DNS ?

DNS (система доменных имен) предоставляет нам простой способ общения с устройствами в Интернете без запоминания сложных чисел. Подобно тому, как у каждого дома есть уникальный адрес для отправки почты непосредственно на него, у каждого компьютера в Интернете есть свой собственный уникальный адрес для общения с ним, называемый IP-адресом. IP-адрес выглядит следующим образом 104.26.10.229, 4 набора цифр от 0 до 255, разделенных точкой. Когда вы хотите посетить веб-сайт, не совсем удобно запоминать этот сложный набор цифр, и именно здесь DNS может помочь. Поэтому вместо того, чтобы запоминать 104.26.10.229, вы можете вместо этого запомнить tryhackme.com .

Иерархия доменов

  1. TLD (домен верхнего уровня) – самая правая часть, например, .com, .org, .ru. Бывают общие (gTLD) и национальные (ccTLD).
  2. Домен второго уровня – название перед TLD, например, google в google.com. Именно его регистрируют.
  3. Поддомен – часть слева от домена второго уровня, например, blog.google.com, где blog – поддомен. Можно создавать неограниченно.

Пример структуры: shop.store.example.com

  • .com – TLD
  • example – домен второго уровня
  • store – поддомен
  • shop – поддомен поддомена

Общая длина имени – до 253 символов.

6) Как работают веб-сайты

Веб-сайт состоит из двух основных компонентов:

  1. Front End (сторона клиента) — способ, которым ваш браузер отображает веб-сайт.
  2. Back End (серверная часть) — сервер, который обрабатывает ваш запрос и возвращает ответ.

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

HTML

Веб-сайты в основном создаются с использованием:

  • HTML, для создания веб-сайтов и определения их структуры
  • CSS, чтобы сделать веб-сайты красивыми, добавляя параметры стилей
  • JavaScript, реализация сложных функций на страницах с использованием интерактивности

Язык гипертекстовой разметки (HTML) — это язык , на котором написаны веб-сайты. Элементы (также известные как теги) являются строительными блоками HTML-страниц и сообщают браузеру , как отображать контент. Фрагмент кода ниже показывает простой HTML- документ , структура которого одинакова для каждого веб-сайта:

Простая инструкция разметки сайта

JavaScript

JavaScript (JS) — один из самых популярных языков кодирования в мире, позволяющий страницам стать интерактивными. HTML используется для создания структуры и содержимого веб-сайта, в то время как JavaScript используется для управления функциональностью веб-страниц — без JavaScript страница не имела бы интерактивных элементов и всегда была бы статичной.

Раскрытие конфиденциальных данных

Читайте код, что может оставить разраб для себя, но использовать может любой?

Тестовые данные например

HTML-инъекция

HTML-инъекция — это уязвимость, которая возникает, когда на странице отображается неотфильтрованный пользовательский ввод. Если веб-сайт не очищает пользовательский ввод (не фильтрует любой «вредоносный» текст, который пользователь вводит на веб-сайт), и этот ввод используется на странице, злоумышленник может внедрить HTML-код в уязвимый веб-сайт.

Да можно взять и тупо добавить свой код)

пример

Вводим данные

Отобразим вредоносную ссылку на hacker.com

7) Собираем все вместе

Балансировщики нагрузки

Когда трафик веб-сайта становится достаточно большим или запущено приложение, которому требуется высокая доступность, один веб-сервер может больше не справляться с работой. Балансировщики нагрузки предоставляют две основные функции, гарантируя, что веб-сайты с высоким трафиком смогут справиться с нагрузкой, и обеспечивая отказоустойчивость, если сервер перестает отвечать.

Как работают веб-серверы.

Что такое веб-сервер?

Веб-сервер — это программное обеспечение, которое прослушивает входящие соединения, а затем использует протокол HTTP для доставки веб-контента своим клиентам. Наиболее распространенное программное обеспечение веб-сервера, с которым вы столкнетесь, — это Apache , Nginx, IIS и NodeJS. Веб-сервер доставляет файлы из так называемого корневого каталога, который определяется в настройках программного обеспечения. Например, Nginx и Apache используют одно и то же расположение по умолчанию /var/www/html в операционных системах Linux , а IIS использует C:\inetpub\wwwroot для операционных систем Windows. Так, например, если вы запросили файл http ://www.example.com/picture.jpg , он отправит файл /var/www/html/picture.jpg со своего локального жесткого диска.

я чаще всего использую Apache2 и NGINX.

На этом ОБЩИЙ МОДУЛЬ кончился, примерное понимание БАЗЫ IT уже есть в наших головах, теперь пойдем учиться искать уязвимости и взламывать веб приложения и серваки, в рамках обучения.

Основная группа обучения ИБ
Lab-группу с полезным софтом / книгами / аудио.
Чат для обсуждений, задавай свои вопросы.
P.S. С вами был @Fnay_Offensive
До новой встречи, user_name!