완료됨
5 코인 뉴비가 ctf에서 성적을 거두려면 어떻게 하나요

입문한지 한달도 안된 뉴비입니다.
솔직히 말해서 5월달, 8월달, 10월달에 열리는 ctf에 참가하고 싶습니다.
물론 누구나 그렇겠지만 ctf에 참가해서 좋은 성적도 거뒀으면 좋겠습니다.
(대학을 공부말고 특기자 전형으로 가고싶습니다!, 공부도 열심해 하고있어요 :3)
보통 ctf는 팀 단위로 참가하던데 저는 극I라서 팀을 만들 자신이 없습니다..

  1. 입문 1개월도 안된 사람이 해킹실력이 최대한 많이 느는 공부방법이 무엇일까요?
    (문제를 많이 풀어보는게 아닐까 싶지만 혹시나 해서 물어봅니다!)
  2. ctf는 개인이서 참가할 수 있나요?
  3. 개인으로 참가한다면 가장 많이 공부해야 하는 분야는 무엇인가요?
    (포너블, 웹해킹, 리버싱, 암호학 등등)
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 2
avatar
Sechack
2024 Invitational Contenders
avatar
Sechack
2024 Invitational Contenders

먼저 대학을 특기자로 가시려는 생각은 버리시는게 좋습니다. 많이 축소되고 있기도 하고 같은 나이대의 사람들보다 압도적으로 잘할 자신이 확실하게 있는거 아니면 너무 도박이에요. 수상실적이나 그 외 사이드 프로젝트들이 충분히 받쳐주는 사람도 간간히 떨어지고 있는게 현실이고요. 이 부분은 다시한번 충분히 고민해보시는걸 추천합니다. 이제 질문에 대해 답변을 하자면

  1. 리얼월드를 배제하고 순수 CTF적 관점으로 답해드릴게요. C, Python, 어셈블리, 웹개발 등 해킹을 하는데에 있어서 기초적인 베이스가 부족하다고 느껴지신다면 그 부분부터 채우고 해킹을 공부하는걸 추천드립니다. 물론 해킹을 공부하면서 부족한 기반지식들을 필요할때마다 채워나가는것도 좋지만 전자에 비해 많이 힘들겁니다. 공부 방법이라는게 개인차가 있는거라 제 말이 꼭 옳은건 아니지만 제 기준으로는 드림핵 커리큘럼을 따라가는데 지장이 없다면 워게임 많이 풀고 ctftime에서 열리는 자잘한 CTF들 많이 나가보시는걸 추천드려요. 요즘에는 major한 ctf아니면 안뛰긴 하는데 저도 처음 공부할때는 ctftime에서 주기적으로 열리는 작은 CTF들이 성장에 많이 도움되었습니다. 둘다 챙기는게 베스트지만 우위를 나누자면 워게임보다 CTF뛰는게 실력에는 더 도움 되는거같아요.

  2. Whitehat Contest, WACON과 같은 국내 대회들은 대부분 팀 대회입니다. 당연히 개인 참가도 가능하죠. 개인전 대회는 좀 유명한거중에는 Codegate랑 YISF정도만 있었던것 같네요.

  3. 개인전에서는 포너블, 웹해킹에 비중을 두시는게 좋습니다. 둘중에서도 우위를 가르자면 웹해킹입니다. 같은 난이도라 치면 일반적으로 한 문제 푸는데 걸리는 시간이 웹해킹 < 포너블 < 리버싱 이거든요. 그런데 웹은 알면 금방풀고 모르면 아예 접근도 못하고 이런류의 문제도 꽤 있어서.. 포너블이랑 웹 두개정도는 챙기시는게 개인전에서는 유리합니다.

근데 팀전을 개인으로 나가서 수상하는거는 안정적으로 청소년부 1등하는 팀원들도 혼자나가면 3등 될까말까 해요. 팀대회는 무조건 각 분야별로 멤버 구해서 팀으로 뛰시는게 좋습니다.

2024.01.24. 00:05
질문자가 채택한 답변입니다. 좋은 지식을 공유해줘서 고마워요!
avatar
Wane
리버싱 입문
avatar
Wane
리버싱 입문

CTF를 중점으로 활동하시려는 것 같아서, 이에 맞추어 답변해 드리겠습니다.

  1. 만약 해킹 분야에 대해서 초면이시면, 보통 분야의 중추 개념들을 완벽히 이해한 후에 문제를 푸는 것이 좋습니다. 예를 들어, 리버싱에서는 파일 구조, 어셈블리, 등이 있고, 포너블에서는 메모리 구조, 어셈블리 등이 있겠습니다. 이 외에도 정말 많지만, 문제를 풀 때 이건 꼭 필요한 개념을 공부하시고, 문제를 많이 푸시면 됩니다. 이는 드림핵 강의를 수강하시면서 해결되게 됩니다. 개발을 하신 경험이 있다면 해킹 공부를 할 때 더 수월할 수 있습니다. 문제가 풀리면 더 어려운 수준의 문제를 계속해서 도전하시게 되면 실력이 빠르게 증가합니다. 계속 어려운 문제를 시도하는 것은 한편으로는 고통스럽고 불안할 수 있는데, 이 방법이 가장 실력이 빨리 늘어나는 방법이고, 저 또한 이렇게 해 왔습니다. 문제가 안 풀리는 경우가 존재할 수 있는데, 이 경우 두 가지 선택지가 존재합니다. 다음으로 미루거나, 해답을 보는 방법이 있습니다. 해답을 보는 것이 마냥 나쁘지많은 않은 것이, 해답을 보고 다음에 이런 유형의 문제가 나왔을 때 이렇게 행동하면 되겠다는 것을 머리게 각인시켜 두시면 됩니다.
  2. 개인이서 참가할 수 있는 대회가 대부분이지만, 추천드리지는 않습니다. (두 명이 한 명보다 낫고, 세 명이 두 명보다 낫기 때문입니다)
  3. 모든 분야를 골고루 준비하시는 것이 효과적입니다. 대회마다 출제 경향이 다릅니다. 하지만 무조건 나온다고 볼 수 있는 메이저한 분야는 포너블, 웹해킹, 리버싱, 암호학이 있습니다. 이 외에도 포렌식, Web3, Misc 등이 종종 출제됩니다.
2024.01.22. 18:14