[2014 codeengn conference 11] 박세한 - ie 1day case study ko

39
IE 1Day Case Study www.CodeEngn.com 2014 CodeEngn Conference 11

Upload: gangseok-lee

Post on 12-Jul-2015

315 views

Category:

Education


3 download

TRANSCRIPT

Page 1: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

IE 1Day Case Study

www.CodeEngn.com2014 CodeEngn Conference 11

Page 2: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

목차

* 소개* 배경* CVE-2014-0322* CVE-2014-1776* Q&A

Page 3: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

소개

* 박세한- 취약점 발견- 익스플로잇 개발

* 넷가디언 (Feat. 김재용)* Wiseguyz & B10S

Page 4: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

배경

* MS 패치에서 use-after-free 유형의 취약점을 많이 볼 수 있다.

* use-after-free 취약점은 FSB, BOF 에 비해 최신 소프트웨어서 흔한 취약점이다.

Page 5: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

데모!

Page 6: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

배경

* IE에서 계산기가 실행되었다?! 뭘까?

* 예제를 통한 스텝 by 스텝으로 접근하면복잡한 익스플로잇도 이해가 쉽다.

Page 7: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

배경

* Use After Free (Dangling Pointers)- 프로그램의 서로 다른 부분의 행위가 결합되면서 발생한다.

- 오브젝트를 메모리를 할당 해제하는 코드와 오브젝트에 접근하는 코드!!

Page 8: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

Page 9: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

STEP1minimized POC code

Page 10: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

Page 11: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 12: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

Page 13: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

STEP2filling a freed object's memory

Page 14: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

Page 15: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

00410000 = "A"004100410000 = "AA"

0041004100410000 = "AAA"

Page 16: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 17: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 18: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 19: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

eax=0x41414141

Page 20: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

STEP3memory leak

Page 21: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 22: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 23: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

size unknown data1 data2data3 data4 data5 data6data.. data.. data.. data..data.. data.. data.. data..data1007 data1008 Null Null

Page 24: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

STEP4modify object size

Page 25: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 26: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

0x12120ff1 + 0x10 = 121210010x000003f0

[edx+esi*4+8],eaxeax = valueesi = offsetedx = buffer

Page 27: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 28: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

STEP5EIP Control

Page 29: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 30: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

Main Class Object Leak!Free & New Allocation

V-Table Overwrite

Page 31: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 32: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

Faked V-Table reference

Page 33: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

Page 34: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-0322

Page 35: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

CVE-2014-1776

* CVE-2014-0322 와 유사한 전형적인 UAF 취약점이다.

* CVE-2014-0322 와 매우 유사한 방법으로익스플로잇 코드 작성이 가능하다.

Page 36: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 37: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO
Page 38: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

Workshop

Page 39: [2014 CodeEngn Conference 11] 박세한 - IE 1DAY Case Study KO

Q&A

Questions?https://withgit.com/hdarwin89/codeengn-2014-ie-1day-case-study

www.CodeEngn.com2014 CodeEngn Conference 11