README
Contents
security-tutorial✔
Notice✔
이 가이드는 10일 과정으로 구성되며 독자가 C 언어 를 알고 있고 ProgrammerBase 를 공부하고 왔다고 가정합니다.
Docker✔
이제 모든 실습을 Docker 가상 환경에서 할 수 있도록 되었습니다! 서버 비용도 필요 없고 무겁고 느린 가상머신도 필요없어요. 다음 명령어만 입력하면 security-tutorial 을 실습할 모든 준비가 끝납니다.
$ docker run -it --privileged ccss17/security-tutorial
Contents✔
Day 1 : Base✔
-
기술적 특이점(Technological Singularity)
-
약인공지능과 강인공지능(Weak AI and Strong AI)
-
보안에 관한 기본 용어(Basic terminology about security)
Day 2 : Computer Principle 1✔
-
괴델의 불완전성 정리(Godel's Incompleteness Theorem)
-
튜링 머신(Turing Machine)
-
폰 노이만 구조(Von Neumann architecture)
-
데이터 저장방식(How data is stored on computer)
-
CPU 레지스터(CPU register)
-
어셈블리어 1 (Assembly Language 1)
Day 3 : Computer Principle 2✔
-
어셈블리어 2 (Assembly Language 2)
-
가상 메모리 시스템 (Virtual Memory System)
-
스택 메모리 영역 (Stack Memory)
-
gdb
사용법 1 (gdb
usage 1) -
함수 호출의 컴퓨터 내부적 원리 (Computer internal principle of function calls)
Day 4 : Reversing 1✔
-
리버싱의 정의 (Definition of reversing)
-
리버싱 툴 (Reversing tools)
-
gdb
사용법 2 (gdb
usage 2) -
crackme0x00a
~crackme0x03
연습 및 설명 -
(HW)
crackme0x004
,crackme0x05
실습
Day 5 : Reversing 2✔
-
crackme0x004
,crackme0x05
설명 -
radare2
사용법 (radare2
usage) -
xor 암호화 (xor encryption)
-
reversing.kr 문제
easyelf
풀어보기 -
(HW)
bomb
실습
Day 6 : Exploit 1✔
-
리눅스 특수 권한(Linux special permission)
-
버퍼오버플로우를 통한 프로그램 흐름 조작 (Program flow manipulation through buffer overflow)
-
bof1
설명 -
bof2
~bof4
연습 및 설명 -
(HW)
bof5
실습
Day 7 : Exploit 2✔
-
쉘코드 (shellcode)
-
bof6
~bof8
연습
Day 8 : Exploit 3✔
-
bof7
상세 설명 -
NX bit
와DEP
-
RTL
-
bof9
연습 및 설명
Day 9 : Exploit 4✔
-
ASLR
-
bof10
,bof11
연습 및 설명
Day 10 : Pentest + Wrap-up✔
-
침투테스트 예시 (Example of pentest)
-
블루투스 취약점 - 블루본 (Bluetooth vulnerability - Blueborne)
-
CPU 취약점 - 멜트다운 (CPU vulnerability - Meltdown)