Grayhash Training - 트레이닝전체목록 - 강의명교육일강사교육비주기 Car Hacking Training - 몽이와함께하는자동차해킹 3 일정구홍 200 만원 1~2 개월 해커를위한임베디드장비개발실습 3 일이원, 정구홍 200 만원 1~2 개월 Windows Reverse Engineering 3 일강흥수 200 만원 1~2 개월 Web Browser 0-day Hunting 3 일현성원 200 만원 2~3 개월 Hardware(Embedded, IoT) Hacking 3 일정구홍 200 만원 1~2 개월 공유기해킹실습 (ARM Exploitation) 2 일정구홍 150 만원 2~3 개월 강의시간 : 매일오전 10시 ~ 오후 6시 강의장소 : 경기성남시분당구정자동정자역프라자빌딩 GrayHash 트레이닝룸 (5층) 수강정원 : 10명 ( 최소인원 5명 ) 중식및다과제공 개인노트북지참필수 교육비 VAT 별도
Car Hacking Training - 몽이와함께하는자동차해킹 - 강의소개 - 최근스마트카, 커넥티드카, 자율주행차와같은키워드들과함께차량에대한관심이나날이증가되고있습니다. 하지만이처럼자동차의기능이확장되고특히인터넷과주변기기에연결될수록해커로부터공격을당할수있는접점은더욱다양해지며, 자동차에대한해킹공격은자칫인명사고로도이어질수있기때문에보안에대한이해가더욱중요한분야라고할수있습니다. 본트레이닝에선자동차에대한다양한공격벡터들을살펴보고, 이들중특히 CANbus, Bluetooth, USB, 그리고 SMS 공격방식에대하여실습들과함께자세히배워봅니다. 저희 GrayHash는 2015년부터 10종이상의다양한차량용장비들에대한보안컨설팅을수행해왔으며, 이경험을기반으로자동차보안에대한 Insight를넓혀드립니다. - 주요교육내용 - CANbus Hacking Bluetooth based Car Hacking USB based Car Hacking SMS based Car Hacking 주요자동차해킹사례분석 - 상세교육내용 - [ 1일차 - CANbus Hacking ] CAN(Controller Area Network) 통신의이해 ECU(Electronic control unit) 의이해 CANbus lines 연결하기실습 CANbus Hacking Tool 개발실습 CAN Message Sniffing 실습 CAN Message 송신 (Injection) 실습 CAN Message 포맷의구조이해 CANbus Controller와 Transceiver의이해 CAN Network 종류들의이해
실제차량의 OBD-II 포트와연결하기실습 주요자동차해킹사례및취약점발생원리분석 - 2010 - Experimental Security Analysis of a Modern Automobile - 2011 - Comprehensive Experimental Analyses of Automotive Attack Surfaces - 2013 - Adventures in Automotive Networks and Control Units - 2014 - A Survey of Remote Automotive Attack Surfaces - 2015 - Remote Exploitation of an Unaltered Passenger Vehicle - 2015 - How to Hack a Tesla Model S - 2015 - Broadcasting Your Attack: Security Testing DAB Radio In Cars - 2015 - Drive it like you Hacked it: New Attacks and Tools to Wireles - 2016 - Advanced CAN injection technique for vehicle networks - 2016 - Car Hacking Research: Remote Attack Tesla Motors - 2017 - The CIA may be hacking cars 자동차 Attack Vector의이해 - Hardware Vulnerabilities Analysis (UART/JTAG/OBD-II) - Audio/Video/Navigation Device Vulnerabilities Analysis - Smart Device Vulnerabilities Analysis - Telematics Device Vulnerabilities Analysis - ETC : Web Browser, Smartphone APP, Radio Data System, Cloud Server [ 2일차 - Infotainment System Hacking ] Bluetooth based Car Hacking - Bluetooth 기초 (master/slave, piconet, bluetooth stack) - Bluetooth Packet 송수신실습 - Bluetooth Packet sniffing 실습 - Bluetooth Packet의포맷분석 - Bluetooth Stack 분석 (Radio, LC, LMP, HCI, L2CAP, RFCOMM, SDP, OBEX) - Bluetooth Profile의이해 - Bluetooth Profile Scanning 실습 - 차량용디바이스의주요 Profiles - 차량의주요 Bluetooth 관련기능들 - 차량의 Bluetooth Packet Sniffing 및분석 - 차량 Bluetooth의주요 Attack Vectors - Bluetooth Packet 변조실습 - Bluetooth Packet Fuzzing USB based Car Hacking - 차량 USB의주요 Attack Vectors - USB(Universal Serial Bus) 기초 - Beagle USB 480을이용한 USB Packet Sniffing
- 주요 USB Packets 분석 (Device, Configuration, Interface, Endpoint, String Descriptor) - USB Packet의세부구조분석 (Transfer, Transaction, Token, PID, Address, Endpoint, CRC) - USB Packet Fuzzing 환경구축 - OrangePi를이용한 USB fuzzer 개발 - Linux USB Gadget의이해 - USB Stack Fuzzing - USB based OS File system Fuzzing - USB based Multi-media file Fuzzing [ 3일차 - Telematics System Hacking ] TCU(Telematics Control Unit) 의이해 SMS PDU 포맷의이해 PDU 포맷분석실습 PDU 데이터를이용한 SMS 전송실습 Modem device를이용한 SMS 전송실습 보내는 SMS와받은 SMS의 PDU 필드값비교 MMS(Multimedia Messaging Service) 전송하기 PDU-Header 및 TP-UDHI 필드의이해 IEI(Identity Element Identifie) 와 Application Port의이해 SMS Hacking 사례분석 : iphone, Galaxy S5 SMS Fuzzing 환경구축 Android telephony stack의이해 SMS 수신시의데이터흐름경로분석및 Fuzzing 지점선정 SMS Fuzzer 개발방법의이해 Fake BTS를이용한 SMS attack (USRP + OpenBTS)
해커를위한임베디드장비개발실습 - 강의소개 - 스마트플랫폼, 사무기기, 가전제품등의다양한임베디드기기들이대중화되고, 본격적인사물인터넷 (IoT) 의시대가도래함에따라하드웨어해킹의위협또한증가되고있습니다. 본트레이닝에선 Linux 기반의임베디드장비개발실습을통하여임베디드시스템의내부구조를이해하고, 이를통해대상기기에대한취약점분석 / 해킹능력을향상시키는것을목표로하고있습니다. 참가자들은본트레이닝을통해임베디드시스템의하드웨어적인구성및펌웨어의구조와세부적인작동원리를파악할수있게됩니다. - 주요교육내용 - ARM 프로세서기반임베디드시스템의구조이해 임베디드시스템개발환경구축및개발실습 부트로더및운영체제의이해 하드웨어통신프로토콜의이해 주변장치제어방법의이해 - 상세교육내용 - [ 1일차 - 기초펌웨어개발 ] 실습장비 Grayhash DanbiBoard-BASIC 소개및 Spec 설명 Firmware, Bootloader, OS, Filesystem의이해 CPU 입장에서본부팅과정의이해 실습 : 펌웨어개발환경구축 펌웨어코드작성이론설명 실습 : 기본펌웨어개발및퓨징 펌웨어코드분석및 GPIO의이해 UART를이용한 DEBUG 메시지출력 해커의관점에서본 UART 프로토콜 실습 : LED 등주변장치제어 하드웨어통신프로토콜 I2C의이해 마무리실습 : Character LCD 제어
[ 2일차 - 리눅스시스템개발 ] 실습장비 Grayhash DanbiBoard-EDU 소개및 Spec 설명 부트로더 (Bootloader) 의이해 메모리, 메모리컨트롤러및메모리맵의이해 해커의관점에서본메모리맵 DDR2 RAM 초기화방법에대한이해 실습 : RAM 초기화및 RAM 테스트 U-BOOT의구조및커널로딩과정의이해 실습 : U-BOOT 포팅및퓨징 부트로더를이용한펌웨어업그레이드 해커의관점에서본부트로더 ( 부트로더보안체계우회사례들 ) 실습 : Linux Kernel 컴파일및퓨징 Root File System의이해 실습 : Root File System 빌드및퓨징 해커의관점에서본 Root File System 리눅스부팅과정및파티션구조의이해 마무리실습 : 리눅스시스템부팅 [ 3일차 - 개발보드의활용 ] 실습장비 Grayhash DanbiBoard-PRO 소개및 Spec 설명 디바이스드라이버의이해 실습 : 디바이스드라이버를통한주변장치제어 하드웨어통신프로토콜 SPI의이해 해커의관점에서본 SPI 프로토콜 TFT-LCD 디스플레이연결 Frame Buffer의이해 실습 : Frame Buffer 장치를이용한 TFT-LCD 제어 실습 : mp3 음원및동영상재생 USB 시스템작동구조의이해 실습 : USB 키보드및랜카드연결 Ethernet 시스템작동구조의이해 실습 : 네트워크연결 마무리실습 : 게임에뮬레이터실행하기
Windows Reverse Engineering - 강의소개 - 우리가사용하는데스크탑및노트북 PC는가장많은악성코드와해킹사건이일어나고있는환경입니다. 세계의대기업과기관들은자신들을공격하는해커들의공격코드를분석하기위해많은노력을기울이고있습니다. 본트레이닝은 Windows용프로그램을소스코드없이분석하는방법을익히는것을목적으로하고있으며, 이과정에서컴파일러가생성하는코드와 Windows 운영체제의내부구조를배우고, 악성코드가백신진단을회피하기위해어떻게난독화를하는지, 또한이를어떻게해제하는지역시배우게됩니다. - 주요교육내용 - Reverse Engineering의개념및방법이해 Windows PE 포맷의이해 x86 아키텍쳐이해 악성코드분석실습 난독화코드분석실습 - 상세교육내용 - [ 1일차 - Reverse Engineering Basic ] Disassembling/Decompiling의이해 주요 Debugger 소개 (ollydbg/immdbg/windbg/gdb) Hooking/filtering/capturing tools 소개 (Sysinternal suite) x86 architecture의이해 (Ring0/3, instruction, registers, memory 등 ) C/ASM 이해 (x86 Assembly, 함수 Stack frame, calling convention 등 ) ASM으로함수만들기실습 C/C++ Compiled codes 분석 (Debug/Release mode, 조건분기, 루프코드, Struct/class/OOP 등 ) Decompling(ASM -> C언어변환 ) 실습
[ 2일차 - Windows Binary Reversing ] Windows PE 포맷의이해 Windows에서의 process의이해 PE Parser 제작실습 Code Disassembling 기능추가 Game Reverse Engineering 실습 안전한악성코드분석환경준비 악성코드및 Exploit 분석실습 DLL/Code Injection의이해 Code Injection tool 제작실습 [ 3일차 - Analysing Packer and Obfuscator ] Packer/Obfuscator의이해 (Packers, protectors, custom packers) 리버싱을방해하는방법들 (anti-debug, anti-analysis) 유용한 Ollydbg Plugin들소개 악성코드 Unpacking 실습 Runtime Code 패치실습 Crackme 제작및분석방해기법적용실습 악성코드가사용하는난독화도구의목적과기능이해 코드난독화 (obfuscation) 분석실습 상용 Protector 분석실습
Web Browser 0-day Hunting - 강의소개 - 본강의는이미오래전부터현재까지도심각한보안위협이되어오고있는웹브라우저해킹에대해다루고있습니다. 웹브라우저의다양한취약점유형들과발생원리에대해알아보고, 특정취약점을분석하고공격하는것을직접실습해봄으로써웹브라우저해킹과정에대해구체적으로이해할수있게됩니다. 기본적인이해를마친후에는 0-day 헌팅실습을통해추후웹브라우저버그헌터가되기위한기초를닦는것을목표로하고있습니다. - 주요교육내용 - 웹브라우저해킹기초설명 과거주요공격사례소개 웹브라우저취약점발생유형설명 웹브라우저해킹실습 웹브라우저의작동원리이해 웹브라우저 Fuzzer 제작실습 웹브라우저보호체계무력화 그외웹브라우저해킹관련이슈들소개 - 상세교육내용 - [ 1일차 - Web Browser Hacking (Basic) ] < OT > 트레이닝소개 웹브라우저해킹연구시작계기 < 기초설명 > 웹브라우저해킹관련기본용어소개 과거주요공격사례소개 웹브라우저취약점발생유형설명
- Buffer OverFlow - Out-Of-Bound Access - Use-After-Free - Type Confusion - 그외 (race condition, uninitialized memory, integer overflow) 웹브라우저취약점공략방법설명 공개웹브라우저취약점찾아보기 - Exploit DB, Chromium, Project Zero, ETC < 웹브라우저해킹실습 > Windows XP + IE8 취약점공격실습 - 취약점발생원리설명 - gflags.exe full page heap, stack trace의이해 - Heap Spray의이해 - windbg를이용한디버깅실습 - 쉘코드및공격코드작성실습 Windows XP + IE8 메모리보호기법우회실습 - 메모리보호기법 (DEP) 우회법설명및실습 - ROP(Return Oriented Programming) 공격실습 [ 2일차 - Web Browser Hacking (0-day Hunting) ] < 기반지식설명 > HTML, 자바스크립트기초 웹브라우저의구조, DOM의구조, Element의이해 IE의객체생성및해제구조, LFH에대한이해 < Fuzzer 제작실습 > Fuzzing 원리설명 - 파일생성형 Fuzzer - Javascript 실행형 Fuzzer 공개웹브라우저 Fuzzer 작동원리분석 - 온라인에공개된최신 Fuzzer들소개 - Grinder 소개 - Fuzzer 사용실습 Crash 분류하기 - Crash 분류하기 - Null-pointer dereferece Crash 이슈 - 다양한 Crash Case 소개 - Reproduce Issue 설명
Fuzzer 제작팁 - Fuzzer Server (testcase 생성 ) 동작설계 1) 기본적인틀만들어보기 2) testcase 생성아이디어 Fuzzer Client 동작설계 - Gflags - PageHeap, Memory Protection Issue [ 3일차 - Web Browser Hacking (Advanced) ] < 웹브라우저보호체계무력화 > IE Memory Protection & Bypass - VTGuard 설명 - VTGuard 우회법설명 - Isolated Heap 설명 - Isolated Heap 우회법설명 - Protected Free 설명 - Isolated Heap / Protected Free 우회실습 다양한 Memory Leak 방법들 - Memory Leak 취약점 Case Study - Memory Leak 취약점을이용한 Exploit Case Study - OOB Read/Write 취약점 Case Study - Flash 등 3rd party 취약점 Case Study Sandbox Escape에대하여 - Kernel Vulnerability 취약점 Case Study - Sandbox Vulnerability 취약점 Case Study < Case Study > PWN2OWN에서사용된취약점들분석 < Bug Bounty 프로그램 > Bug Bounty 소개 - HP ZDI 제보방법및절차 - MSRC 제보방법및절차 - 그외버그바운티프로그램소개
Hardware(Embedded, IoT) Hacking - 강의소개 - 스마트플랫폼, 사무기기, 가전제품등의다양한임베디드기기들이대중화되고, 본격적인사물인터넷 (IoT) 의시대가도래함에따라하드웨어해킹의위협또한증가되고있습니다. 본트레이닝의목적은하드웨어해킹의원리를이해하고, 단순히하드웨어해킹툴을이용하는수준을넘어서자신이원하는하드웨어기반의해킹툴을직접만들수있는능력을키우는것에초점을맞추고있습니다. - 주요교육내용 - AVR 마이크로컨트롤러 Programming 실습 UART Hacking JTAG Hacking Flash Memory Dump - 상세교육내용 [1 일차 - AVR 프로그래밍 ] MCU(Micro Controller Unit) 의이해 Atmega128A MCU 소개 개발도구 (Atmel studio 6.2) 설치 ISP(In-System Programming) 의이해 범용 / 특수입출력포트의이해 LED, 모터, 스피커제어실습 7-Segment 및 Dot Matrix 제어실습 온도센서제어를통한 ADC의이해 디지털온도계제작실습 UART 통신실습 트랜지스터를이용한증폭작용실습 스위치를이용한입력핀사용실습 인터럽트와타이머의이해
PWM(Pulse Width Modulation) 의이해 IrDA( 적외선 ) 을이용한무선통신실습 AVR Firmware 추출하기 AVR과 Arduino의관계이해 Arduino 프로그래밍실습 [2일차 - UART&JTAG Hacking] [UART Hacking] 하드웨어레벨프로토콜의이해 : UART, I2C(2-wire, TWI), SPI UART Programming의이해 Logic Analyzer를이용한 UART 프로토콜분석실습 UART Pin 찾기실습 유무선공유기 UART 연결실습 Baudrate 분석실습 스마트폰 ( 갤럭시S) UART 연결실습 UART 쉘을이용한바이너리추출실습 각종기기들에대한 UART 연결시연 ( 스마트 TV, 홈네트워크시스템, CCTV, NAS 장비 ) UART 해킹 case by case [JTAG Hacking] JTAG의개념및작동원리이해하기 (TDI, TDO, TCK, TMS, TRST) TAPC(Test Access Port Controller) 상태도이해하기 JTAG 실전활용예제 상용 JTAG 툴소개 : Riffbox Jtag, H-JTAG, AD-JTAG JTAG Pin Scanning : Jtagulator, JTAGenum JTAG을이용한펌웨어획득실습 JTAG을이용한동적디버깅실습 [3일차 - Flash Memory 덤프실습 ] Flash Memory 기초 Winbond W25Q16BV Flash Memory의이해 마이크로프로세서 GPIO Handling 실습 SPI 프로토콜의이해 Flash Memory Dumper 개발실습 Desoldering 실습 Winbond W25Q16BV Serial Flash Memory Dump 실습 8-pin Test-clip 활용실습 Dump된 Firmware Image 분석및바이너리파일추출실습
하드웨어해킹 - 공유기해킹실습 (ARM Exploitation) - 강의소개 - 스마트플랫폼, 사무기기, 가전제품등의다양한임베디드기기들이대중화되고, 본격적인사물인터넷 (IoT) 의시대가도래함에따라하드웨어해킹의위협또한증가되고있습니다. 본트레이닝의목적은하드웨어해킹의원리를이해하고, 단순히하드웨어해킹툴을이용하는수준을넘어서자신이원하는하드웨어기반의해킹툴을직접만들수있는능력을키우는것에초점을맞추고있습니다. 본트레이닝은공유기의취약점을찾아내고 exploit하는방법에대해배우게됩니다. - 주요교육내용 - 공유기펌웨어추출및분석 ARM Reversing & Exploitation - 상세교육내용 - [ 1일차 - 공유기취약점분석 ] 공유기의구조이해 타겟디바이스의펌웨어획득방법 공유기펌웨어이미지구조분석 파일시스템이미지분석및바이너리추출 임베디드리눅스의구조이해 공유기의취약점유형들 공유기취약점탐지전략 바이너리정적 / 동적분석실습 Buffer Overflow 취약점탐지및분석 공유기 Remote Exploitation 공격시연 [ 2일차 - 공유기 Remote Exploitation ] ARM 실습환경구축 ARM Assembly 문법설명 ARM Reverse Engineering 실습 ARM 환경에서의 Buffer Overflow Attack
ARM Shellcode 개발 ARM Exploit 개발 gdb를이용한디버깅실습 upnp를이용한원격해킹 공유기 Remote Exploitation 공격실습 공유기취약점악용시나리오 공유기해킹방지방법