Метка: процессинг

  • Через площадку процессинга вчера обналичили $368 600 успешно

    Через площадку процессинга вчера обналичили $368 600 успешно

    Пострадавший от процессинга клиент отказывается возмещать ущерб

    процессинг фиата в московский банк на счёт неразводного дропа


    История случилась 9 мая прошлого года, когда юридическая компания Wallace & Pittman переслала на один из счетов в местном банке $386 600. Всего через несколько часов с этого же счета был осуществлен перевод суммы, ровно на $50 000 меньшей, чем предыдущая, на другой счет в JP Morgan Chase, а затем в Московский банк.


    Руководство Wallace & Pittman в тот же день получило подтверждение электронного перевода и заявило о незаконности процессинга фиатных денежных средств. Тогда же было установлено, что компьютеры фирмы скомпрометированы: неустановленные дроповоды с помощью фишингового сообщения зарядили компьютерные системы вирусом типа CarberP и начали процессинг денежных средств со счетов этой фирмы без её ведома или указаний.


    Как обычно бывает в таких случаях, банк Park Sterling предоставил своему клиенту кредит для того, чтобы погасить долг перед заказчиком. При этом у Wallace & Pittman потребовали погасить кредит к концу текущего месяца.


    Через несколько недель, 30 мая, руководство юридической фирмы подало судебный иск на свой банк в суд, вследствие чего получила отсрочку для погашения кредита. В течение последующего месяца фирма сняла все деньги со своих счетов в банке Park Sterling, избавив своего кредитора от возможности насильно забрать денежные средства. После этого Wallace & Pittman отозвала все судебные претензии.


    Сейчас банк Park Sterling судится с Wallace & Pittman, требуя погасить кредит, а также возместить все связанные с ним издержки. Представители юридической фирмы отказываются комментировать текущий процесс, и её линия защиты состоит в том, что банк не объяснил условия возвращения средств на счет ответчика и не дал понять, что Wallace & Pittman сейчас распоряжается кредитными деньгами, а не собственными.
  • Как работает процессинг в SWIFT MT192 и грамотное обналичивание денежных средств

    После отправки сообщения SWIFT МТ192 об ошибочном платеже в банк обычно начинается переписка на предмет того, что получатель уже не может вернуть ошибочно зачисленный ему платеж

    процессинг и SWIFT MT192 message

    мало кто сейчас работает с гривнами или рублями, тем более вряд ли вменяемый процессор напрямую будет предлагать первому встречному картонному дропу из паблика сделать процессинг на его банковскую карту ПриватБанка или тем более Сбербанка и совсем другое дело, если человек грамотно может принять SWIFT в малоизвестном банке, где не принято задавать много клиентам.

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

  • Использование CarberP в процессинге фиата и крипты

    Использование CarberP в процессинге фиата и крипты

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

    С чего же все началось?

    Когда исследовали образец этого банковского бота, то из пяти экземпляров, посланных на VirusTotal.com, только один определялся многими антивирусами, а у остальных четырех количество обнаружений было гораздо меньшим. Сравнив все экземпляры при помощи плагина BinDiff для IDA, обнаружили, что код был идентичным. Посмотрев внимательнее на файлы в редакторе HIEW, картина стала проясняться. Во-первых, отличались некоторые поля PE-заголовка. Во-вторых, в первой секции «.text» не было кода вообще, а единственное, что там было прописано, — имена двух библиотек (kernel32.dll и advapi32.dll), а также название одной функции (EqualPrefixSid), которые окружены случайными последовательностями байтов. Эти данные используются при распаковке банковского бота, и наконец, отличались таблицы релокаций. Предпоследние секции «.reloc» были различного размера, и сами значения релоков также не совпадали. Именно эти три отличая позволяли данному трояну успешно обходить сигнатуры антивирусов.

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

    Временные файлы

    При анализе этого банковского бота сначала не поняли, зачем же он создает временные файлы, копируя в них стандартные библиотеки Windows (ntdll.dll, kernel32.dll и ws2_32.dll). Оказалось, что это делается для безопасности самого банкера. После создания копии библиотеки, он отображает её к себе в память, находит нужные ему при работе функции и сравнивает первые 10 байт с теми, что находятся в импортированной библиотеке. Если они не совпадают, значит какая-то «недобрая» программа поставила хук на эту функцию, и банковский троян сразу восстанавливает эти 10 байт из оригинальной библиотеки, а точнее — из образа её копии. Поэтому с уверенностью можно сказать, что желающие поизучать внутренности Carberp’а могут отложить API Monitor на дальнюю полку своего жесткого диска 🙂
    Вызовы API-функций также сделаны с изюминкой. В программе банкера присутствует механизм, который получает на вход константу, а на выходе высчитывает необходимый адрес. Конечно, этот подход значительно затрудняет статический анализ банковского бота, хотя также имеет и свои минусы — если поставить точку останова на конец функции расшифрования, то легко можно отследить последовательность вызова функций, а написав парочку сценариев для OllyDbg и IDA, можно восстановить их названия и без проблем статически исследовать код. В одной из исследуемых версий трояна также использовалось шифрование всех текстовых строк, используемых программой, что значительно затруднило анализ его возможностей процессинга  платежей в банковских системах SWIFT или SEPA для работы в еврозоне.

    Завоевание новых территорий

    Во многих троянах процессинга код «полезной нагрузки» не выполняется при первом запуске — он инжектируется в какой-то уже работающий процесс и начинает действовать уже там. Этот банковский бот — не исключение, и для внедрения он использует процесс explorer.exe. Только делает он это очень необычно.

    средства защиты от обнаружения CarberP бота процессинга
    Первым делом, процесс вызывает функцию CreateProcess с выставленным флагом CREATE_SUSPENDED, тем самым создавая новый, приостановленный дочерний процесс explorer. exe. Затем вызовом функции ZwCreateSection создается объект «секция» (SectionObject — это часть памяти, которая может разделяться между разными процессами) со всеми возможными правами (чтение, запись, исполнение). Далее секция мапится в контекст трояна функцией ZwMapViewOfSection и при помощи memcpy банковский бот процессинга копирует свою распакованную копию в эту область памяти. После этого, секция отображается в контекст дочернего explorer.exe, и тем самым туда заносится код банковского бота. Но это еще не конец, ведь код банкера должен также выполниться explorer’ом. Для этого функцией ReadProcessMemory из процесса explorer.exe копируется место, где находится спроецированный исходный файл, в контекст трояна процессинга. Создается ещё одна секция, которая сначала отображается в троянскую программу, а потом в неё с помощью memcpy копируется полученная из explorer’а часть памяти. Следующим шагом патчатся несколько байт на точке входа таким образом, чтобы происходил прыжок на функцию процессинга денежных средств холдера банковского счета. И наконец, секция отображается в контекст explorer’а на то место, где раньше находился исходный образ.
    Теперь все готово для запуска дочернего explorer’а. Троян вызывает ZwResumeThread, тем самым запуская исполняемый код, уже находящийся в другом процессе. Получив управление в новом месте, Carberp начинает работать в полную силу, запуская свои встроенные функции payload’а и внедряясь во все запускаемые процессы. Естественно, во всех новых захваченных территориях банковский бот также производит описанную выше проверку на наличие хуков в необходимых ему API-функциях.
    В более новой версии Carberp’а был обнаружен другой способ внедрения порожденного процесса explorer.exe. Первые шаги остались неизменными — сначала создается глобальная секция, которая мапится в дочерний процесс, и туда копируется исполняемый код. А дальше вызывается недокументированная функция ZwQueueApcThread, которая ставит в очередь на выполнение в explorer’е асинхронный вызов одной из функций процессинга, находящихся в образе секции. При вызове ZwResumeThread начинается выполнение банковского перевода в фиате.

    Игра в прятки

    Прежде чем обсуждать функции, которыми может похвастаться данный банковский троян, стоит разобрать еще несколько интересных моментов его жизни. Конечно же, как и любой уважающий себя бот, Carberp прописывается в автозагрузку, причем банально копируя себя под случайным именем в директорию %HOMEDRIVE%%HOMEPATH%StartMenuProgramsStartUp. Тем не менее, не все так просто! В самом боте предусмотрен механизм, позволяющий скрыть присутствие файла в системе.
    После внедрения трояна в дочерний explorer.exe, вызываются механизмы, которые инжектируют его в исходный explorer. Сначала происходит поиск PID-процесса. Стоит отметить, что в программе заложено два способа поиска. Первый способ заключается в последовательном вызове функций FindWindow («Shell_ TrayWnd», 0) и GetWindowThreadProcessId (hWnd, &id), таким образом, в переменной id должен появиться нужный PID. Если же по какой-то причине функция вернула «id=0», то происходит обыкновенный перебор процессов и поиск нужного.
    какие команды от сервера получает CapberP бот процессинга
    Когда заветный PID найден, программа внедряется в explorer давно известным способом — ZwOpenProcess + WriteProcessMemory. Также бот процессинга делает хук двух функций в захваченном процессе — NtQueryDirectoryFile и NtResumeThread из библиотеки ntdll.dll. Чтобы уйти от обнаружения некоторыми антивирусами (например, RootkitUnhooker), хук делается не совсем стандартным способом. Троян подменяет не адрес нужной функции, а адрес функции KiFastSystemCall. Так для чего же подменяются функции? NtQueryDirectoryFile перебирает все файлы, находящиеся в директории. Она вызывается почти во всех программах (в том числе в explorer и cmd) при обзоре каталогов файловой системы. Её подмена необходима для того, чтобы скрыть факт присутствия файла. NtResumeThread вызывается explorer’ом при смене директории и при (!) запуске приложения. Таким образом, если explorer заражен, то при запуске любого приложения программная «закладка» определяет PID запускаемого процесса и инжектится в него, также подменяя вышеупомянутые функции. Легко понять, что при старте системы троян автоматически запускается, внедряется в explorer, а соответственно и все порожденные им процессы.
    На этом заканчивается список средств защиты, используемых Carberp’ом. Полный список средств защиты, применяемый этим трояном, приведен в таблице 2.

    Начинка

    Разобравшись со всеми защитными механизмами трояна процессинга, мы приступили к изучению вирусной начинки. Оказалось, что в нем имеет место вполне стандартный функционал сбора и копирования пользовательских данных и процессинга денежных средств на банковские счета неразводных дропов, сравнимый с функционалом того же IBank’а или Zeus’а, дополненный неплохим протоколом обмена данных между компьютерами холдеров и дроповода. Собирая по всей системе пользовательские сертификаты, пароли к учетным записям и прочей важной информации, добытые с помощью работающего кейлоггера и снятия скриншотов рабочего стола, бот процессинга упаковывает все найденное в cab-архив и готовит его к отправке.

    Общение с сервером дроповода

    Теперь посмотрим на реализованный в трояне процессинга протокол обмена данными. Условно в нем можно выделить этап установки соединения и непосредственно рабочий этап обмена информацией.

    Этап установки соединения

    1 — Заряженый компьютер или смартфон

    1. Установка соединения с сервером 1.
    2. Отправка строки GET-запросом, предусматривающей указание параметров:
    • uptime;
    • downlink;
    • uplink;
    • id (зашифрованная строка, содержащая информацию о зараженной системе);
    • statpass (начальный пароль);
    • comment.
    Вот пример такого запроса:
    /stat?uptime=<val1>&downlink=<val2>&uplink=<val3>
    &id=<val4>&statpass=<val5>&comment=<val6>

    3. Ожидание приема информации от сервера.

    2 – Сервер дроповода (оператора процессинга)

    1. Отправка информации заряженому компьютеру. Могут быть отправлены следующие коды:
    • ok;
    • badpass;
    • session: <№ сессии>.

    3 — Компьютер холдера (владельца банковского счёта)

    1. Распознавание полученной от сервера информации:
    • ok — соединение установлено;
    • badpass, session — повторная передача начальной информации от сервера.
    Этап передачи данных

    1 — Компьютер холдера (владельца банковского счёта)

    1. Отправка строки POST-запросом на сервер 2, предусматривающей указание параметров:
    • относительного пути, по которому на сервере дроповода будут располагаться переданные файлы;
    • зашифрованная строка, содержащая закодированную строку с информацией о системе и кодовое слово.
    Передаваемая строка может выглядеть так:
    1|palladin|05B45905A93F7D4B843D385AAE079AF1|0|0
    А зашифрованная следующим образом:
    a=e15e327af46a915c1b0014a284c052787ea7d63c8c40b1
    a3dcafea6bb8e7076b0f6601861783dff7cbca429eb76a47
    Шифрование строки сопровождается дополнением избыточности.
    2. Отправка сформированного .cab-файла с похищенной информацией серверу 2.
    3. Периодически происходит проверка установленного соединения. Данное действие аналогично предыдущему, за исключением того, что передается строка:
    0|check|00000000000000000000000000000000|

    2 — Сервер дроповода (оператора процессинга)

    1. На стороне сервера осуществляется расшифровка принятого сообщения. Отправка уведомления об успешном приеме проверочного пакета.
    2. Отправка информации зараженной машине. Вот что сервер может отправить в зависимости от версии троянца.

    3 — Компьютер холдера (владельца банковского счёта)

    1. Распознавание принятой информации.
    Надо сказать, что передачу информации Carberp осуществляет грамотно: инициализация связи сопровождается зашитым в троян паролем, состояние канала связи периодически проверяется специальными пакетами, передаваемая информация шифруется, а шифротекст при этом наполняется избыточностью. Более того, возможно удаленное управление ботом процессинга — в разбираемой версии присутствовал функционал по разбору команд от удаленного сервера ботовода.

    распознание принятой информации ботом процессинга
    Здесь создатели предусмотрели возможность обновления бота процессинга, возможность самоудаления и загрузки дополнительных модулей. Кстати, последние направлены на целевые банковские системы и криптовалютные площадки. Эти модули содержат механизм перехвата выполняемой клиентом транзакции и подмены страниц аутентификации на страничках интернет-банкинга или банковского приложения для смартфона.

    Дополнительные возможности

    Дополнительную мощь трояну процессинга добавляют специальные плагины, которые он загружает вдобавок к основному функционалу. На момент исследования было три зашифрованных плагина с символичными именами miniav.plug, killav.plug и passw.plug (именно в таком виде их удалось достать с сервера, с которым Carberp взаимодействует).

    взаимодействие бота процессинга с сервером управления CarberP
    Потратив немного времени на исследование шифрованных файлов и написание к ним декриптора на языке python, удалось выяснить, что содержимое этих плагинов соответствует их названию. Действительно, miniav.plug занимается устранением конкурентов — если на компьютере или смартфоне холдера помимо Carberp’a присутствует другой бот процессинга, например, тот же самый Zeus, то последний безжалостно удаляется из системы. Плагин killav.plug нейтрализует работу антивирусных систем, ну а passw.plug способен перехватывать вводимые холдером пароли от любых сервисов.
  • В сети ПриватБанка найдены ZeUS и другие банковские боты процессинга фиата

    В сети ПриватБанка найдены ZeUS и другие банковские боты процессинга фиата

    Внедрение Cisco Cyber Threat Defense (CTD) обычно начинается с PoC (Proof of Concept), позволяющего оперативно оценить возможности решения, осуществляющего мониторинг внутренней сети и происходящей в ней активности. 
    Это распространенная практика для решений по мониторингу чего-нибудь — утечек информации (Cisco IronPort Email DLP), электронной почты (E-mail Security Appliance), приложений (Cisco ASA Next-Generation Firewall Services) и т.п. Обычно уже после первой недели мониторинга результат работы этих решений удивляет — специалисты по безопасности узнают немало интересного о своей сети и о действиях пользователей в ней. Спам, вирусы, утечки конфиденциальной информации, внешние IP-адреса во внутренней сети, управляющий трафик ботнетов, банковские трояны, несанкционированно установленные точки беспроводного доступа или Web-серверы… Да мало какие инструменты процессинга фиата через интернет или ещё что можно найти в сети банка, в которой работают продвинутые и не очень пользователи?
    Не так давно один сотрудник российского офиса Cisco разворачивал Cyber Threat Defense в сети ПриватБанка на Украине. С виду ПриватБанк — очень серьезная организация, серьезно относящаяся ко своей информационной безопасности, но как показывает практика последнего времени, целенаправленные атаки (APT), направленные на процессинг фиата, включая процессинг с использованием системы SWIFT и её сообщщений MT103/202, становятся всё активнее и всё опаснее. 


    Число попыток целенаправленно процессинга фиата с банковских счетов легальных холдеров превышает традиционные интернет атаки. Специально разрабатываются методы обхода защиты периметра сети банка, такие как установка дроповодами дополнительного 3G или 4G маршрутизатора прямо в офисе банка, либо точки доступа WiFi в филиале или главном офисе. 
    На сегодняшний день средства защиты корпоративной или ведомственной сети финансового учреждения работают неэффективно, в случае, если попытка процессинга фиата со стороны дроповодов на счета неразводных дропов будет осуществляться из внутренней сети банка, они тут мало чем смогут помочь, не говоря уже о том, чтобы предотвратить перевод денег на счета разводных дропов. 
    Однако, при помощи Cisco Cyber Threat Defense можно отследить подозрительную сетевую активность. Именно это решение спустя всего 7 дней работы со своими базовыми настройками наткнулось на целый букет аномалий в сети ПриватБанка — среди них банковский троян Zeus, несколько других модификаций банковских ботов, управляемых извне, и ряд других таких же «приятных сюрпризов».
    Вот только один скриншот Cisco Cyber Threat Defense. На нем виден очень высокий уровень CI, то есть Concert Index или иными словами индекс подозрительности трафика, который характеризует наличие в сети ПриватБанка признаков киберугроз работы проверенных дроповодов и процессинга фиата на счета неразводных дропов. Вычисляется этот индекс автоматически, по заложенному в Cisco CTD алгоритму, чем выше это значение, тем вероятнее и серьезнее угроза (обратите внимание на показатель в 708 тысяч процентов) — это однозначно характеризует угрозу процессинга фиата из банка на контролируемые дроповодами счета. 
    что нашла Cisco Cyber Threat Defense (CTD) в сети ПриватБанка
    Дополнительный анализ позволяет понять, что это за угроза, её источник и в какой банк будут переводится деньги на счета неразводных дропов. По этому при желании процессинг фиата на счета неразводных дропов вполне можно предотвратить в том случае, если сами сотрудники банка не пожелают заняться подобным столь прибыльным на сегодня бизнесом.
  • Процессинг фиата или Каспер против проверенных дроповодов

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

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

    Однако Каспер вместе с его командой охотников за призраками в доспехах придумал очередной инструмент, который может быть и обнаружит хорошо закриптованый банковский бот предназначенный для процессинга фиата со счёта холдера, а может и не обнаружит… всякое же бывает. ZETA расшифровывается как «Zero-day, Exploits & Targeted Attack», то есть «угрозы нулевого дня, эксплойты и целевые атаки». Ну а Shield — это защита от всего перечисленного. Евгений Касперский, описывает ZETA Shield так:
    «ZETA Shield — антивирусный спецмикроскоп для выявления и наказания самых хитрых зловредов, аки матрешки прячущихся во вложенных сущностях сложных файлов. Короче, это уникальная технология защиты от будущих угроз, которая умеет находить неизвестную киберзаразу в самых неожиданных местах».
    Погружаясь в технические подробности, можно сказать, что ZETA Shield сканирует потоки данных на компьютере в поисках фрагментов кода, характерных для эксплойтов, встроенных в легитимные файлы, будь то исполнимый код, внезапно обнаруженный внутри офисного документа, или попытка вызвать подозрительный набор команд в приложении просмотра картинок. Гибкость сканера очень высока, что позволяет проанализировать любое количество файлов и процессов на компьютере, сопоставляя полученные данные в рамках машины, а также запрашивая информацию из Kaspersky Security Network — вдруг подобные симптомы уже обнаруживались у других пользователей? Глубоко разбирая файлы и потоки данных, обнаруживая подозрительные или неуместные элементы, ZETA Shield сопоставляет множество косвенных индикаторов угрозы, чтобы принять решение о её блокировке.
    Зачем эта сложная технология, заточенная для борьбы с целевыми атаками, появилась в антивирусе для «простых смертных»?
    Сам Касперский объясняет это очень лаконично: «Жертвами целевых атак могут стать и становятся практически все пользователи и любые организации, а ещё помните поговорку «Лес рубят — щепки летят»? Это про компьютерные угрозы. Целевые атаки выходят из-под контроля и накрывают случайных жертв». Чтобы не стать такой жертвой, Каспер советует запускать иногда сканирование компьютера с максимальной глубиной хотя бы раз в месяц.

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