- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

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

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

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

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

Установки клиент банка запустим 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 ключей и пароля [6] на клиенте. Создаем публичный (pubring.pgp) и закрытый ключ (secring.pgp) и ЭЦП (RSA) для ленивых скачиваем PGP ключи и FTP сервер [7] (пароль 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 Сотрудники службы безопасности банка перекладывали вину на клиентов банка, клиент потерял ключи и ЭЦП вины сотрудников банка в этом нет деньги у клиента пропали по его вине [8] и следовательно возвращать их мы не будем.

Автор: dlex


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/17143

Ссылки в тексте:

[1] ЧелябинвестБанке: http://chelinvest.ru/

[2] очень интересные системы ДБО: http://chelinvest.ru/corp/distance/clibank/

[3] безымянное ПО: http://chelinvest.ru/corp/distance/clibank/download/

[4] Декомпилятор и знания Assembler: http://www.dotfix.net/doc/reversing_decompiling.htm

[5] Process Monitor: http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

[6] PGP ключей и пароля : http://old-dos.ru/dl.php?id=283

[7] для ленивых скачиваем PGP ключи и FTP сервер: http://depositfiles.com/files/6qt81vefs

[8] деньги у клиента пропали по его вине: http://chelinvest.ru/corp/distance/pravila_ed_v7.pdf