В начале 2017 года нами была обнаружена финансовая кампания TwoBee. Внимание ее организаторов было обращено, в первую очередь, на малый и средний бизнес, использующий обмен файлами между учетной системой и ДБО для обработки платежей. Характерной особенностью TwoBee была подмена реквизитов получателя денежного перевода в файле 1c_to_kl.txt, создаваемом бухгалтерской системой. В результате деньги уходили преступникам. Однако это была не первая подобная кампания и, как показала практика, не последняя.
Buhtrap и Fibbit
Подмена реквизитов активно использовалась Buhtrap, также как и в троянце Fibbit. Несмотря на то, что Buhtrap получил широкую известность в 2014 году, первые версии Fibbit были замечены тремя годами ранее. А в июне 2016 нам удалось найти один из модулей троянца (он назывался taz, tazsb или tazjp), который действовал по схеме, похожей на TwoBee. В августе 2016 мы получили последний конфигурационный файл для одного из его модулей:
{
«filters»: {
«Получатель»:»УФК|ИФНС|казначейства|Федерального»
},
«corps»: [
{
«minSum»: 250000,
«replacement»: {
«ПолучательБИК» : «041117601»,
«ПолучательРасчСчет» : «40702810604000002148»,
«ПолучательСчет» : «40702810604000002148»,
«ПолучательИНН» : «2901277227»,
«ПолучательКПП» : «290101001»
}
}
]}
Те же и RTM
В 2015 году параллельно с Fibbit использовался троянец Trojan-Banker.Win32.RTM. Один из его модулей — 1c_2_kl, — также использующийся для слежения за файлом 1c_to_kl.txt, привлек наше внимание: он отправлял сформированную «платежку» на сервер, но при этом ничего с ней не делал. Предположительно, на тот момент модуль находился в разработке. В 2017 он получил полноценное обновление (1c_2_kl_r), которое сами авторы, судя по всему, называют Arnold. Продукты «Лаборатории Касперского» детектируют его как Trojan-Banker.Win32.Ronald.
Arnold и его «друзья»
Хотя Arnold должен был просто заменить модуль подмены «платежек», в итоге из него получился самостоятельно функционирующий бот, состоящий из загрузчика и нескольких небольших библиотек. Загрузчик инжектируется в процесс explorer.exe, с помощью алгоритма AES и ключа 01234567890123456789012345678901 расшифровывает библиотеки, после чего вызывает в них экспортируемую функцию init.
Библиотеки Arnold:
-
installPlugin.dll
Не несет полезной нагрузки, выводит сообщение «Install!» с помощью API функции OutputDebugStringA.
-
hwid.dll
Предоставляет API для получения уникального идентификатора (Hardware ID) инфицированной машины. HWID вычисляется на основе используемого процессора, версии операционной системы и имени компьютера.
-
jsonParser.dll
Предоставляет API для работы с json-файлами.
-
processLinker.dll
Предоставляет API для инжектирования в заранее заданные процессы, такие как chrome.exe, firefox.exe, javaw.exe, jp2launcher.exe, cbmain.ex, iexplore.exe, _cbank.exe, clbank.exe.
-
simpleNetwork.dll
Предоставляет API для общения с командным центром. В отличии от банкера TwoBee, активно использовавшего протокол UDP для общения с C&C, Arnold работает по HTTP. Как только бот устанавливает соединение с командным центром он запрашивает конфигурационный файл – набор правил по которым будет происходить замена в «платежке». Ответ сервера зашифрован алгоритмом AES, но ключ, в отличии от загрузчика, не зашит, а вычисляется как sha256 от имени сервера (sha256(‘arnoldfreeteacher.com’ == ‘xb0x3fx99x53xa3x92xc1x3ax70x76xf8xc9xaaxcex2cxafx5ex7dxb5x2cxc0x18x61x55x56x61x54x86x49x68xf5xa8»). В последних 4 байтах расшифрованного ответа хранится размер данных без учета выравнивания.
-
replacement.dll
Основная библиотека бота, именно она отвечает за работу с файлом 1c_to_kl.txt и вносит в него изменения. Если TwoBee просто искал на компьютере файлы с определенным именем, то Arnold получает путь к нужному файлу в результате перехвата API функций CreateFileA и CreateFileW в процессах, перечисленных в processLinker.dll. Причем для Arnold имя файла не имеет значения, главное — наличие подстроки «.txt» в полном пути к файлу. Если содержимое открытого файла удовлетворяет необходимым условиям, троянец создаст его копию в директории %TEMP%, заменит реквизиты и «вернет» обратно.
-
CommandCenter.dll
Недавно появившаяся в боте DLL. Предположительно, должна запрашивать и обрабатывать команды от C&C, но на текущий момент каких-либо команд обнаружить не удалось – ответ от сервера приходит «пустой» (четыре нулевых байта, которые бот просто игнорирует).
Расшифрованный конфигурационный файл напоминает то, что мы уже видели в Fibbit:
«minSum»: 10000,
«maxSum»: 100000,
«fields»: {
«ПолучательИНН» : «0277913917»,
«ПолучательСчет» : «40702810806000018613»,
«ПолучательРасчСчет» : «40702810806000018613»,
«ПолучательБИК» : «048073601»,
«ПолучательКПП» : «027701001»,
«ПолучательКорсчет» : «30101810300000000601»
}
},
{
«minSum»: 100001,
«maxSum»: 300000,
«fields»: {
«ПолучательИНН» : «6658495579»,
«ПолучательСчет» : «40702810738410000202»,
«ПолучательРасчСчет» : «40702810738410000202»,
«ПолучательБИК» : «046015207»,
«ПолучательКПП» : «665801001»,
«ПолучательКорсчет» : «30101810100000000964»
}
},
{
«minSum»: 300001,
«maxSum»: 2000000,
«fields»: {
«ПолучательИНН» : «9723027498»,
«ПолучательСчет» : «40702810026220000702»,
«ПолучательРасчСчет» : «40702810026220000702»,
«ПолучательБИК» : «046015207»,
«ПолучательКПП» : «772301001»,
«ПолучательКорсчет» : «30101810500000000207»
}
}]
Заключение
Несмотря на то, что Arnold использует те же методы, что и TwoBee, новый бот имеет больше общего с уже известным Fibbit. Мы полагаем, что оба зловреда находятся в руках одной киберпреступной группы. В ближайшее время мы ожидаем увидеть активное развитие Arnold, в том числе и заимствование троянцем части функций модульного троянца. Fibbit. В качестве временного решения для защиты от текущей версии зловреда пользователи учетных систем могут использовать имя файла экспорта платежных поручений, в имени или расширении которого отсутствует сочетание «.txt».
MD5
Arnold (Trojan-Banker.Win32.Ronald) | 190a92d1c2d24814a3e031f7e3ee6222 28aeaa7ec1e940f744f5640f7ab99c74 3cdf8d64cedf07b881771fc8d8b3cde9 464cc483281cc88de0f7864e731fbbb6 537e7cba4c5071479762dea97f0554a8 7dfc2d47c7da823afd67173776b1558c 8040d081399d3017da7984a08466d9bd 9c94a08b34438a63bf03779be4df3067 aabea04995971696be19701915bfb392 b0dbccfb2e1e7e99553ff26f10cf0968 b9691e245bfcdccac2b8253f5ed0fc59 ba8b452531f6e3fa67ce0af9bba87fa6 c16d429fc384f8f1e610c0f6ce31f9b6 cb3004999e1dfa48a20b5e80ae824311 d7e963d3c8041c1a0e6e12d23c8a1d14 de140d16e7788774d72894041522fcbb e796689efa9cab2b72935d21d1b9a960 e7ac1c6a79d942d2dc35b41e2e09d20d fe812123cfaf96a491cd26a8f3253c38 |
Fibbit (Trojan-Banker.Win32.Fibbit) | 2e0b35dadce64de84bec6986c289699c 33ef6eab370fc4a532b90b68b940aaf3 430c14131d5ad55a65f7b005d1403650 77b734042e37676913f4487450d64fd9 ccdba9a06d5a40f3898cc9d2cd5686ec dcd1c9135c712f7b28f7f033024afa9d |
1c_2_kl (RTM / Trojan-Banker.Win32.RTM) | 463f2edf5affff6a13a8ddc7484e8f21 5991d0a14adfa785ba749d1ce63e8887 6c4a1fe06265c1b05393d7f4ed068612 7b3eb2a36b15af19fbc7eadc092d758c d941b3cee65ab68dbb3c1c60147abd23 |
Fibbit taz module (Trojan-Banker.Win32.Fibbit) | 04a79a975e890f5a76672e84e664edce 201d3c5b8c4c0577e1d8193e9d31c7bd 91b1ad6d1df4f3dc8f3c7f9e04482f7f f334797ef5837de37f8f10d1ce813483 |
RTM (Trojan-Banker.Win32.RTM) | 024c48fb090fcd4ead0ed0e84b6d9143 35771476e041e22b0e66b4ef54eb6265 37bdae04d9501059f6c72c3254e7e4b4 38b6d4bfda7d29bafe74dc3e055e402c 89fb6c0375b8bf812db03fd8ba7c8471 909e3397d45419566e4ac5a423c1ea4a 9e960489db69804b93b469779f0d79e1 a50a2a08c274ad9266694732c338b674 b812d98fd768becab9bed36cc180bdc9 e1ec6ea02073624c0d4a37f881a30420 eeedc097632dcec0a5d814142db82535 |
TwoBee (Trojan-Banker.Win32.TwoBee) | 02f34887b6e446f4a20a89f0bb2a17c4 0e85bd9a4691dd30736935ae3e85e82e 271969eecca1fa5357932a119a3c7c47 43f94d0f1f061fe0814ed752049389b1 60c72b92689609b195b0957bf1ed28ab 645645595da5b4d2aeb63cfa44345131 64feb792c6045d9a4fdb74fa5cba114e eedb09ecd669d1363d98a2bea324619c fb1ce7463549995b54f5aa7c7e299cec |
С&С
hxxp://arnoldfreeteacher.com/data.php
hxxp://xjdhdhsoiuugvzebet.pw/data.php
hxxp://ofcwamcnqclanricwcgl.pw/data.php
hxxp://wemihqipfgtckeilix.pw/data.php
hxxp://moothhits.top/data.php
hxxp://zsulyiyrfzmwmhe.pw/data.php
Троянец-банкер Arnold: TwoBee или не TwoBee