Skip to content
enterprise

‘admin’ 계정이 Microsoft의 Titan을 어떻게 열었나

노출된 하나의 API 경로가 숨겨진 분석 서비스를 경계 보안이 실제로 얼마나 보호할 수 있는지에 대한 시험대로 만들었습니다. 이 이야기에서 가장 놀라운 숫자는 확인된 데이터 도난으로 오해받기 전에 면밀히 살펴볼 필요가 있습니다.

Eleanor Shaw
‘admin’ 계정이 Microsoft의 Titan을 어떻게 열었나

열려 있던 VPN 문과 API 창

16세 연구원 Faav는 자신의 자동화 도구인 Antares를 활용하여 Microsoft의 내부 분석 서비스인 Titan을 발견했습니다. 이 발견은 중요한 아키텍처상의 실수를 드러냈습니다. 기업용 VPN이 Titan의 웹 인터페이스를 보호하고 있었지만, 클라우드 호스팅된 API와 관련 문서는 공개적으로 접근 가능한 상태였던 것입니다. 이러한 경계 불일치는 즉각적인 취약점을 야기했습니다.

결정적으로, 특정 API 경로인 /v2/Query가 표준 Entra ID 인증을 우회했습니다. 문서화된 다른 경로들과 달리, /v2/Query는 원시 SQL 쿼리를 직접 허용하여 Microsoft의 내부 데이터 인프라에 대한 인증되지 않은 접근 경로를 제공한 것으로 알려졌습니다. 이러한 단일 노출은 접근 제어에 있어 상당한 허점을 의미했습니다.

Faav는 이 열린 창을 악용하여 공개적으로 노출된 API와 우회된 인증 메커니즘이 어떻게 강력한 경계 방어조차 무력화할 수 있는지 입증했습니다. 이 사건은 프런트엔드뿐만 아니라 모든 서비스 인터페이스에 걸쳐 포괄적인 보안 감사가 필수적임을 강조합니다.

JWT는 모든 것을 확인했지만, 서명은 예외였습니다

Faav의 다음 단계는 Titan의 내부 아키텍처를 이해하는 것이었습니다. 그는 2023 Wayback Machine 스냅샷을 사용하여 56개의 테이블 정의를 복구했고, 이를 통해 서비스 데이터 구조에 대한 중요한 청사진을 확보했습니다. 이러한 정찰을 통해 쿼리에 사용할 수 있는 정확한 데이터 포인트를 파악했습니다.

그다음은 인증 문제였습니다. Titan은 JSON Web Tokens(JWT)를 사용했는데, Faav는 중요한 결함을 발견했습니다. 서비스가 테넌트, 대상, 앱 ID와 같은 다양한 토큰 클레임은 확인했지만, 암호화 서명 검증은 완전히 건너뛰고 있었던 것입니다. 이러한 간과로 인해 클레임 검증은 무의미해졌습니다.

따라서 헤더에 "alg": "none"이 있고 서명 페이로드가 비어 있는 토큰도 모든 검사를 통과할 수 있었습니다. 토큰의 무결성과 출처를 확인할 서명이 없었기 때문에, Titan은 위조된 자격 증명을 합법적인 것으로 받아들였습니다. 클레임 검증만으로는 신뢰를 구축할 수 없으며, 토큰 발신자를 인증하고 변조를 방지하는 것은 바로 서명 검증입니다. 이제 Faav는 Titan의 보안을 우회할 경로를 확보했습니다.

한 단어가 깨진 토큰을 관리자 권한으로 바꾸었습니다

Faav는 마지막 난관인 사용자 인증에 직면했습니다. 위조된 JWT에도 불구하고 이메일 형식의 사용자 이름은 Titan에서 계속 실패했습니다. 끈질긴 시도 끝에, 간단하고 평범한 사용자 이름인 admin이 성공했고, 이는 본질적으로 관리자 역할을 수행하는 로컬 UserID 1에 매핑되었습니다. 이 단어 하나가 광범위한 접근 권한을 열어주었습니다.

관리자 권한은 상당한 내부 흔적을 드러냈습니다. Faav는 30개의 라이브 라우팅 대상과 Bing Analytics를 포함한 17개의 분석 데이터베이스를 볼 수 있게 되었습니다. 노출된 메타데이터에는 약 25,000개의 Microsoft 내부 계정이 포함되어 있었습니다.

약 17.3조 개의 행과 같은 주요 수치는 접근 가능한 데이터베이스의 이론적 저장 용량을 나타낸 것이며, 실제로 접근하거나 유출된 기록을 의미하지는 않습니다. Faav는 엄격한 윤리적 경계를 유지하며 고객 데이터에 전혀 손대지 않았고, 취약점을 발견한 당일에 이를 보고했습니다. 이 놀라운 폭로에 대한 추가적인 맥락은 Open Microsoft Database With 17 Trillion Total Rows and 25,000 User Accounts Hacked by a Bored Teenager에서 확인하실 수 있습니다. Microsoft는 4일 이내에 엔드포인트를 수정하고 5,000달러의 포상금을 지급했습니다.

이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.

하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음

4일 만의 수정, 그리고 더 큰 보안 교훈

Faav는 책임 있는 공개(responsible disclosure)를 실천했으며, 고객 데이터에 접근한 적이 없음을 확인했습니다. Microsoft는 신속하게 대응하여 노출된 엔드포인트를 제한하고 4일 이내에 토큰 검사를 강화했습니다. 이러한 즉각적인 조치는 Faav가 접근할 수 있었던 17.3조 개의 데이터 행을 고려할 때 발생할 수 있었던 치명적인 유출 사고를 막았습니다.

Faav에게 지급된 5,000달러의 포상금은 커뮤니티 내에서 논쟁을 불러일으켰습니다. 많은 이들은 30개의 라우팅 대상과 Bing Analytics를 포함한 17개의 분석 데이터베이스에 대한 관리자 접근 권한이 가질 수 있는 잠재적 영향력을 고려할 때, 이 보상액이 적다고 주장했습니다. 하지만 더 넓은 의미의 교훈은 포상금을 넘어섭니다.

이번 사건은 클라우드 보안 팀에게 중요한 시사점을 제공합니다. 시스템이 JWT 서명을 검증하고, 특히 alg: "none" 취약점을 악용하는 서명되지 않은 토큰을 즉시 거부하도록 해야 합니다. 또한, 예측 가능한 사용자 ID에 매핑되는 admin과 같은 기본 권한 계정을 제거하십시오.

마지막으로, 백엔드 API 경로에 대한 독립적인 테스트가 무엇보다 중요합니다. 인증되지 않은 퍼블릭 클라우드 엔드포인트가 노출된 상태라면 VPN으로 보호되는 인터페이스는 잘못된 보안 안도감을 줄 뿐입니다. 강력한 보안을 위해서는 정문뿐만 아니라 모든 계층에서 경계심을 늦추지 말아야 합니다.

자주 묻는 질문(FAQ)

Microsoft Titan이란 무엇인가요?

Titan은 라우팅 대상 및 분석 데이터베이스에 대한 접근 권한을 제공하는 내부 Microsoft 분석 서비스였습니다.

Faav는 어떻게 관리자 권한을 얻었나요?

API가 서명을 검증하지 않은 채 JWT를 수락했고, 사용자 이름 “admin”이 관리자 권한을 가진 계정에 매핑되었기 때문입니다.

17.3조 개의 행에 있는 데이터가 도난당했나요?

확인된 고객 데이터 도난 사례는 없습니다. 해당 수치는 이론적인 최대 저장 용량을 설명한 것이며, Faav는 고객 데이터에 접근하지 않았다고 밝혔습니다.

Microsoft는 어떻게 대응했나요?

Microsoft는 노출된 엔드포인트를 4일 이내에 수정하고 Faav에게 5,000달러의 버그 바운티를 지급한 것으로 알려졌습니다.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

빌더를 위해

이 페이지는 지금 다른 사람의 도구를 위해 일하고 있습니다.

AI 에이전트가 읽고, 구매자가 도착합니다. 8개 언어와 MCP로 답합니다. 당신의 도구도 가질 수 있습니다 — 24시간 안에 공개.