Hackceler8 후기

논문 읽기가 싫어서 빠르게 후기 쓰고 ㅌㅌ하겠읍니다,,,

 

2021 구글 CTF에서 저희 팀(Super Guessor)가 9등을 했습니다. 보통 이런 대회들을 보면 예선을 jeopardy로 하고 본선을 데프콘처럼 Attack & Defense로 진행하던가, 아니면 그냥 본선도 jeopardy 형식으로 진행을 해버리는데 구글은 독특하게 상위 16팀을 뽑아 Hackceler8라는 이름의 이벤트 매치를 진행하게끔 했습니다. 본선이라기 보다는 말 그대로 이벤트 매치 성격이 강한 것 같긴 합니다.

 

아주 간략하게 설명하면 맵에서 퍼즐을 찾아 플래그를 모으는 게임을 플레이하는데 클라이언트 사이드에서 온갖 꼼수를 부려도 되는 그런 상황이고 글보다 영상이 편하니 작년 영상 참고 ㄱㄱ 코드는 여기서 확인 가능하고 클라이언트 사이드의 코드와 서버 사이드의 코드가 전부 제공됩니다.

 

대회는 4개의 팀을 4개의 조로 나누어 진행되었습니다. 최대한 시간대가 비슷한 나라를 묶어서 진행했다고 하더라구요. 저희는 마지막 조에 들어가서 한국 시간 기준 월요일 새벽 1시 - 2시 반에 경기를 진행하게 되었습니다.

 

올해의 대회 형식은 대회 시작 1주일 전에 공개되었는데 확인해보니 작년과 거의 동일한 포맷에서 게임이 진행되었고, 그래서 기존 팀들은 작년에 사용했던 툴들을 다시 이용할 수 있는 반면 저희팀을 포함해서 올해 처음으로 Hackceler8에 진출한 팀들 입장에서는 이건 좀 불공평하지 않냐 하는 불만이 약간 있었습니다.

 

그렇다고 손을 놓고 있을 수는 없으니 일주일이라는 짧은 시간 동안 특히 팀에서 웹을 중점적으로 하던 분들이 여러 가지 툴들을 열심히 만들었습니다. 저도 대충 설치하고 실행을 해보긴 했는데 js가 친숙하지 않아서 뭔가를 하긴 힘들었습니다ㅠ 아무튼 그렇게 다른 팀원들이 열심히 해주셔서 아래처럼 스피드핵도 만들고 미니맵도 만들고 맵의 여러 오브젝트들의 위치를 확인할 수 있는 기능도 만들고 뭐 그렇게 해두었습니다.

 

 

또 위의 영상을 보셨다면 알겠지만 각 팀은 플레이 화면을 스트리밍했어야 하고 팀에서 스트리밍을 할 사람을 정해두었습니다(각자 로컬에서 서버 파일을 돌려서 게임을 진행할 수는 있지만 실제 게임 서버에 접속해서 플레이하는 사람은 한 명으로 한정되어서 스트리밍을 하는 사람만이 실제 서버에서 게임을 진행해야 함). 그런데 당일날 설정을 해보니 뭔가 문제가 생겨서 계속 삐걱대는 상황이었습니다.

 

대회 시작 30분 전에 대회에서 사용될 코드를 공개했고 게임을 열심히 분석해 플래그를 모을 최적의 경로를 확인해야 할 시간에 저희는 스트리밍을 바로잡느라 패닉 상태였습니다. 팀이 여러 나라 사람들로 구성되어 있다 보니 인터넷 환경이 꽤 열악한 곳에 사는 사람도 있었고 여러 가지로 엉망이었습니다. 그래서 어떡하나 하다가 그냥 제가 하겠다고 나섰습니다. 사실 웬만하면 실제 툴을 개발했던 사람들이 플레이&스트리밍을 하는게 낫겠다 싶었는데 상황이 여의치않아서 그렇게 됐습니다.

 

빠르게 obs 스튜디오를 깔고 제 컴퓨터 화면을 구글 측에 송출한 후 게임을 시작했습니다. 팀원도 화면을 볼 수 있게 디스코드를 통해서도 송출했습니다. 꽤 부하가 걸릴 수 있는 작업이었는데 3070ti는 강력했습니다bb

 

분명 툴은 꽤 괜찮았는데 다른 팀들은 최적의 경로를 다 잡아뒀을 시간에 저희는 스트리밍 문제를 해결하느라 맵을 제대로 분석하지도 못했고 아주 삽질에 삽질을 거듭했습니다. 사실 원래 하기로 한 사람이 진행을 못하고 제가 스트리밍을 하기로 결정했을 때 부터 이미 절반 이상 말아먹었다고 생각합니다.

 

게임 시간 90분 동안 7개의 플래그를 빨리 모으는게 목표인데 진짜 피눈물 흘리면서 간신히 2개를 모았습니다,,, 중간에 팀뷰어를 깔아서 다른 사람이 접속도 하고 여러모로 개판이었습니다 ㄹㅇ 4개 팀끼리 붙었는데 다른 팀들은 7개, 7개, 6개 모은건 함정,,,

 

그래도 진짜 0개는 안된다, 1개라도 모아야 된다라고만 생각했는데 그나마 선방(?)한 것 같고, 이벤트 매치라 말아먹은것에 대한 큰 느낌은 없네요,,, 개인적으로 굉장히 재밌었던건, 제 스트리밍을 송출하면서 디스코드 보이스와 채팅으로 이것저것 팀원들의 안내를 듣거나 제가 질문을 하거나 그랬는데 가뜩이나 영어를 잘 못하는 상황에서 인도인, 인도네시아인, 한국인, 크로아티아인(사실 국적 정확하게 잘 모름ㅎ)등 다양한 분들과 영어로 소통을 하려니 뇌정지가 굉장히 심하게 왔었습니다. 스피킹은 진짜 뇌에서 나오는대로 막 뱉었는데 리스닝이 잘 안되더라구여. 앞으로 더 영어 공부는 열심히 하는걸로,,

 

어쨌거나 뜬금없이 새벽에 재밌는 경험이었습니다. 내년일은 모르지만 내년에도 구글 CTF에서 16등 안에 들어서 비슷한 이벤트를 하게 된다면 내년에는 좀 다른 포맷으로 진행하면 좋겠습니다ㅎㅎ

 

저희 조의 게임 플레이 영상도 아마 조만간 공개가 되긴 할건데 아주 삽질을 거하게 하는 영상이 공개될걸 생각하니 마음이 아프네요🤣🤣

  Comments