...

среда, 10 сентября 2014 г.

Tabnabbing: экстравагантный фишинг



Последние три дня примечательны тем, что в сеть попали три больших базы аккаунтов пользователей почты Яндекса, Mail.ru и Gmail.

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


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


В 2010 году Аза Раскин, сын Джефа Раскина, поделился в своем блоге очень интересным, как мне кажется, методом фишинга, который он назвал Tabnabbing.


Его суть в следующем:



1. Атакующий привлекает пользователя на страницу своего сайта, которая выглядит абсолютно нормальной и такой, какой пользователь ожидает её увидеть.

2. Атакующий определяет, что пользователь длительное время не взаимодействовал со страницей, или вообще переключился на другую вкладку.

3. Пока страница неактивна – подменяется ее favicon на иконку сайта, под который она будет маскироваться.

4. Контент страницы меняется на контент фейковой формы логина сайта, под который она маскируется.

5. С определенной достаточно большой долей вероятности пользователь, вернувшись ко вкладке – не задумываясь, автоматически введет свои логин и пароль.

6. После перехвата данных авторизации – пользователя можно просто переадресовать на атакуемый сайт, ведь вероятнее всего он на нем уже авторизован и именно этого поведения он и будет ожидать.



Реализация



Прототип кода, который отслеживает поведение пользователя может выглядеть как-то так:

window.onblur = function(){
TIMER = setTimeout(time_to_change, 5000);
}

window.onfocus = function(){
if(TIMER) clearTimeout(TIMER);
}

function time_to_change() {
if( HAS_SWITCHED == false ){
change_content();
change_title( "Gmail: Email from Google");
set_favicon("http://ift.tt/1kPOAvO");
HAS_SWITCHED = true;
}
}


То есть, сам перехват поведения пользователя – достаточно тривиален, и не замысловат. Далее, функция change_content() отвечает за создание новых элементов DOM-дерева, которые будут отображены поверх оригинального контента страницы.


А если вы любите понастальгировать:



Аза Раскин в своем посте, посвященному этой теме, реализовал пример этого поведения, и если вы переключите вкладку с постом – вернувшись в нее вы получите скриншот страницы авторизации Gmail образца 2010 года.

В любом случае, хотелось бы напомнить – будьте предельно внимательны, это основа вашей безопасности в сети.


This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий