이런 걸
배워요!
포너블, 리버싱, 웹, 미스크 영역 관련 보안 취약점 발견 방법 및 감각.
각 챌린지와 관련된 컴퓨터 과학 지식.
보안 툴 설치 및 활용 방법.
해킹을 취미로, 취미로 해킹.
※ "취미로 해킹" 콘텐츠는 안전한 정보보안 생태계에 기여하기 위한 합법 해킹만을 지향합니다.
< 강좌 내용을 책으로 보려면: 종이책/전자책(링크) >
우리는 여기서 2019년에 개최된 DIMICTF 예선 챌린지(예선이 본선보다 어렵다고 공지됨)를 마스터할 것입니다. 처음부터 끝까지 모든 챌린지를 실습할 것입니다.
DIMICTF는 과학기술정보통신부와 한국정보기술연구원에서 후원하고
한국디지털미디어고등학교에서 주최 및 주관하는 국내 해킹 대회입니다.
강좌의 내용을 모두 마스터하신다면, 1등으로 입상한 팀에서 클리어하지 못한 챌린지도 해결하게 될 것이며, 기량이 향상됨에 따라 향후 더욱 고난도의 해킹 대회에도 도전하실 수 있을 것입니다.
해킹 대회의 대표적인 영역, 총 4가지를 다룹니다. 시스템 해킹에 해당하며 주로 권한 탈취가 목적인 포너블 영역, 소프트웨어를 분해한 뒤 보물찾기처럼 내부 어딘가 감춰진 주요 정보를 찾는 리버싱 영역, 웹 사이트의 허술한 보안 절차를 우회하여 주요 정보를 추출하는 웹 영역, 특정 지식보다는 취약점 발견 감각이 더 중요한 미스크 영역으로 구분됩니다.
개발자가 몰래 숨겨놓은 이스터 에그를 찾기도 하고, 업로드가 막힌 특정 확장자 파일을 어떻게든 업로드 해보고, 공격 코드를 기계어로 한 땀 한 땀 제작하기도 하고, 접근할 수 없는 메모리 영역을 침범하여 계획되지 않은 기능을 동작시키기도 하고, 분석하지 말라고 난독화한 소프트웨어를 원상태로 복원하기도 하고, 로그인 페이지 등 사용자와 상호작용하는 곳에서 각종 특수문자를 조합하여 주입하면 숨겨왔던 기능이 발현되는 등에 대해서 함께 확인하시게 될 것입니다.
위와 같은 내용이 포함된 여러 챌린지의 실습을 진행해가며 취약점을 발견하고 보완하는 방법에 대해서 알게 됩니다. 세부적으로는 하단 이미지에서 언급되는 키워드와 관련된 버그 및 취약점에 대한 이론과 실습이 포함되어 있습니다.
효과적인 학습을 위하여, 당시 대회 상황을 재현한 가상 이미지를 제공합니다. 이를 통해 대회에 마치 참가한 것처럼 실습하실 수 있습니다. 더불어 툴 설치 방법과 사용법을 함께 다룹니다. 사용되는 툴은 Ghidra, GDB-PEDA, JD-GUI, Checksec, Uncompyle6 등이 있습니다.
강의는 현상과 원리를 함께 언급드리며 개별 학습을 최소화할 수 있도록 하는 것에 중점을 두었으나, 질문이 있으시다면 네이버 카페 "취미로 해킹(링크)"의 질문 게시판을 활용하여 주시면 감사하겠습니다.
기타 세부 사항은 프롤로그 영상을 참고하여 주시기 바랍니다. 해당 영상에는 아래의 질문들에 대한 답변이 포함되어 있습니다.
▶ 효과적인 학습 방법은?
▶ 강의 진행 방식은?
▶ "취미로 해킹#1~4"와의 관계는?
▶ 타 강좌외의 차이는?
학습 대상은
누구일까요?
해킹 대회 DIMICTF의 모든 예선 챌린지를 완주하고 싶으신 분.
학술 취미로 조금씩 해킹을 배워보고 싶으신 분.
더욱 어려운 해킹대회에 출전하고 싶으신 분.
전공 지식 보충이 필요한 관련 학과 학생.
정보보안 관련 진로를 희망하시는 분.
선수 지식,
필요할까요?
C, 파이썬 프로그램 작성 경험이 있다면 도움이 될 수 있음.
ㆍ 정보보안기사
ㆍ "생활코딩! 파이썬" 도서 저자
ㆍ "취미로 해킹#N" 도서(+강의) 저자
ㆍ 한국외국어대학교 정보보안 담당 직원
ㆍ 미사일전략사령부 CERT 팀장(육군 학사#59)
ㆍ 한국공학대학교 컴퓨터공학 학사(4.42)
전체
96개 ∙ (13시간 16분)
1. 프롤로그
03:34
2. DIMICTF 소개
06:16
3. DIMICTF 환경 구성
08:55
4. Mic Check
05:51
5. dimi-math 1
06:29
6. dimi-math 2
08:00
7. dimi-math 3
08:02
8. reader 1
06:43
9. reader 2
10:32
10. dimi-contract 1
06:25
11. dimi-contract 2
07:21
12. CTFind 1
08:35
13. CTFind 2
06:31
14. CTFind 3
07:55
15. exec me 1
04:34
16. exec me 2
07:59
17. 5shared 1
08:41
18. 5shared 2
05:40
19. 5shared 3
07:02
20. simple xss
11:20
21. simple sqli 1
08:36
22. simple sqli 2
09:54
23. AoJ 1
07:52
24. AoJ 2
06:55
25. AoJ 3
09:48
26. ezheap 1
06:23
27. ezheap 2
05:35
28. ezheap 3
05:56
29. ezheap 4
06:30
30. ezheap 5
08:02
31. ezheap 6
09:02
32. ezheap 7
08:16
33. ezheap 8
12:05
34. ezheap 9
09:53
35. ezheap 10
07:05
36. ezheap 11
08:19
37. ezheap 12
12:23
38. ezshellcode 1
05:35
39. ezshellcode 2
08:35
40. ezshellcode 3
09:42
41. ezshellcode 4
07:24
42. ezshellcode 5
08:14
43. ezshellcode 6
11:42
44. ezshellcode 7
08:21
45. ezshellcode 8
09:49
46. ropsaurusrex2 1
04:25
47. ropsaurusrex2 2
09:01
48. ropsaurusrex2 3
10:55
49. ropsaurusrex2 4
10:01
50. ropsaurusrex2 5
09:21
51. ropsaurusrex2 6
09:49
52. ropsaurusrex2 7
10:43
53. ropsaurusrex2 8
06:52
54. dimi-farm 1
08:31
55. dimi-farm 2
10:06
56. dimi-farm 3
08:53
57. dimi-farm 4
07:25
58. dimi-farm 5
08:58
59. dimi-farm 6
09:18
60. dimi-farm 7
07:45
61. dimi-farm 8
05:02
62. dimi-farm 9
07:40
63. dimi-farm 10
06:48
64. dimi-farm 11
10:09
65. dimi-farm 12
05:40
66. dimi-login 1
06:52
67. dimi-login 2
06:08
68. dimi-login 3
07:36
69. dimi-login 4
10:53
70. dimi-login 5
09:34
71. dimi-login 6
08:22
72. dimi-login 7
10:45
73. dimi-login 8
09:40
74. dimi-login 9
10:17
75. dimi-login 10
06:43