За то, как будет выглядеть сайт, отвечают специальные языки программирования, которые могут быть серверными или клиентскими. Исполнение серверной программы осуществляется на стороне сервера, клиентской — в браузере пользователя.
На стороне клиента, в его браузере осуществляется выполнение (интерпретация) HTML-кода, java-скриптов, таблиц стилей (CSS).
Для того чтобы сайт обладал функциональностью и мог обрабатывать информацию, используются языки веб-программирования, наиболее популярными из которых является PHP[18].
Программу на PHP можно написать в обычном текстовом файле, изменить расширение на «.php», и она будет работать на сервере. То есть для языка PHP не требуется специализированная среда разработки, хотя на самом деле их существует масса.
Не будем рассматривать обработку PHP-кода сервером, это не является темой книги. Просто кратко укажем возможности программ на PHP: работа с базами данных, обработка и передача информации, использование почтовых протоколов (IMAP, POP3, SMTP).
Из всех возможных вариантов получения несанкционированного (скрытого) доступа к учетной записи самым эффективным на сегодняшний день является использование фишинг-движков, также называемых фэйками. Основан этот метод на веб-программировании и социальной инженерии.
Схема взаимодействия с почтовым сервером
Теперь рассмотрим две схемы обращения пользователя к интерфейсу ресурса: штатной работы пользователя с почтовым сервером и работы пользователя, когда вмешивается фишинг (рис. 1.15, 1.16).
Рис. 1.15. Упрощенная схема штатной работы с почтовым сервером
Рис 1.16. Схема работы с почтовым ящиком при фишинге
Получение пароля для доступа к электронному почтовому адресу без его модификации осуществляется посредством использования фишинг-движков, визуально имитирующих интерфейс сервиса, на базе которого находится учетная запись. Цель атаки достигнута,
Три основные функции фишинг-движка
Движки выполняют три основные функции:
— имитация интерфейса по заданной ситуации, связанной с операциями пользователя (авторизация, получение файла, изменение настроек учетной записи и многое другое);
— копирование и обработка незаконно полученных учетных данных пользователя;
— возврат пользователя на соответствующую ситуации страницу официального сервиса.
Для того чтобы движок заработал, его нужно собрать. Он состоит из элементов (картинок, текста, ссылок и анимации), скопированных с официального интернет-ресурса, и программ-скриптов, написанных злоумышленником.
Собранный и готовый к работе движок злоумышленник размещает на сервере (виртуальном хостинге) и «прикручивает» к нему заранее подготовленное доменное имя.
Учитывая, что в состав движка, кроме статических данных и html-разметки, входят программы, написанные на языках программирования, для функционирования фэйка необходимы определенные минимальные требования системного окружения хостинга.
Разобрать детально механизм фишинг-сайта (фэйка) необходимо по нескольким серьезным причинам:
— во-первых, непонимание всего механизма приводит к заблуждению по поводу технической сложности фишинг-атак;
— во-вторых, непонимание технической стороны фишинг-сайта приводит к ошибочной квалификации преступных действий злоумышленников;
— в-третьих, не зная принципов создания фишинг-движков, многие продолжают верить в реальную действенность методов автоматической защиты от фишинг-атак.
Для подробного рассмотрения движков в локальной среде не потребуется заморский или абузоустойчивый хостинг[19].
Воспользуемся теми же доступными и легальными средствами, которыми пользуются злоумышленники для проверки интерфейса и отработки программ, входящих в состав движков. К таким средствам относятся программы, имитирующие работу полноценного веб-сервера.
Демонстрация механизма функционирования фишинг-движков на локальном сервере
Для демонстрации будем использовать AMPPS — набор решений, включающий в себя Apache, MySOL, MongoDB, PHP, Perl и Python для Windows, Linux и Mac[20].
Рис. 1.17. Окно программы AMPPS
Такой вот вид локального сервера можно лицезреть после его установки (рис. 1.18):
Рис. 1.18. Отображение localhost после установки AMPPS
18
PHP (англ. PHP:
19
Абуза — на сленге работников телекоммуникационных услуг — жалоба, направленная в адрес владельца сервера (хостинга) или другого сервиса на возможные неправомерные действия его клиентов.