Как правило, при перехвате трафика средствами mitm имеется две различные возможности
заполучить доступ к некоему web ресурсу, к которому обращается атакуемый. Наиболее предпочтительно перехватить момент авторизации и получить логин и пароль открытым текстом, что позволит в любое время иметь доступ на данный ресурс.
Второй, наименее предпочтительный вариант, это перехват куков уже активной сессии, логина и пароля мы не получаем, но
зато можем подставить эти самые куки в свой браузер и получить доступ к ресурсу на время действия сессии.
Минусы второго способа очевидны и для их устранения можно предпринять довольно простые шаги. Т.к. атакующий имеет полный контроль над трафиком жертвы, то он может принудительно «просрочить» куки жертвы, заставив ее перейти на страницу авторизации, что позволит перехватить логинпароль в открытом виде.
Логика работы следующая. После начала атаки мониторятся куки передаваемые от клиента к серверу и обратно.
Куки от сервера заносятся в белый список, как только что установленные. При встрече куков от клиента, которых нет в белом списке, происходит отправка HTTP ответа, в котором все переданные куки обнуляются следующим образом:
Set-Cookie: %cookiename%=; path=/; domain=%domain%; Expires=Thu, 01 Jan-2000 00:00:01 GMT
При удачном раскладе (разные ресурсы и браузеры по-разному могут осуществлять работу с cookies) произойдет перенаправление на страницу авторизации. Сброшенные куки заносятся в белый список и в дальнейшем спокойно пропускаются, т.е. после повторного захода на ресурс никаих разрывов больше не происходит.
Идея заимствована из утилиты sslstrip, иных упоминаний и реализаций обнаружено не было.
Описанный «убийца кукисов» появился в Intercepter-NG 0.9.5, демонстрация работы представлена на следующем видео.
Помимо cookie killer'a в новой версии появился DNS спуфинг, ARP «клетка» для изоляции одних хостов от других,
поддержка нового формата Wireshark — pcapng и т.д. Дополнительная информация на сайте проекта.
Автор: Intercepter