MFA(다요소 인증)를 설정했는데도 Microsoft 365 계정이 해킹당하는 핵심 원인은 공격자가 중간자(AitM) 프록시로 인증 흐름을 실시간 중계하기 때문입니다. 공격자는 피해자의 MFA 응답을 포워딩해 유효한 세션 쿠키와 OAuth 토큰을 탈취합니다. 이 토큰은 인증이 끝난 세션을 의미하므로, 별도의 자격 증명이나 MFA 요청 없이도 Microsoft 서비스에 곧바로 접근할 수 있습니다.
AiTM 피싱의 기본 원리와 MFA 우회 메커니즘
기존 피싱이 정적 페이지로 아이디와 비밀번호를 훔치는 수준이었다면, Microsoft 365 AitM 피싱은 인증 프로세스 자체를 가로채는 중간자 공격입니다. 공격 인프라는 먼저 브라우저 지문 수집을 수행합니다. 실행된 JavaScript가 브라우저 객체(navigator, window, screen, document 등)의 속성을 열거하는데, 이렇게 모은 OS 정보, 화면 크기, 언어·시간대, 하드웨어 동시성, WebDriver 상태, WebGL 정보 등은 Microsoft OAuth 엔드포인트로 리다이렉션됩니다.
이 과정은 Microsoft의 비정상 로그인 탐지 알고리즘을 피하고 정상 사용자 환경으로 위장해 토큰 발급을 안정적으로 처리하려는 목적입니다. IT 보안 담당자는 MFA 설정 여부뿐만 아니라 인증 토큰의 유효 기간과 세션 재사용 취약점 관리까지 고민해야 합니다.
Microsoft 365 AitM 피싱 공격 체인과 기술적 특징
공격 유도 체인은 다단계 리다이렉션으로 보안 솔루션의 탐지를 늦춥니다. 피해자가 이메일 버튼을 누르면 Google Meet linkredirect URL을 거쳐 Google Ads Campaign Manager의 동적 클릭 트래커(/ddm/clk)로 이동합니다. 그 다음 AWS S3 버킷에 있는 HTML 페이지를 지나 최종적으로 AiTM 피싱 인프라에 연결됩니다.
| 공격 단계 | 기술적 특징 및 사용된 컴포넌트 | 보안 영향도 |
|---|---|---|
| 초기 유도 및 라우팅 | Google Meet linkredirect → Google Ads Campaign Manager(/ddm/clk) → AWS S3 | 추적 회피 및 신뢰도 위장, 초기 탐지 지연 |
| 지문 수집 | /st_58200519/class_identifier.php 엔드포인트 경유 |
브라우저/OS 환경 모방을 통한 비정상 활동 감지 회피 |
| 위치 확인 | api.country.is API 호출 및 rcfh_country 쿠키 생성(7일 유효) |
공격 원천 및 세션 유효성 검증 회피 |
| 인증 중계 | AiTM 프록시를 통한 실시간 OAuth 흐름 포워딩 | MFA 응답 포워딩 및 세션 쿠키·토큰 탈취 |
| 세션 유지 | 약 8시간 간격의 자동 로그인 루프 및 주거용 프록시(anyIP 등) 사용 | 장기적 접근 유지 및 로그 위장 |
AiTM 프록시는 nonce 파라미터 없이 OAuth 인증 흐름을 시작할 때 에러 90014를 뱉기도 합니다. 이는 프록시 구성 불일치나 인증 서버 호환성 문제로 보입니다. 따라서 모니터링 시 이 에러 패턴을 연관 지표로 삼을 수 있습니다.
Storm-2755(Payroll Pirates) 캠페인 분석
이 공격 기법은 Microsoft가 Storm-2755(Payroll Pirates)로 추적하는 위협 그룹과 기술적·행동적으로 매우 유사합니다. 금전적 이득을 목표로 급여 관련 이메일 수집과 직접 예금 정보 변경을 노리는 셈입니다. 관측 데이터에 따르면 의료, 교육, 제조, 정부, 전문 서비스 등 다양한 업종이 표적이 되었습니다.
피싱 이메일 제목은 [조직명]:ATTN: Review messages. Ref id: [랜덤 문자열] 형식으로 일관됩니다. 주거용 프록시 네트워크를 써서 악의적인 로그인을 일반 소비자 트래픽인 양 위장합니다. 침투 후 11~24시간의 초기 비정상 활동이 지나면, 공격자는 8시간 간격으로 로그인을 반복해 세션을 유지합니다. 정찰 단계에서는 axios/1.18.1 User-Agent를 쓰며, Microsoft Graph로 payroll, HR, finance, admin 기능 사용자를 나열하고 급여 및 금융 메시지에 접근합니다. 이는 재무 데이터 유출과 직접적인 금전적 손실로 이어지므로 핵심 직무 계정 모니터링이 필수입니다.
AiTM 공격 탐지와 대응 방안
세션 토큰 탈취는 기존 MFA를 무력화시키기 때문에 공격자 세션 수명을 줄이고 인증 방식을 근본적으로 바꿔야 합니다. 우선 다음 조치들을 살펴보세요.
- 조건부 접근 정책(Conditional Access)을 구성해 세션 수명 제한과 세션 유휴 정책을 엄격하게 적용합니다.
- Microsoft Entra ID Protection 및 CAE(Continuous Access Evaluation)를 활성화해 지속적인 위협 평가와 실시간 세션 종료가 가능하게 설정합니다.
- 세션 토큰 탈취가 기술적으로 불가능한 피싱 방지 MFA(FIDO2/WebAuthN)를 최대한 도입해 인증 취약점을 제거합니다.
- Microsoft Defender for Office 365의 anti-phishing 정책을 활성화해 AitM 유도 링크 및 이메일을 사전에 차단하고, Microsoft Defender XDR 고객은 관련 탐지 시그니처를 참조합니다.
AitM 피싱은 인증 인프라의 단일 제어점(MFA) 의존성을 노리는 정교한 기법입니다. 세션 관리 정책을 강화하고 피싱 방지 인증 방식을 도입해 조직의 Microsoft 365 환경 방어선을 다층으로 구축해야 합니다.