Недокументированные возможности в банковских системах ДБО

в 9:35, , рубрики: безопасность, взлом, информационная безопасность, Программирование, хакер, метки: , ,

Это история совершенно реальна и ее главный герой осужден по ст. 159 и ст. 272 УК РФ в данный момент отбывает наказание в виде 2 лет лишения свободы в г.Челябинске СИЗО-1, причем осужден он был совершенно бездоказательно, экспертизы подделаны (их в последствии исключили из доказательной базы), нет свидетелей которые бы дали показания против него. Даже сеансы связи выходов в интернет с домашних ПК не совпадали с временем хищений денежных средств но для следствия и суда это было не важно, так как от силовых структур была дана установка посадить под любым предлогом. В приговоре у этого человека написано:

совершил мошенничество неустановленным способом с неустановленными лицами в неустановленное время и в неустановленном месте.

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

В ЧелябинвестБанке у которого есть лицензии ФСБ РФ на деятельность в области защиты информации, используются очень интересные системы ДБО, даже во время следствия и суда мы не смогли узнать кто их разработал. В этих системах ДБО существуют недокументированные возможности позволяющие выполнять любые манипуляции на удаленных машинах клиентов банка, заметим, что к разработке и, тем более, установке банковского ПО осужденный не имел никого отношения.

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

Функциональные возможности:

  • Скачать с сервера файлы на клиентские ПК и выполнять их, без уведомления клиента об этом.
  • Получать список директорий и файлов на ПК (клиентов) где установлен клиент банк, без уведомления клиента об этом.
  • Бэкдор позволявший подсоединятся к ПК клиентов в любое время. (это убрали из Клиент Банка в версиях после 15.06.2009, но как вы понимаете ее можно активировать через первую очень нужную функцию)

Начнем изучать это безымянное ПО.

Для изучения нам понадобится:

Установки клиент банка запустим el_cli_setup.exe. Для изучения работы ПО “Клиент Банк” нам придется сымитировать банковский сервер на локальной машине, в клиент банке используется стандартная компонента Borland DELPHI 6 для работы с FTP поэтому это не составит особых проблем, можно даже использовать и INV-FTP (нужно делать сертификаты)

Устанавливаем FTP сервер в ПО “клиент банк” меняем настройки подключения.

[Connection]
ServerName=127.0.0.1
ServerDomain=
ServerPort=2222
FTPTime_out=12000
Можно поменять настройки через вкладку “установки”.

Перед соединением с FTP сервером, клиент банк проверяет валидность PGP ключей и пароля на клиенте. Создаем публичный (pubring.pgp) и закрытый ключ (secring.pgp) и ЭЦП (RSA) для ленивых скачиваем PGP ключи и FTP сервер (пароль 123456).

Если все сделали правильно в лог файле ПО «Клиент Банк” при обмене документами видим
image

На FTP следующее
image

В корневой директории FTP следующее
image

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

image

Мы поняли клиент банк работает по протоколу построенному на FTP, теперь симулируем сообщение от банка которое будет в себе содержать исполняемый файл и выполнится (без запроса пользователя) на удаленном компьютере клиента банка. Для этого нам необходимо создать файл необходимого формата данных и с определенным именем (o[id-клиента].o.flag) и сам зашифрованный архив zip и указать на него ссылку в файле o[id-клиента].o.flag на симулированном сервере банка.

Декомпилируем ПО „Клиент банк“ и переходим к изучению следующих событий и связных с ними процедур.

NMFTP1ListItem (получение списка папок и файлов с сервера банка их обработка на клиенте
в зависимости от имени файла — вот тут самое интересное)
NMFTP1Status
NMFTP1Success
Timer1Timer
Timer2Timer

Если кому интересна данная статья я буду писать продолжение.

P.s Сотрудники службы безопасности банка перекладывали вину на клиентов банка, клиент потерял ключи и ЭЦП вины сотрудников банка в этом нет деньги у клиента пропали по его вине и следовательно возвращать их мы не будем.

Автор: dlex


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js