세션 쿠키 도난 경고에 대한 경고 채점
적용 대상:
- Microsoft Defender XDR
이 문서에는 Microsoft Defender XDR의 세션 쿠키 도난 경고에 대한 경고 등급에 대한 정보가 포함되어 있습니다.
- 도난당한 세션 쿠키가 사용되었습니다.
- AiTM 관련 피싱 페이지의 인증 요청
위협 행위자가 혁신적인 방법을 사용하여 대상 환경에 침투합니다. 이 유형의 공격은 악의적인 공격으로부터 영감을 받아 피싱을 사용하여 악의적인 작업을 수행하기 위해 자격 증명 또는 로그인 세션을 도용합니다. BEC 캠페인은 훌륭한 예입니다.
이 공격은 중간(피싱) 사이트를 설정하여 작동하며, 공격자가 가장하는 사용자와 합법적인 웹 사이트 간의 프록시 연결로 효과적으로 작동합니다. 공격자는 중개자(프록시) 역할을 함으로써 대상의 암호 및 세션 쿠키를 도용할 수 있습니다. 따라서 공격자는 사용자를 대신하여 인증할 때 합법적인 세션에 인증할 수 있습니다.
이 플레이북은 의심스러운 동작이 쿠키 도난에 대한 AiTM(중간 공격) 유형의 공격을 나타내는 것으로 관찰되는 경우를 조사하는 데 도움이 됩니다. 이렇게 하면 SOC(보안 운영 센터) 및 IT 관리자와 같은 보안 팀이 경고를 검토, 관리 및 등급을 TP(True Positive) 또는 FP(가양성)로 채점하는 데 도움이 되며, TP인 경우 공격을 수정하고 이로 인해 발생하는 보안 위험을 완화하기 위해 권장되는 조치를 취합니다.
이 플레이북을 사용한 결과는 다음과 같습니다.
- AiTM과 연결된 경고를 악의적인(TP) 또는 FP(양성) 활동으로 식별했습니다.
- 악의적인 것으로 식별되는 경우 공격을 수정하는 데 필요한 조치를 취했습니다.
조사 단계
영향을 받는 사용자가 다른 보안 경고를 트리거했는지 여부를 조사합니다.
- 로그인에 대한 지리적 위치 변칙을 기반으로 하는 경고에 집중합니다
[AadSignInEventsBeta or IdentityLogonEvents]
. - 세션 ID 정보를
[AadSignInEventsBeta]
확인하여 관련 로그인 이벤트를 조사합니다.- 식별된(도난당한) 세션 ID와 연결된 이벤트를 찾아 도난당한 쿠키
[CloudAppEvents]
를 사용하여 수행된 활동을 추적합니다. - 지리적 위치에 차이가 있는 로그인 작업 간의 시간 차이를 찾습니다. 여러 위치가 있는 동일한 계정에 대해 여러 세션을 사용할 수 없습니다(세션이 도난될 수 있음을 나타낸다).
- 식별된(도난당한) 세션 ID와 연결된 이벤트를 찾아 도난당한 쿠키
- 회사 호스트에서 계정에 대해 생성된 경고를 확인합니다.
- 계정이 손상된 경우 공격(예: SmartScreen 경고)을 나타내는 손상 이전의 경고가 있을 수 있습니다.
[NetworkConnectionEvents]
- 계정이 손상된 경우 공격(예: SmartScreen 경고)을 나타내는 손상 이전의 경고가 있을 수 있습니다.
- 로그인에 대한 지리적 위치 변칙을 기반으로 하는 경고에 집중합니다
의심스러운 동작을 조사합니다.
- ISP/Country/City 등과 같은 사용자의 일반적이지 않은 속성과 같은 의심스러운 패턴을 식별하기 위해 비정상적인 패턴을
[CloudAppEvents]
나타내는 이벤트를 찾습니다. - 신규 또는 이전에 사용되지 않은 서비스에 대한 로그인 시도 [성공/실패], 메일 액세스 활동 증가, Azure 리소스 사용률 변경 등, 신규 또는 이전에 보이지 않는 활동을 나타내는 이벤트를 찾습니다.
- 다음부터 환경의 최근 수정 사항을 검사합니다.
- Office 365 애플리케이션(예: Exchange 온라인 권한 변경, 메일 자동 전달 또는 리디렉션)
- PowerApps(예: PowerAutomate를 통해 자동화된 데이터 전송 구성)
- Azure 환경(예: Azure Portal 구독 수정 등)
- SharePoint Online(여러 사이트에 액세스하거나 자격 증명 정보 또는 재무제표와 같은 중요한 콘텐츠가 있는 파일의 경우)
- 영향을 받는 사용자에 대해 짧은 시간 내에 여러 플랫폼(EXO, SPO, Azure 등)에서 관찰된 작업을 검사합니다.
- 예를 들어 메일 읽기/보내기 작업 및 Azure 리소스 할당/수정(새 머신 프로비저닝 또는 Microsoft Entra ID에 추가)의 감사 이벤트에 대한 타임라인은 서로 일치하지 않아야 합니다.
- ISP/Country/City 등과 같은 사용자의 일반적이지 않은 속성과 같은 의심스러운 패턴을 식별하기 위해 비정상적인 패턴을
가능한 후속 공격을 조사합니다. AiTM 공격은 일반적으로 엔드게임이 아닌 엔드투엔드 공격이므로 영향을 받는 계정에 대해 다음에 발생하는 다른 공격에 대해 환경을 검사합니다.
- 예를 들어 BEC 사례를 살펴볼 수 있습니다.
- 경고된 사용자 계정 사서함
[CloudAppEvents]
에 표시되는 검색 활동을 찾습니다.- 사서함의 검색 활동에는 의심스러운 금융 사기(예: 청구서, 결제 등)에서 관찰된 키워드가 있을 수 있습니다.
- 또한 이동 및 읽기로 표시(의 ActionType 줄(New-InboxRule, UpdateInboxRules, Set-InboxRule) 및 RawEventData has_all(MarkAsRead, MoveToFolder, Archive))로 표시하려는 의도로 만든 받은 편지함 규칙을 찾습니다.
- 경고된 사용자 계정 사서함
- 여러 전자 메일이 동일한 URL로 전송되는 메일 흐름 이벤트 [EmailEvents & NetworkMessageId의 EmailUrlInfo]를 찾습니다.
- 사서함 계정에 대한 메일 삭제 증가 또는 대용량(ActivityType as Trash 또는 Delete)이 관찰
[CloudAppEvents]
되는지 여부를 검사하는 후속 작업입니다. - 일치 동작은 매우 의심스러운 것으로 간주될 수 있습니다.
- 사서함 계정에 대한 메일 삭제 증가 또는 대용량(ActivityType as Trash 또는 Delete)이 관찰
- Office 365 전자 메일의 클릭 이벤트와 일치하는 URL 이벤트에 대한 디바이스 이벤트를
[DeviceEvents on AccountName|AccountUpn]
검사합니다.- 클릭 원본에 대한 이벤트(예: 동일한 URL에 대한 다른 IP 주소)와 일치하는 것은 악의적인 동작을 나타낼 수 있습니다.
- 예를 들어 BEC 사례를 살펴볼 수 있습니다.
고급 헌팅 쿼리
고급 헌팅 은 네트워크에서 이벤트를 검사하고 위협 지표를 찾을 수 있는 쿼리 기반 위협 헌팅 도구입니다. 이러한 쿼리를 사용하여 경고와 관련된 자세한 정보를 수집하고 활동이 의심스러운지 여부를 확인합니다.
다음 테이블에 액세스할 수 있는지 확인합니다.
- AadSignInEventsBeta - 사용자에 대한 로그인 정보를 포함합니다.
- IdentityLogonEvents - 사용자에 대한 로그인 정보를 포함합니다.
- CloudAppEvents - 사용자 활동의 감사 로그를 포함합니다.
- EmailEvents - 메일 흐름/트래픽 정보를 포함합니다.
- EmailUrlInfo - 전자 메일에 포함된 URL 정보를 포함합니다.
- UrlClickEvents - 전자 메일에서 클릭한 URL에 대한 Url 클릭 로그를 포함합니다.
- DeviceEvents - 디바이스 활동 감사 이벤트를 포함합니다.
아래 쿼리를 사용하여 의심스러운 로그인 동작을 식별합니다.
let OfficeHomeSessionIds =
AADSignInEventsBeta
| where Timestamp > ago(1d)
| where ErrorCode == 0
| where ApplicationId == "4765445b-32c6-49b0-83e6-1d93765276ca" //OfficeHome application
| where ClientAppUsed == "Browser"
| where LogonType has "interactiveUser"
| summarize arg_min(Timestamp, Country) by SessionId;
AADSignInEventsBeta
| where Timestamp > ago(1d)
| where ApplicationId != "4765445b-32c6-49b0-83e6-1d93765276ca"
| where ClientAppUsed == "Browser"
| project OtherTimestamp = Timestamp, Application, ApplicationId, AccountObjectId, AccountDisplayName, OtherCountry = Country, SessionId
| join OfficeHomeSessionIds on SessionId
| where OtherTimestamp > Timestamp and OtherCountry != Country
일반적이지 않은 국가/지역을 식별하려면 아래 쿼리를 사용합니다.
AADSignInEventsBeta
| where Timestamp > ago(7d)
| where ApplicationId == "4765445b-32c6-49b0-83e6-1d93765276ca" //OfficeHome application
| where ClientAppUsed == "Browser"
| where LogonType has "interactiveUser"
| summarize Countries = make_set(Country) by AccountObjectId, AccountDisplayName
이 쿼리를 사용하여 의심스러운 로그인 세션 중에 만든 새 전자 메일 받은 편지함 규칙을 찾습니다.
//Find suspicious tokens tagged by AAD "Anomalous Token" alert
let suspiciousSessionIds = materialize(
AlertInfo
| where Timestamp > ago(7d)
| where Title == "Anomalous Token"
| join (AlertEvidence | where Timestamp > ago(7d) | where EntityType == "CloudLogonSession") on AlertId
| project sessionId = todynamic(AdditionalFields).SessionId);
//Find Inbox rules created during a session that used the anomalous token
let hasSuspiciousSessionIds = isnotempty(toscalar(suspiciousSessionIds));
CloudAppEvents
| where hasSuspiciousSessionIds
| where Timestamp > ago(21d)
| where ActionType == "New-InboxRule"
| where RawEventData.SessionId in (suspiciousSessionIds)
권장 조치
경고 활동이 악의적인 것으로 확인되면 해당 경고를 TP(True Positive)로 분류하고 다음 작업을 수행합니다.
- 사용자의 계정 자격 증명을 다시 설정합니다. 또한 손상된 계정에 대한 토큰을 사용하지 않도록 설정/취소합니다.
- 발견된 아티팩트가 전자 메일과 관련된 경우 보낸 사람 IP 주소 및 보낸 사람 도메인을 기반으로 블록을 구성합니다.
- 오타 스쿼트가 있는 도메인은 DMARC, DKIM, SPF 정책(도메인이 완전히 다르기 때문에)을 지우거나 "null 결과(위협 행위자가 구성하지 않았기 때문에)를 반환할 수 있습니다.
- 조사 중에 악성으로 식별된 URL 또는 IP 주소(네트워크 보호 플랫폼)를 차단합니다.
참고 항목
팁
더 자세히 알아보고 싶으신가요? 기술 커뮤니티: Microsoft Defender XDR Tech Community에서 Microsoft 보안 커뮤니티에 참여하세요.