Outlook 규칙 및 사용자 지정 Forms 삽입 공격 검색 및 수정
팁
Microsoft Defender XDR Office 365 플랜 2의 기능을 무료로 사용해 볼 수 있다는 사실을 알고 계셨나요? Microsoft Defender 포털 평가판 허브에서 90일 Office 365용 Defender 평가판을 사용합니다. Office 365용 Microsoft Defender 시도에서 누가 등록하고 평가판을 사용할 수 있는지에 대해 알아봅니다.
요약 Office 365에서 Outlook 규칙 및 사용자 지정 양식 주입 공격을 인지하고 재구성하는 방법 알아보기
Outlook 규칙과 사용자 지정 양식 주입 공격은 무엇인가요?
공격자가 organization 대한 액세스 권한을 얻은 후, 공격자가 발견된 후 체류하거나 다시 로그인할 수 있는 발판을 마련하려고 합니다. 이 작업을 지속성 메커니즘 설정이라고 합니다. 공격자가 Outlook을 사용하여 지속성 메커니즘을 설정할 수 있는 두 가지 방법이 있습니다.
- Outlook 규칙을 악용합니다.
- Outlook에 사용자 지정 양식을 삽입합니다.
Outlook을 다시 설치하거나 영향을 받는 사람에게 새 컴퓨터를 제공해도 도움이 되지 않습니다. Outlook의 새 설치가 사서함에 연결되면 모든 규칙과 양식이 클라우드에서 동기화됩니다. 규칙 또는 양식은 일반적으로 원격 코드를 실행하고 로컬 컴퓨터에 맬웨어를 설치하도록 설계되었습니다. 맬웨어는 자격 증명을 훔치거나 다른 불법 활동을 수행합니다.
좋은 소식은 Outlook 클라이언트를 최신 버전으로 패치된 상태로 유지하면 현재 Outlook 클라이언트 기본값이 두 메커니즘을 모두 차단하므로 위협에 취약하지 않다는 것입니다.
이 공격은 일반적으로 다음의 패턴을 따릅니다.
규칙 활용:
- 공격자가 사용자의 자격 증명을 도용합니다.
- 공격자는 해당 사용자의 Exchange 사서함(Exchange Online 또는 온-프레미스 Exchange)에 로그인합니다.
- 공격자는 사서함에 전달 받은 편지함 규칙을 만듭니다. 전달 규칙은 사서함이 규칙의 조건과 일치하는 공격자로부터 특정 메시지를 받을 때 트리거됩니다. 규칙 조건과 메시지 형식은 서로에 맞게 조정됩니다.
- 공격자는 트리거 이메일을 손상된 사서함으로 보내며, 이는 여전히 의심하지 않는 사용자가 정상적으로 사용하고 있습니다.
- 사서함이 규칙 조건과 일치하는 메시지를 받으면 규칙의 작업이 적용됩니다. 일반적으로 규칙 작업은 원격(WebDAV) 서버에서 애플리케이션을 시작하는 것입니다.
- 일반적으로 애플리케이션은 사용자의 컴퓨터에 맬웨어를 설치합니다(예: PowerShell Empire).
- 맬웨어를 사용하면 공격자가 로컬 컴퓨터에서 사용자의 사용자 이름 및 암호 또는 기타 자격 증명을 도용(또는 다시 도용)하고 다른 악의적인 활동을 수행할 수 있습니다.
양식 활용:
- 공격자가 사용자의 자격 증명을 도용합니다.
- 공격자는 해당 사용자의 Exchange 사서함(Exchange Online 또는 온-프레미스 Exchange)에 로그인합니다.
- 공격자는 사용자 사서함에 사용자 지정 메일 양식 서식 파일을 삽입합니다. 사용자 지정 양식은 사서함이 사용자 지정 양식을 로드해야 하는 공격자로부터 특정 메시지를 받을 때 트리거됩니다. 사용자 지정 양식과 메시지 형식은 서로에 맞게 조정됩니다.
- 공격자는 트리거 이메일을 손상된 사서함으로 보내며, 이는 여전히 의심하지 않는 사용자가 정상적으로 사용하고 있습니다.
- 사서함이 메시지를 받으면 사서함이 필요한 양식을 로드합니다. 양식은 원격(WebDAV) 서버에서 응용 프로그램을 시작합니다.
- 일반적으로 애플리케이션은 사용자의 컴퓨터에 맬웨어를 설치합니다(예: PowerShell Empire).
- 맬웨어를 사용하면 공격자가 로컬 컴퓨터에서 사용자의 사용자 이름 및 암호 또는 기타 자격 증명을 도용(또는 다시 도용)하고 다른 악의적인 활동을 수행할 수 있습니다.
어떠한 규칙 및 사용자 지정 양식 주입 공격이 Office 365와 같아 보일 수 있나요?
사용자는 이러한 지속성 메커니즘을 알아차릴 가능성이 낮으며 사용자에게 보이지 않을 수도 있습니다. 다음 목록에서는 수정 단계가 필요함을 나타내는 징후(손상 지표)에 대해 설명합니다.
규칙 손상의 지표:
- 규칙 작업은 응용 프로그램을 시작하는 것입니다.
- 규칙에서 EXE, ZIP 또는 URL을 참조합니다.
- 로컬 컴퓨터에서 Outlook PID가 보낸 새 프로세스 시작을 찾습니다.
사용자 지정 양식 손상 표시기:
- 사용자 지정 양식은 자체 메시지 클래스로 저장됩니다.
- 메시지 클래스가 실행 코드를 포함합니다.
- 일반적으로 악의적인 양식은 개인 Forms 라이브러리 또는 받은 편지함 폴더에 저장됩니다.
- 양식의 이름은 IPM.Note.[사용자 지정 이름]으로 되어 있습니다.
이 공격의 신호를 찾고 확인하는 단계
다음 방법 중 하나를 사용하여 공격을 확인할 수 있습니다.
Outlook 클라이언트를 사용하여 각 사서함에 대한 규칙과 양식을 수동으로 검사합니다. 이 방법은 철저하지만 한 번에 하나의 사서함만 검사 수 있습니다. 이 방법은 검사 많은 사용자가 있는 경우 시간이 많이 소요될 수 있으며 사용 중인 컴퓨터도 감염될 수 있습니다.
Get-AllTenantRulesAndForms.ps1PowerShell 스크립트를 사용하여 organization 모든 사용자에 대한 모든 메일 전달 규칙 및 사용자 지정 양식을 자동으로 덤프합니다. 이 메서드는 오버헤드가 가장 적은 가장 빠르고 안전합니다.
참고
2021년 1월부터 스크립트(및 리포지토리의 다른 모든 항목)는 읽기 전용이며 보관됩니다. 154~158번 줄은 2023년 7월 원격 PowerShell 연결 사용 중단으로 인해 더 이상 지원되지 않는 메서드를 사용하여 Exchange Online PowerShell에 연결하려고 시도합니다. 스크립트를 실행하기 전에 154-158줄을 제거하고 Exchange Online PowerShell에 연결합니다.
Outlook 클라이언트를 사용하여 규칙의 공격을 확인
사용자로 사용자 Outlook 클라이언트를 엽니다. 사용자는 사서함에 대한 규칙을 확인하는 데 도움이 필요할 수 있습니다.
Outlook에서 규칙 인터페이스를 여는 방법에 대한 절차는 규칙을 사용하여 전자 메일 메시지 관리 문서를 참조하세요.
사용자가 만들지 않은 규칙 또는 의심스러운 이름의 예기치 않은 규칙 또는 규칙을 찾습니다.
규칙 설명에서 응용 프로그램을 시작하거나 .EXE, .ZIP을 참조하거나 URL을 실행하는 규칙 작업을 찾아봅니다.
Outlook 프로세스 ID를 사용하여 시작하는 새 프로세스를 찾습니다. 프로세스 ID 찾기를 참조합니다.
Outlook 클라이언트를 사용하여 양식 공격을 확인하는 단계
사용자로 사용자 Outlook 클라이언트를 엽니다.
사용자의 Outlook 버전에 대한 개발자 탭 표시 의 단계를 수행합니다.
Outlook에서 이제 표시되는 개발자 탭을 열고 양식 디자인을 선택합니다.
찾기 목록에서 받은 편지함을 선택합니다. 사용자 지정 양식을 찾습니다. 사용자 지정 양식은 거의 드물지만 사용자 지정 양식이 있는 경우에도 더 깊이 있게 확인할 가치가 있습니다.
사용자 지정 양식, 특히 숨겨진 것으로 표시된 양식을 조사합니다.
사용자 지정 양식을 열고 양식 그룹에서 코드 보기를 선택하여 양식이 로드될 때 실행되는 항목을 확인합니다.
PowerShell을 사용하여 규칙과 양식 공격을 확인 하는 단계
규칙 또는 사용자 지정 양식 공격을 확인하는 가장 간단한 방법은 Get-AllTenantRulesAndForms.ps1 PowerShell 스크립트를 실행하는 것입니다. 이 스크립트는 organization 모든 사서함에 연결하고 모든 규칙과 양식을 두 개의 .csv 파일로 덤프합니다.
필수 구성 요소
스크립트가 organization 모든 사서함에 연결하여 규칙 및 양식을 읽기 때문에 Microsoft Entra ID 전역 관리자* 역할의 멤버이거나 Exchange Online 조직 관리 역할 그룹의 구성원이어야 합니다.
중요
* 사용 권한이 가장 적은 역할을 사용하는 것이 좋습니다. 사용 권한이 낮은 계정을 사용하면 organization 대한 보안을 개선하는 데 도움이 됩니다. 전역 관리자는 기존 역할을 사용할 수 없는 경우 긴급 시나리오로 제한해야 하는 매우 권한이 높은 역할입니다.
로컬 관리자 권한이 있는 계정을 사용하여 스크립트를 실행하려는 컴퓨터에 로그인합니다.
GitHub에서 스크립트 를 쉽게 찾아 실행할 수 있는 폴더로Get-AllTenantRulesAndForms.ps1스크립트의 내용을 다운로드하거나 복사합니다. 스크립트는 폴더
MailboxFormsExport-yyyy-MM-dd.csv
MailboxRulesExport-yyyy-MM-dd.csv
에 및 라는 두 개의 날짜 스탬프 파일을 만듭니다.2023년 7월부터 연결 메서드가 더 이상 작동하지 않으므로 스크립트에서 154~158줄을 제거합니다.
PowerShell에서 스크립트를 저장한 폴더로 이동한 다음, 다음 명령을 실행합니다.
.\Get-AllTenantRulesAndForms.ps1
결과 해석
-
MailboxRulesExport-yyyy-MM-dd.csv: 애플리케이션 또는 실행 파일을 포함하는 작업 조건에 대한 규칙(행당 하나씩)을 검사합니다.
-
ActionType(열 A): 이 열에 값
ID_ACTION_CUSTOM
이 포함된 경우 규칙이 악의적일 수 있습니다. -
IsPotentiallyMalicious(D 열): 이 열에 값
TRUE
이 포함된 경우 규칙이 악의적일 수 있습니다. -
ActionCommand(G 열): 이 열에 다음 값이 포함된 경우 규칙이 악의적일 수 있습니다.
- 애플리케이션.
- .exe 또는 .zip 파일입니다.
- URL을 참조하는 알 수 없는 항목입니다.
-
ActionType(열 A): 이 열에 값
- MailboxFormsExport-yyyy-MM-dd.csv: 일반적으로 사용자 지정 양식을 사용하는 경우는 드뭅니다. 이 통합 문서에서 찾을 수 있는 경우 해당 사용자의 사서함을 열고 양식 자체를 검사합니다. organization 의도적으로 배치하지 않은 경우 악의적일 수 있습니다.
Outlook 규칙과 양식 공격을 중지하고 재구성하는 방법
이러한 공격 중 하나에 대한 증거를 찾으면 수정이 간단합니다. 사서함에서 규칙 또는 양식을 삭제하기만 하면 됩니다. Outlook 클라이언트를 사용하거나 Exchange PowerShell을 사용하여 규칙 또는 양식을 삭제할 수 있습니다.
Outlook 사용
사용자가 Outlook을 사용한 모든 디바이스를 식별합니다. 그들은 모두 잠재적 인 맬웨어를 정리해야합니다. 모든 디바이스가 정리될 때까지 사용자가 로그온하고 전자 메일을 사용하도록 허용하지 않습니다.
각 디바이스에서 규칙 삭제의 단계를 따릅니다.
다른 맬웨어가 있는지 잘 모르는 경우 디바이스의 모든 소프트웨어를 포맷하고 다시 설치할 수 있습니다. 모바일 디바이스의 경우 제조업체 단계에 따라 디바이스를 공장 이미지로 다시 설정할 수 있습니다.
최신 버전의 Outlook을 설치합니다. 현재 버전의 Outlook은 기본적으로 이 공격의 두 유형을 모두 차단합니다.
사서함의 모든 오프라인 복사본이 제거되면 다음 단계를 수행합니다.
- 고품질 값(길이 및 복잡성)을 사용하여 사용자의 암호를 다시 설정합니다.
- 사용자에 대해 MFA(다단계 인증)가 켜져 있지 않은 경우 사용자에 대한 다단계 인증 설정의 단계를 수행합니다.
이러한 단계는 사용자의 자격 증명이 다른 수단(예: 피싱 또는 암호 재사용)을 통해 노출되지 않도록 합니다.
PowerShell 사용
필요한 Exchange PowerShell 환경에 연결합니다.
온-프레미스 Exchange 서버의 사서함: 원격 PowerShell을 사용하여 Exchange 서버에 연결 하거나 Exchange 관리 셸을 엽니다.
Exchange Online 사서함: Exchange Online PowerShell에 연결합니다.
필요한 Exchange PowerShell 환경에 연결한 후 사용자 사서함의 받은 편지함 규칙에 대해 다음 작업을 수행할 수 있습니다.
사서함에서 받은 편지함 규칙 보기:
모든 규칙의 요약 목록 보기
Get-InboxRule -Mailbox laura@contoso.onmicrosoft.com
특정 규칙에 대한 자세한 정보를 봅니다.
Get-InboxRule -Mailbox laura@contoso.onmicrosoft.com -Identity "Suspicious Rule Name" | Format-List
자세한 구문 및 매개 변수 정보는 Get-InboxRule을 참조하세요.
사서함에서 받은 편지함 규칙을 제거합니다.
특정 규칙을 제거합니다.
Remove-InboxRule -Mailbox laura@contoso.onmicrosoft.com -Identity "Suspicious Rule Name"
모든 규칙을 제거합니다.
Get-InboxRule -Mailbox laura@contoso.onmicrosoft.com | Remove-InboxRule
자세한 구문 및 매개 변수 정보는 Remove-InboxRule을 참조하세요.
추가 조사를 위해 받은 편지함 규칙을 끕니다.
Disable-InboxRule -Mailbox laura@contoso.onmicrosoft.com -Identity "Suspicious Rule Name"
자세한 구문 및 매개 변수 정보는 Disable-InboxRule을 참조하세요.
미래의 공격을 최소화하는 방법
첫 번째: 계정 보호
규칙 및 Forms 익스플로잇은 공격자가 사용자의 계정을 도난당하거나 위반한 후에만 사용됩니다. 따라서 organization 대한 이러한 악용의 사용을 방지하는 첫 번째 단계는 사용자 계정을 적극적으로 보호하는 것입니다. 계정이 침해되는 가장 일반적인 방법 중 일부는 피싱 또는 암호 스프레이 공격을 통해서입니다.
사용자 계정(특히 관리자 계정)을 보호하는 가장 좋은 방법은 사용자를 위한 MFA를 설정하는 것입니다. 사용자는 또한:
사용자 계정에 액세스하고 사용하는 방법을 모니터링합니다. 초기 위반을 방지할 수는 없지만 더 빨리 검색하여 위반 기간과 영향을 단축할 수 있습니다. 이러한 Office 365 Cloud App Security 정책을 사용하여 계정을 모니터링하고 비정상적인 활동을 경고할 수 있습니다.
실패한 여러 로그인 시도: 사용자가 학습된 기준과 관련하여 단일 세션에서 여러 번의 실패한 로그인 작업을 수행할 때 경고를 트리거합니다. 이는 시도된 위반을 나타낼 수 있습니다.
불가능한 이동: 두 위치 간의 예상 이동 시간보다 짧은 기간 내에 다른 위치에 있는 동일한 사용자로부터 활동이 감지되면 경고를 트리거합니다. 이 활동은 다른 사용자가 동일한 자격 증명을 사용하고 있음을 나타낼 수 있습니다. 이 비정상적인 동작을 감지하려면 새 사용자의 활동 패턴을 배우기 위해 7일의 초기 학습 기간이 필요합니다.
비정상적인 가장 활동(사용자별) : 사용자가 학습된 기준과 관련하여 단일 세션에서 여러 가장된 활동을 수행할 때 경고를 트리거합니다. 이는 시도된 위반을 나타낼 수 있습니다.
Office 365 보안 점수와 같은 도구를 사용하여 계정 보안 구성 및 동작을 관리합니다.
두 번째: Outlook 클라이언트를 최신 상태로 유지
Outlook 2013 및 2016의 완전히 업데이트되고 패치된 버전은 기본적으로 "애플리케이션 시작" 규칙/양식 작업을 사용하지 않도록 설정합니다. 공격자가 계정을 위반하더라도 규칙 및 양식 작업이 차단됩니다. Office 업데이트 설치단계를 따라 최신 업데이트 및 보안 패치를 설치할 수 있습니다.
다음은 Outlook 2013 및 2016 클라이언트에 대한 패치 버전입니다.
- Outlook 2016: 16.0.4534.1001 이상.
- Outlook 2013: 15.0.4937.1000 이상.
개별 보안 패치에 대한 자세한 내용은 다음을 참조하세요.
세 번째: Outlook 클라이언트 모니터링
패치 및 업데이트가 설치되어 있더라도 공격자가 로컬 컴퓨터 구성을 변경하여 "애플리케이션 시작" 동작을 다시 활성화할 수 있습니다. 고급 그룹 정책 관리를 사용하여 클라이언트 디바이스에서 로컬 컴퓨터 정책을 모니터링하고 적용할 수 있습니다.
64비트 버전의 Windows를 사용하여 시스템 레지스트리를 보는 방법의 정보를 사용하여 레지스트리의 재정의를 통해 "애플리케이션 시작"을 다시 사용하도록 설정했는지 확인할 수 있습니다. 다음의 하위 키를 확인합니다:
-
Outlook 2016:
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security\
-
Outlook 2013:
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Security\
키를 EnableUnsafeClientMailRules
찾습니다.
- 값이 1이면 Outlook 보안 패치가 재정의되고 컴퓨터가 양식/규칙 공격에 취약합니다.
- 값이 0 이면 "응용 프로그램 시작" 작업을 사용할 수 없습니다.
- 레지스트리 키가 없고 업데이트되고 패치된 버전의 Outlook이 설치된 경우 시스템은 이러한 공격에 취약하지 않습니다.
온-프레미스 Exchange 설치를 사용하는 고객은 패치를 사용할 수 없는 이전 버전의 Outlook을 차단하는 것을 고려해야 합니다. 이 프로세스에 대한 자세한 내용은 Outlook 클라이언트 차단 구성 문서를 참조하세요.
참고 항목:
- 규칙 벡터에 대한 SilentBreak 보안 게시물 악의적 Outlook 규칙은 Outlook 규칙에 대한 자세한 검토를 제공합니다.
- Mailrule Pwnage에 대한 Sensepost 블로그 HTTP 및 Mailrule Pwnage를 통한 MAPI는 Outlook 규칙을 통해 사서함을 이용하게 해주는 Ruler라는 도구에 대해 설명을 합니다.
- 양식 위협 벡터에 대한 Sensepost 블로그의 Outlook 양식 및 셸
- Ruler 코드 베이스
- Ruler 위험 노출 표시기