Атака MITM + перехват трафика
INHIDE![](/file/d9a41647a2f747378f9bb.png)
В этой статье будем использовать ARP spoofing, чтобы вклиниться между двумя машинами, принуждая пользователя поверить, что мы являемся сервером, а сервер, что мы являемся пользователем. Таким образом, мы сможем стать посредником трафика между ними и использовать его в своих интересах.
Начнем нашу MitM(Man in the Middle - чел по середине) атаку (в этой статье используется BackTrack5 – особых отличий от Kali Linux Вы не заметите).
Атака
Для успешного проведения атаки, нам понадобится открыть три терминала (прочитав далее, Вы поймете, зачем).
![](/file/8b74c2331f613c1590cd1.png)
А для первого этапа нам понадобится утилита arpspoof, так что, если она, по каким-то причинам, у Вас отсутствует - устанавливайте (желательно, через apt-get).
Займемся нашим пользователем. Мы хотим заменить MAC-адрес сервера нашим MAC-адресом.
arpspoof <ip_клиента> <ip_сервера>
Этой командой мы объявили клиенту, что мы сервер.
Теперь же нам нужно сделать в точности противоположное действие в другом терминале (уверить сервер, что мы пользователь)
arpspoof <ip_сервера> <ip_клиента>
![](/file/524d54969ceb6d668a9c2.png)
Важно использовать эти команды поочередно (пожалуй, мне стоило сказать об этом раньше).
![](/file/00a5344d2a7fae89ae808.png)
Теперь, когда мы обманули и клиент и сервер, нам необходимо установить передачу на другую машину. Поясню: если пакеты с сервера, направленные к клиенту, будут тормозить у нас – пользователь заподозрит неладное (начнет переподключать свой роутер, звонить провайдеру и делать прочие не нужные нам вещи), поэтому мы должны стать ресивером между ними.
Для этой цели мы изменим статус ip_forward (встроенный ресивер в Linux) на 1 (то есть, просто включим).
echo 1 > /proc/sys/net/ipv4/ip_forward<ip_клиента>
![](/file/b3ecea485218e8bd741fb.png)
Теперь наша система передаёт трафик в обе стороны, поздравляю, Вы стали посредником. Осталось лишь научиться его анализировать. Чтобы это сделать, мы можем использовать большой ассортимент sniffing-инструментов, включая Wireshark, tcpdump, dsniff и другие. В этом примере используем dsniff. Инструмент обрабатывает информацию, передаваемую в незашифрованном виде (то есть протоколы ftp, telnet, HTTP, SNMP, POP, LDAP и тд – да; протоколы HTTPS и тд – нет). Чтобы его запустить, введите команду
dsniff
![](/file/c235b5410a37056eca72e.png)
Как видите, dsniff автоматически начал прослушивать интерфейс eth0.
После непродолжительного ожидания, когда наш пользователь подключится к ftp-серверу, dsniff перехватит всю введенную им информацию и отобразит её нам в окне терминала.
![](/file/8ec289cf4b21c57a8bf0c.png)
Как видите, этот прекрасный инструмент словил данные подключения администратора и его глупый пароль ‘password’. Не правда ли, это было достаточно просто? Чем больше подобных приемов будут храниться в Вашем багаже знаний, тем легче Вам будет даваться любой последующий.