해킹의 3가지 분야
Web Hacking
- 웹을 대상으로 하는 해킹 및 관련 기술
- 웹 서버와 클라이언트에서 발생하는 각종 취약점들과 공격법
System Hacking, a.k.a. Pwnable
- 소프트웨어의 취약점을 찾아서 공격하는 해킹 분야
Reverse Engineering
- 프로그램을 역으로 분석하여 작동 원리를 알아내는 기술
- 소프트웨어의 취약점을 파악하거나 악성 프로그램의 행동을 분석
Wargame
워게임이란?
- 의도적으로 취약점이 존재하도록 설계된 모의 해킹 환경
- 보안 컨설팅의 일종으로 대표적인 카테고리로는 Pwnable, Web, Reversing, Crypto, Forensics, miscellaneous 등이 존재(Network, Kernel, Browser, Blockchain)
Falg
- CTF(Catch The Flag) 방식의 대회에서 답안으로 제출하게 되는 값을 뜻함
- 주로 시스템을 해킹하게 되면 Shell, 계산기 등의 프로그램을 실행시키는 것을 통해 해킹했다는 것을 증명 -> 대회때마다 해당 화면을 캡처하기는 귀찮으니 "Flag{}" 형태로 만들어 증명
Write-Up
- 워게임 혹은 CTF 문제에서 플래그를 찾는 과정 즉 풀이과정을 정리하는 것을 Write-Up이라고 할 수 있음
- 주로 아래와 같은 순서로 문제를 푸는데 풀지못하겠으면 단계별로 진행 후 Write-Up을 확인하는 것을 권장
- 주어진 문제가 어떤 프로그램/서비스인지 파악하기
- 취약점(또는 이상한 부분) 파악
- 찾는 취약점을 어떻게 공략/공격할지
- 풀이에 필요한 코드나 페이로드를 작성
준비물
- Ubuntu Linux -> Ubuntu LTS 22.04 사용
- nc(netcat)
실습
- 문제 페이제 접속
- Description 확인

- Host, Port 정보 확인 후 접속
- http로 접속하기 : 브라우저에서 http://Host:Port 링크의 문제 환경에 접속, 대부분 웹 해킹 문제가 해당 방식으로 접속
- nc로 접속하기 : nc Host Port 명령어를 통해 문제 환경에 접속

- Exercise: Welcome-Beginners 결과
출처 : https://dreamhack.io/