Web Browser 0-day Hunting
 
About training

    
    This lecture covers web browser hacking that has been a serious security threat for a long time.
    Trainees will be able to understand the web browser hacking process in detail by learning various types of
    web browser vulnerabilities and its causes, and analyzing and attacking specific vulnerabilities.
    Once trainees have a basic understanding, the course is aiming to build a foundation for becoming
    a web browser bug hunter in the future through 0-day hunting exercises.

    


Basic information


    •Subject : Web Browser 0-day Hunting
    •Trainer : SeongWon Hyun (sweetchip, Researcher at GrayHash)
        •Microsoft Internet Explorer 11 CMarkupPointer Use-After-Free Vulnerability (CVE-2014-1799, MS14-035)
        •Microsoft Internet Explorer 11 Ptls6::LsFmtText Out-Of-Bounds Read & RCE Vulnerability (CVE-2015-0037, MS15-009)
        •Microsoft Internet Explorer 9 Uninitialized Memory Reference (CVE-2015-1712, MS15-043)
        •Microsoft Internet Explorer 11 CTitleElement Use-After-Free.(CVE-2015-1714, MS15-043)
        •Microsoft Internet Explorer 11 Memory Corruption (CVE-2015-2447, MS15-079)

    •Schedule : 2016 Dec 19(Mon) ~ 21(Wed)
    •Hours : 10am ~ 6pm (8 hours a day including lunch and break time)
    •Location : Bundang-gu JeongJa-dong GrayHash training room [MAP]
    •Maximum seats : 10 (Minimum 5)
    •Price : KRW 1,500,000 (Plus VAT 10%)
    •All lunch and refreshments included
    


Main subjects

    
    •Web browser hacking fundamentals
    •Introduction to past major vulnerabilities
    •Understanding the types of web browser vulnerability
    •Web browser hacking hands on
    •Understand how Web browsers work
    •Web browser Fuzzer writing practice
    •Bypassing the Web browser protection system
    •Other web browser hacking issues

    


Descriptions


    1st day - Web Browser Hacking (Basic)
    

    [OT]

    •Introduction to Training
    •Trainer's motives to begin Web browser hacking research
    


    [Basic explanation]

    •Introduction to basic terms related to web browser hacking
    •Introduction of past major attacks
    •Description of the types of web browser vulnerability
        •Buffer OverFlow
        •Out-Of-Bound Access
        •Use-After-Free
        •Type Confusion
        •Others (race condition, uninitialized memory, integer overflow)
    •How to exploit Web browser vulnerabilities
    •Explore public Web browser vulnerabilities
        •Exploit DB, Chromium, Project Zero, ETC

    [Web browser hacking hands on]
    
    •Windows XP + IE8 vulnerability attack hands on
        •Explain the principle of vulnerability cause and exploitation
        •gflags.exe - Understanding the full page heap, stack trace
        •Understanding Heap Spray
        •Debugging with windbg
        •Writing shellcode and attack code
    •Windows XP + IE8 memory protection technique bypass
        •Understanding memory protection techniques (DEP)
        •ROP (Return Oriented Programming) Attack
    


    2nd day - Web Browser Hacking (0-day Hunting)

    [Explanation of base knowledge]

    •HTML, JavaScript Basics
    •Understanding Web browser structure, DOM structure, Elements
    •Understanding IE object creation and deletion structure, LFH

    [Writing your own fuzzer]

    •Fuzzing principles
        •File creation type Fuzzer
        •Javascript execution type Fuzzer

    •Public Web Browser Fuzzer - How it works
        •Introducing the latest public Fuzzers
        •About Grinder
        •Practice using

     •Classifying Crashes
        •Classifying Crashes
        •Null-pointer dereference crash issue
        •Introducing various crash cases
        •Understanding Reproduce Issue

    •Tips on wrting fuzzers

    •Fuzzer Server (for testcase generation) design
        •Create a basic framework
        •Testcase generation ideas

    •Fuzzer Client design
        •Gflags - PageHeap, Memory Protection Issue

    


    3rd day - Web Browser Hacking (Advanced)

    [Bypassing Web Browser Protection System]

    •IE Memory Protection & Bypass
        •VTGuard Description
        •VTGuard Bypass Method Description
        •Isolated Heap Description
        •Explanation of Isolated Heap Bypass Method
        •Protected Free Description
        •Isolated Heap / Protected Free bypass practice

    •Various Memory Leak Methods
        •Memory Leak Vulnerability Case Study
        •Exploit Using Memory Leak Vulnerability Case Study
        •OOB Read / Write Vulnerability Case Study
        •Third party vulnerability such as Flash Case Study

    •About Sandbox Escape
        •Kernel Vulnerability Exploit Case Study
        •Sandbox Vulnerability Exploit Case Study

    [Case Study]

    •Analyze exploits used in PWN2OWN

    [Bug Bounty Program]

    • Introduction to Bug Bounty
        • HP ZDI reporting methods and procedures
        • MSRC reporting methods and procedures
        • Other Bug Bounty Programs Introduction

    


    * The contents may vary depending on the situation.

Reference book and hands-on devices

    [Books]
    •PPT will be handed out

    [기타]
    •Certificate will be issued to trainees
Trainee's preparation


    •Laptop
    •Software : PowerPoint or Acrobat Reader, Vmware
    •Prerequisites : Basic assembly
    


Photos from previous trainings

Reviews

    * 김선우IE zeroday를 지속적으로 찾아왔던 깊은 내공의 강사님으로부터 노하우를 많이 배울 수 있었습니다. fuzzer로 찾은 crash가 나는 html로 부터 시작하여 ROP gadget 을 도출하고 ROP chain을 구성하여 외부 계산기 프로그램을 띄우는 것까지 실습을 하였고 DEP/ASLR 및 기타 메모리 보호기법이 사용되는 경우에도 exploit관련 내용을 배우는 유익한 시간이었습니다.
    * 김**국내 어디에서도 들을수 없는 강의라고 생각됩니다. 강사님은 교육 커리큘럼대로 충실히 강의 해주셨고, 교육생들에게 이해시켜 주기위해 노력한것 같습니다. 다만 아쉬점은 강의실에 있던 다과는 다양했으면 좋겠습니다. 3일간 같은 과자만 먹었더니 지겨웠습니다. ㅋㅋㅋㅋ
    * 신승민정말 황금연휴에 찾아가서 교육을 들은 보람이 있는 강의였습니다. 커리큘럼에 있는 내용을 정말 하나도 빠짐없이 강의해주시고 기본적인 개념 설명부터 해주셔서 저같이 잘 모르는 사람도 이해할 수 있었습니다. 물론 개념적으로... 이 강의를 완벽하게 이해하려면 리버싱이나 기본적인 취약점 원리에 대한 이해와 실습이 선행되면 좋을 것 같습니다. 3일간 수고하셨고 앞으로도 좋은 강의 계속 부탁드립니다.
    * 장**트레이닝 시작 전 이해를 못할 수 있는 상황 때문에 걱정을 했었으나, 결과적으로 3일 동안 강의를 들으면서 이해가 되지 않은 부분이 없었습니다. 강의를 진행하시면서, 이해가 되지 않은 부분을 질문하면 바로바로 친절하게 답변해주시고, 강의 내용처럼 정말 쉽게 이해시켜 주셨습니다. 또, 흥미로운 강의 내용뿐만 아니라, 강사님께서 브라우저 취약점을 찾으시면서 겪으신 경험도 알려주셨는데, 브라우저 버그 헌팅에 대해 알아가는 데에 정말 큰 도움이 되었고, 엄청 엄청 재밌었습니다.ㅋㅋㅋ 앞으로도 좋은 강의 부탁드려요!!
    * 이**버그 헌팅 초보인데, 많은 리버싱 팁과 노하우를 전해들을 수 있어서 좋았습니다. 브라우저 제로데이를 찾는 데 있어서 시야를 넓히는데 많은 도움이 된 것 같습니다. 질문도 많이 했는데 친절하게 답변해주셔서 감사합니다. 다음에 또 듣고 싶어지는 강의였습니다.
    * 박성현웹브라우저 버그헌팅에 관심있는 사람이라면 매우 유익한 강의가 될 것 같습니다. 보호기법이 적용되지 않은 기초적인 브라우저 해킹 기법부터, 방어기법 우회까지 모두 배울 수 있었습니다. 또 앞으로 웹브라우저 버그헌팅을 위해서 알아야할 여러가지 퍼징 기법들이나 공격방법 및 강사님의 노하우 등을 알 수 있는 유익한 시간이 되었습니다. 3일동안의 시간을 통해 앞으로 제가 공부해나가야할 방향등을 찾을 수 있다는 점이 제일 좋았습니다!
    * 이**교육듣기전에 버그 헌팅 개론에 대해서만 알았었습니다만 크래쉬부터 직접 계산기까지 뛰우는 실습을 통해 어떤식으로 Exploit하는지를 조금이나마나 이해가 되었고, 버그 헌팅을 어떻게 진행하고, 신고하는 절차에 대해 자세하게 배울 수 있었던 시간이였습니다. 앞으로 이런 강사님의 노하우를 듣는 수업이 많았으면 좋겠습니다.
    * 이**교육듣기전에 버그 헌팅 개론에 대해서만 알았었습니다만 크래쉬부터 직접 계산기까지 뛰우는 실습을 통해 어떤식으로 Exploit하는지를 조금이나마나 이해가 되었고, 버그 헌팅을 어떻게 진행하고, 신고하는 절차에 대해 자세하게 배울 수 있었던 시간이였습니다. 앞으로 이런 강사님의 노하우를 듣는 수업이 많았으면 좋겠습니다.
    * 오**단순한 IE Browser 버그헌팅 뿐만 아니라, 윈도우 프로그램 Exploit의 과정을 전반적으로 알 수 있었습니다.
또한 IE에서 발생하는 Heap관련 취약점을 분석하는 과정과 순서 및 디버깅 방법에 대해서 배울 수 있었습니다.
버그헌팅의 실질적인 절차와, Fuzzing 그리고 Mitigation Bypass까지 총체적으로 배울 수 있는 좋은 강의였습니다.
    * ㅇㅇTt
    * sdfssdf
    * **숙Exploit에 대하여 초급 부터 중상급까지 수강가능한 커리큘럼으로 구성되어져 있어 만족스럽게 수강하였습니다. 강사님의 친절하고 깊이 있는 설명으로 exploit 실습까지 경험 할 수 있는 좋은 기회였든거 같습니다. IE뿐만 아니라 다른 주제로 또 다른 강의를 기대해봅니다.
    * *지*브라우저 버그 헌팅이 굉장히 매력적이었습니다. 제로데이 취약점이 있는 IE 버전이나 크롬에서 퍼징을 통해 취약점을 찾고 분석한 다는 것이 매우 흥미로웠습니다. 사전 공부를 더 철저히 하고 덤벼 들었다면 3일을 30일처럼 활용할 수 있었을 텐데 저의 개인적인 역량이 아쉬울 뿐이었네요.
열정적인 강사님 수업 너무 감사했습니다.
    * 송재훈취약점과 메모리 보호기법 우회등 여러가지 최신정보 들을 잘들었습니다. 후에 IE외에도 여러 브라우저 취약점 분석 기회가 있었으면 더 좋겠습니다. 감사합니다.
  * Reviewer:       * Org:       * E-Mail:
   (Name or nickname please. Only this and review will be public.)