суббота, 22 января 2011 г.

A Guide to Kernel Exploitation

читаю например давеча subj и ржу в голос:
It’s interesting to note that although Apple stopped exporting the sysent table due to rootkit use, it never stopped exporting the symbols for the other system call tables available in the kernel.This means tables such as mach_trap_table are still easy to access from a kernel extension.
Вообще 5ая глава про mac osx дичайше доставляет. Рекомендуется к прочтению абсолютно всем макодрочерам, бгг
Что еще более забавно - полная изоляция user mode address space от kernel mode (и таким образом например исключение возможности подсунуть потоку в kernel mode полностью контролируемый из user mode буфер) совершенно не помогла стать секурнее этим "сельскохозяйственным работникам" (c) forrest gump

Авторы местами тоже самопроизвольно жгут - вот например пойми их - это очередной мелкий стеб или у них реально проблемы с арифметикой:
our sample exploit simply performs 10 allocations to make sure free_list is clean:
int i;
for (i=0; i<=10; i++)
   ioctl(fd,ADDBUFFER,&ds);
или вот пример используемого shellcode:
push ebp
mov ebp, esp
mov ecx, [ebp+0x8]
mov ecx, [ecx+0x64]
xor eax, eax
mov [ecx+0xc], eax
leave
retn

размером 16 байт. вот зачем использовать стандартный пролог и эпилог ? вполне можно в 13 байт уложиться например так:

mov ecx, [esp+4]
mov ecx, [ecx+0x64]
xor eax, eax
mov [ecx+0xc], eax
retn

причем в коде нет ни одного нулевого байта, так что можно и исполнимый файлик назвать ЛL$♦ЛId1└ЙA♀├, бгг

Последняя (8ая) глава вообще угар-содомия. Я причем не поленился, посмотрел на описываемый файл net/sctp/sm_statefuns.c - список копирайтов в начале файла жжот неимоверно:
* (C) Copyright IBM Corp. 2001, 2004
 * Copyright (c) 1999-2000 Cisco, Inc.
 * Copyright (c) 1999-2001 Motorola, Inc.
 * Copyright (c) 2001-2002 Intel Corp.
 * Copyright (c) 2002      Nokia Corp.
бгг

Комментариев нет:

Отправить комментарий