Pull to refresh

Национальные символы в адресах — рай для фишинга?

Reading time 3 min
Views 882


Всем привет!

На материал этой маленькой статейки навела другая, подобной тематики, которую я прочёл довольно давно. И решил я немного поиграться с случайно пойманной темой и посвятить в свои игры хабронарод.

Речь пойдёт сегодня преимущественно о зоне.рф. И играть мы будем с сайтом уважаемого Президента Российской Федерации, за что ему большое спасибо!

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


ВВЕДЕНИЕ
Итак, свершилось! С 12 мая 2010 года началось славное существование зоны.рф, первыми пионерами которой стали сайты http://президент.рф и http://правительство.рф Активно проводилась пиар-компания по покупке доменных имён, многие стали их счастливыми обладателями, с милой сердцу кириллицей в адресе. В принципе, уже имеем http://мэйл.рф, http://яндекс.рф… Приятно. Но есть и другие мысли…

ТЕОРИЯ
Как известно, в зоне.рф имеется возможность введения имени кириллицей. Таким является яркий пример нашего исследования сегодня — сайт президент.рф
При введении имени в адресную строку браузера Firefox и запуска пользователь имеет возможность заметить быстрое появление странной комбинации: xn--d1abbgf6aiiy.xn--p1ai Нет, Вас не поразил страшный вирус и Вы не стали добычей фишера (во всяком случае, пока ;) ) — то что Вы видите, это конвертация непонятной для систем DNS кириллицы в понятную латиницу в представлении IDN. Фактически, для DNS как не было, так и нет никакого президент.рф, есть только странное, но понятное системе имя xn--d1abbgf6aiiy.xn--p1ai. При этом, префикс xn-- однозначно указывает, что имя представлено в своеобразной кодировке, именуемой Punnycode.

Proof of Concept
Я долго смотрел на всё это и внезапно вспомнил — а ведь множество латинских букв совпадает по написанию с кириллицей! В итого, «президент.рф» может выступать в нескольких вариантах, поскольку буквы «е» и «р» абсолютно одинаковы по начертанию, но различны для системы. Этих букв в имени четыре, соответственно, имеем 2^4 = 16 вариантов «президент.рф», неотличимых глазу! Единственная разница у них — это punnycode.

Воспользуемся удобным онлайн-конвертером для иллюстрации нашей идеи (все 16 вариантов не буду приводить, но четыре показательных сделаю):

http://президент.рф = http://xn--d1abbgf6aiiy.xn--p1ai (это настоящий сайт Президента)
http://пpезидент.рф = http://xn--p-htbcbig1bj8a.xn--p1ai (фэйк №1)
http://прeзидент.рф = http://xn--e-htbdgf6aiiy.xn--p1ai (фэйк №2)
http://пpeзидeнт.рф = http://xn--pee-oddog1bj8a.xn--p1ai (фэйк №3)

Как видите — в «русском» имени не видно никакой разницы. Но это — разные хосты как по punnycode, так и по природе. Увидеть, что что-то не так, можно по латинским буквам между дефисами, например, «xn--pee-oddog1bj8a.xn», однако кто их заметит?

ВЫВОДЫ
В итоге имеем просто идеальную фишинговую ловушку: при компрометации сайта очень быстро злоумышленник получает всю информацию, который пользователь обычно вводит на своём, оригинальном сайте.

На момент написания поста я не нашёл ограничений, что в подобных доменах IDN принципиально нельзя использовать латинские буквы. Примеры вверху ведут на страницу, утверждающую, что на данный момент нет с указанными доменными именами нет соответствия IP-адреса хоста. То есть их ещё не купили. Надолго ли? ;)

Мораль:
«Сколько языков ты знаешь — столько раз ты человек» А.П.Чехов


P.S. В настоящий момент с сайта президент.рф выполняется автоматическая переадресация на kremlin.ru. Так что данная статья должна рассматриваться как чисты Proof of concept — но с возможным развитием ;)
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+7
Comments 19
Comments Comments 19

Articles