ARP-спуфинг и MiTM
Один из классических способов взлома — атака «Человек посередине». В этой атаке хакер располагается между клиентом и сервером и, таким образом, получает доступ ко всему трафику между ними.
Как правило, когда злоумышленник хочет разместиться между клиентом и сервером, ему необходимо подменить ARP-запросы обеих систем. Это не единственный метод проведения атаки типа «человек посередине», но, вероятно, самый распространённый в локальных сетях (LAN).
Атака MiTM — одна из самых популярных и эффективных атак в хакерстве. В простейшем случае MiTM заключается в том, что злоумышленник располагается между клиентом и сервером и позволяет всему трафику беспрепятственно проходить через его систему. Для этого злоумышленнику необходимо убедить сервер в том, что он является клиентом , а клиент — в том, что он является сервером. Конечно, риск для этих двух систем заключается в том, что злоумышленник, находящийся посередине, может видеть весь их трафик и, если захочет, изменять пакеты.
Риски атак MiTM таковы:
* перехват паролей
* шпионаж
* поврежденное или измененное сообщение
* самоолицетворение
I. Что такое ARP?
ARP (протокол разрешения адресов) осуществляет преобразование 40-битных физических MAC-адресов в 32-битные логические IP-адреса. По сути, он преобразует адреса сетевого уровня 3 в адреса канального уровня 2. Это позволяет сетевым коммутаторам и другим сетевым устройствам определять, какой сетевой карте соответствует какой IP-адрес, и, таким образом, отправлять каждой системе только нужный трафик.
Коммутатор собирает MAC-адреса и сопоставляет их с IP-адресами, отправляя широковещательные ARP-запросы. Эти ARP-запросы никак не проверяются и не подтверждаются, поэтому любая система может ответить любой информацией, которую захочет. Злоумышленник может использовать эту систему для отправки поддельного ARP-ответа, сообщающего коммутатору о том, что ему назначен IP-адрес другой машины. После этого коммутатор отправит сетевой карте с поддельным IP-адресом пакеты, предназначенные жертве.
II. arpspoof
ARPspoof — это инструмент из набора инструментов dsniff, разработанного Дагом Сонгом из Мичиганского университета. Этот набор инструментов включает в себя:
* arpspoof
* dsniff
* макоф
* tcpkill
* filesnarf
* mailsnarf
* urlsnarf
* веб-шпион
* sshmitm
* вебмитм
* и другие.
ARPspoof и многие другие встроены в наш дистрибутив Kali Linux, поэтому нам не нужно ничего скачивать и устанавливать. В этой демонстрации и лабораторной работе мы будем использовать в основном arpspoof и dsniff.
III. MiTM с использованием arpspoof и dsniff
В этой лаборатории мы будем использовать три машины;
(1) клиент, Windows 7
(2) сервер, Debian Linux
(3) злоумышленник, система Kali
Я буду делать это с помощью виртуальных машин.
На диаграмме ниже показано, что мы будем делать в предстоящей лабораторной работе.
Для начала давайте используем в качестве клиентской системы систему Windows 7, как показано ниже. Обратите внимание, что её IP-адрес — 192.168.1.116.
Давайте используем систему Debian Linux в качестве сервера. Я использую жёлтый фон для системы Debian, чтобы чётко отличать её от атакующей системы посередине. Давайте начнём пинговать систему Windows 7. Поскольку пинги в Linux идут непрерывно, просто позвольте им продолжаться бесконечно. Если вы используете систему Windows, пинги продолжаются только четыре раза, поэтому вам нужно настроить непрерывный пинг, введя:
кали > ping 192.168.1.116 -t
Теперь пинги поступают в систему Windows 7 и возвращаются обратно.
На следующем этапе нам понадобятся три (3) терминала в нашей системе Kali. Мы будем подменять кэш ARP:
(1) заставить систему Debian думать, что мы — система Windows 7;
(2) заставить систему Windows 7 думать, что мы — система Debian;
(3) пересылать пакеты через нашу атакующую систему, чтобы соединение между ними было прозрачным и не нарушало их коммуникацию.
Во-первых, давайте используем команду arpspoof, чтобы обмануть систему Windows 7 и заставить ее поверить, что мы — система Debian.
kali > arpspoof -t 192.168.1.116 192.168.1.118
Далее в отдельном терминале используем команду arpspoof, чтобы обмануть систему Debian, заставив её поверить, что мы — система Windows 7. Обратите внимание, что мы просто поменяли местами IP-адреса в приведённой выше команде.
kali > arpspoof -t 192.168.1.118 192.168.1.116
После этого мы увидим, что пинги перестали возвращаться в систему Debian.
Если нам удастся заставить пинги проходить через систему злоумышленника (Kali) к системе Windows 7, пинги должны возобновиться.
С третьего терминала в нашей системе Kali нам нужно разрешить прохождение пакетов через нашу операционную систему. Это можно сделать с помощью команды Linux под названием ip_forward . Для этого нужно ввести:
Кали > эхо 1 > /proc/sys/net/ipv4/ip_forward
Где:
echo 1 сообщает ядру о необходимости поместить 1 (1=включить, 0 = отключить) в поле ip_forward в каталоге proc.
При этом пинги должны проходить прямо через ядро нашей системы Kali к системе Windows 7. По сути, мы находимся посередине между Windows 7 и Debian, так что весь их трафик проходит через нас.
Когда мы вернемся к системе Debian, мы увидим, что пинги возобновились и проходят прямо через нашу систему атакующего!
IV. dsniff
Теперь, когда мы успешно разместились посередине между этими двумя компьютерами, у нас есть множество вариантов действий против обеих жертв. Один из них — использовать сниффер, способный обнаружить и перехватить учётные данные, передаваемые по сети.
Dsniff — это сниффер, также разработанный Дагом Сунгом, который анализирует трафик, проходящий через нашу атакующую систему, и ищет учётные данные. Он способен идентифицировать и перехватывать следующие типы учётных данных:
ФТП
Телнет
СМТП
HTTP
ПОП
поппасс,
ННТП
IMAP
SNMP
LDAP
Rlogin
РВАТЬ
ОСФФ
ППТП
MS-CHAP
НФС
ВРРП
YP/NIS
НОСКИ
Х11
CVS
IRC
ЦЕЛЬ
аська,
Напстер
PostgreSQL
Создатель встреч,
Citrix ICA,
pcAnywhere,
NAI Sniffer,
Microsoft SMB,
Oracle SQL*Net,
Sybase
Протоколы Microsoft SQL.
Теперь, когда трафик проходит через нашу атакующую систему, мы можем использовать dsniff для захвата трафика и помещения его в файл с именем sniffed.txt .
kali > dsniff -i eth0 -w sniffed.txt
Даже если мы не заинтересованы в перехвате учетных данных, мы можем использовать сниффер, такой как tcpdump, чтобы отследить весь входящий и исходящий трафик нашей системы, как показано ниже.
Кроме того, набор инструментов dsniff включает в себя следующее, что можно использовать, как только вы освоитесь в этой области.
* tcpkill используется для завершения TCP-соединений
* mailsnarf перехватывает почтовый трафик SMTP
* URLSnarf захватывает и выводит все запрошенные URL-адреса, извлеченные из HTTP-трафика.
Если мы используем URLSnarf в нашей атакующей системе, находясь посередине, и одна система переходит в Интернет, мы можем просмотреть URL-адреса и другую информацию, введя:
kali > urlsnarf
Заключение
«Человек посередине» (Man in the Middle) — одна из классических хакерских атак. Существует множество её разновидностей, но в локальной сети (LAN) одним из самых распространённых является ARPSpoof. Таким образом, злоумышленник получает полный доступ ко всему пакетному трафику и может читать и изменять его по своему усмотрению.
Один из классических способов взлома — атака «Человек посередине». В этой атаке хакер располагается между клиентом и сервером и, таким образом, получает доступ ко всему трафику между ними.
Как правило, когда злоумышленник хочет разместиться между клиентом и сервером, ему необходимо подменить ARP-запросы обеих систем. Это не единственный метод проведения атаки типа «человек посередине», но, вероятно, самый распространённый в локальных сетях (LAN).
Атака MiTM — одна из самых популярных и эффективных атак в хакерстве. В простейшем случае MiTM заключается в том, что злоумышленник располагается между клиентом и сервером и позволяет всему трафику беспрепятственно проходить через его систему. Для этого злоумышленнику необходимо убедить сервер в том, что он является клиентом , а клиент — в том, что он является сервером. Конечно, риск для этих двух систем заключается в том, что злоумышленник, находящийся посередине, может видеть весь их трафик и, если захочет, изменять пакеты.
Риски атак MiTM таковы:
* перехват паролей
* шпионаж
* поврежденное или измененное сообщение
* самоолицетворение
I. Что такое ARP?
ARP (протокол разрешения адресов) осуществляет преобразование 40-битных физических MAC-адресов в 32-битные логические IP-адреса. По сути, он преобразует адреса сетевого уровня 3 в адреса канального уровня 2. Это позволяет сетевым коммутаторам и другим сетевым устройствам определять, какой сетевой карте соответствует какой IP-адрес, и, таким образом, отправлять каждой системе только нужный трафик.
Коммутатор собирает MAC-адреса и сопоставляет их с IP-адресами, отправляя широковещательные ARP-запросы. Эти ARP-запросы никак не проверяются и не подтверждаются, поэтому любая система может ответить любой информацией, которую захочет. Злоумышленник может использовать эту систему для отправки поддельного ARP-ответа, сообщающего коммутатору о том, что ему назначен IP-адрес другой машины. После этого коммутатор отправит сетевой карте с поддельным IP-адресом пакеты, предназначенные жертве.
II. arpspoof
ARPspoof — это инструмент из набора инструментов dsniff, разработанного Дагом Сонгом из Мичиганского университета. Этот набор инструментов включает в себя:
* arpspoof
* dsniff
* макоф
* tcpkill
* filesnarf
* mailsnarf
* urlsnarf
* веб-шпион
* sshmitm
* вебмитм
* и другие.
ARPspoof и многие другие встроены в наш дистрибутив Kali Linux, поэтому нам не нужно ничего скачивать и устанавливать. В этой демонстрации и лабораторной работе мы будем использовать в основном arpspoof и dsniff.
III. MiTM с использованием arpspoof и dsniff
В этой лаборатории мы будем использовать три машины;
(1) клиент, Windows 7
(2) сервер, Debian Linux
(3) злоумышленник, система Kali
Я буду делать это с помощью виртуальных машин.
На диаграмме ниже показано, что мы будем делать в предстоящей лабораторной работе.
Для начала давайте используем в качестве клиентской системы систему Windows 7, как показано ниже. Обратите внимание, что её IP-адрес — 192.168.1.116.
Давайте используем систему Debian Linux в качестве сервера. Я использую жёлтый фон для системы Debian, чтобы чётко отличать её от атакующей системы посередине. Давайте начнём пинговать систему Windows 7. Поскольку пинги в Linux идут непрерывно, просто позвольте им продолжаться бесконечно. Если вы используете систему Windows, пинги продолжаются только четыре раза, поэтому вам нужно настроить непрерывный пинг, введя:
кали > ping 192.168.1.116 -t
Теперь пинги поступают в систему Windows 7 и возвращаются обратно.
На следующем этапе нам понадобятся три (3) терминала в нашей системе Kali. Мы будем подменять кэш ARP:
(1) заставить систему Debian думать, что мы — система Windows 7;
(2) заставить систему Windows 7 думать, что мы — система Debian;
(3) пересылать пакеты через нашу атакующую систему, чтобы соединение между ними было прозрачным и не нарушало их коммуникацию.
Во-первых, давайте используем команду arpspoof, чтобы обмануть систему Windows 7 и заставить ее поверить, что мы — система Debian.
kali > arpspoof -t 192.168.1.116 192.168.1.118
Далее в отдельном терминале используем команду arpspoof, чтобы обмануть систему Debian, заставив её поверить, что мы — система Windows 7. Обратите внимание, что мы просто поменяли местами IP-адреса в приведённой выше команде.
kali > arpspoof -t 192.168.1.118 192.168.1.116
После этого мы увидим, что пинги перестали возвращаться в систему Debian.
Если нам удастся заставить пинги проходить через систему злоумышленника (Kali) к системе Windows 7, пинги должны возобновиться.
С третьего терминала в нашей системе Kali нам нужно разрешить прохождение пакетов через нашу операционную систему. Это можно сделать с помощью команды Linux под названием ip_forward . Для этого нужно ввести:
Кали > эхо 1 > /proc/sys/net/ipv4/ip_forward
Где:
echo 1 сообщает ядру о необходимости поместить 1 (1=включить, 0 = отключить) в поле ip_forward в каталоге proc.
При этом пинги должны проходить прямо через ядро нашей системы Kali к системе Windows 7. По сути, мы находимся посередине между Windows 7 и Debian, так что весь их трафик проходит через нас.
Когда мы вернемся к системе Debian, мы увидим, что пинги возобновились и проходят прямо через нашу систему атакующего!
IV. dsniff
Теперь, когда мы успешно разместились посередине между этими двумя компьютерами, у нас есть множество вариантов действий против обеих жертв. Один из них — использовать сниффер, способный обнаружить и перехватить учётные данные, передаваемые по сети.
Dsniff — это сниффер, также разработанный Дагом Сунгом, который анализирует трафик, проходящий через нашу атакующую систему, и ищет учётные данные. Он способен идентифицировать и перехватывать следующие типы учётных данных:
ФТП
Телнет
СМТП
HTTP
ПОП
поппасс,
ННТП
IMAP
SNMP
LDAP
Rlogin
РВАТЬ
ОСФФ
ППТП
MS-CHAP
НФС
ВРРП
YP/NIS
НОСКИ
Х11
CVS
IRC
ЦЕЛЬ
аська,
Напстер
PostgreSQL
Создатель встреч,
Citrix ICA,
pcAnywhere,
NAI Sniffer,
Microsoft SMB,
Oracle SQL*Net,
Sybase
Протоколы Microsoft SQL.
Теперь, когда трафик проходит через нашу атакующую систему, мы можем использовать dsniff для захвата трафика и помещения его в файл с именем sniffed.txt .
kali > dsniff -i eth0 -w sniffed.txt
Даже если мы не заинтересованы в перехвате учетных данных, мы можем использовать сниффер, такой как tcpdump, чтобы отследить весь входящий и исходящий трафик нашей системы, как показано ниже.
Кроме того, набор инструментов dsniff включает в себя следующее, что можно использовать, как только вы освоитесь в этой области.
* tcpkill используется для завершения TCP-соединений
* mailsnarf перехватывает почтовый трафик SMTP
* URLSnarf захватывает и выводит все запрошенные URL-адреса, извлеченные из HTTP-трафика.
Если мы используем URLSnarf в нашей атакующей системе, находясь посередине, и одна система переходит в Интернет, мы можем просмотреть URL-адреса и другую информацию, введя:
kali > urlsnarf
Заключение
«Человек посередине» (Man in the Middle) — одна из классических хакерских атак. Существует множество её разновидностей, но в локальной сети (LAN) одним из самых распространённых является ARPSpoof. Таким образом, злоумышленник получает полный доступ ко всему пакетному трафику и может читать и изменять его по своему усмотрению.