In Univ (2023-2)
4 min read
프로그램털모찌
무슨 뜻인지 모르겠다고요? 저도 그렇습니다. AI가 만들어준 이름이기 때문이죠.
cat :flag_kr:을 만들고 나서 나간 첫 메이저 CTF인 HITCON CTF의 팀명입니다. 외국 대회에 당당하게 한글 팀명으로 말이죠.
원래 크게 뛸 생각은 없었습니다. 그냥 PLUS, cat :flag_kr:, 그리고 방학 때 자주 같이 뛰었던 CyKor 분들과 소박하게 뛰어보자는 생각 정도였죠. 제가 아는 분들이 그리 많지 않아서 말입니다.
근데 다른 팀원분께서 어떻게 알음알음 고수분을 모아오시더라고요. 덕분에 위 3팀에 Defenit/HAIM, '군필'분들까지 합류하게 되어 대권을 노려볼 수 있게 되었습니다.
이 쯤 되니 욕심이 났습니다. 나도 '한 번 쯤 본선 있는 CTF에 오프라인으로 참여해 볼 순 없을까?'란 욕심 말입니다. 그리고 만약 여기서 잘 되면 이대로 DEF CON 까지 노려 볼 수 있으니 정말로 좋은 기회라고 생각했습니다.
모든 건 HITCON 본선을 가야 이룰 수 있는 꿈이긴 하지만, 가능성이 0는 아니니까 말이죠. 일단 악착같이 문제를 풀었습니다.
HITCON은 DEF CON과 뭔가 느낌이 달랐습니다. 당시 DEF CON 문제를 풀 땐 복잡해서 머리가 아픈 같은 느낌이라면 HITCON은 깔끔하지만 어려워서 머리가 아픈 느낌이었습니다. 저는 후자를 좋아하기에 정말로 만족스러운 CTF였던 것 같네요.
같이 문제를 푸는 pwner분들도 굉장히 잘하시는 분들이어서 도움을 많이 받았습니다. 당시 wlswotmd(라 쓰고 송준현이라 읽는)과 같이 푼 문제들이 굉장히 많았는데, 아마 둘 다 커널쟁이들이었어서 그랬던 듯 합니다.
당시 wall-sina를 같이 풀었고, subformore은 신박한 테크닉을 찾아 풀었는데 이 때 큰 대회에서 말아먹는 징크스를 어느 정도 깬 것 같습니다. 그냥 안 어렵다 생각하고 문제를 풀어야 한다는 걸 다시 한 번 느끼네요.
막타는 ggwp님이 친 qqq란 문제였습니다. windows pwnable인데 저는 당시 아무것도 몰라서 손도 못 댔었네요. 7등 안에 들어야 해서 해당 문제를 못 풀면 본선에 못 가는 상태였는데, 딱 1시간 30분 남기고 푸셨습니다. GOAT.
이제 제가 할 수 있는 건 기도밖에 없었습니다. 그렇게 필살 새로고침 초당 16연타의 기도 끝엔...

결국 그렇게, 처음으로, 본선에 갔습니다.
저 때 느꼈던 쾌감은 이루 말할 수 없을 정도입니다.
이미 있는 다른 대형 팀에 들어가서 출전한 것도 아니고, 버스를 타서 간 것도 아니며, 직접 모은 그리 크지 않은 연합팀으로 본선을 간다는 게 진짜 가능할 줄 몰랐습니다. 앞서 대권을 노린다 어쩐다 했지만 속으론 그게 되겠어 싶기도 했고요.
대회가 끝나고도 거의 한 달 동안 계속 행복했던 것 같습니다. 개인으로서 본선에 참여할 수 있는 실력이 있단 걸 증명한 것 같았고, 동아리원으로서 PLUS가 멀쩡히 돌아간다는 걸 다른 팀에게 보여준 것 같아 기뻤습니다. 제 이후론 동아리 후배들에게 DEF CON이나 HITCON 같이 큰 대회 본선 경험을 시켜준 적이 없는데, 드디어 이런 경험을 안겨줄 수 있다는 것 자체가 뿌듯하기도 했고요. 이 에피소드가 아직까지 절 동아리에 남아있게 한 이유이기도 합니다.
본선도 좋은 경험이었습니다. 본선장엔 4명 밖에 못 들어가기 때문에 외부로 인프라를 열어주어야 해서 각종 네트워크를 세팅해야 했으며, 각 문제에 적절한 인원을 배정해야 했기에 문제 풀이 뿐만 아니라 인프라 및 인원 관리도 상당히 신경을 많이 썼습니다. 때문에 오히려 문제는 거의 못 본 것 같네요.
이런 건 A&D 본선을 직접 가보지 않는 이상 해보기 어려운 경험이었기에 좀 해맸습니다만, 이미 CTF에 고이신 분들의 도움을 받아가며 팀을 굴렸습니다. 이런 게 연륜이라는 걸까요.
운 좋게 본선에서도 4등이란 좋은 성과를 올렸습니다. 세계 4등이라고 말할 순 없지만... 이 대회에서만큼은 세계 4등입니다. 제가 이런 호사를 누려도 되나 싶네요.

이 뒤론 중국집 가서 팀원들과 뒷풀이도 하고 재미있게 놀다 돌아왔습니다. 이렇게나 즐거운 대만 여행이 제 인생에 다시 찾아올까요? 그랬으면 좋겠습니다.
자세한 이야기는 나중에 기회가 되면 풀어보겠습니다.
Codegate
Codegate 대학부가 없어질 줄 알았다면 4년 졸업할 가능성도 절대 배제할 수 없었을 겁니다. 물론 HITCON 본선 참여 이후로 동아리에 더 기여하고 싶다는 생각 때문에 아마 빠르게 졸업하지는 않았을 것 같지만, 그래도 나갈 확률이 달라졌겠지요.
이번 본선은 반드시 3등 이상을 따겠다는 마인드로 참여했습니다. beta, f2koi, poro, qwerty로 참여한 Codegate 본선. 반드시 이번에 수상했어야 합니다. 내년 되면 beta와 f2koi가 나가는데, 이러면 PLUS에 web과 web3를 할 사람이 없기 때문이죠.
심지어 어김없이 전 Codegate 예선을 시원하게 박았습니다. 무려 예선 0솔에 빛나는~ 이하 생략.
이제와서야 즐겁게 이야기 하는 거지 그 당시에 표정 보면 가관이었을 겁니다. 반드시 상 타야 한다는 놈이 0솔이라니, 참으로 웃기지 않습니까?
결국 본선에서 증명해야만 하는 상황. 과연 무난하게 3등을 할 수 있었을까요? 그랬으면 이렇게 글을 쓰지도 않았을 겁니다.
그렇게 대회 시작 후.. (중략)
본선이 2시간 남았습니다.

4등. 과연 이 위기를 극복하는 방법은 무엇일까요? 당연히 1문제 더 풀기입니다. 24시간 대회에서 2시간 남기고 한 문제 더 풀기라니, 진짜 뛰어내리고 싶었습니다.
그럼에도 제가 여기 글을 쓰는 이유는 살아있기 때문이겠죠? 1시간 조금 덜 남기고 trap을 풀었습니다. 나중에 다시 일어나서 문제를 보니 충분히 쉬운 문제였는데, 그 당시엔 졸려서 뇌가 어떻게 됐었나봅니다.

저 flag를 딴 뒤로 그냥 쓰러졌습니다. 어짜피 시간 내에 더 못 푼다는 계산이 나왔거든요.
그리고 무사히? 3등을 유지했습니다. 지금 하라면 못할 것 같네요. 심지어 4등인 '돌솥낙지비빔밥'은 1인팀 이었습니다. 말도 안되는 고수분이 계셔서...
아무튼 우여곡절 끝에 무사히 상도 타고, 대회 때 썼던 카드는 동아리에 잘 걸어뒀습니다. 이젠 어떻게 됐는지 잘 모르겠군요.
그렇게 Codegate에서 대학부 3등상을 탔습니다. 전 이게 제 Codegate 수상의 시발점일 줄 알았는데 대회 자체가 없어질 줄이야... 내 대학부 대회(였던 것)를 돌려다오....
Others?
WACON 등 더 많은 에피소드들이 있지만 여기서 다 쓰긴 힘들 것 같네요. 나중에 시간 나면 써보겠습니다.
Recap
CTF에서 많은 걸 성취한 첫 해입니다. 직접 팀도 만들어봤고, 연합팀으로 메이저 CTF도 가봤으며, 상을 타기까지. 이렇게 행복해도 되나 싶은 해가 아닐 수 없습니다.
20년도에 시작해서 3번째 목표를 이루기까지 4년이 걸렸네요. 돌아보면 별 거 아닌 것처럼 보이지만 당시엔 너무나 길게 느껴졌습니다. 이미 밝혀둔 길을 돌아보는 것과, 한 걸음씩 밝혀가야 하는 길의 차이는 너무나 극명하더군요.
어쨌든 과정이 행복했으니, OK입니다.
Comments
Loading...