К основному контенту

Proposal for “Out of Character: Use of Punycode and Homoglyph Attacks to Obfuscate URLs for Phishing” Adrian Crenshaw

Below is a project I'm doing for class. If you want to make suggestions and tell me about weird Unicode/Homoglyph security issues, please email me. If you want to play with making homographs, look at my Homoglyph Attack Generator.
            One of the key components users leverage to tell if a URL is part of a phishing attack is to compare the host and domain name to their expectations for the legitimate site. For example, an email asking users to summit bank information to a website with the domain name adrianshouseofpwnage.com is not as likely to receive submissions as a website that was hosted under a more reasonable sounding name. There are many common techniques used currently and in the past to make links look more legitimate. One would be to have the link text say one thing, but to have to anchor actually point elsewhere, for example:
<a href=”http://irongeek.com”>http://www.microsoft.com</a>
The above is mitigated in many mail services by having the actual link printed out next to the linking text if they differ. Another technique is to confuse the users by modifying the URL to have a valid sounding name in the credentials part of the URL, but the actual host name in the trailing part:
Some modern browser mitigate this by either popping up a warning (Firefox) or just refusing to see this as a valid URL (Internet Explorer). There are many more techniques that can be used to obfuscate a URL however. The technique this paper will focus on is the use of Punycode and homoglyphs.
            Normally, DNS labels (the parts separated by dots) have to be in the ASCII subset of just letters, digits and the hyphen (sometimes called the LDH rule). Also, a label cannot start or end with a hyphen, and is case insensitive. This limited set of characters causes a problem if someone wants to use a character in a DNS label that is not part of the LDH set.
Punycode, or more formally the Internationalized Domain Names in Applications (IDNA) framework as it is used on the Internet, was designed as a way to map characters that would normally be invalid in DNS host names to valid characters. In this way, domain and host names can be created using characters from a user’s native language, but still have them translated into something the DNS system can use (assuming the application supports decoding IDNA). Examples can be as simple as characters with accents such as “café.com” (which browsers that support the IDNA specification will translate to “xn--caf-dma.com”) to more complex ones where even the top level domain name is not in ASCII, such as “http://北京大学.中國” (which converts to http://xn--1lq90ic7fzpc.xn--fiqz9s). Explaining the IDNA algorithm and how it maps to Unicode symbols is beyond the scope of this proposal paper, and all an attacker need do is use one of the many online generators to create a valid IDNA label. For more details on how the system works, see RFC 3492. CITATION ACo03 \l 1033  [1]
The second facet of this attack is homoglyphs. A homoglyphs is a symbol that appears to be the same or very similar to another symbol. An example most would be familiar with is the letter O and the number 0. Depending on the font used they may be hard to distinguish from each other. The letters l (lower case L) and I (uppercase i) are another common example. Where it becomes even more interesting are the places in Unicode where very similar characters exist from different languages. Languages that use characters which look similar to the normal Latin alphabet with diacritic accents, letter-like symbols and other useable homoglyphs pop up with great regularity, some seeming to be almost exact duplicates of the same symbol. Cyrillic script is a common example, possessing very close homoglyphs for a, c, e, o, p, x and y. Even the Latin alphabet appears twice in Unicode. The characters:
are represented in both the 0021-007E (Basic Latin) and the FF01-FF5E (Full width Latin) ranges of Unicode. This means changing from one encoding for a given Latin character to the other is as easy as adding the decimal values 65248 to the lower range versions. Depending on the font used mixing character families this way may cause a “Ransom Note” like visual effect.
While the intended purpose of IDNA is to allow for internationalized DNS labels it can also be used to make a URL or host name appear more legitimate than it really is. Because the Unicode representation may cause visual confusion for a user, it could cause trust where there should be none. For example:
may look like a legitimate Microsoft URL, but on closer inspection it redirects to a site that the author controls. This is because the third slash symbol is not really a slash symbol at all. The real DNS entry is:
More obfuscated DNS names could be created by choosing something less obvious than Irongeek.com, or my having the Punycode be in the domain name itself. How could an attacker leverage this? It should be noted that two resources in the bibliography helped greatly to inspire this project.  CITATION Jon10 \l 1033 [2] CITATION Mic11 \l 1033  [3]
            The approach we plan to take is fairly simple. The plan will be to generate many potential attack URLs and then test the following:
1.    How different browsers show the Punycode in the URL bar.
2.    How different mail systems show the URL when email is displayed.
3.    How social networks render the URL.
Some of these IDNA DNS names will be tested using a domain we control (irongeek.com), while others will be tested using the local hosts file in lieu of making real DNS entries. Buying many domain names could become expensive, and the local hosts file services most of the proposed tests adequately (other than testing the policies of registrars). We intend to cover mitigations that are already in use to quell these sorts of attacks as well as what mitigations might be possible. Tools may also be developed to help generate the attack URLs and released to the pen-test community. These features could be a usefully addition to the Social-Engineering Toolkit (SET) and other projects. CITATION Dav \l 1033  [4]
Weeks 1-2: Work on understanding Unicode, IDNA and Punycode.
Weeks 3-4: Look at other research on the topic of using this attack vector.
Weeks 5-6: Hands on tests of using IDNA to generate potential attack URLs.
Weeks 7-8: Test how different browsers, mail systems and social networks render the attack URLs.
Week 9: Finish paper and presentation.

A. Costello. (2003, March) IETF RFC 3492. [Online]. http://www.ietf.org/rfc/rfc3492.txt
Jonathan Abolins. (2010, December) When Domain Names Look Like Spaghetti (or Whatever) Internationalized Domain Names & Investigations in the Networked World. [Online].http://www.irongeek.com/i.php?page=videos/dojocon-2010-videos#Internationalized%20Domain%20Names%20&%20Investigations%20in%20the%20Networked%20World
Michal Zalewski, The Tangled Web: A Guide to Securing Modern Web Applications, 1st ed.: No Starch Press, 2011.
Amazon link: The Tangled Web: A Guide to Securing Modern Web Applications
Dave Kennedy. Social-Engineering Toolkit. [Online]. http://www.secmaniac.com/download/


Популярные сообщения из этого блога

Почему инженеры электросвязи становятся продажниками

Давно предупреждал инженеров электросвязи - если вы не развиваетесь, то рано или поздно превратитесь либо в дворника, либо в ассенизатора. О чем не предупреждал, каюсь, - так это о том, что локальный апокалипсис наступит прямо сейчас. Взять, например, сетевых инженеров  Ростелекома, которые бодро так искали, кого ещё подключить к интернету последние пару недель в Сочи и в Адлере. Скажете, инженеров заставляют работать продажниками - произвол и несправедливость? Лично я в этом совершенно не уверен. Чтобы было сразу понятно, о чем речь, готов проиллюстрировать свою мысль как работодатель. Мы ведь имеем здесь потенциальный конфликт в отношениях между работником и Ростелекомом , верно? И пока возмущенная общественность твердо стоит на стороне работника, предлагаю посмотреть чуть шире — не со стороны работодателя даже, а так, сбоку. Давайте возьмем, например, меня — типичного работодателя. Так случилось, что на меня работает некоторое количество весьма лояльных и толковых людей, ч

Минфин хочет начать скупать валюту для пополнения резервного фонда

О планах по пополнению Фонда национального благосостояния более, чем на 518 млрд рублей в период с 9 ноября по 6 декабря заявило Министерство финансов РФ. По заявке Минфина ЦБ РФ будет ежедневно скупать валюты почти на 26 млрд рублей. Это почти в два раза больше, чем в октябре. В общей сумме планируется скупить 7,2 млрд долларов. Это максимальная цифра за все годы действия бюджетного правила, в соответствии с которым доходы от нефти при цене выше 43 долларов за баррель направляются в резервы, а не на развитие экономики. Предыдущий рекорд был поставлен в мае 2018, когда регулятор скупил для Минфина 6 млрд долларов. Несмотря на сложную ситуацию в экономике и проблемы, вызванные пандемией, власть продолжает наращивать резервы. В целом планируется скупить валюты на 518 млрд рублей. Сюда входят почти 410 млрд рублей, которые будут получены от продажи нефти, а также 108 млрд от ее экспорта в октябре. В соответствии с бюджетным правилом, федеральный бюджет верстается исходя из цены на нефть в

Как работает банк со своими корреспондентами по SWIFT

Итак, наш банк имеет открытые корреспондентские счета в США (CITIBANK N.A. NEW YORK), в Европе (VTB BANK DEUTSCHLAND AG), в России (Промсвязьбанк Москва и Собинбанк Москва). Соответственно, все расследования по платежам происходят через эти банки согласно  установленным корреспондентским отношениям с использованием соответствующих форматов SWIFT MT-195/295, MT-196/296, MT-199/299 и MT-192/292 Кроме прямых корреспондентских отношений с банками, нашим банком установлены отношения и с другими финансовыми организациями через процедуру обмена ключами, что даёт возможность использовать SWIFT-форматы МТ-195, МТ-196 и МТ-199 для проведения процедуры расследования по стандартным платежам и платежам с покрытием: - DEUTSCHE BANK TRUST COMPANY AMERICAS USA - COMMERZBANK AG Germany - CITIBANK N.A. London - CITIBANK N.A. Brussels - BANQUE DE COMMERCE ET DE PLACEMENTS S.A. Geneva - NORVIK BANKA JSC  LV - ABLV BANK AS  LV В среднем процедура расследования занимает от 3 до 14 дней (е

С чего начать или работа вбивалой

Вопрос – что делает каждый (за редким исключением) новичок, явившись на какой-нибудь кардерский форум? Правильно - задает изумительные по своей остроумности вопросы типа «НАРОД!! Как я могу вывести бабло с кредитки на Яндекс.Деньги ? Эту кредитку мне дал один парень из Америки. Он сказал мне, что как-то можно! Так что говорите, иначе вы все – ламаки поганые!!!» После десятого такого «кардера» уже смеяться не особо хочется. Ребят, мой вам совет – сначала обретите достаточную компетентность в вопросе, а потом уже суйтесь. А то дров можно наломать о-го-го каких. Начиная от стирания вашей учетной записи на форуме и заканчивая ныканьем по своим друзьям от свирепых дядек с пушками. Кроме шуток.  Итак, подняв подшивку «Кардерского утра» за 1998 год, вы хоть что-то поняли. «Что-то» - это уже хорошо, поверьте. И если вы теперь можете отличить CVV2 от EXP и даже (о, чудо) знаете, где на кредитке высмотреть эти непонятные штуки, то у вас (теперь-то я прав на 100%) возникает вопрос – а

Обнал белого пластика или как работают дроповоды

Сбербанк снял неплохой фильм про работу нальщиков и дропов Называется " Карточные фокусы ", которые судя по рассказанному могут обогатить кого угодно практически за один месяц занятия этим бизнесом. В обнальных схемах как правило участвуют несколько лиц, это так называемый заливщик (ботовод), дроповод - человек работающий с дропами (денежными мулами) и сами дропы, которые непосредственно совершают подходы к банкоматам и делают обнал. На самом деле все здравые украинские банки уже внедрили антискимминговые мероприятия, если как показано в кино попытаться установить скиммер, то потенциальных желающих обналичить чужие банковские карты быстро примут. Однако, есть и другие варианты работы в обнале, например, установка 3G маршрутизатора в отделении банка, или же разведение банковских ботов в через интернет, которые будут лить на карты дропов автозаливами.

Как найти реального заливщика

Своего первого реального заливщика, который показал мне как можно скачать деньги в интернет с банковских счетов, я нашел случайно, когда еще трудился в Укртелекоме сменным инженером немного подрабатывая продавая трафик налево , но потом этот человек отошел от дел в связи со слишком уж скользкой ситуацией в данной сфере, и я решил поискать партнера на форумах, разместив рекламу на трёх электронных досках объявлений. Честно говоря поначалу даже был готов сразу закинуть 500 000 гривен в Гарант, но потом призадумался, а стоит ли? Ко мне начал обращаться народ обращается разных категорий 1. Дебильная школота, которая что-то любит повтирать про свою серьезность и просит закинуть 10 000 USD им на Вебмани в качестве аванса  2. Реальные мэны, которые  льют сразу большую сумму по SWIFT  без разговоров про гарантии и прочую шнягу, но после того, как им отдаёшь нал, они сразу пропадают, суть данных действий я так и не понял. зачем пропадать, если всё прошло гладко? 3. Мутные личност