Техническое описание бекдора в банкоматах Diebold

image

Теги: Diebold, взлом, банкомат

Поскольку до конца неизвестно, как этот код попал в банкомат, мы можем предположить, что это сделал человек, знающий архитектуру и имеющий физический доступ к аппаратному и программному обеспечению Diebold ATM. Привилегированный инсайдер, который либо хотел обеспечить страховку на «черный день», имея неограниченный доступ к наличным, либо планировал провести масштабную распределенную атаку на банки.

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

Основной вопрос, усиливает эта практика риск получения тайминговой бомбы, прошитых учетных записей или просто бекдоров, скрытых собственными разработчиками.

Интересный фрагмент кода, обнаруженный Ваней Сватчером (Vanja Svajcer) из Sophos подтверждает наши опасения.

Поскольку до конца неизвестно (отсутствуют доказательства), как этот код попал в банкомат, мы можем предположить, что это сделал человек, знающий архитектуру и имеющий физический доступ к аппаратному и программному обеспечению Diebold ATM. Привилегированный инсайдер, который либо хотел обеспечить страховку на «черный день», имея неограниченный доступ к наличным, либо планировал провести масштабную распределенную атаку на банки.

http://4.bp.blogspot.com/_teq8tr511YQ/ScCkVoQr1SI/AAAAAAAAAzU/s69NDA0wreI/s320/diebold.jpg

В любом случае, бекдор старательно скрывает себя на системе. Почему? Скорее всего, для того, чтобы оставаться незамеченным во время аудиторских проверок.

Бекдор состоит из «дроппера» и оставленного компонента.

Если на системе используется файловая система NTFS, дроппер создаст 2 альтернативных потока данных:
%windir%\greenstone.bmp:redstone.bmp
%windir%\greenstone.bmp:bluestone.bmp

В противном случае, создаст 2 файла:
%windir%\redstone.bmp
%windir%\bluestone.bmp

Эти файлы создаются из этих копий файлов, если они обнаружены на системе:
%windir%\trl2
%windir%\kl

Затем, дроппер предоставляет себе привилегии уровня SeDebugPrivilege и делает 50 попыток завершить процесс lsass.exe.

Бекдор устанавливает себя следующий образом:

  • Получает полный путь к бинарному файлу системной службы "LogWriter"
  • Останавливает службу "LogWriter"
  • Добавляет к имени ":", за которым следует pwrstr.dll
  • Помещает собственный ресурс PACKAGEINFO в альтернативный поток данных [LogWriter_binary_filename]:pwrstr.dll
  • Запускает службу "LogWriter", вместе с которой выполняется библиотека из нового источника.

Наконец, дроппер внедряет и запускает удаленную нить в процессе 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 на другой файловой системе.
Так как тег "TCS," означает транзакции, а тег "HST," историю, бекдор способен собирать данные о пользователях и транзакциях в вышеупомянутом файле.

В случае, когда процесс обработки транзакции обнаруживает определенные данные, предположительно уникальные для атакуемого банкомата, бекдор перейдет в графический режим, который предоставит атакующему полный доступ к бекдору. В этом случае на дисплее банкомата будет отображено диалоговое окно с надписью "Agent" и приглашением "Enter command:", и драйверу Diebold будут переданы команды на активацию клавиатуры и чтение входных данных через последовательность команд, предоставленных DbdDevExecute() API, экспортируемых DbdDevAPI.dll. например, драйвер получит следующие команды:
EPP4_ENCODE_DECODE, EPP4_ENABLE_KEYBOARD_READ.

Затем, атакующий предоставляет одну из 10 возможных команд путем ввода номера на клавиатуре. Каждая команда инструктирует бекдор для выполнения определенных действий.

Например, команда «2» проинструктирует бекдор прочитать версию установленного ПО Diebold из ключей реестра:
HKLM\SOFTWARE\Diebold\Agilis 91x Core
HKLM\SOFTWARE\Diebold\Agilis 91x

Затем эта команда прочитает содержимое временных файлов redstone.bmp и bluestone.bmp и обработает детали транзакций из этих файлов. Наконец, будет отображено уведомление с собранной статистикой в следующем виде:
Agilis [version number]
Agent [version number]
Transactions [number]
Cards [number]
KEYs [number]

Команда 6 проинструктирует бекдор восстановить "Key A" и "Key B" из файла redstone.bmp, который будет распечатан на чеке.
Команда 8 позволит атакующему отобразить внутренние счетчики в диалоговом окне (это может потенциально сообщить о количестве наличных в банкомате).

Команда 7 сгенерирует случайное число и затем сгенерирует на его основе пароль. Затем будет отображено диалоговое окно "Autorization" (орфография сохранена):
Request Code: [random number]
Enter Responce:

Будет предоставлено 3 попытки для ввода корректного пароля.
Если пароль корректный, будет отображено диалоговое окно "Enter Command" (орфография сохранена)
1..4 - dispense cassete
9 - Uninstall
0 - Exit

В случае 1-4 будут выполнены команды AFD_DISPENCE, AFD_PRESENT и AFD_RESTORE, которые проинструктируют Advanced Function Dispenser (AFD) модуль изъять кассеты с наличными из банкомата.

С таким уровнем утонченности, учитывая наличие троянского приложения в его классической форме внутри банкомата, даже такие параноидальные приемы не спасут вас от кражи:

http://2.bp.blogspot.com/_teq8tr511YQ/ScCqDptV5EI/AAAAAAAAAzk/TSOJnyLWYxc/s320/atm.jpg


или введите имя

CAPTCHA
Страницы: 1  2  3  4  5  
Ы
27-03-2009 14:10:02
Жжесть. Фсем бояцца! Грамотно, ничего не скажешь. Стопудово свой человек писал, не торопясь. Капча подтверждает 20280
0 |
дедвем
27-03-2009 17:14:04
руслан Март 27th, 2009 в 01:28 · Reply когда же уже эта истерия с вирусом закончится, нет ни одного вируса “ломающего”, “варующего” данные карт с банкоматов Дибол особенно с Аджилисом, т.к. Аджилис стоит на Оптевах (последнее поколение от Диболда) - данные от кардридера передаются не чез софт, а аппратно через Энкрипт Клаву и опятьже закодированная 128 битами аппаратно на процессинг, Винда , Аджилис стоят только для расширенных возможностей диагностики, настройки и контроля, теста переферии, диспенсера - нашего глупого брата лошат а ВЫ ВЕРИТЕ !!! читайте блин мат часть и нефиг писать в новостях БРЕД профанов
0 |
F
27-03-2009 22:19:16
Хех еще одна утка от Сбредбанка это они так свою жопу прикрывают, очерняя других. У Сбера у самого полный кобздец с махинациями по пластику, вот они и других говном поливают чтобы быть говном среди политых говном. Заметьте, банкоматы Diebold юзают в основном Росбанк и некоторые помельче. Сбребанк - ГОВНО!
0 |
BOBER
30-03-2009 12:38:43
Вы видимо в сбере работаете??? Нет??? а что тогда его поносите... Я вот, например, работал и знаю всю кухню по пластику изнутри - сейчас в другом банке и ситуацию с вирусом знаю из первых рук. Все намного забавнее чем пишут тут...
0 |
фетиш-мастер [Малиновые штаны]
27-03-2009 14:14:52
короч там еще в январе банкоматный вендор сообщил об обнаружении в своем банкоматном ПО троянов в срочном уведомлении своим клиентам банки начали искать. да, видно, не особо сильно... по крайней мере у нас в стране
0 |
10698
27-03-2009 14:18:55
1. обнаруженный Ваней Сватчером (Vanja Svajcer)хххеее. Наверное, его завут Иван Сва.... мож, стоило его в статье назвать "вано сва.." или "ванько сва..." "ванес сва..." 2. не зная закрытой проги Diebold тяжеловато оценить "вменяемость" статьи. А на слово очень плохо верится... 3. интересно, если В случае 1-4 будут выполнены команды AFD_DISPENCE, AFD_PRESENT и AFD_RESTORE, которые проинструктируют Advanced Function Dispenser (AFD) модуль изъять кассеты с наличными из банкоматато почему хакиры снимали бабло с копий украденных карт, а не непосредственно с самих банкоматов, заставив их выкинуть всю наличку? че то очень подозрительная ситуация со всеми этими "взломами" банков... у меня такое чуство, что где то нас накалывают...
0 |
Bill gates
27-03-2009 14:55:21
Потому что проще деньги снимать в другом городе или другой стране.
0 |
63154
27-03-2009 16:37:14
в банкоматах стоят камеры - так что хоть ты здесь, хоть ты там... личико то засветицо!
0 |
трол
27-03-2009 16:44:05
Камера банкомата легко закрываться обычными перчатками, зонтом, стикером, газетой, пакетом. На крайняк можно ее пролечить воткнув шыло.
0 |
Bad-XxX
30-03-2009 16:32:19
С банковскими системами чесно говоря не сталкивался, но по логике с камерой должен дублироваться "объёмник", детектирующий: а) наличие человека б) не закрыли ли или повредили камеру Либо те же действия должен обрабатывать комп через ту же камеру. Возможно, наши банковские системы пока что ещё не до такой степени совершенны, но технологии по крайней мере давно это позволяют.
0 |
Zerg
03-04-2009 13:01:51
А что шапку на нос натянуть не вариант? И плевать на камеру.
0 |
amdk7
22-09-2009 09:30:41
Запишется чел в маске и что? Мне украденные деньги банк до сих пор не может вернуть.
0 |
27-03-2009 14:56:52
Сравнил кое-что с пальцем. Банкомат "доится" один раз, после чего первая же проверка конкретно этого банкомата позволяет заподозрить, что что-то тут нечисто. А карточки можно собирать очень долго и итоговая сумма будет гораздо больше.
0 |
88148
27-03-2009 18:02:18
после чего первая же проверка конкретно этого банкомата позволяет заподозрить, что что-то тут нечистопо данным первых новостей (часть которых была потом поспешно затерта), банкоматы были пробиты еще осенью - шумиха поднялась только сейчас. Чуствую, часто проверки проходят... Вообще то, нелишним было бы сделать контроль целостности файлов приложений. ЗЫ - ничуть не удивлюсь, если операционки банкоматов по умолчанию грузяцца с правами админа... похоже, у банкоматов есть только одна степень защищенности - что к ним непробрацца извне, интернета...
0 |
Русский
27-03-2009 14:41:44
Ну все все идем в банкоматы и тыкаем по клавишам пытаясь подобрать пароль. авось это уже у всех банкоматов есть . чуваку респект за статью
0 |
27-03-2009 14:45:18
Кто знает, АВ стоят в банкоматах?
0 |
alexgr
27-03-2009 16:18:59
и чем бы вам АВ помог? Его никто не детектил, пока Софос не сообщил о нем и не выложил на ВирусТотал. И тут все как один его нашли он-лайн сканерами (?) и пошел сыр - бор от людей, кторый банкомат только снаружи видели. Еще хуже, что страшилки зашли уже в область компенсаций потерь кардхолдера, где и вовсе мало кто что понимает из технарей... Теперь - чтоб вы гне заблуждались - в большинстве наших банкоматов стоит весьма привычная всем Винда, чаще ХРюша. Надстройки, которые оплатами занимаются трояну не мешают
0 |
76230
30-03-2009 07:26:29
Знатоки утверждали , что все банки на линупс прешли. Это когда разговор зашел, почему линупс не хакают. Да да все это знают, но красноглазеки так знатно в лужу сели, что приятно лишний раз вспомнить.
0 |
Эти банки перешли на линупс только в офисах и серверах. А банкоматы делает правильная фирма - Microsoft.
0 |
Bad-XxX
30-03-2009 16:37:06
И чем всё закончилось с вашим Майкрософтом, умники? Ей богу, лучше б поставили чё-нить менее популярное, хоть тот же линух, а так - не удивительно что похакали.
0 |
Страницы: 1  2  3  4  5