Несколько недель назад мы (антивирусная лаборатория PandaLabs) сообщили об атаке, где пострадали сотни ресторанов в США, в рамках которой использовалась вредоносная программа под названием PunkeyPOS. Мы не сообщили, каким образом была обнаружена PunkeyPOS: на самом деле мы расследуем целую серию PoS-атак, от которых также страдают сотни баров, ресторанов и магазинов в США. Пока мы анализировали одну из таких атакованных систем, она была атакована еще одной кибер-бандой, использующей PunkeyPOS. В этой статье мы собираемся обсудить еще одну атаку, которую мы пока исследуем. В этом случае использовалась вредоносная программа для PoS под названием PosCardStealer.

PosCardStealer: новая PoS-атака


Первая атака, которую мы смогли проанализировать, была 30 сентября 2015 года, и она затронула 30 PoS-систем. Вредоносная программа была установлена с использованием PowerShell, популярной утилиты Windows. С ее помощью был выполнен файл (MD5: 0B4F921CF2537FCED9CAACA179F6DFF4), который имел дату создания на два дня раньше (28/09/2015 17:07:59) и был скомпилирован с помощью C++.

Работа установщика заключается в том, чтобы инфицировать систему вредоносной программой, которая специально разработана для PoS-систем. Для этого он использует различные техники в функциях ПО для PoS, установленного в системе. В частности, он ищет процессы brain.exe (относится к Dinerware) и scpwin.exe, и устанавливает вредоносную программу следующим образом в зависимости от того, какой из процессов он найдет:

brain.exe: в этом случае выполняется реальный процесс программы Dinerware по загрузке PosCardStealer. Для этого он изменяет пару ключей реестра Windows.


Установщик выполняет следующие действия:

1. Включает автоматическую загрузку DLL, вызывая ENABLE_LOADAPPINIT_DLLS (0x004017A0), и изменяет следующую ключ реестра:

SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows LoadAppInit_DLLs = 1

2. Если предыдущий ключ был успешно изменен, то он установит PosCardStealer в:

C:\Windows\utils.dll

3. После этого он вызывает SET_APPINIT_DLLS (0x00401850) для добавления нового пути DLL в реестр таким образом, чтобы она загружалась автоматически:

SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows AppInit_DLLs = C:\Windows\utils.dll

4. Наконец, он снова запускает ПО для PoS («brain.exe»), которое загрузит только что установленную DLL.

scpwin.exe: в этой ситуации он будет использовать технику, известную как «DLL hijacking». После нахождения scpwin.exe в атакуемой системе, он скопирует «Cdrvhf32.dll» (законная DLL) из системной папки Windows в папку, где может быть найдено такое же приложение. Затем он изменит скопированную DLL таким образом, чтобы PosCardStealer (utils.dll) можно было загрузить оттуда.

На следующем скриншоте мы можем увидеть псевдокод, который ответственен за выполнение данного действия:


Теперь процедура выполняет следующие действия:

1. Проверяет, что файлы «utils.dll» или «ccutils.dll» существуют в папке с ПО для PoS
2. Если эти DLL не найдены, то она изменяет «%windir%\system32\Cdrvhf32.dll» и копирует папку «spcwin.exe».
3. Если она успешно изменила библиотеку «Cdrvhf32.dll», то также скопирует код вредоносной библиотеки «utils.dll» в папку «spcwin.exe». Измененная библиотека «Cdrvhf32.dll» имеет такие же функции, как и первоначальная, но кроме этого она еще способна выполнять «дополнительный» код: загрузка вредоносной библиотеки «utils.dll»
4. После этого дата создания/доступа/изменения библиотек «cdrvhf32.dll» и «utils.dll» будут изменены таким образом, чтобы соответствовать дате «spcwin.exe»
5. Наконец, она выполнит «экспорт» _Setup@16 из библиотеки «utils.dll» из процедуры REGISTER_DLL_RUNDLL_SETUP.

Данный вариант PosCardStealer (MD5: 81060E53D233711507F60C446418AFC6) скомпилирован в Visual C++ и имеет следующую внутреннюю дату: 27/09/2015 12:26:09. Все это (плюс некоторые другие доказательства, которые имеются в антивирусной лаборатории PandaLabs) указывает на то, что проанализированные вредоносные образцы были созданы специально для атаки на данные жертвы.

Общая особенность на всем атакованном оборудовании: везде было установлено программное обеспечение LogMeIn. Данное ПО является очень популярным и может быть использовано для удаленного доступа к системам. В случае с PoS-системами, оно могло использоваться той же компанией, которая предоставляет ресторанам PoS-системы для выполнения задач по обновлению, поддержке и пр.

LogMeIn: Удаленные атаки


Хотя использование LogMeIn могло быть эпизодическим, в данном случае мы выяснили, к чему оно может иметь отношение: примерно через полтора месяца после этой атаки была осуществлена новая атака с использованием LogMeIn. В этом случае пострадали не только 30 ранее скомпрометированных PoS-систем, но также и сотни других. Все они были расположены в США и преимущественно принадлежали барам и ресторанам.

В этой новой атаке преступники использовали вредоносную программу Multigrain, которую мы проанализировали здесь . Атака началась 13 ноября 2015г в 22:09 (GMT), причем преступникам потребовалось всего 10 минут, чтобы заразить все жертвы. Вот процесс, который использовался для выполнения заражения:

• Подключение к PoS с использованием LogMeIn
• Использование LogMeIn для скачивания исполняемого файла (wme.exe, MD5: A0973ADAF99975C1EB12CC1E333D302F, вариант Multigrain).
• Выполнение скрипта через LogMeIn. Этот скрипт вызывает cmd.exe that, который выполняет wme.exe.

14 часов спустя была запущена изолированная атака на один из PoS. Эта атака устанавливала новую версию Multigrain (MD5: A3B944454729EA13AD847D01FFAC556A). Через полчаса (мы предполагаем, что это время потребовалось для проверки того, что все работает корректно) преступники автоматически повторили атаку против всех своих жертв, так что все машины были заражены новой версией вредоносной программы спустя всего 10 минут.

Данные системы месяцами пребывали в скомпрометированном состоянии. Когда люди, ответственные за PoS-системы, поняли, что они были атакованы, и почистили PoS-системы, хакеры смогли снова «вернуться» туда, откуда они были выброшены, и с помощью LogMeIn установили новый вариант Multigrain (MD5: 4C722EA25EC857E1A7E73DE5886F9299).

Следует уточнить, что атака с помощью LogMeIn была осуществлена не в результате какой-то уязвимости, а в силу того, что у хакеров уже были взломанные компьютеры и они имели все необходимые регистрационные данные для доступа к системе. Мы советуем пользователям LogMeIn следовать рекомендациям, опубликованным в этом документе.

Некоторые советы для предотвращения кибер-атак


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

Учтите, что Ваша сила заключается в знании Вашей инфраструктуры и окружения. Лучший способ обеспечить полную безопасность во всем Вашем IT-парке – это использовать Adaptive Defense. Активируйте режим работы «Lock» для предотвращения выполнения неизвестных процессов… Это позволит обеспечить защиту и безопасность всей информации, принадлежащей Вам и Вашим клиентам.
Поделиться с друзьями
-->

Комментарии (5)


  1. lair
    10.08.2016 13:14

    У вас на КДПВ типичный выделенный терминал для работы с картами. Он уязвим для атак, описанных в посте?


    1. lair
      10.08.2016 13:24

      Впрочем, судя по прошлому посту, ответа я не дождусь.


  1. Cobolorum
    10.08.2016 13:32

    Осталось мелочь — поставить виндовоз на POS-терминал.


  1. Duti_Fruti
    10.08.2016 14:14

    Вторая статья про POS и опять бородатый на фото. Это тренд? :)


    1. Alex_2016
      10.08.2016 14:16

      И борода в тренде, и POS-тренд:)