← 아티클 목록

개발일지CJ AI Security Wave 최종 프로젝트(AI를 활용한 침투테스트) →

다섯 명이 함께 작업하던 중 랩이 멈췄다

첫 가설을 버리고 랩을 다시 살폈다. 팀원들이 동시에 작업하던 중 서비스가 멈춘 일과 다른 랩에서 재시도를 중단한 과정을 적었다.

목차 4

8월 18일, 프로그램에서 제공한 침투테스트 랩이 열렸다. 허가 범위와 요청 제한을 확인하고 실습을 시작했다. 첫 주에 하네스를 만들어 뒀으니 시작은 빠를 줄 알았다.

막상 접속하니 응답을 어떻게 해석할지부터 막혔다. 나는 에이전트의 제안과 팀원들의 진행 결과를 검토해 다음 공격 방향을 제시했는데, 첫 판단이 틀리면 이후 작업도 엉뚱한 방향으로 이어졌다.

첫 가설이 틀렸다는 걸 늦게 인정했다

처음에는 눈에 띄는 응답 차이 하나를 보고 한 경로를 유력하게 봤다. 같은 요청을 다시 보내자 결과가 달랐고, 일부 차이는 서비스 지연 때문에 생겼다. 그런데도 에이전트는 앞선 대화에서 유력하다고 적은 경로를 계속 확장하려 했다.

무엇을 확인하려 했고 실제로 무엇을 봤는지 나눠 적었다. 재현되지 않는 응답은 기각하거나 보류했다. 그러고 나서야 처음 잡은 경로를 버리고 애플리케이션의 동작을 다시 살폈다.

예상하지 못한 응답이나 권한이 나오면 결과를 저장한 뒤 사람이 다음 실행을 검토했다. 단계를 넘길 때는 성공한 시도뿐 아니라 실패한 경로와 남은 요청 수도 전달했다. 그래도 같은 기록에서 무엇을 중요하게 볼지는 작업자마다 달랐다.

개인별 제한만으로는 부족했다

그날 오후, 요청이 돌아오지 않고 전부 타임아웃으로 끝났다.

팀원들은 각자 다른 작업을 하면서 개인별 요청 제한만 보고 있었다. 다섯 명 모두 자기 몫 안이었지만 팀 전체 요청량은 아무도 세지 않았다. 요청과 재시도가 같은 시간에 겹쳐 들어갔다.

작업을 멈추고 멘토님께 상황을 알렸다. 팀원들의 요청 내역을 모으고 응답 기록을 보관했다. 장애 사유서를 제출한 뒤 멘토님의 확인을 거쳐 다음 날 작업을 재개했다.

서비스 장애로 작업을 멈추고 요청 내역을 확인한 뒤 다음 날 재개한 과정

멘토님과 확인한 결과 팀의 테스트 요청과 장애가 연관돼 있었다. 다만 전체 인프라 로그가 없어 어떤 요청이나 서버 동작이 직접 원인인지는 가려내지 못했다.

팀 전체 요청량과 재시도를 함께 세고, 문제가 생기면 모든 작업을 멈출 수 있어야 했다. 첫 주에 만든 도구에는 그 기능이 없었다.

주 랩은 끝까지 갔다

8월 20일에는 주 랩의 최종 학습 목표까지 갔다. 애플리케이션 동작을 살피는 데서 시작해 계정과 권한, 클라우드 데이터의 접근 범위를 확인했다.

그 과정에서 잘못 잡은 경로와 권한을 과대평가한 판단을 여러 번 고쳤다. 확인했다고 적었다가 다시 보류한 가설도 있었다. 최종 결과와 함께 이런 수정 과정도 기록에 남겼다.

다른 랩에서는 정리 작업 중 멈췄다

8월 24일에는 보고서 포털 랩을 하나 더 받았다. 앞서 정한 절차를 다른 대상에도 적용할 수 있는지 살폈다. 초기 화면과 보고서 처리 과정에서 문제로 의심되는 동작을 봤지만, 전체 목표까지 이어 가지는 못했다.

테스트로 만든 상태를 지우는 요청이 서버 오류로 실패했다. 같은 요청을 반복하다가 영향이 커질 수 있어 재시도를 멈췄다. 초기 점검은 마쳤지만 정리 작업은 실패했다고 기록하고, 랩 소유자가 확인할 항목으로 넘겼다.

함께 보면 좋은 글

이 기록과 태그가 겹치는 아티클입니다.