Перехват учетных данных через API (Credential API Hooking) - это метод, при котором атакующие перехватывают системные вызовы API для получения данных аутентификации, таких как имена пользователей и пароли. Модифицируя или перенаправляя функции API, они извлекают конфиденциальные учетные данные непосредственно из приложений. К таким методам относятся IAT hooking и inline hooking, позволяющие точно нацеливаться на процессы аутентификации. Этот скрытый метод позволяет обойти традиционные средства защиты и незаметно похитить учетные данные.
Перехват ввода: Перехват учетных данных API
Процедуры-хуки
Процедуры-хуки используются злоумышленниками для перехвата событий, генерируемых системными операциями, включая нажатия клавиш, щелчки мышью и системные сообщения. Эти крючки позволяют выполнять вредоносный код в ответ на заданные триггеры.
В Windows механизм хуков перехватывает трафик сообщений до того, как он достигнет целевой оконной процедуры, и может быть объединен в цепочку для широкого охвата. Обычно он устанавливается через SetWindowsHookEx с WH_KEYBOARD для перехвата ключевых событий или WH_MOUSE для наблюдения за действиями мыши и динамическими потоками событий .
Например, известно, что образец вредоносного ПО «PDFSuperHero.exe» устанавливает как глобальные хуки клавиатуры, так и хуки мыши, что позволяет ему тщательно отслеживать пользовательский ввод.
Этот метод особенно эффективен для наблюдения за целевыми действиями, такими как ввод пароля в определенном окне или приложении, предоставляя злоумышленникам доступ к конфиденциальным данным без предупреждения пользователя.
Перехват таблицы адресов импорта (IAT)
Перехват таблицы адресов импорта (IAT) - это техника, используемая в приложениях Windows для перехвата и манипулирования вызовами функций путем изменения таблицы адресов импорта (IAT). IAT - это критическая структура данных в памяти программы, которая хранит указатели на функции, импортируемые из библиотек динамических ссылок (DLL). Эти указатели позволяют приложению вызывать внешние функции во время выполнения программы, например отображать уведомления или обрабатывать данные.
В обычных условиях, когда программа вызывает функцию, например DisplayAlert, она запрашивает IAT, чтобы найти адрес функции, а затем выполняет соответствующий код в связанной DLL, например syslib.dll. Однако при IAT hooking указатель функции в IAT заменяется адресом пользовательской функции. Эта модификация перенаправляет поток выполнения таким образом, что когда программа вызывает DisplayAlert, она вместо этого выполняет пользовательский код злоумышленника. Например, злоумышленник может заменить указатель на DisplayAlert неавторизованной функцией с именем interceptedAlert. Эта функция может выполнять дополнительные вредоносные действия, например, регистрировать конфиденциальные данные, перед тем как вызвать оригинальную функцию DisplayAlert, чтобы сохранить ожидаемое поведение программы. Это позволяет хуку оставаться скрытым, манипулируя функциональностью программы.
IAT-хукинг обычно используется вредоносным ПО для перехвата вызовов API, изменения поведения программы и сокрытия вредоносной деятельности. Однако важно отметить, что в современных операционных системах Windows реализованы меры безопасности, защищающие IAT от несанкционированных модификаций. Например, IAT теперь защищена от записи, чтобы предотвратить такое вмешательство. Однако некоторые процессы, например импорт с задержкой, могут временно модифицировать IAT во время своей работы. Эти меры безопасности направлены на то, чтобы затруднить атакующим использование техник подслушивания IAT.