Особенности киберпреступлений в России: инструменты нападения и защиты информации (Масалков) - страница 40


Определение браузера и операционной системы атакуемого

Допустим, злоумышленникам известен номер мобильного телефона или электронный адрес выбранной жертвы. Атакующий для подготовки атаки и сбора информации создает на совершенно любом сервере сайт (или одну страницу) с содержимым, так или иначе интересным жертве. Это не фишинг-движок, это нечто другое.

Данный ресурс создается только для сбора информации о посетителе в пассивном формате, то есть без принуждения пользователя к вводу каких-либо данных. Все необходимые данные собираются из переменных, содержащих данные об окружении.

Подобную информацию собирают счетчики посещаемости, устанавливаемые администраторами ресурсов для анализа посетителей сайта, но собираемая информация не имеет привязки к определенному лицу.

Немного теории.

User-Agent — это клиентское приложение, использующее определенный сетевой протокол. При посещении веб-сайта клиентское приложение обычно посылает веб-серверу информацию о себе. Это текстовая строка, являющаяся частью HTTP-запроса.

В рассматриваемом ранее примере фишинг-движка (пример 3) в процессе тестовой авторизации для проверки пароля серверу посылалась информация о клиентском приложении: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729).

Есть в языке PHP возможность получения информации об окружении посредством переменной $_SERVER, по сути являющейся массивом, содержащим довольно разнообразные данные[28].

Переменная $_SERVER — это массив, содержащий такую информацию, как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются веб-сервером.

В качестве примера использования массива можно продемонстрировать получение информации удаленным ресурсом, на стороне которого исполняется скрипт PHP:

echo $_SERVER['HTTP_USER_AGENT']. "\n\n";

$browser = get_browser(null, true); print_r($browser);

?>

Эту функцию можно добавить к странице совершенно любого ресурса и получить информацию об используемой посетителем версии браузера и операционной системы.

Единственное условие работоспособности функции — это наличие на сервере интерпретатора языка PHP, о чем уже упоминалось в предыдущей части.

При исполнении приведенного выше примера кода на сервере, при обращении к ресурсу с использованием браузера Firefox (рис. 2.1) скрипт получает от браузера клиента следующее значение: «Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0».



Рис. 2.1. Браузер Firefox


Как видно из полученных данных, значение Windows NT 6.1 сможет подсказать злоумышленнику, что потенциальная жертва использует операционную систему одной из версий Windows компании Microsoft, а именно Windows 7 или Windows Server 2008 R2.