Thumbnail
보안 · 네트워크 보안

해킹대회(CTF) 출전을 위한 시스템해킹(Pwnable) 입문 대시보드

(4.8)
11개의 수강평 ∙  876명의 수강생

무료

지식공유자: juntheworld
총 14개 수업 (42분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[보안] 강의입니다.

해킹대회(CTF)의 시스템 해킹(Pwnable) 입문을 위한 강의입니다.

✍️
이런 걸
배워요!
해킹대회(CTF) 출전
시스템해킹(Pwnable) 기초
해커를 위한 C언어와 컴퓨터 기초지식

높디높은 해킹 진입장벽, 확 낮춰드려요!

해킹대회(CTF) 출전이 처음이시라구요?

하나의 취약점 이론(Buffer OverFlow)와 기초 문제를 “완벽하게” 이해하고 풀어내기

해킹대회(CTF)에 출제되는 시스템 해킹(Pwnable) 문제를 푸는 데 필요한 모든 지식 정리

해킹대회(CTF)의 문제 상황과 풀어야 하는 문제 이해하기

자체 운영 중인 Wargame 사이트를 통해 
실제 해킹대회 환경 그대로 24시간 실습할 수 있어요.

무료 스크립트 & 블로그 포스팅 제공 ✅

강의의 모든 내용을 담은 스크립트와 블로그 포스팅을 제공해드려요.

  • 무료 전자책 : 링크
  • 무료 강의자료 : 첫번째 강의자료에서 다운(pdf)
  • 무료 스크립트 : 매 수업 강의노트 확인

필기 걱정 없이, 편안히 수업과 실습에만 집중하시면 됩니다.


딱 하나의 문제만, 완벽하게 풀어요.

해커로서의 낭만과 꿈을 가지고 있지만 높은 진입장벽에 좌절한 분들을 잘 알고 있습니다. 해킹을 정말 처음 접한 사람도 스스로 문제의 모든 과정을 체험하고 풀어낼 수 있도록 하는 것이 이번 강의의 특징입니다.

해킹대회(CTF)를 처음 도전해보고 싶은 해킹 꿈나무

시스템 해킹(Pwnable)과 공격(Exploitation)에 대해 학습하고 싶은 분

보안에 관심 있지만 높은 진입장벽에 어려움을 겪었던 분

‘하나의 문제만 푼다고요?’

네. 딱 문제 하나만 풉니다. 한 문제를 풀 수 있다는 건 이와 관련된 수십 수백 개의 문제를 풀 수 있다는 걸 의미합니다. 해킹 문제는 단순 암기 문제가 아니기에 하나의 문제라도 완벽히 체화하는 것이 옳은 방법입니다.

‘완벽하게 푼다고요?’

딱 하나의 문제만 푸는 대신 C언어, 컴퓨터 구조, 취약점 이론, 익스플로잇 코드 작성 등 해킹 문제를 풀어내기 위해 필요한 모든 지식을 다룹니다. 이를 통해 관련 지식을 완벽히 체화할 수 있도록 돕고 이후 심화 내용을 학습할 때에도 탄탄한 기반이 되어줄 것입니다.

💡 천재들을 위한 강의가 아닌, 보안에 관심있는 분들에게 진입장벽을 낮춰주는 수업입니다.


배우는 내용을 
확인해보세요.

리눅스의 동적 디버거(GDB)를 이용해 프로그램을 분석합니다.

분석하는 프로그램에 내장된 취약점을 세세히 분석합니다.

취약점과 공격 기법의 원리를 이해하기 위해 컴퓨터 구조를 학습합니다.

그래서, 이 강의에서는!

  • ✅ 해킹대회(CTF) 시스템 해킹(Pwnable) 문제 풀이를 진행합니다.
  • ✅ 메모리 보호 기법과 심화 해킹 공격 기법 학습을 위한 기반 지식을 습득합니다.

• KITRI BoB(Best Of the Best) 취약점 분석 트랙 수료
• 한국과학기술원(KAIST) 정보보호대학원 석사과정
• 중앙대학교 산업보안학과 졸업


Q&A 💬

Q. 해킹을 하려면 꼭 C언어를 할 줄 알아야 하나요?

네. 하지만 본 강의는 직접적으로 C언어를 사용하는 내용은 없습니다. 실습하는 프로그램의 소스코드를 분석할 수 있을 정도로 기초 C언어의 내용을 다루니 너무 걱정마세요.

Q. 강의를 듣기 전 알아야 할 지식이 있나요?

본 강의는 좀 더 심화적인 해킹공부를 위한 완벽한 기반지식을 습득하는 것을 목표로 합니다. 해킹이든 C언어든 단 한번도 공부해 보지 않은 분들을 위해 준비된 강의입니다.

해킹을 처음 공부하는 사람들이 컴퓨터를 부팅하고서부터 실제 Wargame 사이트의 해킹 문제를 풀어내기 전까지의 모든 과정을 함께하니 편한 마음으로 강의에만 집중해주시면 됩니다.

Q. 환경 설정이 너무 오래 걸리고 어려워요. 아무것도 시작 못했는데 저는 재능이 없나 봐요.

절대 아닙니다. 아무것도 시작하지 못했다뇨. 환경설정(Configuration)은 시스템 해킹을 위해 매우 중요한 지식입니다. 실제로 해킹, 특히나 시스템 해킹에서는 목표하는 공격 타겟 프로그램(바이너리)의 실행 환경을 구축하는 것이 매우 중요해요.

국내외 메이저 해킹대회에서도 정밀한 공격을 위해 VM(Virtual Machine)이나 도커(docker)를 통한 환경설정(Configuration)에 문제 풀이 중 4~50% 이상의 시간을 써야 하는 만큼 환경 설정은 시스템 해킹을 위해 반드시 거치고 익숙해져야 할 과정과 지식입니다.

📢 수강 전 확인해주세요

  • 강의에서는 Ubuntu 22.04 LTS 운영체제를 사용합니다.
  • VMware, pwntools 등 기타 해킹 툴을 사용하며, 실습을 위해서는 8GB 이상의 RAM 및 충분한 디스크 공간을 갖춘 PC가 필요합니다.
  • 사전에 VMware 설치 및 가상환경 구축이 필요합니다. (설치 안내)
  • C 언어 문법을 몰라도 수강이 가능하나, 알고 있으면 조금 더 수월합니다.
  • 매 수업마다 강의 스크립트와 무료 블로그 포스팅이 제공되니 별도 필기 없이 강의에만 집중하시면 됩니다.

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
해킹대회(CTF)를 처음 도전해보고 싶은 해킹 꿈나무
보안에 관심있지만 높은 진입장벽에 어려움을 겪었던 사람
시스템 해킹(Pwnable)과 Exploitation(공격)에 대해 학습하고 싶은 사람
📚
선수 지식,
필요할까요?
사전에 VMware 설치 및 가상환경 구축이 필요합니다.

안녕하세요
juntheworld 입니다.
juntheworld의 썸네일

Hello! Juntheworld

커리큘럼 총 14 개 ˙ 42분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 시스템해킹(Pwnable) 이해하기
해킹이란? 미리보기 01:44
시스템 장악 (Shell 실행) 03:09
섹션 1. 해킹대회(Pwnable)의 문제상황 이해하기
원격(Remote)의 상황 이해하기 01:24
문제예시 확인하기 02:33
섹션 2. 악의적인 실행흐름 만드는법
컴퓨터 구조 이해하기 02:26
프로그램 실행과정 01:41
악의적인 실행흐름 만들기 00:54
섹션 3. Pwnable 학습을 위한 실습환경설정(Configuration)
리눅스 운영체제 설치 (우분투 OS) 03:22
pwntools & gdb 설치 03:21
섹션 4. 취약점 이론과 공격기법 실습 - HelloFlag
CTF Pwnable 문제에서 주어지는 파일 확인 03:12
Pwnable 문제풀이 과정 03:45
섹션 5. 취약점 이론과 공격기법 실습 - BasicBOF
취약점 분석 - Stack Buffer Overflow 07:01
공격 시나리오 설계 - RET OverWrite 01:15
익스플로잇 코드작성 (StackBufferOverFlow를 이용한 RET Overwrite) 06:59
강의 게시일 : 2023년 09월 04일 (마지막 업데이트일 : 2023년 09월 06일)
수강평 총 11개
수강생분들이 직접 작성하신 수강평입니다.
4.8
11개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
똘똘이스머프 thumbnail
5
귀한 강의 감사합니다. 새해 복 많이 받으세요.
2024-01-19
고광우 thumbnail
5
시스템 해킹의 가장 기본인 B.O.F(buffer overflow)에 대한 좋은 학습이 되었습니다. 덕분에 시스템 해킹에 자신감이 붙고 다른 시스템 해킹 워게임(War-game)이나 CTF 문제에 도전하고 싶은 욕구가 생겼습니다. 다만, 난이도 표시에 '입문'이 아닌 '초급'으로 설정 되어 있는 만큼 아무런 지식이 없는 사람이 갑자기 들으면 생소할 수 있으니 아래와 같은 선수 지식을 갖춘 후 강의를 수강하시면 좋을 것 같습니다. 1. 16진수의 숫자 표시 방법(16진수 숫자 표기 법: 0,1,2,3 .... 9, a, b, c, d, e, f) ex.) 16진수로 계산할 때 0x88 + 0x08 = 0x90 이 되는지 이해할 줄 알아야 합니다. 88+8 = 96인건 10진수 일 때 계산 방법이고 16진수에서는 0x88 + 0x08 = 0x90이 되는 걸 이해해야 합니다. 2. gdb와 stack 구조 등을 설명할 때 몇몇 레지스터 관련 내용 레지스터 별로 역할 등을 자세하게 알 필요는 없고 그냥 이런 레지스터가 있구나 정도의 지식은 필요합니다. 그리고 stack 구조에서 어떻게 입력값과 데이터가 쌓이는지 알고 있으면 더 좋습니다. 1) [stack 메모리 관련 참고하면 좋은 영상] (영상제목 : 시스템 해킹 강좌 5강 - 메모리 구조 이해하기 (System Hacking Tutorial 2017 #5)) URL : https://www.youtube.com/watch?v=TxWOaKE5w_s --> 내용 전체를 완전히 이해 하기 보다는 stack 메모리는 이런 방식으로 동작하는 구나 정도만 이해하시면 좋을 것 같습니다. 2) [gdb와 레지스터 관련 참고자료] -> 우리집에 gdb있는데... 메모리 보고갈래?(1) URL : https://bpsecblog.wordpress.com/2016/03/08/gdb_memory_1/ -> 우리집에 gdb있는데...메모리 보고갈래?(2) 정리 자료 URL : https://haerinn.tistory.com/85 --> 특히 이 정리 자료가 이번 강의 풀이 내용의 핵심과 많이 밀접합니다. 선수 공부는 제가 URL을 표시한 순서대로 진행해 주시면 좋을 것 같습니다. 마지막으로 좋은 강의를 올려주신 juntheworld님에게 감사드립니다. 덕분에 시스템 해킹에 좋은 한 걸음을 뗄 수 있게 되었습니다. 감사합니다.
2023-11-18
지식공유자 juntheworld
정성스런 후기 진심으로 감사드립니다. 덕분에 더 좋은 강의 만들고싶다는 힘과 열정이 나네요. 다시한번 감사합니다!
2023-11-19
정주현 thumbnail
4
2024-04-17
haram620 thumbnail
5
시스템 해킹에 입문하는 사람으로서 필요한 개념과 예시 문제 풀이까지 알차게 들었습니다! 친절하게 설명해주시고 수업을 위해 준비한 자료도 너무 잘 봤습니다! 꿀보이스 juntheworld 파이팅 !!
2023-12-01
임준수 thumbnail
5
감사합니다. 차분히 기초를 닦았습니다
2023-11-24