1. Автоконфигурация прокси
PAC-файлы, или файлы автоконфигурации прокси-сервера – это широко используемый ресурс, который поддерживается всеми современными браузерами. Они определяют так называемый метод доступа: то, какой прокси-сервер должен использовать веб-браузер и другие интернет-приложения для доступа к конкретному URL-адресу.
Формат PAC-файла был первоначально разработан компанией Netscape в 1996 г. для браузера Netscape Navigator 2.0. Браузер, поддерживающий PAC-файлы, предоставляет доступ к списку функций, определенных в оригинальной спецификации Netscape. В каждом браузере PAC-файлы реализуются в «песочнице» – доступ предоставляется только тем функциям JavaScript, которые требуются для работы. Например, невозможно получить доступ к свойству браузера «User Agent» в PAC-файле, хотя это было бы доступно для обычной web-страницы.
PAC-файл – это текстовый файл, определяющий по крайней мере одну функцию JavaScript – FindProxyForURL(url, host). Функция принимает два аргумента: «url» – это URL-адрес объекта, и «host» – это имя узла, полученное из этого URL-адреса. Функция возвращает адрес прокси-сервера, который следует использовать для доступа к указанному URL-адресу, или строку «DIRECT», если прокси не нужен. Традиционно PAC-файл называется proxy.pac.
Данная функция чрезвычайно полезна для администраторов корпоративных сетей, поскольку позволяет настраивать использование прокси-сервера только для внешних ресурсов, исключая внутренние. Местонахождение PAC-файла настраивается – это может быть, например, сетевой адрес, где находится скрипт. Этот URL-адрес должен быть вбит в настройки браузера:
Рис. 1. URL-адрес, ведущий на PAC-файл, в настройках Internet Explorer
Либо, PAC файл может располагаться локально:
Рис. 2. Сконфигурированный в Firefox локальный PAC-файл
PAC-файл может включать поддержку при отказе сервера, продвинутую поддержку для обхода прокси-сервера и многое другое:
Размещение | Преимущества | Недостатки |
PAC |
|
|
Табл. 1.Плюсы и минусы использования PAC-файлов
Ниже приводится документация функций, поддерживаемых и допустимых в изолированной среде:
- dnsDomainIs: оценивает имена хостов и возвращает «true», если имена хостов совпадают.
- shExpMatch: пытается соотнести имя хоста или URL-адрес с конкретной shell-маской. При успешном соотнесении возвращает «true».
- isInNet: оценивает IP-адрес имени хоста и возвращает «true», если он найден в указанной подсети. Если на вход задаётся имя хоста, функция разрешает его в IP-адрес.
- myIpAddress: возвращает IP-адрес хост-машины.
- dnsResolve: разрешает имя хоста в IP-адрес. Функцию можно использовать, чтобы сократить количество DNS-преобразований.
- isPlainHostName: возвращает «true», если имя хоста не содержит точек, например http://intranet. Полезно при применении исключений для внутренних веб-страниц – можно исключить необходимость разрешать имя хоста в IP-адрес, чтобы определить, что оно локальное.
- localHostOrDomainIs: оценивает имя хоста и возвращает «true» только в том случае, если найдено точное совпадение имени хоста.
- isResolvable: пытается разрешить имя хоста в IP-адрес, в случае успеха возвращает «true».
- dnsDomainLevels: возвращает количество уровней DNS-доменов (число точек в адресе) в имени хоста. Может использоваться для создания исключений для внутренних веб-страниц, использующих короткие DNS-имена, например http://intranet.
- timeRange, dateRange, weekdayRange: позволяет применять правила в определенное время, например возвращать прокси в конкретное время суток, по определенным датам или месяцам и т.п.
- alert: функция alert() не входит в первоначальную спецификацию PAC, хотя и поддерживается в Internet Explorer и Firefox. Может использоваться для выдачи значения переменной или результата функции в виде, который может просматривать конечный пользователь. Это может быть полезно при выявлении и устранении проблем с правилами для файлов PAC.
Ниже приводится пример PAC-файла:
Рис. 3. Пример типового файла PAC
Протокол автоматической настройки прокси (Web Proxy Auto-Discovery Protocol, WPAD)
Протокол автоматической настройки прокси (Web Proxy Auto-Discovery Protocol, WPAD) – средство, которое позволяет Windows-машинам определять, где в сети находится конфигурационный PAC-файл. Операционная система, поддерживающая как DHCP, так и DNS, сначала попытается найти PAC-файл, используя DHCP. Если DHCP не использовался при настройке сети, или среди информации, принятой от DHCP-сервера нет сведений о PAC, то система попытается найти PAC-файл с помощью DNS.
Как и у PAC-файлов, у метода WPAD есть свои преимущества и недостатки при использовании в корпоративных сетях:
Размещение | Преимущества | Недостатки |
WPAD |
|
|
Таблица 2. Преимущества и недостатки использования WPAD
Алгоритм нахождения веб-прокси при использовании WPAD выглядит следующим образом:
- Получена ли запись WPAD от DHCP-сервера? Если да, то перейти к п. 4.
- Запросить DNS-сервер, какой пользователь сети называется «wpad» (или wpad.[mydomain.com]). Если запрос успешен, перейти к п. 4.
- Отправить широковещательное сообщение Службы имён NetBIOS (NetBIOS Name Service) с запросом «WPAD». Если какой-либо узел в сети ответил, что его зовут «WPAD», то перейти к п. 4, в противном случае не использовать никакой веб-сервер.
- Скачать файл wpad.dat с сервера, адрес которого был получен через DHCP или DNS.
- Использовать IP-адрес, указанный в wpad.dat, в качестве прокси-сервера для всего веб-трафика, включая HTTPS.
Для злоумышленников и желающих потестировать защищенность системы от несанкционированного доступа, функциональность WPAD в ОС Windows на протяжении многих лет предоставляла простой путь для выполнения MITM-атак на веб-трафик. WPAD, к примеру, использовался для подмены обновлений Windows во время атаки Flame.
Проблема с реализацией WPAD в ОС Windows связана с тем, что в ней используется служба имён NetBIOS (NetBIOS Name Service; далее NBNS), которая уязвима к спуфинг-атакам.
По умолчанию, Windows-машины сконфигурированы так, что в первую очередь запрашивают имя у WINS-сервера. На большинстве комьютеров нет настроек, которые бы указывали, какой WINS сервер настраивать, поэтому NBNS попытается выяснить адрес WPAD-сервера у всех компьютеров в своем сегменте сети посредством широковещательного запроса. В этот момент и происходит спуфинг, т.е. подмена данных.
Рис. 4. Запрос Службы имён NetBIOS (NetBIOS Name Service), ищущей WPAD-сервер
Для проведения атаки злоумышленник может разработать приложение, которое будет прослушивать порт 137 протокола UDP и отвечать на все запросы «WPAD», посылая в ответ адрес вредоносного веб-сервера. Веб-сервер, в свою очередь, может выдавать вредоносный PAC-файл, согласно которому браузеры будут использовать конкретные прокси-сервера, через которые будет осуществляться соединение к веб-сайтам, в которых заинтересован злоумышленник.
2. Проблема автоконфигурации
Хотя PAC – это полезная функциональность, факты злоупотребления ею известны с 2005 г. Бразильские киберпреступники улучшили и усовершенствовали технологию таких злоупотреблений, после чего поделились ими с коллегами из Турции и России.
Сложность и эффективность этих атак достигла беспрецедентного уровня – стало возможно взломать банковский счёт при помощи файла величиной всего в 1 КБ. Сочетая значительную изобретательность с drive-by атаками, такие вредоносные скрипты могут сделать больше, чем атаки «человек посередине» (man-in-the-middle attack); они могут перехватывать HTTP-соединения в ходе «скрытных» веб-атак, которые могут проводиться регулярно и успешно. Обычно такие атаки перенаправляют пользователей на фишинговые страницы, имитирующие легальные сайты банков, операторов кредитных карт и т.д.
В Бразилии, вредоносные PAC-файлы в банковских троянцах известны с 2009 г. – именно тогда были зафиксированы несколько семейств зловредов, таких как Trojan.Win32.ProxyChanger, которые принудительно внедряют URL-адреса PAC-файлов в браузер на зараженных компьютерах.
Рис 5. Фишинговая страница, имитирующая официальную страницу бразильского банка. В настойках браузера выставлен адрес вредоносного PAC-файла
Сейчас 6 из каждых десяти банковских троянцев в Бразилии способны добавлять адрес вредоносного PAC-файла в настройки браузера.
Рис. 6. Текст вредоносного PAC-файла, созданного и используемого бразильскими киберпреступниками
Некоторые троянцы также пытаются изменить файл prefs.js, при помощи которого устанавливаются настройки прокси-сервера в Mozilla Firefox:
Рис 7. Банковский троянец готовится изменить файл prefs.js с настройками прокси-сервера для Firefox
Это очень простая атака, троянцу нужно всего лишь сменить одно-единственное значение в реестре Windows, указав URL-адрес PAC-файла:
HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings: «AutoConfigURL = http://www.badsite.com/pacscript.pac
Либо указать путь к маленькому (обычно менее 1 КБ) файлу, размещенному локально:
HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings,AutoConfigURL = file://C:/WINDOWS/proxy.pac
В ходе некоторых атак также меняются значения ключа, указанного ниже – он отвечает за автоматическую установку прокси-сервера для конкретного интернет-соединения:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsConnections{CONNECTION NAME}
Киберпреступники могут значительно расширить доступные способы проведения атак (и увеличить потенциальное количество жертв), совместив эту методику с атаками через drive-by загрузки, эксплуатацией уязвимостей в Java, внедрением вредоносных Java-апплетов на популярные веб-сайты или даже с использованием наборов эксплойтов, таких как BlackHole.
Рис. 8. Фрагмент кода вредоносной программы, загруженной через BlackHole, с помощью которой бразильские киберпреступники меняли настройки на компьютере пользователя, внедряя туда PAC-файл
Подход настолько эффективен, что российские банковские троянцы, такие как Trojan-Banker.Win32.Capper, его переняли в 2012 г. вместе с подделкой цифровых сертификатов, чтобы перенаправлять пользователей на фишинговую страницу по протоколу HTTPS.
Некоторые мошенники применяют социальную инженерию, чтобы обмануть пользователя и удержать вредоносный URL-адрес в настройках браузера, используя обманные доменные имена, которые на первый взгляд кажутся легитимными. Вот несколько примеров вредоносных URL-адресов:
http://egcon.com.br/images/avast.pac
http://defaultcache.com.br/ie
http://vpn.install-pcseguro.com/ssl.js
http://update.microsoft.com.br-ieconfig.ma.cx/security.jsp
http://sec.autoatt.com/
http://ww1.appsegurancamobile.com/kb2438658.php
Для обеспечения безопасности пользователей, мы стали блокировать URL-адреса, ведущие на вредоносные PAC-файлы. В ответ на это, некоторые троянцы стали использовать случайные URL-адреса, меняющиеся при каждой перезагрузке. Другие троянцы стали использовать короткие URL-адреса от сервисов типа bit.ly, надеясь таким образом оставить за собой контроль над вредоносными перенаправлениями и собрать статистику посещаемости URL-адреса.
Рис. 9. URL-ссылка «bit.ly», ведущая на PAC-файл и собравшая более миллиона нажатий за 10 дней
Мы обнаружили, что чёрные списки не обеспечивают достаточную защиту, и решили создать сигнатуры для детектирования этих маленьких PAC-файлов под вердиктом Trojan-Banker.JS.Proxy. Мы создали сигнатуры для целого ряда файлов:
Рис. 10.Сигнатурное детектирование некоторых вредоносных PAC-файлов
С этого момента наша игра в кошки-мышки с бразильскими киберпреступниками начала становиться более интересной.
3. Мелкие архивные преступления
После того как некоторые производители защитных решений начали работу над сигнатурным детектированием вредоносных PAC-скриптов, злоумышленники сделали ответный ход: прибегли к более глубокой обфускации вредоносного кода, чтобы обойти детектирование.
Подход оказался успешным: по сегодняшний день, защитные продукты практически всех производителей очень плохо детектируют вредоносные PAC-файлы. Поскольку PAC-файлы – это легитимный рабочий инструмент пользовательских браузеров, и поскольку существуют подлинные, не вредоносные PAC-файлы, производители защитных решений зачастую очень осторожно подходят к детектированию вредоносных PAC-файлов, чтобы не вызвать ложных срабатываний. Некоторые из них не готовы предложить вообще никакого решения этой проблемы.
Чтобы обойти сигнатурное детектирование, бразильские киберпреступники стали использовать все виды обфускации JavaScript-кода во вредоносных PAC-файлах. Некоторые пошли дальше: создали инструменты автоматического выполнения обфускации и стали продавать их партнерам по «бизнесу» за 5000 бразильских реалов (около 2500 долларов США).
Рис. 11. Криминальный софт «PAC do Baixada», созданный бразильскими умельцами для обфускации кода во вредоносных PAC-файлах
Другие предпочитают пользоваться онлайн-сервисами шифрования JavaScript-кода:
Рис. 12. Онлайн-сервис шифрования JavaScript-кода
В результате «в дикой природе» стали появляться необычные зашифрованные образцы вредоносных скриптов, со всеми видами обфускации. В примере ниже использована обфускация с применением конкатенации:
Рис. 13. PAC-файл, обфусцированный методом конкатенации
А в этом примере использован метод переворачивания строк:
Рис. 14. PAC-файл, обфусцированный методом переворачивания
Другие решили заменить имена доменов-жертв их IP-адресами:
Рис. 15. PAC-файл, в котором вместо имён доменов прописаны их IP-адреса
Третьи стали использовать глубокую обфускацию JavaScript-кода:
Рис. 16. Вредоносный PAC-файл после глубокой обфускации
В некоторых случаях киберпреступники обратились к «замусориванию» кода большим количеством лишних символов:
Рис. 17. «Замусоренный» вредоносный PAC-файл с лишними символами и символьными кодами
В некоторые PAC-файлы киберпреступники даже стали встраивать сообщения-предупреждения для аналитиков вредоносного ПО. Вот пример:
Рис. 18. Сообщение в заголовке PAC-файла:
«Б***, зачем эти ублюдки лезут в мои PAC-файлы? От***сь, дайте мне свободно работать, мне семью нужно кормить, отстаньте уже! Если хотите со мной работать, напишите на xxxxxx@bol.com.br».
В другом PAC-файле мы обнаружили сообщение и приветствия «коллегам по бизнесу»:
Рис. 19.Текст сообщения: «Не пытайтесь удалить или редактировать этот файл, сообщать о нём куда-либо или публиковать в Twitter. Обитатели ада всё равно восстановят все перенаправления, и все в итоге будут счастливы. Привет ворам…(список никнеймов)»
Разбор вредоносного PAC-файла
Разберём подробнее следующий пример, в котором содержимое PAC-файла зашифровано операцией XOR:
Рис. 20. Вредоносный XOR-файл, зашифрованный операцией XOR
После расшифровки особым XOR-ключом, обнаруживаем в скрипте большой список мишеней для атак, включающий:
- Банки в Бразилии и остальной Латинской Америке
- Компании-операторы кредитных карт
- Авиакомпании – для кражи миль, накопленных пользователями в бонусных программах
- Сервисы электронной почты – Gmail, Hotmail, Yahoo
- Платёжные системы – Paypal, PagSeguro и т.д.
- Сервисы финансовой информации, такие как Serasa Experia
- B2C-веб-сайты, в первую очередь популярные веб-сайты для электронной коммерции.
В этом примере все URL-ссылки, указанные ниже, будут открываться через прокси «att.nossodomain2.me»:
rrr+mjqhdli+fjh : www.hotmail.com
mjqhdli+fjh : hotmail.com
mjqhdli+fjh+gw : Hotmail.com.br
rrr+mjqhdli+fjh+gw : www.hotmail.com.br
hvk+fjh : msn.com
rrr+hvk+fjh : www.msn.com
ils+fjh : live.com
rrr+ils+fjh : www.live.com
rrr+lqdp+fjh+gw : www.itau.com.br
rrr+gdkfjlqdp+fjh+gw : www.bancoitau.com.br
gdkfjlqdp+fjh+gw : bancoitau.com.br
lqdp+fjh+gw : itau.com.br
rrr+lqdpuwvjkkdilq
+fjh+gw : www.itaupersonnalite.com.br
lqdpuwvjkkdilq
+fjh+gw : itaupersonnalite.com.br
rrr+vwdvd+fjh+gw : www.serasa.com.br
vwdvd+fjh+gw : serasa.com.br
vwdvd
}uwldk+fjh+gw : serasaexperian.com.br
rrr+vwdvd}u
wldk+fjh+gw : www.serasaexperian.com.br
rrr+vdkqdkaw+fjh+gw : www.santander.com.br
vdkqdkaw+fjh+gw : santander.com.br
rrr+vdkqdkawk
q+fjh+gw : www.santandernet.com.br
vdkqdkawk
q+fjh+gw : santandernet.com.br
rrr+gdkwlvpi+fjh+gw : www.banrisul.com.br
gdkwlvpi+fjh+gw : banrisul.com.br
rrr+mvgf+fjh+gw : www.hsbc.com.br
mvgf+fjh+gw : hsbc.com.br
dhwlfdk
}uwvv+fjh+gw : americanexpress.com.br
rrr+dhwlfdk}uw
vv+fjh : www.americanexpress.com
dhwlfdk
}uwvv+fjh : americanexpress.com
rrr+gdkv+fjh+gw : www.banese.com.br
gdkv+fjh+gw : banese.com.br
rrr+gwdavfjuo+fjh+gw : www.bradescopj.com.br
gwdavfjuo+fjh+gw : bradescopj.com.br
gwdavfjkq
huwvd+fjh+gw : bradesconetempresa.com.br
rrr+gwdavfjkq
huwvd+fjh+gw : www.bradesconetempresa.com.br
rrr+gwdavfj+fjh+gw : www.bradesco.com.br
rrr+gwdavfjuwlh
+fjh+gw : www.bradescoprime.com.br
gwdavfj+fjh+gw : bradesco.com.br
gwdavfjuwlh+fjh+gw : bradescoprime.com.br
uwlh+fjh+gw : prime.com.br
rrr+gwdavfju
vvjdopwlalfd+fjh+gw : www.bradescopessoajuridica.com.br
gwdavfju
vvjdopwlalfd+fjh+gw : bradescopessoajuridica.com.br
rrr+gg+fjh+gw : www.bb.com.br
gg+fjh+gw : bb.com.br
gdkfjajgwdvli+fjh+gw : bancodobrasil.com.br
rrr+gdkfjajgwdvli+fjh+gw : www.bancodobrasil.com.br
rrr+fdl}d+fjh+gw : www.caixa.com.br
rrr+fdl}d+bjs+gw : www.caixa.gov.br
rrr+fdl}dfjkjhlfd+fjh+gw : www.caixaeconomica.com.br
rrr+fdl}dfjkjhlfd+bjs+gw : www.caixaeconomica.gov.br
rrr+fdl}dfjkjhlfdc
awdi+fjh+gw : www.caixaeconomicafederal.com.br
rrr+fdl}dfjkjhlfdca
wdi+bjs+gw : www.caixaeconomicafederal.gov.br
rrr+fc+fjh+gw : www.cef.com.br
rrr+fc+bjs+gw : www.cef.gov.br
fdl}d+fjh+gw : caixa.com.br
fdl}d+bjs+gw : caixa.gov.br
fdl}dfjkjhlfd+fjh+gw : caixaeconomica.com.br
fdl}dfjkjhlfd+bjs+gw : caixaeconomica.gov.br
fdl}dfjkjhlfdc
awdi+fjh+gw : caixaeconomicafederal.com.br
fdl}dfjkjhlfdca
wdi+bjs+gw : caixaeconomicafederal.gov.br
fc+fjh+gw : cef.com.br
fc+bjs+gw : cef.gov.br
rrr+vlfwal+fjh+gw : www.sicredi.com.br
vlfwal+fjh+gw : sicredi.com.br
rrr+udbvbpwj+fjh+gw : www.pagseguro.com.br
udbvbpwj+fjh+gw : pagseguro.com.br
udbvbpwj+pji+fjh+gw : pagseguro.uol.com.br
flqlgdkn+fjh+gw : citibank.com.br
rrr+flqlgdkn+fjh+gw : www.citibank.com.br
ud|udi+fjh : paypal.com
rrr+ud|udi+fjh : www.paypal.com
gkg+bjs+gw : bnb.gov.br
rrr+gkg+bjs+gw : www.bnb.gov.br
rrr+gwg+fjh+gw : www.brb.com.br
gwg+fjh+gw : brb.com.br
lkqjpfm+pklqcjpw+fjh+gw : intouch.unitfour.com.br
dduo+gg+fjh+gw : aapj.bb.com.br
fqi
h+fjh+gw : cetelem.com.br
rrr+fq
ih+fjh+gw : www.cetelem.com.br
vdcwd+fjh+gw : safra.com.br
rrr+vdcwd+fjh+gw : www.safra.com.br
gdkwlvpi+fjh+gw : banrisul.com.br
rrr+gdkwlvpi+fjh+gw : www.banrisul.com.br
gdvd+fjh+gw : basa.com.br
rrr+gdvd+fjh+gw : www.basa.com.br
rrr+umlvmqdkn+fjh : www.phishtank.com
umlvmqdkn+fjh : phishtank.com
rrr+qmwdq}u
wq+fjh : www.threatexpert.com
qmwdq
}uwq+fjh : threatexpert.com
rrr+slwpvqjqdi+fjh+gw : www.virustotal.com.br
slwpvqjqdi+fjh+gw : virustotal.com.br
slwpvvfdk+fjh : virusscan.com
rrr+slwpvvfdk+fjh : www.virusscan.com
rrr+ilkmdackvlsd+jwb : www.linhadefensiva.org
ilkmdackvlsd+jwb : linhadefensiva.org
bji+fjh+gw : gol.com.br
rrr+bji+fjh+gw : www.gol.com.br
rrr+sjbji+fjh+gw : www.voegol.com.br
sjbji+fjh+gw : voegol.com.br
vdcwdkq+fjh+gw : safranet.com.br
rrr+vdcwdk`q+fjh+gw : www.safranet.com.br
dh3: att.nossodomain2.me
Если до того, как пользователь попытается открыть любую из этих веб-страниц, в браузере сконфигурирован вредоносный PAC-файл, то URL-адрес, отображаемый в адресной строке, кажется легитимным, но на деле скрывает фишинговую страницу. В результате, многие пользователи становятся жертвами этих атак, не осознавая этого.
В список также входит несколько сервисов безопасности, таких как PhishTank, VirusTotal, ThreatExpert, VirusScan, LinhaDefensiva.org. Вредоносный PAC-файл блокирует доступ к этим сайтам, предписывая браузеру открыть их через прокси-сервер 127.0.0.1.
На вредоносном домене, куда перенаправляется весь трафик, находим фишинговые страницы, приготовленные злоумышленником. У всех них интересные имена; для примера приведём некоторые из них:
Phishing URL | Target |
att.nossodomain2.me/peipau | Paypal |
att.nossodomain2.me/citi | Citibank |
att.nossodomain2.me/desco | Bradesco Bank |
att.nossodomain2.me/santa | Santander Bank |
att.nossodomain2.me/bb | Banco do Brasil |
att.nossodomain2.me/taui | Itau Bank |
att.nossodomain2.me/tamtam | TAM (Brazilian airline company) |
att.nossodomain2.me/azulinha | Caixa Bank |
Таблица 3. Некоторые фишинговые URL-адреса, используемые во вредоносном PAC-файле, и их мишени
Другие скрипты также блокируют доступ к сайтам и серверам обновления различных антивирусных продуктов:
Рис. 21. Вредоносный PAC-файл, который пытается заблокировать доступ к антивирусным обновлениям
Если зараженный пользователь пытается зайти на сайт антивирусной компании, то выводится такое сообщение:
Рис. 22. Поддельное сообщение «Сервис недоступен. Попробуйте позже», которое демонстрирует вредоносный PAC-файл на зараженном компьютере
Если пользователь пытается попросить помощи в специализированных онлайн-сообществах, например, спросить на форуме совета, как удалить зловред, вредоносный PAC-файл также пытается заблокировать доступ к этим сайтам, особенно к бразильскому сайту LinhaDefensiva.org, на форумах которого можно получить бесплатную помощь по борьбе с вредоносным ПО.
Некоторые PAC-файлы перенаправляют пользователей на страницу, имитирующую «синий экран»:
Рис. 23. «Синий экран» в браузере? Нет, это поддельная страница, которая отображается, когда с зараженного компьютера пытаются зайти на вебсайт LinhaDefensiva.org
Судя по всему, вредоносные PAC-файлы – это «многосторонний» инструмент для проведения онлайн-атак: с ними можно не только перенаправлять пользователей на фишинговые страницы, чтобы красть учётные данные (чаще всего к финансовым сервисам), но и блокировать им доступ к веб-сайтам производителей защитных решений или в сообщества, где пользователь мог бы получить помощь касательно зараженного компьютера. Эти PAC-файлы могут даже заблокировать эффективную работу PhishTank, поскольку они стараются представить браузеру свои фишинговые страницы как «чистые».
Увидев, насколько эффективны эти атаки для взлома учётных записей онлайн-банкинга, киберпреступники стали принять этот метод к другим мишеням – опять с той же целью украсть денег. В недавнем примере при помощи PAC-файлов выполнялось перенаправление на фишинговые страницы, имитирующие mtgox.com – наиболее широко используемую площадку для обмена игровой валюты Bitcoin:
Рис. 24. Виртуальная валюта Bitcoin также «попала под удар» вредоносных PAC-файлов
В других случаях пользователей перенаправляют с популярных веб-сайтов на специальные страницы, наполненные рекламой и спонсорскими ссылками. Это делается, чтобы сгенерировать трафик и набрать побольше нажатий, чтобы заработать денег у сервисов спонсируемой рекламы, таких как Google Adwords.
Рис. 25. «busca.afiliados.pac» означает «ищу партнёров»
Ещё один киберпреступник решил украсть пароли к государственным веб-сервисам, таким как consultasintegradas.rs.gov.br – это веб-сайт, где размещаются данные граждан в бразильском штате Риу-Гранди-ду-Сул:
Рис. 26. Бразильский государственный веб-сервис – мишень для вредоносного PAC-файла
4. Планирование ответной меры
С 2009 г. бразильские киберпреступники активно используют вредоносные PAC-файлы в браузерах для кражи банковских учетных записей. Метод бесшумен, эффективен, а многие защитные продукты не предоставляют защиты от него.
Этот вид атак позволяет бразильским кибермошенникам красть большие суммы денег, в основном из местных банков. Бразильская банковская федерация (FEBRABAN) заявила, что в 2012 г. её члены потеряли 1,2 млрд. бразильских реалов (около 700 млн. долларов США).
Статистика по вредоносному семейству Trojan.Win32.ProxyChanger подтверждает, что оно наиболее распространено в Бразилии и России:
Рис. 27. Страны, наиболее затронутые Trojan ProxyChanger в первом полугодии 2013 г.: Бразилия, Португалия и Россия
Сам вредоносный PAC-файл, из семейства Trojan-Banker.JS.Proxy, имеет похожее распространение по странам. В лидерах – опять Бразилия с Россией:
Рис. 28. Страны, наиболее затронутые Trojan-Banker.JS.Proxy в первом полугодии 2013 г.
И снова – Бразилия и Россия оказываются наиболее затронутыми банковским троянцем Trojan-Banker.PAC.Agent, который меняет прокси-сервера в настройках браузеров:
Рис. 29. Страны, наиболее затронутые Trojan-Banker.PAC.Agent в первом полугодии 2013 г.
Как же распознать такие угрозы? Вредоносные PAC-файлы используют глубокую обфускацию, чтобы обойти сигнатурное детектирование, так что имеет смысл их детектировать эвристическими методами. Такой подход тем более уместен, что широко распространены и легитимные PAC-файлы повсеместно встречаются в корпоративных средах.
Рис. 30. Легитимный PAC-файл, используемый в университетской сети
В продуктах «Лаборатории Касперского» используется метод детектирования, основанный на JavaScript-эмуляции: эмулятор вызывает функцию FindProxyForURL, задавая ей на вход адреса различных банков, и оценивает результат. Если функция возвращает адрес прокси для страниц банков и «DIRECT» для других веб-сайтов, то PAC-файл является вредоносным.
Эта методика обеспечивает проактивное детектирование PAC-файла, поскольку результаты эмуляции остаются теми же вне зависимости от того, насколько сильно обфусцирован файл.
Рис. 31. Эвристическое детектирование в действии
Наше окончательное решение проблемы – это «Безопасные платежи«. Это набор функций, включающий SSL-верификацию «в облаке», которая .проверяет, легитимна ли веб-страница, и предупреждает пользователя, если с сертификатом безопасности есть какая-либо проблема:
Рис. 32. Safe Money проверяет страницы на легитимность и защищает браузеры от заражения
Заключение
Эти вредоносные скрипты остаются вне поля зрения большинства антивирусных компаний, некоторые из которых даже не пытаются распознавать и блокировать такие атаки. Наша цель – побудить всех производителей исследовать этот вид атак и сообща выработать надёжную защиту и эффективные меры противодействия. Киберпреступники делают всё, чтобы обойти детектирование, и будут вкладывать в инструменты для обфускации кода, чтобы продолжать красть деньги у невинных пользователей.
PAC — файл автоконфигурации проблем