Arp spoofing with kali linux

Arp spoofing with kali linux

ARPspoofing (ARPpoisoning) — разновидность сетевой атаки типа MITM (англ. Man in the middle), применяемая в сетях с использованием протокола ARP.

ARP или Address Resolution Protocol — протокол канального уровня, используемый для определения MAC-адреса по заданному IP-адресу в семействе протоколов IPv4. В семействе протоколов IPv6 ARP не существует, его функции возложены на ICMPv6. Однако мы все еще имеем огромное количество сетей, работающих с IPv4. И сегодня мы поговорим об известной атаке arp-spoofing и утилитах Kali Linux , позволяющих ее реализовать.

Коротко о работе протокола

Рассмотрим ситуацию, когда компьютеры A и B находятся в разных локальных сетях и связаны друг с другом через Интернет. Для передачи данных, компьютер A использует IP-адрес компьютера B в качестве адреса назначения и отправляет пакет в Интернет. Пройдя через серию маршрутизаторов, он попадает на шлюз сети, которой принадлежит компьютер B.
В локальной сети компьютера B для адресации используются 6-ти байтные MAC-адреса и, когда пакет достигает шлюза, дальнейшая доставка данных по локальной сети возможна, только если известен MAC-адрес компьютера B. Если шлюзу MAC-адрес не известен, он отправляет в сети широковещательный ARP-запрос, суть которого состоит в следующем «Компьютер с IP-адресом компьютера B, сообщите мне (шлюзу) свой MAC-адрес». Т.к. запрос широковещательный, он достигает компьютера B и в ответ он посылает ARP-ответ со своим MAC-адресом. Остальные компьютеры сети не посылают никаких пакетов на ARP-запрос шлюза, т.к. имеют IP-адреса, отличные от IP-адреса компьютера B. Шлюз, получив MAC-адрес компьютера B, заносит в свою ARP-таблицу (кэш) соответствие IP-адрес и MAC-адрес компьютера B и, затем, отправляет на него данные, полученные через Интернет от компьютера A. В то же время компьютер B заносит в свою ARP-таблицу соответствие IP и MAC адресов шлюза, чтобы иметь возможность посылать данные компьютеру A.
На первый взгляд все должно работать просто и надежно, если бы не одна особенность — ARP не проверяет подлинность ARP-запросов и ARP-ответов и позволяет отправлять ARP-ответы узлам сети произвольно, т.е. даже если узел не отправлял в сети никаких ARP-запросов. Самопроизвольные ответы нужны, например для выявления конфликтов IP-адресов в локальной сети. Подробнее можно прочитать здесь Gratuitous_ARP

ARP-poison

Предположим, что нам нужно прослушивать данные, передаваемые между компьютерами A и B. Наш компьютер находится в одной локальной сети с компьютером B. У нас есть свой MAC-адрес, мы знаем MAC-адрес компьютера B и MAC-адрес шлюза нашей локальной сети.
Компьютеры в современных локальных сетях соединены друг с другом через коммутаторы. Коммутатор «помнит» к какому порту подключен хост с каким MAC-адресом. Т.е. получив пакет от компьютера B шлюзу, мы этот пакет не получим, т.к. он не будет отправлен на все порты коммутатора, а лишь на тот, к которому, по мнению коммутатора, сейчас подключен шлюз. Во времена, когда использовались хабы вместо коммутаторов, мы могли бы слушать трафик без каких-либо проблем.
Атаку ARP-spoofing часто называют так же ARP-cache poisoning и это название весьма говорящее.
Т.к. нам позволено отправлять ARP-ответы любому узлу сети когда нам захочется, мы отправим ARP-ответ шлюзу такого содержания «Я узел сети с IP-адресом компьютера B, и вот мой MAC-адрес [MAC-адрес нашего хоста]» а компьютеру B отправим ARP-ответ такого содержания «Я шлюз и мой MAC-адрес [снова MAC-адрес нашего хоста]». Получив такие пакеты, шлюз и компьютер B обновят свой ARP-кэш.
Теперь, если компьютер B захочет отправить данные через Интернет компьютеру A, он пошлет свои данные, как он считает в соответствии со своей ARP-таблицей, на MAC-адрес шлюза, тогда как в действительности данные будут отправлены на наш MAC-адрес, а мы, в свою очередь, отправим их дальше на настоящий MAC-адрес шлюза. Ответ от компьютера А снова пройдет через нашу машину.

Читайте также:  Дистрибутив для новичка линукс

Реализация атаки в Kali Linux

Увидеть содержание ARP-таблицы хоста можно следующим образом.

Для проведения атаки arp-spoofing в Kali Linux должны быть разрешены транзитные пакеты.
Разрешить IPv4 форвардинг можно отредактировав файл /etc/sysctl.conf
Нужно раскомментировать строку
net.ipv4.ip_forward = 1
После чего выполнить команду
sysctl -p /etc/sysctl.conf
Если же вы не хотите разрешать это на постоянно основе, можно разрешить форвардинг так
echo 1 > /proc/sys/net/ipv4/ip_forward

Так же стоит убедиться, что транзитный трафик не блокируется правилами iptables.

В Kali Linux Rolling 2016.2 предустановлены следующие инструменты для проведения атаки ARP-spoofing:

Пример использования:
arpspoof -i eth0 -t [ip жертвы] [ip шлюза жертвы]
arpspoof -i eth0 -t [ip шлюза жертвы] [ip жертвы]
-i — указывает интерфейс, подключенный к локальной сети жертвы
-t — указывает IP-адрес хоста, arp-кэш которого требуется «отравить». Если ключ не указан, атака будет проведена по всех хостам в сети, т.е. все участники сети, при попытке отправить пакет шлюзу, будут отправлять его нам.

или одной командой
arpspoof -i eth0 -t [ip шлюза жертвы] -r [ip жертвы]
ключ -r указывает arpspoof «отравлять» arp-кэш обеих хостов.

Выбрать Unified sniffing и интерфейс

1

0

Добавить жертву и шлюз в разные группы целей

0-1

Выбрать Mitm -> ARP poisoning

3

Отметить sniff remote connections и запустить

4

Фреймворк метасплойт

Можно ипользовать акзилари модуль метасплойта auxiliary/spoof/arp/arp_poisoning

msfconsole
use auxiliary/spoof/arp/arp_poisoning
set BIDIRECTIONAL true
set INTERFACE eth0
set DHOST [ip-адрес шлюза]
set SHOST [ip-адрес жертвы]
set LOCALSIP [ip-адрес нашего хоста]
exploit

Помимо предустановленных инструментов, можно установить и использовать следующие:

Также стоит добавить, что после проведения атаки следует корректно ее завершать, восстановив валидные записи в arp-таблицах атакованных хостов.

Что потом?

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

Читайте также:  Добавить русский язык линукс

Источник

l33t tutorials

All my hacking experiments in one place. Powered by WordPress.com

Tutorial Man-In-The-Middle attack using sslstrip and arpspoofing with Kali linux

Intention/Intro

Educational purposes only.
This tutorial will teach how to ARP Spoof a network and get user information even from websites with that use encryption (HTTPS). This tutorial we’ll use the Kali Linux (Live CD), the sslstrip software, we’ll modify the etter.conf file, add new rules to the iptables and use the ettercap software.

Pre-configurations

The commands below will set the iptables to redirect everything that comes from port 80 to port 10000. Our goal here is to set the sslstrip to strip HTTPS from pages and give to the end user a HTTP page (with no security, no encryption). So, the port that we’ll use to redirect the striped content will be the port 10000.

$echo 1 > /proc/sys/net/ipv4/ip_forward
$iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 10000

Usage

It’s time to run sslstrip and do the tricks that I mentioned before. To run it, use the command below:

$sslstrip -l 10000

Now, open another terminal windows and run the command below:

$ettercap -G

A windows will pop and that’s the ettercap GUI. Click on Sniff > Unifed sniff and choose the interface that you have a internet connection (same as your victims). For exemple, I choose wlan0, but if I’re using a cable, and would’ve choose the eth0 interface. Now click on Host > Scan for hosts. Now click again on Host > Host List. Select your gateway (the IP that you can access your router. It’s usually some IP that ends with 1 [like 192.168.2.1] . Keep in mind that’s not a rule!) and click on the button Target 1. Select the IP that your target is using and click on the button Target 2 (you can select multiples IP’s if you click on them holding the Ctrl or Command key). Now, click on Plugins > Manage Plugins and a list of plugins will appear. Now, double click on dns_spoof and make shore that there’s an asterisk ( * ) by it when you double click it. Now, click on Mitm > Arp spoofing and select the first option that you see in the windows that pop up and click on OK. Now click on Start > Start sniffing. You’re all set! Wait until your target access pages like gmail, facebook, twitter or anything that you have to use credentials. When your target access those sites, the ettercap will show the user and password that your target used. Remember: The sslstrip is the responsible for making the HTTPS website unsecured! What I’m saying is that the target’s browser will request the page and the server will return a HTTPS page. The sslstrip intercept it on port 10000 and return to the user a HTTP page (no encryption). Beautiful, isn’t it?

Читайте также:  Finding largest files in linux

Conclusion

This attack is simple to do and very effective. I strongly recommend that you use the Live Kali (instead of installing on your machine or on a VM). I have Kali installed on a computer and it often gives me headache to fix my mistakes. The ettercap might not work if your using a VM. In order to work, you should download/install all the extras VM tools that’s available. The ettercap might not work on a installed Kali. I couldn’t find one reason for that problem yet, but I read that if you uninstall it and install it from the Github resource, it might work better than the one that came with Kali. Warning: To install ettercap from Github, you might face missing libs. It uses a lot of different libs and it will take some time to you get them all installed on your machine. If you want to try to install it, use the commands below:

$sudo apt-get remove ettercap-common ettercap-graphic
$git clone https://github.com/Ettercap/ettercap
$cd ettercap && mkdir build && cmake ../ && make install

Ettercap, sometimes, didn’t work when I pressed the Star Sniffing option. What I did to make it work? Went to the first step of this tutorial and repeated everything.
How can you protect yourself from attacks like this? You could use a software like XArp, create static ARP tables, or you could read this.

Источник

Оцените статью
Adblock
detector