- Регистрация
- 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, при запуске скрипт выдает диапазоны балансов за сутки по найденным датам.
https://files.fm/u/t25ymgfmПроект Пегас - краткое описание содержимого
Пегас - структурированный сложный проект под х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://ufile.io/x7412
http://transfiles.ru/lhjmn
https://dropmefiles.com/CnwWE
http://mega.dp.ua/file?source=18070615225769991162
pass:Group_IB_Smart_Boys