Patch de Emergencia

14
Patch de Emergência Wanderley Caloni 2012-07

Transcript of Patch de Emergencia

Page 1: Patch de Emergencia

Patch de Emergência

Wanderley Caloni

2012-07

Page 2: Patch de Emergencia

wanderley at caloni at low level

• Programador entusiasta (Basic YES!): 1 ano• C/C++ Maniac: 2 anos• Segurança da Informação: 10 anos• Mercado Financeiro: 1 ano

Page 3: Patch de Emergencia

wanderley at caloni at low level

Page 4: Patch de Emergencia

CriticalService.exe

EvenOdd.dll

DoProcess IsEven

Espaço de memória do processo

Patch de Emergência

Page 5: Patch de Emergencia

IsEven

mov ebx, espadd esp

mov eax, dword ptr[ebx]

ret

IsEven

10010010010101010010101010001010101101001010011010100010100101011

windbg -pvr -pn CriticalService.exe

noninVasivelyResume threads

Patch de Emergência

Page 6: Patch de Emergencia

IsEven

mov ebx, espadd esp+8

mov eax, dword ptr[ebx+8]

ret

IsEven

mov ebx, espadd esp

mov eax, dword ptr[ebx]

ret

Patch de Emergência

WinDbg

a [address]

2.0!!

Page 7: Patch de Emergencia

CriticalService.exe EvenOdd.dll

DoProcess IsEven

Espaço de memória do processo

EvenOdd3.dll

IsEven

Patch de Emergência

Page 8: Patch de Emergencia

Patch de Emergência

Page 9: Patch de Emergencia

CriticalService.exe

LoadLibrary

Espaço de memória CS.exe

EvenOdd3.dll

RmThread.exe

CreateRemoteThread

Espaço de memória RmT.exe

Patch de Emergência 3.0!!

Page 10: Patch de Emergencia

Patch de Emergência

Escrita de assembly live

Carregamento dinâmico de DLLs

Jumps incondicionais

Técnicas automatizadas

Técnicas documentadas

Técnicas testadas

XGH: eXtreme Go Horse Programming

KMJ: Keep My Job

Page 11: Patch de Emergencia

EvenOdd.dll

IsEvenEvenOdd2.dll

IsEvenEvenOdd3.dll

IsEven

...

Patch de Emergência 4.0!!

Page 12: Patch de Emergencia

EvenOdd.dll

100100100100100101

100100100100100101

100100100100100101

EvenOdd.pdb

IsEven(int)

(IsEvenUpdate*)(int)

bool IsEvenUpdateReady

DbgHelp.lib

Patch de Emergência 5.0!!

ULTIMATE EDITION!!!

Page 13: Patch de Emergencia

O que aprendemos?

Page 14: Patch de Emergencia

Dúvidas? Eu tenho várias.

[email protected]

twitter

saite

e-mail