21
hooking & visualization Jaeyong Kim (BlueH4G at gmail dot com) 2013 CodeEngn Conference 09 www.CodeEngn.com 2013 CodeEngn Conference 09

[2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

Embed Size (px)

DESCRIPTION

2013 CodeEngn Conference 09 리버서들이나 어플리케이션 분석가 들에게 hooking이란 뗄레야 뗄수가 없는 존재이다. 이러한 후킹을 위해 detours 등 매우 많은 라이브러리도 나와 있지만, 많은 수의 어플리케이션을 분석하거나, 심플하게 내부 플로우만 살펴보기에는 생각보다 손이 많이가는게 사실이다. 이를 좀 더 손쉽고 심플하도록 구현해 보고, visualization 을 도입하여 좀더 직관적으로 분석할 수 있도록 해 볼 것이다. http://codeengn.com/conference/09 http://codeengn.com/conference/archive

Citation preview

Page 1: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

hooking�&�visualization

Jaeyong�Kim�(BlueH4G�at�gmail�dot�com)2013�CodeEngn�Conference 09

www.CodeEngn.com2013 CodeEngn Conference 09

Page 2: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

AGENDA

1.�Introduce

2.�about�this�presentation

3.�why�did�i�do�it?

4.�what�is�hooking?

5.�what�to�do�with�hooking?

6.�Demo

7.�QnA

Page 3: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

김재용 26세 (xx�염색체)

이글루시큐리티 &�B10S�&�Hackerschool�WG

http://wargame.kr

blueh4g�at�gmail�dotcom

who�is�me?

Page 4: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

about�this�presentation

Page 5: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

why�did�i�do�it?

Page 6: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

why�did�i�do�it?

pydbg 를이용한커스텀퍼저

Carnegie Mellon 의 FOE

기타등등….

Page 7: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

why�did�i�do�it?

Page 8: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

why�did�i�do�it?

EIP

41414141

?????

did�you�dream�about�dragon?

Page 9: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

why�did�i�do�it?

vtable!

OLE Structure!

Page 10: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

why�did�i�do�it?

Page 11: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

what�is�hooking?

I�want�to�know�flow�application�flow!

Basic�block?

or…�other?

Page 12: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

what�is�hooking?

WinAPI�- Windows�Application�Programming�

Interface윈도우에서 사용되는모든 어플리케이션은 winapi를 사용한다.

모든WinAPI에 후킹을걸어두고 flow�를 tracing�한다면?

Page 13: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

what�to�do�with�hooking?

What�is�hooking?

Page 14: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

what�to�do�with�hooking?

APPLICATION

WinAPI

APPLICATION

WinAPI

Custom Func

Page 15: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

so,�what?

1.�Application�Flow�Analysis

2.�WinAPI�Parameter,�return�value�monitoring

3.�Crash�&�Original�sample�diffing�(in�App)

4.�Call�Stack�log�of�WinAPI

5.�memcpy,�heapalloc�etc..�API�tagging

6.�invalid�param�&�invalid�ret�tagging

7.�basic�rule�is�readability

Page 16: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

hooking�tools

Page 17: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

hooking�tools

WinAPIOverride32/64

- Opensource�(Thx!)

- jacquelin.potier.free.fr/winapioverride32/

API�Monitor�v2�32/64

- not�opensource�(but�free)

- www.rohitab.com

Page 18: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

Demo

Demo

Page 19: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

another�episode..

1.�RtlWriteDecodedUcsDataIntoSmartLBlobUcsWritingContext

2.�full�GUI�interface?

Page 20: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

QnA

Question

&

Answer

…?

질문은 없는걸로...

Page 21: [2013 CodeEngn Conference 09] BlueH4G - hooking and visualization

thx

이후에도궁금한점이있으시면메일보내주세요 :D

blueh4g�[at]�gmail�{dot}�com

www.CodeEngn.com2013 CodeEngn Conference 09