Привет, Хаброжители! Практическое руководство по взлому компьютерных систем с нуля, от перехвата трафика до создания троянов. Книга «Этичный хакинг» освещает современные проблемы кибербезопасности и помогает освоить навыки, необходимые любому этичному хакеру. Сделайте первый шаг в карьере пентестера, ознакомившись с методами взлома, которые используют эксперты. Доктор Дэниел Г. Грэм — доцент кафедры информатики в Университете Вирджинии в Шарлоттсвилле. К сфере его исследовательских интересов относятся защищенные встраиваемые системы и сети. До того как начать преподавать в Университете Вирджинии, доктор Грэм был программным менеджером в компании Microsoft. Помимо всего прочего, он пишет статьи для журналов IEEE, посвященные датчикам и сетям.
Любой человек, зашедший в кафе и подключившийся к сети Wi-Fi, может перехватывать и просматривать незашифрованный веб-трафик других пользователей, используя метод под названием ARP-спуфинг, который эксплуатирует уязвимость протокола определения адресов (address resolution protocol, ARP). В данной главе мы обсудим принцип работы протокола ARP, рассмотрим этапы проведения ARP-спуфинга, а затем осуществим эту атаку.
Передача данных в интернете
Прежде чем переходить к обсуждению ARP-спуфинга, нам следует поговорить о структуре интернета в целом. В этом разделе описывается процесс передачи данных через иерархическую сеть с помощью пакетов, MAC- и IP-адресов.
Пакеты
Вся информация в интернете передается пакетами, которые можно представить в виде конверта с данными, подлежащими отправке. Как и в случае с обычной почтой, эти пакеты направляются по указанному адресу. На рис. 2.1 продемонстрированы некоторые сходства между почтовыми конвертами и пакетами.
Раздел «От кого» на конверте содержит два важных фрагмента информации: 1) имя отправителя; 2) его адрес. Точно так же у пакетов есть MAC-адрес источника, который представляет отправившую пакет машину, и IP-адрес источника, который указывает, откуда поступил этот пакет. Другие аналогичные поля, называемые заголовками пакета, определяют пункт его назначения.
Для сортировки и пересылки пакетов в интернете используются устройства, называемые маршрутизаторами. Пакеты перемещаются от одного маршрутизатора к другому, подобно тому как письма пересылаются между почтовыми отделениями.
MAC-адреса
Ваш ноутбук оснащен сетевой картой (network interface card, NIC), которая позволяет ему подключаться к маршрутизаторам Wi-Fi. Эта карта имеет уникальный MAC-адрес (media access control, управление доступом к среде), позволяющий идентифицировать ваш компьютер в сети. Перед отправкой информации вашему компьютеру маршрутизатор помечает соответствующий пакет MAC-адресом вашего ноутбука, а затем передает его в виде радиосигнала. Все компьютеры, подключенные к данному маршрутизатору, получают этот радиосигнал и проверяют MAC-адрес пакета, чтобы выяснить, которому из них он предназначен. Как правило, MAC-адреса представляют собой 48-битные значения, записанные в шестнадцатеричном формате (например, 08:00:27:3b:8f:ed).
IP-адреса
Вероятно, вы уже знаете, что IP-адреса также позволяют идентифицировать компьютеры в сети. Зачем же нам еще и MAC-адреса? Дело в том, что сети состоят из иерархических регионов, подобно тому как некоторые страны делятся на штаты, которые, в свою очередь, делятся на города. IP-адреса учитывают структуру, позволяющую им определять место устройства в более крупной сети. Если вы перейдете в другое кафе, то вашему ноутбуку будет назначен новый IP-адрес, отражающий его новое местоположение; но при этом ваш MAC-адрес останется прежним.
IPv4-адрес кодирует информацию о сетевой иерархии в виде 32-битного числа. Обычно оно разделяется точками на четыре раздела (например, 192.168.3.1). Каждый раздел представляет собой восьмибитное двоичное число. Например, 3 в 192.168.3.1 — это восьмибитное двоичное число 00000011.
IP-адреса, принадлежащие одному и тому же региону иерархии, также имеют одинаковые биты верхнего уровня. Например, IPv4-адреса всех компьютеров в кампусе Университета Вирджинии имеют вид 128.143.xxx.xxx. В нотации CIDR (classless interdomain routing, бесклассовая междоменная маршрутизация) IP-адреса записываются в виде 128.143.1.1/16. Это указывает на то, что компьютеры используют одни и те же 16 старших бит или первые два числа. Поскольку IP-адреса имеют определенную структуру, маршрутизаторы могут использовать части IP-адреса, чтобы решить, как переместить пакет по иерархии. На рис. 2.2 показан упрощенный пример иерархии маршрутизаторов.
На рис. 2.2 также показан мультиплексор доступа к цифровой абонентской линии (Digital Subscriber Line Access Multiplexer, DSLAM), позволяющий передавать сигналы, имеющие отношение к интернет-трафику, по проводам, изначально предназначенным для кабельного телевидения. Устройство DSLAM отличает интернет-сигнал от телевизионного, что позволяет подключить телевизор и маршрутизатор к одному и тому же разъему.
Проследим за перемещением пакета по сетевой иерархии на примере кофейни. Представьте, что вы находитесь в кафе в Сан-Франциско и переходите на веб-страницу www.cs.virginia.edu, размещенную на веб-сервере с IP-адресом 128.143.67.11. На первом этапе веб-запрос проходит через сетевую карту вашего ноутбука, которая затем отправляет его на маршрутизатор Wi-Fi, установленный в кафе. Затем маршрутизатор отправляет веб-запрос мультиплексору DSLAM, который перенаправляет этот запрос на маршрутизатор интернет-провайдера (internet service provider, ISP), например, Comcast. Затем маршрутизаторы Comcast сравнивают IP-адрес со списком префиксов в поисках совпадения. Например, он может обнаружить соответствие префиксу 128.xxx.xxx.xxx, указывающему на конкретный раздел иерархии. По мере перемещения запроса по иерархии совпадения становятся более конкретными, например, сначала 128.143.xxx.xxx, а затем 128.143.67.xxx. Как только пакет достигнет самого нижнего уровня иерархии, на котором отсутствуют другие маршрутизаторы, маршрутизатор использует MAC-адрес, содержащийся в пакете, для определения пункта назначения запроса. Самый нижний уровень иерархии называется локальной вычислительной сетью (local area network, LAN), поскольку все компьютеры на этом уровне подключены к интернету через один маршрутизатор.
Теперь, когда мы разобрались с общей структурой интернета, мы можем обсудить атаки, осуществляемые на самом нижнем уровне иерархии.
ARP-таблицы
Мы выяснили, что после того, как пакет достигает заданной LAN, сеть использует MAC-адрес пакета, чтобы определить его пункт назначения. Но как маршрутизатор узнает MAC-адрес компьютера с IP-адресом 128.143.67.11? Для этого используется протокол ARP. Маршрутизатор отправляет сообщение, называемое ARP-запросом, всем компьютерам в сети, предлагая машине с IP-адресом 128.143.67.11 прислать ARP-ответ со своим MAC-адресом. Затем маршрутизатор сохраняет результат сопоставления IP-адреса и MAC-адреса в специальной ARP-таблице, что избавляет его от необходимости повторно отправлять ARP-запросы в ближайшем будущем.
Атака методом ARP-спуфинга
Атака типа «ARP-спуфинг» (ARP spoofing) проводится в два этапа. На первом этапе злоумышленник отправляет жертве поддельный ARP-ответ с информацией о том, что MAC-адрес злоумышленника соответствует IP-адресу маршрутизатора. Так хакер заставляет жертву поверить в то, что его компьютер является маршрутизатором. На втором этапе компьютер жертвы принимает от него поддельный ARP-пакет и обновляет информацию в ARP-таблице, чтобы отразить соответствие MAC-адреса злоумышленника IP-адресу маршрутизатора. После этого интернет-трафик жертвы будет отправляться не на маршрутизатор, а на компьютер злоумышленника, который сможет проверить эту информацию, прежде чем переслать ее маршрутизатору.
Если хакер также хочет перехватить интернет-трафик, предназначенный для жертвы, то должен аналогичным образом обмануть и маршрутизатор, то есть создать поддельный ARP-пакет, указывающий на соответствие IP-адреса жертвы MAC-адресу злоумышленника. Это позволяет хакеру перехватывать и проверять входящий интернет-трафик, прежде чем перенаправлять его жертве.
Простая схема ARP-спуфинга показана на рис. 2.3. В данном случае Джейн (злоумышленник) обманом заставляет Алису (жертву) отправить ей письмо.
ARP-спуфинг — пример атаки посредника (man in the middle, MITM), поскольку злоумышленник в данном случае оказывается между жертвой и маршрутизатором.
Выполнение ARP-спуфинга
Перед реализацией ARP-спуфинга запустите виртуальные машины pfSense, Kali и Metasploitable. Соответствующие инструкции приведены в главе 1. Теперь установим инструменты, которые нам понадобятся для проведения этой атаки. Откройте терминал виртуальной машины Kali Linux и установите инструмент dsniff. По умолчанию в Kali Linux используется пароль kali. Выполните команду sudo -i, чтобы стать пользователем root. Вам также потребуется обновить менеджер пакетов apt-get, выполнив команду apt-get update.
Утилита dsniff содержит несколько полезных инструментов для перехвата сетевого трафика, в том числе инструмент arpspoof, который позволяет выполнять ARP-спуфинг.
Чтобы выдать свой компьютер за другие машины в сети, сначала мы должны выяснить их IP-адреса. Запустите инструмент netdiscover, используя следующую команду:
Инструмент netdiscover сканирует сеть, рассылая ARP-запросы по всем IP-адресам в подсети и после получения ответа от подключенного к ней компьютера записывает и отображает его MAC- и IP-адрес. Кроме того, этот инструмент определяет производителя сетевой карты по MAC-адресу. Для обеспечения уникальности всех MAC-адресов Институт инженеров по электротехнике и электронике (Institute of Electrical and Electronics Engineers, IEEE) выдает производителям диапазон MAC-адресов.
В ходе сканирования в сети должны быть обнаружены два компьютера, а его результат должен выглядеть следующим образом:
Фактические IP-адреса будут зависеть от ваших настроек. Как правило, машина с наименьшим IP-адресом является маршрутизатором в локальной сети. В оставшейся части этой главы мы будем называть данный IP-адрес <IP-адрес_маршрутизатора>.
Второй IP-адрес, принадлежащий виртуальной машине Metasploitable (нашей жертве), мы будем называть <IP-адрес_жертвы>. Как только вы обнаружите обе машины, завершите сканирование, нажав сочетание клавиш Ctrl+C.
Теперь вам нужно разрешить машине Kali Linux пересылать пакеты от имени других машин, включив пересылку IP-пакетов. Убедитесь в том, что являетесь пользователем root в машине Kali Linux, а затем включите пересылку IP-пакетов, установив соответствующий флаг:
Теперь вам нужно заставить жертву поверить в то, что ваш компьютер является маршрутизатором. Для этого отправьте поддельные ARP-ответы, говорящие о соответствии вашего MAC-адреса IP-адресу маршрутизатора. Схема данного этапа атаки представлена на рис. 2.4.
Вы можете сгенерировать несколько поддельных ответов ARP, выполнив команду:
Флаг -t обозначает цель, а флаг -i — интерфейс. Ваша сетевая карта поддерживает несколько способов подключения к сети. Например, wlan обозначает беспроводную локальную сеть (соединение Wi-Fi), а eth0 — соединение Ethernet. В нашей виртуальной лаборатории машины связаны через Ethernet, поэтому в качестве интерфейса мы будем использовать eth0. Если бы вы находились в кафе, то в качестве интерфейса выступала бы сеть wlan.
Следующий фрагмент демонстрирует результат выполнения команды arpspoof. Вам потребуется сгенерировать несколько поддельных ARP-ответов, чтобы гарантировать постоянное присутствие в таблице ложной информации. Данный инструмент сгенерирует за вас несколько пакетов, поэтому его достаточно запустить только один раз.
Рассмотрим результат выполнения команды, обратив особое внимание на первую строку. Она представляет собой сводку информации, содержащейся в только что отправленном пакете. Данная сводка состоит из пяти основных фрагментов.
Для перехвата входящего интернет-трафика от имени жертвы вам также необходимо заставить маршрутизатор поверить в то, что ею являетесь вы. Откройте новое окно терминала и выполните следующую команду. Обратите внимание на то, что <IP-адрес_маршрутизатора> и <IP-адрес_жертвы> поменялись местами. Это связано с тем, что теперь вы генерируете пакеты, чтобы обмануть маршрутизатор, выдав себя за жертву:
Теперь, когда вы обманули компьютер жертвы и маршрутизатор, проверим перехваченные пакеты и извлечем из них URL. Это позволит нам создать список сайтов, которые посещает жертва. Извлеките URL, выполнив следующую команду в новом окне терминала:
Вы также можете сгенерировать некий интернет-трафик на компьютере жертвы. Аутентифицируйтесь в виртуальной машине Metasploitable, используя msfadmin в качестве имени пользователя и пароля, а затем введите следующую команду, чтобы сгенерировать веб-запрос для google.com:
На рис. 2.5 схематически показано, что происходит на данном этапе.
Если вы все сделали правильно, то через пару минут в окне терминала отобразится связанный с веб-запросом URL. Проявите терпение; для анализа пакетов требуется время:
Посмотрите на этот результат. Несмотря на то что здесь показан только URL, компьютер злоумышленника перехватывает все пакеты, которые жертва отправляет и получает из интернета. Это означает, что хакер может просматривать любую незашифрованную информацию, передаваемую жертвой по сети. Кроме того, он может модифицировать пакеты с целью внедрения в систему вредоносного кода.
Достигнув цели, не следует оставлять ARP-таблицы в поврежденном состоянии. Когда злоумышленник покинет кафе, жертва больше не сможет подключиться к интернету и заподозрит неладное. Перед завершением атаки необходимо восстановить исходную конфигурацию ARP-таблиц. К счастью, инструмент arpspoof способен сделать это за нас. Завершите атаку, нажав сочетание клавиш Ctrl+C в обоих терминалах c запущенным arpspoof.
Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Для Хаброжителей скидка 25% по купону — Hacking
Перехват трафика с помощью ARP-спуфинга
Любой человек, зашедший в кафе и подключившийся к сети Wi-Fi, может перехватывать и просматривать незашифрованный веб-трафик других пользователей, используя метод под названием ARP-спуфинг, который эксплуатирует уязвимость протокола определения адресов (address resolution protocol, ARP). В данной главе мы обсудим принцип работы протокола ARP, рассмотрим этапы проведения ARP-спуфинга, а затем осуществим эту атаку.
Передача данных в интернете
Прежде чем переходить к обсуждению ARP-спуфинга, нам следует поговорить о структуре интернета в целом. В этом разделе описывается процесс передачи данных через иерархическую сеть с помощью пакетов, MAC- и IP-адресов.
Пакеты
Вся информация в интернете передается пакетами, которые можно представить в виде конверта с данными, подлежащими отправке. Как и в случае с обычной почтой, эти пакеты направляются по указанному адресу. На рис. 2.1 продемонстрированы некоторые сходства между почтовыми конвертами и пакетами.
Раздел «От кого» на конверте содержит два важных фрагмента информации: 1) имя отправителя; 2) его адрес. Точно так же у пакетов есть MAC-адрес источника, который представляет отправившую пакет машину, и IP-адрес источника, который указывает, откуда поступил этот пакет. Другие аналогичные поля, называемые заголовками пакета, определяют пункт его назначения.
Для сортировки и пересылки пакетов в интернете используются устройства, называемые маршрутизаторами. Пакеты перемещаются от одного маршрутизатора к другому, подобно тому как письма пересылаются между почтовыми отделениями.
MAC-адреса
Ваш ноутбук оснащен сетевой картой (network interface card, NIC), которая позволяет ему подключаться к маршрутизаторам Wi-Fi. Эта карта имеет уникальный MAC-адрес (media access control, управление доступом к среде), позволяющий идентифицировать ваш компьютер в сети. Перед отправкой информации вашему компьютеру маршрутизатор помечает соответствующий пакет MAC-адресом вашего ноутбука, а затем передает его в виде радиосигнала. Все компьютеры, подключенные к данному маршрутизатору, получают этот радиосигнал и проверяют MAC-адрес пакета, чтобы выяснить, которому из них он предназначен. Как правило, MAC-адреса представляют собой 48-битные значения, записанные в шестнадцатеричном формате (например, 08:00:27:3b:8f:ed).
IP-адреса
Вероятно, вы уже знаете, что IP-адреса также позволяют идентифицировать компьютеры в сети. Зачем же нам еще и MAC-адреса? Дело в том, что сети состоят из иерархических регионов, подобно тому как некоторые страны делятся на штаты, которые, в свою очередь, делятся на города. IP-адреса учитывают структуру, позволяющую им определять место устройства в более крупной сети. Если вы перейдете в другое кафе, то вашему ноутбуку будет назначен новый IP-адрес, отражающий его новое местоположение; но при этом ваш MAC-адрес останется прежним.
IPv4-адрес кодирует информацию о сетевой иерархии в виде 32-битного числа. Обычно оно разделяется точками на четыре раздела (например, 192.168.3.1). Каждый раздел представляет собой восьмибитное двоичное число. Например, 3 в 192.168.3.1 — это восьмибитное двоичное число 00000011.
IP-адреса, принадлежащие одному и тому же региону иерархии, также имеют одинаковые биты верхнего уровня. Например, IPv4-адреса всех компьютеров в кампусе Университета Вирджинии имеют вид 128.143.xxx.xxx. В нотации CIDR (classless interdomain routing, бесклассовая междоменная маршрутизация) IP-адреса записываются в виде 128.143.1.1/16. Это указывает на то, что компьютеры используют одни и те же 16 старших бит или первые два числа. Поскольку IP-адреса имеют определенную структуру, маршрутизаторы могут использовать части IP-адреса, чтобы решить, как переместить пакет по иерархии. На рис. 2.2 показан упрощенный пример иерархии маршрутизаторов.
На рис. 2.2 также показан мультиплексор доступа к цифровой абонентской линии (Digital Subscriber Line Access Multiplexer, DSLAM), позволяющий передавать сигналы, имеющие отношение к интернет-трафику, по проводам, изначально предназначенным для кабельного телевидения. Устройство DSLAM отличает интернет-сигнал от телевизионного, что позволяет подключить телевизор и маршрутизатор к одному и тому же разъему.
Проследим за перемещением пакета по сетевой иерархии на примере кофейни. Представьте, что вы находитесь в кафе в Сан-Франциско и переходите на веб-страницу www.cs.virginia.edu, размещенную на веб-сервере с IP-адресом 128.143.67.11. На первом этапе веб-запрос проходит через сетевую карту вашего ноутбука, которая затем отправляет его на маршрутизатор Wi-Fi, установленный в кафе. Затем маршрутизатор отправляет веб-запрос мультиплексору DSLAM, который перенаправляет этот запрос на маршрутизатор интернет-провайдера (internet service provider, ISP), например, Comcast. Затем маршрутизаторы Comcast сравнивают IP-адрес со списком префиксов в поисках совпадения. Например, он может обнаружить соответствие префиксу 128.xxx.xxx.xxx, указывающему на конкретный раздел иерархии. По мере перемещения запроса по иерархии совпадения становятся более конкретными, например, сначала 128.143.xxx.xxx, а затем 128.143.67.xxx. Как только пакет достигнет самого нижнего уровня иерархии, на котором отсутствуют другие маршрутизаторы, маршрутизатор использует MAC-адрес, содержащийся в пакете, для определения пункта назначения запроса. Самый нижний уровень иерархии называется локальной вычислительной сетью (local area network, LAN), поскольку все компьютеры на этом уровне подключены к интернету через один маршрутизатор.
Теперь, когда мы разобрались с общей структурой интернета, мы можем обсудить атаки, осуществляемые на самом нижнем уровне иерархии.
ARP-таблицы
Мы выяснили, что после того, как пакет достигает заданной LAN, сеть использует MAC-адрес пакета, чтобы определить его пункт назначения. Но как маршрутизатор узнает MAC-адрес компьютера с IP-адресом 128.143.67.11? Для этого используется протокол ARP. Маршрутизатор отправляет сообщение, называемое ARP-запросом, всем компьютерам в сети, предлагая машине с IP-адресом 128.143.67.11 прислать ARP-ответ со своим MAC-адресом. Затем маршрутизатор сохраняет результат сопоставления IP-адреса и MAC-адреса в специальной ARP-таблице, что избавляет его от необходимости повторно отправлять ARP-запросы в ближайшем будущем.
Если вкратце
MAC-адрес идентифицирует ваш компьютер, IP-адрес определяет его местоположение, а ARP-таблицы хранят результаты сопоставления этих фрагментов информации. При проведении ARP-спуфинга мы стремимся выдать себя за кого-то другого.
Атака методом ARP-спуфинга
Атака типа «ARP-спуфинг» (ARP spoofing) проводится в два этапа. На первом этапе злоумышленник отправляет жертве поддельный ARP-ответ с информацией о том, что MAC-адрес злоумышленника соответствует IP-адресу маршрутизатора. Так хакер заставляет жертву поверить в то, что его компьютер является маршрутизатором. На втором этапе компьютер жертвы принимает от него поддельный ARP-пакет и обновляет информацию в ARP-таблице, чтобы отразить соответствие MAC-адреса злоумышленника IP-адресу маршрутизатора. После этого интернет-трафик жертвы будет отправляться не на маршрутизатор, а на компьютер злоумышленника, который сможет проверить эту информацию, прежде чем переслать ее маршрутизатору.
Если хакер также хочет перехватить интернет-трафик, предназначенный для жертвы, то должен аналогичным образом обмануть и маршрутизатор, то есть создать поддельный ARP-пакет, указывающий на соответствие IP-адреса жертвы MAC-адресу злоумышленника. Это позволяет хакеру перехватывать и проверять входящий интернет-трафик, прежде чем перенаправлять его жертве.
Простая схема ARP-спуфинга показана на рис. 2.3. В данном случае Джейн (злоумышленник) обманом заставляет Алису (жертву) отправить ей письмо.
ARP-спуфинг — пример атаки посредника (man in the middle, MITM), поскольку злоумышленник в данном случае оказывается между жертвой и маршрутизатором.
Выполнение ARP-спуфинга
Перед реализацией ARP-спуфинга запустите виртуальные машины pfSense, Kali и Metasploitable. Соответствующие инструкции приведены в главе 1. Теперь установим инструменты, которые нам понадобятся для проведения этой атаки. Откройте терминал виртуальной машины Kali Linux и установите инструмент dsniff. По умолчанию в Kali Linux используется пароль kali. Выполните команду sudo -i, чтобы стать пользователем root. Вам также потребуется обновить менеджер пакетов apt-get, выполнив команду apt-get update.
kali@kali:~$ sudo -i
kali@kali:~$ apt-get update
kali@kali:~$ apt-get install dsniff
Утилита dsniff содержит несколько полезных инструментов для перехвата сетевого трафика, в том числе инструмент arpspoof, который позволяет выполнять ARP-спуфинг.
Чтобы выдать свой компьютер за другие машины в сети, сначала мы должны выяснить их IP-адреса. Запустите инструмент netdiscover, используя следующую команду:
kali@kali:~$ sudo netdiscover
Инструмент netdiscover сканирует сеть, рассылая ARP-запросы по всем IP-адресам в подсети и после получения ответа от подключенного к ней компьютера записывает и отображает его MAC- и IP-адрес. Кроме того, этот инструмент определяет производителя сетевой карты по MAC-адресу. Для обеспечения уникальности всех MAC-адресов Институт инженеров по электротехнике и электронике (Institute of Electrical and Electronics Engineers, IEEE) выдает производителям диапазон MAC-адресов.
В ходе сканирования в сети должны быть обнаружены два компьютера, а его результат должен выглядеть следующим образом:
Фактические IP-адреса будут зависеть от ваших настроек. Как правило, машина с наименьшим IP-адресом является маршрутизатором в локальной сети. В оставшейся части этой главы мы будем называть данный IP-адрес <IP-адрес_маршрутизатора>.
Второй IP-адрес, принадлежащий виртуальной машине Metasploitable (нашей жертве), мы будем называть <IP-адрес_жертвы>. Как только вы обнаружите обе машины, завершите сканирование, нажав сочетание клавиш Ctrl+C.
Теперь вам нужно разрешить машине Kali Linux пересылать пакеты от имени других машин, включив пересылку IP-пакетов. Убедитесь в том, что являетесь пользователем root в машине Kali Linux, а затем включите пересылку IP-пакетов, установив соответствующий флаг:
kali@kali:~$ echo 1 > /proc/sys/net/ipv4/ip_forward
Теперь вам нужно заставить жертву поверить в то, что ваш компьютер является маршрутизатором. Для этого отправьте поддельные ARP-ответы, говорящие о соответствии вашего MAC-адреса IP-адресу маршрутизатора. Схема данного этапа атаки представлена на рис. 2.4.
Вы можете сгенерировать несколько поддельных ответов ARP, выполнив команду:
arpspoof -i eth0 -t <IP-адрес_жертвы> <IP-адрес_маршрутизатора>
Флаг -t обозначает цель, а флаг -i — интерфейс. Ваша сетевая карта поддерживает несколько способов подключения к сети. Например, wlan обозначает беспроводную локальную сеть (соединение Wi-Fi), а eth0 — соединение Ethernet. В нашей виртуальной лаборатории машины связаны через Ethernet, поэтому в качестве интерфейса мы будем использовать eth0. Если бы вы находились в кафе, то в качестве интерфейса выступала бы сеть wlan.
Следующий фрагмент демонстрирует результат выполнения команды arpspoof. Вам потребуется сгенерировать несколько поддельных ARP-ответов, чтобы гарантировать постоянное присутствие в таблице ложной информации. Данный инструмент сгенерирует за вас несколько пакетов, поэтому его достаточно запустить только один раз.
kali@kali:~$ sudo arpspoof -i eth0 -t 192.168.100.101 192.168.100.1
[sudo] password for kali:
8:0:27:1f:30:76 8:0:27:fe:31:e6 0806 42: arp reply 192.168.100.1 is-at 8:0:27:1f:30:76
8:0:27:1f:30:76 8:0:27:fe:31:e6 0806 42: arp reply 192.168.100.1 is-at 8:0:27:1f:30:76
Рассмотрим результат выполнения команды, обратив особое внимание на первую строку. Она представляет собой сводку информации, содержащейся в только что отправленном пакете. Данная сводка состоит из пяти основных фрагментов.
- 8:0:27:1f:30:76 — MAC-адрес машины Kali Linux (компьютер злоумышленника), создавшей пакет.
- 8:0:27:fe:31:e6 — MAC-адрес компьютера (жертвы), который получит этот пакет.
- 0806 — поле типа, указывающее на то, что ARP-пакет содержится в передаваемом Ethernet-кадре.
- 42 — общее количество байтов, содержащихся в Ethernet-кадре.
- Последний фрагмент, arp reply 192.168.100.1 is-at 8:0:27:1f:30:76, представляет собой краткое содержание поддельного ARP-ответа, в котором указано, что IP-адрес маршрутизатора (192.168.100.1) соответствует MAC-адресу машины Kali Linux (8:0:27:1f:30:76).
Для перехвата входящего интернет-трафика от имени жертвы вам также необходимо заставить маршрутизатор поверить в то, что ею являетесь вы. Откройте новое окно терминала и выполните следующую команду. Обратите внимание на то, что <IP-адрес_маршрутизатора> и <IP-адрес_жертвы> поменялись местами. Это связано с тем, что теперь вы генерируете пакеты, чтобы обмануть маршрутизатор, выдав себя за жертву:
kali@kali:~$ arpspoof -i eth0 -t <IP-адрес_маршрутизатора> <IP-адрес_жертвы>
Теперь, когда вы обманули компьютер жертвы и маршрутизатор, проверим перехваченные пакеты и извлечем из них URL. Это позволит нам создать список сайтов, которые посещает жертва. Извлеките URL, выполнив следующую команду в новом окне терминала:
kali@kali:~$ urlsnarf -i eth0
Вы также можете сгенерировать некий интернет-трафик на компьютере жертвы. Аутентифицируйтесь в виртуальной машине Metasploitable, используя msfadmin в качестве имени пользователя и пароля, а затем введите следующую команду, чтобы сгенерировать веб-запрос для google.com:
msfadmin@metasploitable:~$ wget http://www.google.com
На рис. 2.5 схематически показано, что происходит на данном этапе.
Если вы все сделали правильно, то через пару минут в окне терминала отобразится связанный с веб-запросом URL. Проявите терпение; для анализа пакетов требуется время:
kali@kali:~$ sudo urlsnarf -i eth0
urlsnarf: listening on eth0 [tcp port 80 or port 8080 or port 3128]
192.168.100.101 - - "GET http://www.google.com/ HTTP/1.0"
Посмотрите на этот результат. Несмотря на то что здесь показан только URL, компьютер злоумышленника перехватывает все пакеты, которые жертва отправляет и получает из интернета. Это означает, что хакер может просматривать любую незашифрованную информацию, передаваемую жертвой по сети. Кроме того, он может модифицировать пакеты с целью внедрения в систему вредоносного кода.
Достигнув цели, не следует оставлять ARP-таблицы в поврежденном состоянии. Когда злоумышленник покинет кафе, жертва больше не сможет подключиться к интернету и заподозрит неладное. Перед завершением атаки необходимо восстановить исходную конфигурацию ARP-таблиц. К счастью, инструмент arpspoof способен сделать это за нас. Завершите атаку, нажав сочетание клавиш Ctrl+C в обоих терминалах c запущенным arpspoof.
ЗАЩИТА ОТ ARP-СПУФИНГА
Несмотря на то что предотвратить атаку этого типа довольно сложно, шифрование интернет-трафика помогает защитить информацию от кражи и изменения. Любой трафик, отправляемый через HTTPS-соединение, является зашифрованным. Однако проверять URL каждой посещаемой страницы вручную довольно утомительно, поэтому Фонд электронных рубежей (Electronic Frontier Foundation, EFF) (eff.org) создал расширение браузера (для Chrome, Edge, Firefox и Opera) под названием HTTPS Everywhere, которое гарантирует то, что весь ваш сетевой трафик проходит через HTTPS-соединение. Таким образом, установка данного плагина — отличный способ защитить себя.
Более подробно с книгой можно ознакомиться на сайте издательства
» Оглавление
» Отрывок
По факту оплаты бумажной версии книги на e-mail высылается электронная книга.
Для Хаброжителей скидка 25% по купону — Hacking
Valser
Купить с доставкой в Украину, чтобы получить и в электронном виде, есть возможность?
ph_piter Автор
К сожалению, нет
Vilos
Неужели у вас нет товарища в России? Делаете покупку на российский адрес, а e-mail указываете свой (то бишь украинский)....правда товарищь бумажный экземляр получит, но я так понял вам важнее получить электронную версию чем бумажную.
И дааа.....бумага со временем не портится, как политики договорятся наконец и люди жить нормально начнут, поэтому рано или поздно ваш русский друг вам вышлет на украинский адрес вашу книгу.
ph_piter Автор
Бумажную книгу Вам можно будет купить здесь, через 1-2 недели
Купить книги в Киеве, Украине - цена в интернет-магазине Аконит, доставка почтой (akonit.net)