Троянец, заражающий компьютеры под управлением ОС Windows, предназначен для добычи (майнинга) криптовалюты Monero (XMR) и установки BackDoor.Farfli.96. Распространяется троянцем-загрузчиком Trojan.DownLoader24.64313. Расшифровывает и загружает в память хранящуюся в нем библиотеку.
Расшифрованные данные имеют следующую структуру:
struct st_module { char name[4]; char ver[4]; _DWORD size; _DWORD unkd; _DWORD hash_offset; _BYTE module[]; _BYTE signature[32]; _BYTE unkb[12]; };
Троянец ищет в библиотеке экспорт «MinerdDll» и передает на него управление. В качестве параметра передается строка и ее длина:
TTTTTTTTTTTTdU44U1d7Q135/I8mevCgfmeNUJwfnL8LnEJuNy4KFDDUi8Dk9Ut1DguMO8Hs9Yt21ZHMCIkCioHzZS62mPS7G7prmi0gwHwPqCDsRSgpmBpYr2Dpme7Pts8ZRnz+qfi+wLewYUNmcD7xIUhqCpY+ZlxSnFXBYTWux+gaZSo8sYsgiWQxIh8dQaQ5wOAuTVRzCApEEdfSdyR5jwmzhJQF7POmLxEMJaL/oVH3t5UCBdgxLHrvAqSq1DAsCmhgAaMoJ5kABaEW11K7Z7Z6uBfBQsXmBJZcFZAaUfCeWGBCRboStENQfha1ebFcFHV9o093Kt3LJRs/b0kvAXNOB+KDQNvqzokKEjBbxfZwUauIOx9jzLsYvFbQHJZ2th8JWPwFCadwydiMKb18olnK+3oACGTEf7tgAS2zOz3dWRdDbYpSPYm5ZhbN+ZsoarMFrVIEyXhScEAU5iHZ1tHp5R1pLmB9QX29iNrr98uj0HiFD+Ht4MZhIZPQhSzgSHzshixW6ltP4KJI0Ft3Q4eThGLGbP6oloyxrD6nIcFVzJrFRRRi0J6k7Z/oWOXq9T0+K5UpHo72Pp3sMEdYlwEtBqUL7nitEQqD7s7jG4/PqCWOPTlj6QgCwlLHV67x5S5jah7+jtb+vrgq5xG/a4fi3EiJHJb/0jk/n7AYlc3gv0AZYglADIVKH3R3nLUpNxqm70JJVjuhR3MdwysmvvPoxNOKk0mvdPYwT9LOtNSoyJwNST3/ski6p5EnIyyIqvWszZcJQMYJ1Y53VQRD4ZkcJxFOnb/mnLn2bIDfWGWXe6eDiqRw9MCHsoHDS0MolA8C2i/CdMBx2LyuzbUDthVF
Модуль проверяет переданную ему в качестве параметра длину строки и, если она составляет менее 10 символов, завершает свою работу. Расшифровывает данные конфцигурации. Пример конфигурации:
0000000000: 76 6D 69 63 68 65 61 72 │ 74 00 48 79 70 65 72 2D vmicheart Hyper- 0000000010: 56 20 48 65 61 72 74 62 │ 65 61 74 00 CD A8 B9 FD V Heartbeat НЁ№э 0000000020: B6 A8 C6 DA B1 A8 B8 E6 │ BC EC B2 E2 D0 C5 BA C5 ¶ЁЖЪ+Ёёж?м?вРЕєЕ 0000000030: C0 B4 BC E0 CA D3 B4 CB │ D0 E9 C4 E2 BB FA B5 C4 А??аКУ?ЛРйДв>ъчД 0000000040: D7 B4 CC AC A1 A3 00 7A │ 75 67 71 72 76 6A 77 00 Ч?М┐Ў? zugqrvjw 0000000050: 25 53 79 73 74 65 6D 52 │ 6F 6F 74 25 5C 53 70 65 %SystemRoot%\Spe 0000000060: 65 63 68 5C 73 76 63 68 │ 6F 73 74 2E 65 78 65 00 ech\svchost.exe 0000000070: 33 36 00 68 74 74 70 3A │ 2F 2F 62 74 63 2E 62 74 36 http://btc.** 0000000080: 67 69 72 6C 2E 63 6F 6D │ 2E 63 6E 3A 35 33 31 37 ****.com.cn:5317 0000000090: 2F 62 74 63 2E 6A 70 67 │ 00 37 30 32 33 31 39 30 /btc.jpg 7023190 00000000A0: 00 2F 73 45 64 79 33 5A │ 31 39 42 35 78 4D 50 68 /sEdy3Z19B5xMPh 00000000B0: 55 64 56 79 39 41 42 70 │ 46 31 2F 4A 4D 6B 51 67 UdVy9ABpF1/JMkQg 00000000C0: 67 34 56 38 44 31 6B 6B │ 54 56 7A 56 70 4F 30 36 g4V8D1kkTVzVpO06 00000000D0: 78 4F 61 61 55 79 38 63 │ 71 74 5A 79 53 6A 51 4D xOaaUy8cqtZySjQM 00000000E0: 4A 6C 52 30 68 4B 70 39 │ 31 57 34 5A 66 79 69 73 JlR0hKp91W4Zfyis 00000000F0: 64 77 35 71 53 74 45 2B │ 46 4B 32 75 34 69 6E 6C dw5qStE+FK2u4inl 0000000100: 65 30 36 5A 4A 7A 74 54 │ 76 50 39 4B 62 66 69 59 e06ZJztTvP9KbfiY 0000000110: 67 2B 37 47 57 68 65 35 │ 59 53 35 47 6C 57 66 6D g+7GWhe5YS5GlWfm 0000000120: 77 64 6A 4D 4C 44 52 7A │ 64 52 53 46 54 68 53 30 wdjMLDRzdRSFThS0 0000000130: 30 75 4B 36 39 59 6D 4F │ 53 35 64 38 35 70 48 44 0uK69YmOS5d85pHD 0000000140: 30 67 42 51 68 66 51 69 │ 4E 6A 52 70 44 50 4A 38 0gBQhfQiNjRpDPJ8 0000000150: 33 36 47 2B 52 76 55 77 │ 4E 4D 48 72 73 4A 63 53 36G+RvUwNMHrsJcS 0000000160: 5A 6A 32 63 70 30 54 31 │ 42 79 42 57 4D 65 56 6E Zj2cp0T1ByBWMeVn 0000000170: 4F 35 39 77 74 55 6A 58 │ 72 2F 50 33 56 4F 51 4D O59wtUjXr/P3VOQM 0000000180: 48 39 42 78 48 6A 31 6E │ 66 35 76 6B 64 59 4A 30 H9BxHj1nf5vkdYJ0 0000000190: 52 67 5A 78 39 4A 6E 65 │ 44 62 57 46 71 56 77 42 RgZx9JneDbWFqVwB 00000001A0: 45 33 38 57 67 76 6F 56 │ 50 61 6E 32 34 51 50 59 E38WgvoVPan24QPY 00000001B0: 77 63 72 32 74 61 63 6F │ 36 51 62 6F 70 49 43 48 wcr2taco6QbopICH 00000001C0: 61 55 30 33 35 49 32 68 │ 6B 47 4E 4D 51 66 7A 33 aU035I2hkGNMQfz3 00000001D0: 54 56 39 75 61 4D 2F 76 │ 4F 4A 58 52 6C 46 4E 56 TV9uaM/vOJXRlFNV 00000001E0: 43 55 53 63 4D 66 4E 4D │ 48 43 62 57 72 6E 31 68 CUScMfNMHCbWrn1h 00000001F0: 52 71 4D 50 37 73 71 4E │ 59 70 4B 42 79 59 38 2B RqMP7sqNYpKByY8+ 0000000200: 56 71 4D 71 68 37 52 54 │ 6C 73 79 50 4D 59 74 42 VqMqh7RTlsyPMYtB 0000000210: 42 4D 32 6E 45 6D 72 51 │ 34 41 4F 4E 38 52 6C 43 BM2nEmrQ4AON8RlC 0000000220: 76 2B 4D 41 79 63 47 66 │ 68 74 63 49 77 41 31 2F v+MAycGfhtcIwA1/ 0000000230: 41 4C 68 49 77 74 35 5A │ 46 78 41 54 6B 6E 4D 48 ALhIwt5ZFxATknMH 0000000240: 4D 50 35 48 33 67 4E 53 │ 2B 45 4B 6F 36 64 57 4D MP5H3gNS+EKo6dWM 0000000250: 62 77 77 72 36 45 35 56 │ 6B 36 44 31 2B 55 30 65 bwwr6E5Vk6D1+U0e 0000000260: 38 73 71 42 46 35 78 52 │ 65 33 72 4D 56 4D 6E 6E 8sqBF5xRe3rMVMnn 0000000270: 76 66 55 53 46 5A 41 3D │ 3D 00 34 00 vfUSFZA== 4
где:
Сразу после старта Trojan.BtcMine.1259 проверяет, не запущена ли на инфицированном компьютере его копия и, если таковая обнаружена, завершает свою работу. Обращаясь к ключу системного реестра HKLM\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\, троянец получает количество ядер процессора зараженной машины. Если оно больше или равно числу потоков, указанных в конфигурации, запускается отдельный поток, в котором расшифровывается хранящаяся в теле троянца библиотека. Эту библиотеку троянец загружает в память и вызывает экспорт «DllFuUpgradrs». Ему передается указатель на буфер, в который была скопирована библиотека, размер буфера, блок данных base64 из конфигурации и строка «DhlVipVersfs». Библиотека представляет собой модифицированную версию системы удаленного администрирования с открытым исходным кодом, известной под наименованием Gh0st RAT (детектируется Антивирусом Dr.Web под именем BackDoor.Farfli.96).
Для установки собственного обновления троянец загружает в память данные, полученные с сайта, URL которого указан в конфигурации. Пример конфигурации:
0000000000: 41 01 00 00 00 56 39 2E │ 32 00 68 74 74 70 3A 2F A☺ V9.2 http:/ 0000000010: 2F 62 74 63 2E 62 74 67 │ 69 72 6C 2E 63 6F 6D 2E /****.com. 0000000020: 63 6E 3A 35 33 31 37 2F │ 62 74 63 2E 64 6C 6C 00 cn:5317/btc.dll 0000000030: 78 77 6A 61 4E 70 35 72 │ 70 75 70 44 2B 4D 4F 45 xwjaNp5rpupD+MOE 0000000040: 63 4A 63 48 4A 44 78 68 │ 30 6D 2B 2B 37 6B 36 43 cJcHJDxh0m++7k6C 0000000050: 53 34 70 49 64 6A 42 6C │ 7A 38 4B 62 4A 53 79 68 S4pIdjBlz8KbJSyh 0000000060: 4F 78 41 6B 69 68 48 6E │ 35 39 63 4B 42 68 32 56 OxAkihHn59cKBh2V 0000000070: 49 5A 31 79 57 4B 65 48 │ 76 6F 51 52 6A 46 48 57 IZ1yWKeHvoQRjFHW 0000000080: 36 4C 35 62 71 55 44 6F │ 4D 46 4B 41 35 65 68 34 6L5bqUDoMFKA5eh4 0000000090: 33 6C 6A 6C 78 31 35 50 │ 35 79 79 68 37 34 72 57 3ljlx15P5yyh74rW 00000000A0: 61 42 38 5A 52 48 64 5A │ 2B 49 36 72 77 30 66 76 aB8ZRHdZ+I6rw0fv 00000000B0: 55 51 50 35 71 30 77 6D │ 63 70 5A 33 48 77 4A 39 UQP5q0wmcpZ3HwJ9 00000000C0: 2B 51 34 68 65 45 37 70 │ 4A 57 4F 68 2B 63 31 37 +Q4heE7pJWOh+c17 00000000D0: 64 41 6E 38 44 46 41 52 │ 57 39 44 4C 73 6E 34 54 dAn8DFARW9DLsn4T 00000000E0: 50 2F 59 50 55 79 33 67 │ 76 6B 4D 63 4C 2F 57 32 P/YPUy3gvkMcL/W2 00000000F0: 6F 61 51 41 42 67 47 6B │ 34 6C 6D 52 69 48 65 50 oaQABgGk4lmRiHeP 0000000100: 36 4B 6C 69 32 4D 41 5A │ 4E 70 6C 33 4B 56 58 43 6Kli2MAZNpl3KVXC 0000000110: 72 70 48 2B 69 71 4A 2B │ 41 43 78 76 62 47 59 70 rpH+iqJ+ACxvbGYp 0000000120: 71 54 46 6D 30 54 6B 6B │ 56 46 69 71 77 37 35 77 qTFm0TkkVFiqw75w 0000000130: 74 66 34 58 2F 46 54 5A │ 46 44 6D 56 48 74 6B 3D tf4X/FTZFDmVHtk= 0000000140: 00 │
где:
По указанной ссылке троянец скачивает файл библиотеки, расшифровывает его, загружает в память и вызывает экспорты. В первую очередь вызывается экспорт «Versions», результат сравнивается с версией, указанной в конфигурации на обновление. Если версия у загруженной библиотеки больше или равна текущей, вызывается экспорт KillMinerd_Data, которому передается пустой буфер. В отдельном потоке с интервалом в 1 секунду троянец завершает процессы по имеющемуся у него списку. Список формируется подгруженной библиотекой в буфере, переданном в KillMinerd_Data.
Для завершения работы процессов троянец перебирает их с использованием функций Process32First/Process32Next и с помощью функции NtQueryInformationProcess/NtReadVirtualMemory читает из PEB аргументы, с которыми был запущен процесс. При обнаружении строки из списка в строке аргументов процесса этот процесс завершается, а исполняемый файл процесса удаляется. Далее троянец запускает экспорт Dll_Walcom2 подгруженной библиотеки.
Эта библиотека имеет три экспорта:
1 .10003080 Dll_Walcom2 2 .10003250 KillMinerd_Data 3 .10003240 Versions
Возвращает строку с текущей версией троянца – в исследованном образце она включает значение «V9.2».
Заполняет полученный буфер строками:
Все строки дополняются нулями до длины 128 байт.
Экспорт принимает 4 аргумента:
Расшифрованная конфигурация имеет следующий вид:
0000000000: 2D 61 20 63 72 79 70 74 │ 6F 6E 69 67 68 74 20 2D -a cryptonight - 0000000010: 6F 20 73 74 72 61 74 75 │ 6D 2B 74 63 70 3A 2F 2F o stratum+tcp:// 0000000020: 78 6D 72 2D 75 73 61 2E │ 64 77 61 72 66 70 6F 6F xmr-usa.******** 0000000030: 6C 2E 63 6F 6D 3A 38 31 │ 30 30 20 2D 75 20 34 34 *.com:8100 -u 44 0000000040: 6B 5A 55 4D 35 31 4B 67 │ 51 46 64 36 34 74 67 54 kZUM51KgQFd64tgT 0000000050: 42 51 48 43 35 46 53 66 │ 53 6D 6F 39 67 6A 65 4D BQHC5FSfSmo9gjeM 0000000060: 4C 70 37 43 42 31 59 46 │ 36 66 53 33 50 57 5A 61 Lp7CB1YF6fS3PWZa 0000000070: 54 4D 36 65 75 35 52 55 │ 48 79 35 32 6B 43 76 47 TM6eu5RUHy52kCvG 0000000080: 4D 7A 65 70 36 6E 4C 68 │ 7A 44 45 63 57 79 36 45 Mzep6nLhzDEcWy6E 0000000090: 79 35 42 7A 4D 44 4E 42 │ 6F 4B 67 75 7A 20 2D 70 y5BzMDNBoKguz -p 00000000A0: 20 78 00 38 30 00 32 34 │ 00 25 53 79 73 74 65 6D x 80 24 %System 00000000B0: 52 6F 6F 74 25 5C 53 70 │ 65 65 63 68 5C 00 63 73 Root%\Speech\ cs 00000000C0: 72 73 73 2E 65 78 65 00 │ 33 35 00 rss.exe 35
где:
Троянец запускает отдельный поток, в котором отслеживает запущенные процессы. Если обнаруживает запущенный процесс "\WINDOWS\SYSTEM32\TASKMGR.EXE" или "\360\360SAFE\NETMON\360TASKMGR.EXE", то завершает работу процесса своего майнера. По указанному в конфигурации пути сохраняет майнер и библиотеку msvcr120.dll. При этом троянец содержит как 32-, так и 64-разрядную версию майнера и библиотеки. Соответствующая реализация майнера используется на зараженном компьютере в зависимости от разрядности операционной системы. При запуске майнера проверяет третий параметр функции Dll_Walcom2. Если он равен 0 (SW_HIDE), тогда заголовок окна майнера будет иметь вид «C:\\Windows\\System32\\mstsc.exe», а если SW_SHOW, тогда заголовок окна будет содержать версию и разрядность троянца.
слышу о таком впервые.
P.s. Как же зай… ла тупая форма для комментариев.
ну не стоит так явно недооценивать собеседника!
И про uTorrent я знаю :)
Я впервые слышу, чтобы любой софт для майнинга воспринимался системой в качестве трояна — я об этом!
да, Акронис — это гуд!
Acronis VSS Doctor или Disk Director?
и зачем городить столько лишнего? Акронис решает все проблемы.Мне хватает