1. 개요
- 영국 보안 기업 Jumpsec에 의해 Microsoft Teams에서 취약점 발견
※ Microsoft Teams: MS에서 개발한 비즈니스 커뮤니케이션 플랫폼
- 외부 사용자가 보안 제어를 우회하여 피싱 메일 유포할 수 있는 취약점
2. 주요내용
- MS Teams 사용자는 각각 고유한 테넌트를 가지며, 다른 테넌트의 사용자에게 메시지를 보낼 수 있음
> 테넌시란 조직의 모든 사용자, 그룹, 리소스 및 서비스를 포함하는 컨테이너 역할을 하고, 조직의 전체 온라인 환경을 의미
> 외부 테넌트의 사용자에게 메시지를 보낼 경우 "External(외부)"가 표시됨
- 단, 외부 테넌트의 사용자에게 메시지를 보내는 경우 파일을 보낼 수 없도록 차단
- IDOR 취약점을 이용해 [사진 1]의 차단 정책을 우회하여 파일을 전송할 수 있게됨
IDOR(Insecure Direct Object Reference) 취약점
- ‘안전하지 않은 직접 객체 참조’
- 공격자가 요청 메시지의 URL 또는 파라미터를 변경해 정상적으로 허용되지 않는 기능을 실행하거나 다른 사용자의 리소스에 접근할 수 있는 공격
- 접근 제어 기능에서 발생하는 문제점 중 하나
- 수평적/수직적 권한 상승이 발생하며, 이로 인해 타 사용자 정보에 접근하거나, 기존 권한으로는 사용이 불가능한 기능을 이용하게 되는 문제가 발생
※ 접근 통제 리스크 사례
① URL이나 파라미터를 조작하여 다른 사용자의 리소스에 접근하거나 허용되지 않은 기능을 실행할 수 있는 경우
② 적절한 인증 및 인가 과정을 거치지 않고 관리자 페이지 접근할 수 있는 경우
③ 디렉토리 트래버셜 취약점과 같이 웹 디렉토리 경로를 벗어난 호스트 내부 경로의 리소스에 접근할 수 있는 경우
※ 수평적 권한 상승: 동일한 권한을 가진 다른 사용자의 객체에 접근
※ 수직적 권한 상승: 지니고 있는 권한을 넘어서는 기능을 수행(관리자 권한 등)할 수 있는 경우
- 공격자는 POST 메소드를 이용한 요청에서 ID 값(RECIPIENT_ID)을 수정하여 파일을 전송할 수 있음
/v1/users/ME/conversations/<RECIPIENT_ID>/messages
- [사진 2]의 결과로 외부 테넌트에 파일을 전송할 수 있게 됨
- Jumpsec은 MS에 관련 내용 전달
> MS로부터 즉각적인 조치가 필요한 사항이 아니라는 답변외 취약점 조치 계획 등의 답변은 받지 못함
2.1 TeamsPhisher
- 외부 테넌트에 파일을 전송하도록 Python으로 제작된 공격 자동화 툴
- 미국 해군의 보안 전문가들이 개발하여 깃허브에 공개
- 툴 사용을 위해서는 MS Teams 계정이 존재해야 함
> 대상 사용자의 존재여부 및 외부 테넌트의 메시지를 수신할 수 있는지 확인한 뒤 동작하며 미리보기 기능을 제공
옵션 | 설명 | |
필수 | -h | 사용법 출력 |
-u | Teams 및 Sharepoint 라이선스가 있는 계정 | |
-p | Teams 및 Sharepoint 라이선스가 있는 계정 비밀번호 | |
-a | 공격 대상에 전송할 파일의 전체 경로 | |
-m | 공격 대상에 첨부파일과 함께 전송할 메시지 파일 경로 | |
-e | 공격 대상이 1명일 경우 이메일 주소 | |
-l | 공격 대상이 N명일 경우 대상의 이메일 주소가 기록된 파일의 전체 경로 | |
선택 | --greeting | -m 옵션으로 지정한 메시지 앞에 추가할 사용자 지정 인사말 |
--securelink | 수신자만 확인 가능한 링크로 파일을 전송하며, 첨부 파일을 보기 위해 인증 메시지 표시 | |
--personalize | 사용자 이름을 식별해 사용자 이름으로 시작하는 메시지를 전송 | |
--preview | 미리보기 모드 | |
--delay | 각 메시지 전송 시 지연 시간으로 Default 값은 0 | |
--nogreeting | TeamsPhisher에서 사용하는 내장 인사말을 비활성화 | |
--log | TeamsPhisher 출력을 로그 파일에 기록 (사용자 홈 디렉터리에 기록) |
3. 대응방안
- 외부 테넌트와 메시지를 주고 받을 필요가 있는지에 대한 검토
① 불필요 시
> Microsoft Teams 관리 센터 > 외부 액세스 > 해당 기능 비활성화 권고
② 일부 조직이 필요한 경우
> 허용 목록에 있는 특정 도메인과의 통신만 허용하도록 설정
> Microsoft Teams 관리 센터 > 외부 액세스
- 외부 테넌트 관련 이벤트 로깅
> Jumpsec은 소프트웨어 로깅에 외부 테넌트 관련 이벤트를 추가해 달라는 요청을 전달
> 외부 메시지 요청 모니터링 및 감지를 위한 웹 프록시 로그 구현
- 피싱 등 사회공학 공격과 관련된 직원 교육
> 기본 보안 수칙 준수
4. 참고
[1] https://labs.jumpsec.com/advisory-idor-in-microsoft-teams-allows-for-external-tenants-to-introduce-malware/
[2] https://medium.com/@timmylepp/microsoft-teams-idor-exploit-8f3aa7158ce1
[3] https://github.com/Octoberfest7/TeamsPhisher
'취약점 > Social Engineering' 카테고리의 다른 글
취약한 이메일 보안 프로토콜을 악용하는 북한 해킹그룹 (0) | 2024.05.06 |
---|---|
큐싱(Qshing) (1) | 2023.11.01 |
국정원, 北의 '네이버 복제 피싱사이트' 주의 당부 (0) | 2023.06.14 |
마이크로소프트, 다단계 AiTM 피싱 및 BEC 공격에 대해 경고 (0) | 2023.06.12 |
국정원, 국내 '포털사이트' 사칭한 北 해킹공격 주의 촉구 (1) | 2023.05.26 |