Техническое описание бекдора в банкоматах Diebold |
21:13 |
В сложившейся экономической ситуации мы привыкли слышать, как очередной банк сокращает своих сотрудников и обращается в аутсорсинговые компании для разработки программного обеспечения. Основной вопрос, усиливает эта практика риск получения тайминговой бомбы, прошитых учетных записей или просто бекдоров, скрытых собственными разработчиками. Интересный фрагмент кода, обнаруженный Ваней Сватчером (Vanja Svajcer) из Sophos подтверждает наши опасения. Поскольку до конца неизвестно (отсутствуют доказательства), как этот код попал в банкомат, мы можем предположить, что это сделал человек, знающий архитектуру и имеющий физический доступ к аппаратному и программному обеспечению Diebold ATM. Привилегированный инсайдер, который либо хотел обеспечить страховку на «черный день», имея неограниченный доступ к наличным, либо планировал провести масштабную распределенную атаку на банки. В любом случае, бекдор старательно скрывает себя на системе. Почему? Скорее всего, для того, чтобы оставаться незамеченным во время аудиторских проверок. Бекдор состоит из «дроппера» и оставленного компонента. Если на системе используется файловая система NTFS, дроппер создаст 2 альтернативных потока данных: В противном случае, создаст 2 файла: Эти файлы создаются из этих копий файлов, если они обнаружены на системе: Затем, дроппер предоставляет себе привилегии уровня SeDebugPrivilege и делает 50 попыток завершить процесс lsass.exe. Бекдор устанавливает себя следующий образом:
Наконец, дроппер внедряет и запускает удаленную нить в процессе explorer.exe, которая перечисляет и удаляет все Windows Prefetch файлы. После активации, библиотека внедряет 2 нити: одна будет внедрена в процесс mu.exe, другая – в процесс SpiService.exe - основную службу ("Diebold XFS Service") проприетарного ПО, работающего на банкоматах Diebold. Эти нити будут ответственны за внутреннее сообщение с драйвером Diebold через именной канал "\\.\pipe\lsndbd". Другая нить начнет периодичный вызов (раз в секунду) API SQReceiveFromServer(), экспортируемого sharedq.dll. Содержимое буфера, заполненное этой функцией, будет проверяться на наличие тегов "TCS," и "HST,". Если значения, указанные в тегах, разделяются символом ";", нить их извлечет и запишет в журнал в файл %windir%\greenstone.bmp:redstone.bmp на NTFS системе или в файл %windir%\redstone.bmp на другой файловой системе. В случае, когда процесс обработки транзакции обнаруживает определенные данные, предположительно уникальные для атакуемого банкомата, бекдор перейдет в графический режим, который предоставит атакующему полный доступ к бекдору. В этом случае на дисплее банкомата будет отображено диалоговое окно с надписью "Agent" и приглашением "Enter command:", и драйверу Diebold будут переданы команды на активацию клавиатуры и чтение входных данных через последовательность команд, предоставленных DbdDevExecute() API, экспортируемых DbdDevAPI.dll. например, драйвер получит следующие команды: Затем, атакующий предоставляет одну из 10 возможных команд путем ввода номера на клавиатуре. Каждая команда инструктирует бекдор для выполнения определенных действий. Например, команда «2» проинструктирует бекдор прочитать версию установленного ПО Diebold из ключей реестра: Затем эта команда прочитает содержимое временных файлов redstone.bmp и bluestone.bmp и обработает детали транзакций из этих файлов. Наконец, будет отображено уведомление с собранной статистикой в следующем виде: Команда 6 проинструктирует бекдор восстановить "Key A" и "Key B" из файла redstone.bmp, который будет распечатан на чеке. Команда 7 сгенерирует случайное число и затем сгенерирует на его основе пароль. Затем будет отображено диалоговое окно "Autorization" (орфография сохранена): Будет предоставлено 3 попытки для ввода корректного пароля. В случае 1-4 будут выполнены команды AFD_DISPENCE, AFD_PRESENT и AFD_RESTORE, которые проинструктируют Advanced Function Dispenser (AFD) модуль изъять кассеты с наличными из банкомата.
По материалам: www.securitylab.ru
| |
Категория: Технологии | Просмотров: 1270 | Добавил: Konstantin | Рейтинг: 0.0/0 | |
Всего комментариев: 0 | |
Разделы новостей | ||||||
---|---|---|---|---|---|---|
|
Форма входа |
---|
Календарь новостей | |||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Поиск |
---|
|
Ссылки |
---|
|
Статистика |
---|
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
Наш опрос |
---|