요약
이 블로그는 원래 기술 블로그로서 IT, 프로그래밍, 정보보안/해킹을 제외한 컨텐츠는 올리지 않는다. 하지만 대학교/원 졸업 후 1년 동안 실무를 뛰며 느끼고 배운 것을 한 번쯤을 정리하고 되돌아보자는 취지에서 이 글을 남긴다. 이 글에서는 내가 2021년 7월부터 2022년 7월 까지 어떤 일을 했고, 어떤 것들을 배웠으며, 미래에는 어떤 일을 하고 싶은지에 대해 정리했다.
1년 동안 한 일
내 모토인 Show, Don't Tell 과 PoC||GTFO 를 지키기 위해 회사일을 제외한 모든 일들은 문서, 깃헙 링크, 코드, 영상 등으로 그 자취를 남겼다. 취직 후 1년 동안은 내가 오펜시브 시큐리티의 어떤 도메인에 집중을 하고 싶은지 알아보기 위해 폭 넓게 공부했고, 다양한 일과 경험을 하는 것에 초점을 뒀다. 그 외에는 국내외 정보보안 커뮤니티와 셀프 브랜딩에도 신경썼다.
회사
- 취직 후 2달 뒤부터 외부망, 웹앱 솔로 프로젝트 투입
- 팀 페이로드 컴파일, 난독화, 방어 우회 자동화 파이프라인 구축
- 내부망 모의해킹 방법론 제작 및 배포
- 내부망 모의해킹 부팀장 임명
- 내부망, 외부망, 초급~중급 웹어플리케이션 솔로 프로젝트 투입
- 사내 인프라팀에 소속되어 다양한 인프라 관련 트러블슈팅 도움
자격증
- ZeroPointSecurity의 Red Team Operator (CRTO) 자격증 취득 (한국 최초?) - 링크
- Sektor7의 Malware Essentials Course 완료
대외활동
프로젝트
- 700개의 사기업 및 공공기관 SPF, DKIM, DMARC 설정 여부 프로젝트 - 링크
- DarkHotel APT 그룹의 2021 TTP 재현 - 링크
- 젠킨스를 이용한 모의해킹 툴들의 컴파일, 난독화, 보안우회 자동화 구축 - 링크
- APT29 그룹의 ISO 페이로드 재현 - 링크
- 레드팀 플레이북 시작 - 링크
툴링 & 프로그래밍
- 레드팀 플레이북 - 링크
- DarkHotel APT 그룹 TTP - 링크
- APT29 그룹 TTP - 링크
- 모의해킹 툴 자동화 파이프라인 - 링크
- 오픈소스 툴 CrackMapExec에 기여 - 링크1, 링크2
- 오픈소스 툴 PackMyPayload에 기여 - 링크
- 2022 데프콘 레드팀/블루팀 빌리지 워크샵 - 데프콘 끝난 뒤 공개
- Log4Shell 로컬 도커 실습 환경 - 링크
블로그 - 2021/07 ~ 2022/07
워라벨
원하는 대학의 원하는 전공으로 편입한 뒤 대학교 2학년때부터 취직 후 신입 1년차까지 하루에 약 14~16시간을 컴퓨터 앞에서 IT, 프로그래밍, 정보보안 공부를 하거나 일을 하면서 보냈다. 재택근무를 하며 인턴때나 신입 1년차때나 5시 퇴근후 12시까지 자격증, 프로젝트, 블로그, 툴 제작 등을 하다 취침했다. 취직 후에는 앞서가고자 하는 욕망이 더 심해져서 1년차 동안 연차도 아예 안썼다. 남들 쉬고 놀러갈 때 일 하나라도 더 받아서 빨리 배우고 빨리 성장하는것이 목표였기에 크리스마스, 1월 1일 등의 공휴일에도 일하고, 퇴근 후에도 일했다.
게임, 테니스, 드럼 등의 취미활동들은 모두 접었고, 사회 생활도 가끔 회사 동료들끼리 식사하는 것 외에 모두 거절했다. 이렇게 달려보니 인턴도 붙고, 정직원으로 취직하고, 일은 잘하게 되고, 회사에서 인정받고, 연봉도 올라가고, 데프콘과 같은 컨퍼런스에도 초대 받고, 여러모로 좋은 기회들이 많이 찾아왔다.
하지만 그와 동시에 체중도 늘고, 눈, 허리, 어깨, 손목 등의 건강도 나빠지고, 정신적으로도 좀 힘든 시간을 많이 보냈던 것 같다. 사회적으로도 내가 아끼는 사람들과 챙기고 싶은 사람들에게 많이 신경을 못썼다. 학생 때 "인생을 살아가며 힘든 일들을 해결하지는 않고, 해킹을 하며 외면하는 해커가 되지 말자" 라는 취지의 블로그 글을 읽었던 것으로 기억하는데, 지금 보니 내가 딱 그 모양인 것은 아닌가 싶다. (놀랍게도 번아웃은 아직 안왔다 - 더 열심히 해야되나)
물론 후회는 없다. 말 그대로 노 라이프의 상태로 배우고, 해킹하고, 툴 만들고, 대회 나가고, 취직하고, 더 배우고, 인정받고, 좋은 사람들과 같이 일하며, 잠 자는 시간 외에 모든 시간을 내가 좋아하고 열정적인 것에 투자하는 것은 20대가 아니면 언제 해보나 싶었다. 하지만 인생에 있어서 해킹 외의 것들도 많고, 이런 것들도 어느정도 밸런스를 맞춰가며 챙기는 것도 중요하다는 생각이 든다. 1년차를 마치며 앞으로는 워라벨을 조금 더 챙기며 해커 초이가 아닌 평범한 사람 초이로서도 살고 싶다.
팀이 성공하면 나도 성장한다
흔히들 직장 생활은 전쟁터다, 나를 제외한 모든 사람들은 승진하는데 있어서 경쟁자일 뿐이다라는 말을 많이 듣는다. 틀린 말은 아니다. 미국 회사라고 해서 동기들 간의 연봉/승진 경쟁이 없는 것도 아니다. 하지만 일을 하면서 느끼는 것은 팀이 성공하는데 기여를 하면 결국 나도 성장한다는 것이다.
입사 후 솔로 프로젝트들을 뛰다보니 몇 가지 아쉬운 점이 눈에 띄었다. 항상 도움이 부족한 문서화, 아무도 시작하지 못한 페이로드 제작 자동화, 방치되어 있던 방법론 문서 제작 및 배포, 사내 교육 등등. 이런 일을 한다고 해서 내가 현재 진행 중인 모의해킹에서 취약점을 더 찾는 것도 아니고, 나와 같이 일하고 있는 고객사가 더 만족하지도 않는다. 하지만 퇴근 후 시간을 내 위에서 언급한 팀에 도움되는 일을 했더니 이는 결국 나의 성장에도 도움이 되었다.
예를 들어 새롭게 나온 내부망 횡적이동 및 권한 상승이였던 ADCS (Active Directory Certificate Services) 악용에 관련된 방법론을 써서 사내 위키에 추가했던 적이 있었다. ADCS의 개념, 사용되는 툴, 공격자 기법, 어떤 상황일 때 어떻게 공격하고, 고객사는 이를 어떻게 막아야하는지 추천 방법 등등을 썼었다. 이후 여러 동료들이 내 방법론을 보며 모의해킹 프로젝트를 성공 시켰고, 더 많은 취약점을 찾았다. 고객사들의 전반적인 만족도도 올라갔다. "초이가 작성한 방법론으로 내부망을 장악했다"와 비슷한 메시지들이 사내 메신저에 올라오기 시작했다. 나는 재미를 붙여 더 많은 방법론을 작성해 공유했고, 점점 사내에서 "초이는 내부망 좀 치는 사람"으로 인지도가 올라갔다. 내부망과 관련된 질문은 내게 핑이 되거나, PM분들이 고객사와 미팅을 할 때 나를 초대하는 일도 생기곤 했다. 이런 결과는 곧 내 사수와 매니저, "윗분"들의 귀에도 들어갔고, 이는 곧 내 성장으로도 이어졌다.
회사 선배가 "내 할일을 다 자동화 시키거나 후배들한테 정확하게 가르치도록 문서화를 한 사람이 결국 승진한다"는 말을 한 적이 있다. 임원급들로 승진하는 것에는 다양한 변수가 존재하겠지만, 엔지니어와 비슷한 기술직의 모의해커들의 승진은 선배의 말과 비슷하지 않을까 생각한다. 나만의 비밀 해킹 기법을 꽁꽁 싸매서 팀은 뒤쳐지고 나만 성공하기 보단, 팀을 위해 기여를 하다보면 내게 돌아오는 이득이 더 크다는 것을 깨달았다.
소프트 스킬 - 해커와 컨설턴트는 다르다
취직하기 전 학교 선배들로부터 계속 들었던 말이다. 결국 오펜시브 시큐리티 업계에서 기술적인 일을 하더라도 최종적으로는 내가 어떤 일을 했는지 고객사에게 설명 해야한다. 이는 보고서 작성, 온/오프라인 미팅, 그리고 프리젠테이션 발표 등을 통해 이뤄진다. 기술적 개념을 쉽게 풀어 설명을 하는 것부터, 고객사의 상황을 이해하는 것, 보이지 않는 뉘앙스, 고객사의 정보보안 예산과 인력과 관련된 눈치 등, 생각했던 것 보다 소프트 스킬이 더 필요했다. 취직 전에는 기술적 해킹 스킬 vs 소프트스킬이 70:30 라고 생각했다면, 지금은 거의 50:50 급으로 중요한 것이 아닌가 생각한다.
기술적 개념을 설명하는 것 외에도 프로젝트 투입 전 고객사와 함께 적절한 스코프와 모의해킹의 목표를 정하는 것, 그리고 중요사항을 체크하는 것 등의 일도 중요하다. 이외에도 고객사와 우리 회사와의 관계, 고객사 보안팀과 IT/재무/회계팀과의 관계, 고객사 Point of Contact와 나와의 관계 등을 신경 쓰는 것 또한 중요하다. 이와 관련해서는 디테일을 이 글에 적을 순 없기에 좀 추상적이지만 패스한다.
B2B (Business to Business) 일을 한다곤 하지만 어쨌든 컨설턴트로서 고객사 직원/임원 분들과의 소통은 필수적이다. 내 한마디, 내 말의 뉘앙스, 내 보고서의 문체와 단어선택 때문에 고객사가 이 취약점을 대하는 자세와 생각이 바뀔 수 있다는 점을 배우게 된 1년이였다.
회사도 중요하지만 커뮤니티도 중요하다
보안은 결국 블루팀, 레드팀, IT팀 등의 다양한 팀들이 모여 커뮤니티를 이루고, 이 커뮤니티가 보안 역량 강화라는 하나의 목표를 가지고 움직여야 목표를 달성 할 수 있다는 것을 배운 1년이였다. 우리나라는 정보보안 커뮤니티 자체가 적고 폐쇄적이기 때문에 정보와 경험의 공유가 매우 어렵다. 미국의 경우 크고 작은 공개/비공개 커뮤니티들이 많고, 컨퍼런스를 주축으로 한 정보와 경험의 공유가 매우 활발하다. 특히 2010년대 중반 이후에 커뮤니티의 크기와 활동도가 폭발적으로 늘어났다.
보안을 공부하고 보안 업계에서 일하는 사람일수록 커뮤니티에 기여를 하는 것이 중요하다. 회사에서 내 일만 잘하는 것도 중요하지만, 내가 가진 정보와 지식을 바탕으로 더 큰 보안 커뮤니티에 도움 및 영향을 끼칠수록 모두가 윈윈하는 시나리오가 만들어진다. 예를 들자면 MITRE ATTACK 프레임워크를 들 수 있다. MITRE ATTACK 은 2013년도에 만들어진 커뮤니티 기반의 프로젝트로, 실제 공격자들의 TTP를 정리하고 기록하기 위해 만들어졌다. 처음에는 나만의 "비밀" 해킹 기법, "비법" 해킹/방어 기법들을 꽁꽁 싸매며 누가 해킹 당하면 해킹 당했는 갑다 하고 넘어갔지만, MITRE ATTACK 이후로는 보안 커뮤니티의 집단 지성을 이용해 공격자들의 정확한 TTP와 대응 방안에 대해서 정리하기 시작했다.
요새는 많은 보안 회사들, 각국의 정보기관들, 수사기관등이 서로 협조하고 협력해 큰 커뮤니티를 이루고, 그 안에서 정보를 공유하는 일들이 점점 많아지고 있다. 회사나 기관들을 제외한 오픈소스 프로젝트들 또한 집단 지성의 힘을 빌려 보안과 관련된 지식과 정보들을 공유하는데 도움을 주고 있다. 결국 모두의 보안 레벨의 기준을 높이고 강화하기 위해서는 정보를 최대한 공유 해야한다.
커뮤니티에 기여하는 것은 내 셀프 브랜드를 알리는데에도 큰 역할을 한다. 내가 쓴 블로그, 만든 툴, 기여한 오픈소스 프로젝트 PR 들은 결국 업계에서 내 이름을 알리고 "이 사람이 보안 커뮤니티를 위해서 이런 일을 하는구나"를 알리는데에 사용된다. 위 "팀이 성공하면 나도 성장한다"와 비슷한 느낌이다.
2022 ~ 2023년, 앞으로는
앞으로도 배워야할 것들은 너무나도 많다. 개인적으로는 웹어플리케이션 모의해킹과 클라우드 모의해킹에 집중하면서, 레드팀 페이로드 제작에도 더 신경을 쏟고 싶다. 일 외적으로는 워라벨에 신경쓰며 건강을 더 챙겨야겠다. 그 외 다른 프로젝트들과 할 일도 있지만, 아직 공개하기엔 이르다.
마치며
겨우 신입 1년 끝내고 주제넘게 글을 썼나 싶기는 하지만, 그냥 주관적으로 내가 한 일들, 내가 배운 점들에 대해 정리를 해봤다. 1년 뒤 옛날 싸이월드 대문을 보는 느낌처럼 오그라드는 손으로 글을 지울지 모르겠지만, 일단은 일기 형식으로 글을 남겨본다. 이 글이 한명에게라도 도움이 되면 그걸로 만족하고, 그것마저도 안된다면 일기장 삼아 한 번 남겨본다.
2023년 7월까지 또 다시 열심히 달릴 것을 나 자신에게 약속하며,
Happy hacking!