[드림핵] Beginner - Introduction

테오·2025년 3월 15일

드림핵

목록 보기
1/4

Lecture Introduciton

1. 웹 해킹

  • Web2 환경에서 발생할 수 있는 취약점과 대응 방법에 대해 알아감

2. 리버스 엔지니어링

  • 완성된 소프트웨어를 역으로 분석해나가는 방법

3. 시스템 해킹

  • 프로그램에 취약점이 존재할 때 이를 익스플로잇하는 방법론

4. 암호학

  • 본래 정보를 보호하기 위한 언어학적 및 수학적 방법론

Wargame Introduction

1. Wargame

  • 워게임은 의도적으로 취약점이 존재하도록 설계된 모의 해킹 환경
  • 하나의 시험 문제라고도 볼 수 있음
  • 제작자가 설계한 취약점을 찾아내고, 이해하고, 해결책을 찾아내는 과정을 거쳐 플래그를 찾아내는 문제
  • 워게임의 카테고리는 일반적으로 포너블(pwnable/system hacking), 웹(web), 리버스 엔지니어링(reversing), 암호학(crypto), 포렌식(forensics), 그리고 특정 카테고리에 포함되지 않는 miscellaneous(misc)등이 있음
  • 이 외에도 네트워크(network), 브라우저(browser), 블록체인(blockchain) 등과 같이 더 세부적인 분야도 존재

2. 플래그

  • 해킹 방어 대회의 일반적인 형식은 CTF(Capture The Flag)
  • 이는 공격 대상인 시스템에 존재하는 파일을 flag라고 칭하며, 이 파일의 내용이 공격자가 제출해야 하는 답안
  • 어떤 시스템을 성공적으로 해킹했다는 증거 제시 = 일반적으로 해커들은 계산기 실행
    • 계산기가 거의 모든 os에 기본적으로 설치된 프로그램 중 하나이기 때문
    • 해커가 계산기 실행에 성공했다는 것 = 해커가 기본적으로 어떤 프로그램이든 실행시킬 수 있음
  • 혹은 셸(shell)을 실행시키는 것도 하나의 증명 방법
    • 셸 실행시키고 커맨드 입력할 수 있다면 그 시스템에서의 사용자와 같은 권한을 가지고 있는 것
  • CTF에서는 가장 간단한 형태의 제출물이 될 수 있는 ‘어떤 텍스트’를 답으로 쓰기로 결정
    • 굉장히 간단한 형태로 정답을 제공할 수 있음
    • 워게임, CTF 문제에서는 암묵적으로 플래그를 찾는 것이 최종 목적이 됨

3. 라이트업

  • 워게임 혹은 CTF 문제에서 플래그를 찾는 과정(문제 풀이 과정)을 정리한 것
  • 문제를 풀지 못했는데 풀이를 봐도 괜찮은가?
    • 문제 풀 때 순차적으로 풀이자가 하는 체크리스트
      • 주어진 문제가 어떤 프로그램/서비스인지 이해했다.
      • 취약점(또는 이상한 부분)이 무엇인지 파악했다.
      • 찾은 취약점을 어떻게 공략/공격하면 될지 구상이 되었다.
      • 풀이에 필요한 코드나 페이로드를 작성했다.
    • 이 중 1번은 풀이 없이 수행하는 것을 권장
profile
소프트웨어학부 3학년 / FE, 정보보안

0개의 댓글