3714 words
19 minutes
How to be good at Hacking
2025-07-25

요즘 해킹을 공부하는 사람이 너무 적다고 생각된다.
그 이유는 해킹이 너무 복잡하고 어려워서가 아닐까라고 예상해본다.
해킹이라는 집에 박혀서 컴퓨터만 몇시간씩 보며 공부를 하는 찐따 과목을 누가 하고 싶겠냐만은
미친 간지나는 해킹방어과 이름만 보고 디미고의 과를 선택한 사람도 있고, 어떻게 해킹 공부를 할지 막막한 사람들이 종종 보여, 그 사람들을 위한 방법론을 설명해보겠다.
해킹을 잘하는!@ 재밌게 공부하는! 방법은 무엇일까?

1. 해킹에 흥미 느끼기#

혹시 1만 시간의 법칙이라고 들어보았나?
무언가의 전문가가 되기 위해선, 최소 10000시간이라도 투자해야한다는 법칙이다.
다르게 말하면, 1만 시간이라도 투자 안하면 전문가가 될 수 없다는 소리이다.
물론 사람마다 지능의 차이 때문에 처음엔 좀 격차가 날 수 있지만 해킹에서는 노력이 재능을 이긴다.
왜 why? 해킹을 잘하기 위해선 절대적인 시간이 필요하기 때문에!

해킹은 열심히 하면 무조건 잘 할 수 밖에 없다.
따라서 흥미를 느끼는 것이 아주아주아주아주대 중요한데, 여기 흥미를 느끼기 위한 꿀팁이 있다.

1) 드림핵을 이용하기#

“워게임은 마약과도 같다.”
- 한국디지털미디어고등학교 박 모씨 -

드림핵이라는 사이트가 있다.
https://dreamhack.io/

디미고 해킹방어과 박 모 군에 따르면 워게임은 마약과도 같아서 끊을 수 없을 정도의 쾌감을 준다고 한다. 문제를 풀고, 점수를 얻으며 성장해가는 자신의 모습을 지켜보는 것은 정말 최고다.
드림핵 점수라는 보상이 있으면 엄청난 시간을 들여서라도 반복과 노력을 하게 된다.
초보라면 더더욱 드림핵 워게임을 많이 이용하자!

CAUTION

그렇다고 너무 드림핵 점수에 매몰되어 살면 안된다. 우리의 진짜 목적은 해킹 공부에 있기 때문이다. 드림핵 점수에 사활을 걸면 플래그 도용이나 부당한 레벨 올려치기 등의 만행을 저지르게 된다.

2) 자기최면 걸기#

해킹의 과정(개념 학습, 코드 분석, 코드 작성)은 딱히 그렇게 재밌진 않다.(사실 재미없는 게 정상이다)
글자도 머리에 안 들어와서 모르겠는데 어떻게 재밌을 수가 있겠는가
사실 목표 달성에 대한 기대감이 컴퓨터로 나아가게 히는 것이지, 코드를 짜고 디버거를 쳐다보고 있는 것에 쾌감을 느끼고 짜릿하다고 말하긴 어렵다.(그런 사람이 있다면 변태가 분명하다)
예시로 책을 쓰는 것도 책이라는 완성품을 만들고 이야기를 구성하는 것이 밌는 것이지 타이핑하고 글자 쓰는 것에 쾌감을 느끼는 것은 아니다.

따라서 이러한 고통 속을 지나기 위해, 나는 최강이고, 이딴 개념들 다 이해해버릴 수 있고, 어려운 문제를 다 풀어버릴 수 있다고 믿는 자기최면이 필요하다. 또 다른 버전으론, 문제를 질문해서 풀었을 시의 이 문제는 내가 자력으로 푼 것이다라고 생각하는 자기최면이 있다.

확실히 풀 수 있는 기대감을 증폭시키면 문제 풀이에 고통을 덜 수 있다. 그리고 자력으로 풀었다는 느낌이 들면 성취감은 배가 된다.
항상 나는 잘한다고 생각하면 의욕이 넘치게 공부 가능하다.
사실 최면이라고 조금 말을 나쁘게 했지만 이 자신을 칭찬해주고 믿어주는 근자감이란 되게 중요한 것이다.

자신감의 중요성: https://youtube.com/shorts/pDDEphpSU3I?si=9IJMX3V0OCZpDOYa

3) 보상 받기#

칭찬은 고래도 춤추게 한다. 그만큼 보상은 기분이 좋다.
해킹 공부의 보상이 누군가는 드림핵 점수일 수도 있고, 누군가는 버그바운티로 얻은 돈일 수도 있고, 누군가는 대회 상장과 상금일 수 있다.

하지만 이건 너무 나의 실력에 달려있다. 공부 중엔 그냥 어쩌다 한 번 CTF에서 못할 수도 있는 것이고, 워게임을 잘 못 풀 수도 있는 것이다. 하지만 여기에 자신의 학습 의지를 둔다면 이것은 너무나 연약해서 바로~~~ 그냥 자신의 실력을 의심하게 되고, 그러면 내 존재 의미를 모르겠고 삶의 의지가 떨어지고 공부 의욕이 안 나게 된다. ‘내가 이렇게 공부 많이 했는데 왜 이러지?‘하는 생각은 자신을 망친다.

따라서 만약 해킹 공부를 일주일동안 진짜 열심히 했다면, 자신이 좋아하는 것을 자신에게 선물해주자.
일주일동안의 열정적인 공부, 그것만으로도 충분하다.
좋은 성적을 못 거둬도 그냥 대수롭지 않게 넘기고, 마음이 편안해지고 행복한 것을 해보자.

좋아하는 게임 하기.   
샤워하고 푹 자기.   
못 봤던 영화 시청하기.   
맛있는 거 먹으러 가기.   
...

이 밖에도 많은 것들을 보상으로 나에게 줘보자.

앞선 방법들로 해킹에 흥미를 돋울 수 있다.
하지만 흥미가 있어도 이상하게 배우면 말짱 도루묵이다. (긴급 상식, 말짱도루묵의 유래; https://ncms.nculture.org/food/story/4766)
그럼 이제 똑똑하게 공부하는 방법이다.

2. 공부 방법#

'인생은 속도가 아니라 방향이다.' -요한 볼프강 괴테-
사실 속도는 방향과 속력을 다 포함하고 있는 벡터값이기 때문에 이 말은 틀렸다.(괴테는 작가이자 자연과학자이기도 했다는데 왜…)
따라서 아래와 같이 말해야한다.

인생은 속력이 아니라 방향이다.
- 요한 볼프강 폰 괴테 -

공부를 하더라도 제대로 안한다면 시간은 시간대로 소모되고 성장은 더디게 된다. 카트라이더에서 역주행으로 완주를 제일 빨리 한 것을 인정 안하는 것처럼 말이다. 그냥 삽질 한 셈이다.
이 공부란 것이 교과 공부도 그렇고 자신이 잘 하고 있는 것인지, 성장하고 있는 것인지 잘 느껴지지 않을 때가 많다.
따라서 효율적인 공부 방법을 소개하겠다.

1) 로드맵#

공부 계획을 짜라. 공부를 어떻게 어떻게 해서 이런 걸 달성해야지 하는 목표와, 구체적이진 않더라도 어떠한 계획이 있으면 나아가기 수월해진다.

다양한 공부 방법들:
드림핵, webhacking.kr, pwnable.kr, reversing.kr 등 다양한 워게임 사이트 이용
정기적으로 다양한 CTF 참가
Windows Internals 또는 리버싱 핵심원리 등등의 보안 & 컴퓨터 시스템 관련 책 정독
다양한 블로그 읽으며 선조의 해킹 삶의 지혜 학습
드림핵 커뮤니티 혹은 디스코드와 같은 곳에 질의응답

위 예시들을 순차적이 아닌 병렬적으로 진행해야 진정한 고수가 될 수 있다.

2) 완벽 이해한다는 마인드는 금물#

처음부터 완벽하게 이해하는 것은 천재들이나 하는 것이다.
한 번 읽고 이해가 안된다면, GPT 또는 친구에게 물어보고, 그래도 이해가 안된다면 그냥 넘어가고 나중에 한 번 다시 보는 것이 좋다. 일단 완벽하게 이 개념을 마스터하겠다는 생각으로 해킹을 공부하다 보면 재미도 없고 시간도 느리게 간다.
인내심을 가져야한다. ‘왜 내가 아직도 이 개념도 이해 못하지????’하는 생각은 몸에 해롭다. 나중에 다른 개념을 학습하다보면 자연스래 다시 봤을 때 이해되는 순간이 있을 것이다.

3) ChatGPT(혹은 다른 생성형 AI)의 사용#

ChatGPT는 솔직히 배움에 해롭다.
왜냐하면 ChatGPT o3가 나오면서부터 GPT 질문 한 번으로 풀리는 문제들이 우후죽순 생겨났기 때문이다.(리버싱 기준)
GPT를 계속 사용해보면서 느끼는 것인데, 배우는 느낌이 안든다. 배움엔 고통이 수반되야한다고 생각한다. 그 고통이 아주 조금 적어질 순 있어도 아얘 없어지진 않는 것이 좋다.

주관적이긴 하지만 내 생각은 아래와 같다.

  • 해킹 배움의 초기:
    쓰는 것이 좋다. 아무것도 모르기에 혼자서 끙끙대다가는 아무것도 못한다. 그러면서 점차 해킹에 흥미를 느끼고, 뭔가 GPT로도 잘 안 풀리는 문제가 있을 때, 그 때 직접 해보는 것이다.

  • 조금 안 상태:
    GPT 사용을 지양하는 것이 좋다.(대회 같이 중요한 순간 제외) GPT는 나의 거울과 같아서, 내가 아는 만큼 GPT가 말하는 것이 보인다. GPT를 쓰다보면 언젠가 내가 이해하지 못했는데 너무 많이 진행된 상황이 펼쳐지곤 한다.(진짜 망한 상태) 이러면 그냥 시간만 날린 것이다. 그러니 만약 문제를 어느정도 풀어서 쫌 안다는 생각이 들 때쯤에는, GPT를 질문, 노가다 코드 대리 작성(반복적인 코드 작성) 같이 내가 같이 성장하는 방법으로 가면 좋다.

  • 만약 본인이 애니프사에 해킹을 통달한 쌉고수라면, 앞으로 구르면서 GPT를 발로 쓰고 현미경으로 컴퓨터를 보면서 해킹을 해도 상관 없다.

3. 가장 중요한 것#

사실 해킹 공부에서 가장 중요한 것은 사람의 마음가짐인 것 같다. 아무리 실력이 뛰어나도, 인성이 안 좋으면 무용지물(無用之物)이다.
아무리 못해도 할 수 있다 믿고 꾸준히 노력하면, 할 수 있다. 뛰어난 해킹 실력을 실제 서비스 해킹하는 그런 나쁜 곳에 사용한다면, 그것은 명백히 잘못된 것이다.

1) 윤리의식 기르기#

DDoS 공격 할 줄 안다고 우쭐대며 실제 서비스에 공격한다면 어떻게 될까? 범죄이다.
아무도 모르겠지라는 생각으로 블랙 해커의 일을 한다면 안된다. 무조건 걸린다.
실제 서비스에 공격해서 부당한 이득을 취한다면 주변 친구들은 인정해줄 수 있지만 진짜 잘하는 사람들은 하나도 인정해주지 않는다.
실제로 스틸리언 박찬암 대표님도 해킹에서 윤리를 가장 중요시 하셨다.
지식은 모르면 가르쳐주면 되지만, 인성은 개조가 어렵다.

2) 인내심 기르기#

이 글을 읽으면서 뭔가를 느끼지 않았나?
바로 전반적으로 그냥 노력하면 된다는 이야기를 계속해서 강조하고 있다. 뭐 이런 걸 누가 모르냐고 생각할 수 있겠지만 실제로 실천하는 사람들은 적다. 꾹 참고 하는 수 밖엔 없다. 천재들이 같은 시간을 사용해서 이해하는 것이 다르기야 하겠지만, 결코 해킹하는 시간이 적지 않다. 아이러니하게도 오히려 천재들이 더 배움에 투자를 많이 하기도 하는 경우가 있다.(잘하니까 재밌는 것도 맞긴 하다)
어떤 서울대 의대 수석 합격자의 이야기가 있다. 항상 자기가 자습실에서 마지막으로 나갔다고 한다. 이상하게도 자신이 공부를 제일 잘하는데도 말이다.
해킹에 미치면 최고로 좋다!

3) 조용히 공부하기#

해킹을 공부하다 보면 어떠한 욕구가 솓구치는 것을 느낄 때가 종종 있다. 뭔가 뽐내고 싶고, 인정받고 싶은 마음. 사실 해킹 자체의 배움의 고통이 있다보니 당연한 심리일 수 있다. 그리고 해킹이라는 학문이 어렵고 전문적이고 멋있는 이미지로 외부에 비춰지다보니 그러한 마음이 더욱 생긴다. 하지만 겸손해야한다. 더닝-크루거 효과라고 아나? 자신이 잘나보인다면 우매함의 봉우리에 서있진 않은지 자가검진을 해봐라. CTF에 나가면 실감이 잘된다.(그렇다고 좌절은 금물~)

끝내며#

해킹 공부는 정말 재밌다. 노력을 하고 결실을 맺었을 때의 기쁨은 이뤄 말할 수 없다.
위 글은 리버싱 공부를 1년 반 정도 하면서 느낀 것 + 다른 사람 보며 배운 점들을 모아 작성한 글이다.
사실 필자도 많이 부족하다고 느끼고, 꾹 참고 공부하는 것이 힘들 때가 많다. 그냥 하는 것이다.
해킹 공부를 모르겠다면 한 두 번 쭉 정독하여 곱씹어 보는 것을 추천한다.
사실 저렇게만 공부한다면 못할게 뭐가 있을까 싶기도 하다.

화이팅 화이팅입니다~

+ 여담
애니 프사는 고수의 상징이다. 모두들 애니프사를 달도록 하자. 애니프사의 효능은 이미 논문으로 증명 되었다.

  • 애니프사를 사용하면 컴퓨터를 들어갈 때마다 애니 속 인물이 응원을 해준다.
  • 애니프사를 통한 사회적 자살은 컴퓨터와의 우애를 더욱 단단하게 만들어준다.
  • 다른 애니프사를 한 고오수들과의 동질감과 공감대 형성 가능(인맥 만들기 쉬움)
How to be good at Hacking
https://xdfyrj.github.io/posts/begoodathacking/
Author
xdfyrj
Published at
2025-07-25