Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Mandiant-Azure-AD-Investigator — Azure AD에서 UNC2452 및 기타 위협 행위자 아티팩트를 탐지하고, 페더레이션 도메인, 서비스 주체, 애플리케이션, 사서함 권한을 감사하여 침해 지표를 찾기 위한 읽기 전용 PowerShell 모듈입니다. | Kitploit
도구/GitHubGitHub/mandiant/mandiant-azure-ad-investigator
Digital ForensicsCloud SecurityThreat IntelligenceIdentity & Access Management (IAM)MisconfigurationIncident ResponseLog AnalysisArchived

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
mandiant/mandiant-azure-ad-investigator

Mandiant-Azure-AD-Investigator

Azure AD에서 UNC2452 및 기타 위협 행위자 아티팩트를 탐지하고, 페더레이션 도메인, 서비스 주체, 애플리케이션, 사서함 권한을 감사하여 침해 지표를 찾기 위한 읽기 전용 PowerShell 모듈입니다.

저장소 보기
65091273년 전Kitploit 검토 완료

Mandiant Azure AD 조사 도구

UNC2452 TTP에 초점

개요

이 저장소는 UNC2452 및 기타 위협 행위자 활동의 지표가 될 수 있는 아티팩트를 탐지하기 위한 PowerShell 모듈을 포함합니다. 일부 지표는 "고신뢰도" 침해 지표이고, 다른 아티팩트는 소위 "이중 용도" 아티팩트입니다. 이중 용도 아티팩트는 위협 행위자 활동과 관련될 수 있지만, 합법적인 기능과도 관련될 수 있습니다. 이에 대한 분석과 확인이 필요합니다. UNC2452가 사용한 기술에 대한 자세한 설명은 저희 블로그를 참조하십시오.

이 도구는 읽기 전용입니다. Microsoft 365 환경에 어떠한 변경도 가하지 않습니다.

요약하면 이 모듈은 다음을 수행합니다:

  • 추가 확인 및 분석이 필요한 침해 지표를 최선을 다해 식별합니다

다음은 수행하지 않습니다:

  • 침해를 100% 식별하지 않거나,
  • 아티팩트가 합법적인 관리자 활동인지 위협 행위자 활동인지 판단하지 않습니다.

커뮤니티 피드백을 통해 이 도구는 IOC 탐지에서 더욱 철저해질 수 있습니다. 문제, 아이디어 또는 피드백이 있으시면 이슈를 열거나 PR을 제출하거나 저자에게 연락해 주십시오.

기능

페더레이션 도메인 (Invoke-MandiantAuditAzureADDomains)

이 모듈은 MS Online PowerShell을 사용하여 Azure AD에서 페더레이션 도메인을 찾고 감사합니다. 모든 페더레이션 도메인은 federated domains.csv 파일로 출력됩니다.

  • 서명 인증서의 비정상적인 유효 기간 - 서명 인증서의 유효 기간이 1년을 초과하는 페더레이션 도메인에 대해 경고합니다. AD FS 관리 인증서는 1년 동안만 유효합니다. 1년보다 긴 유효 기간은 위협 행위자가 도메인 페더레이션 설정을 조작했을 수 있음을 나타낼 수 있습니다. 또한 합법적인 사용자 지정 토큰 서명 인증서의 사용을 나타낼 수도 있습니다. 관리자에게 이 경우인지 확인하도록 하십시오.
  • 서명 인증서 불일치 - 서명 인증서의 발급자 또는 주체가 일치하지 않는 페더레이션 도메인에 대해 경고합니다. 대부분의 경우 토큰 서명 인증서는 항상 동일한 발급자로부터 오고 동일한 주체를 갖습니다. 불일치가 있는 경우 위협 행위자가 도메인 페더레이션 설정을 조작했을 수 있음을 나타낼 수 있습니다. 관리자에게 주체 및 발급자 이름이 예상된 것인지 확인하도록 하고, 그렇지 않은 경우 변경이 어떻게 이루어졌는지 확인하고 다른 침해 증거를 식별하기 위해 포렌식 조사를 수행하는 것을 고려하십시오.
  • Azure AD 백도어 (any.sts) - 발급자 URI로 any.sts가 구성된 페더레이션 도메인에 대해 경고합니다. 이는 Azure AD 백도어 도구의 사용을 나타냅니다. 변경이 어떻게 이루어졌는지 확인하고 다른 침해 증거를 식별하기 위해 포렌식 조사를 수행하는 것을 고려하십시오.
  • 페더레이션 도메인 - 모든 페더레이션 도메인과 토큰 발급자 URI를 나열합니다. 도메인이 페더레이션되어야 하는지와 발급자 URI가 예상된 것인지 확인하십시오.
  • 확인되지 않은 도메인 - Azure AD에서 확인되지 않은 모든 도메인을 나열합니다. 확인되지 않은 도메인은 장기간 Azure AD에 확인되지 않은 상태로 두어서는 안 됩니다. 제거를 고려하십시오.

예제```

!! Evidence of AAD backdoor found. Consider performing a detailed forensic investigation Domain name: foobar.com Domain federation name: Federation issuer URI: http://any.sts/16B45E3B

:bangbang: 이 스크립트는 [Azure AD Backdoor](https://github.com/Gerenios/AADInternals/blob/master/FederatedIdentityTools.ps1)의 지표인 발급자 URI와 페더레이션된 도메인을 식별했습니다. 이 백도어는 기본적으로 발급자 URI를 hxxp://any.sts로 설정합니다. 변경 사항이 어떻게 이루어졌는지 확인하고 추가 침해 증거를 식별하기 위해 포렌식 조사를 수행하는 것을 고려하십시오.```
!! A token signing certificate has a validity period of more than 365 days. 
This may be evidence of a signing certificate not generated by AD FS.
Domain name: foobar.com
Federation issuer uri: http://sts.foobar.com
Signing cert not valid before: 1/1/2020 00:00:00
Signing cert not valid after: 12/31/2025 23:59:59

⚠️ 스크립트에서 표준 365일보다 더 긴 유효 기간을 가진 토큰 서명 인증서가 있는 페더레이션 도메인이 식별되었습니다. 관리자에게 문의하여 토큰 서명 인증서가 수동으로 관리되고 있는지, 해당 유효 기간이 예상된 것인지 확인하세요. 예상되지 않은 경우 법의학적 조사를 수행하는 것을 고려하세요.

Service Principals (Invoke-MandiantAuditAzureADServicePrincipals)

이 모듈은 Azure AD PowerShell을 사용하여 Azure AD에서 서비스 주체를 찾고 감사합니다.

  • 추가 자격 증명이 있는 자사 서비스 주체 - 자사(Microsoft 게시) 서비스 주체는 드문 경우를 제외하고 자격 증명이 추가되어서는 안 됩니다. 하이브리드 모드이거나 이전에 하이브리드 모드였던 환경에서는 Exchange Online, Skype for Business 및 AAD 암호 보호 프록시 서비스 주체에 자격 증명이 추가될 수 있습니다. 서비스 주체 자격 증명이 합법적인 사용 사례의 일부인지 확인하세요. 자격 증명이 합법적이지 않은 경우 법의학적 조사를 수행하는 것을 고려하세요.
  • 높은 수준의 권한과 추가 자격 증명이 있는 서비스 주체 - 높은 위험의 API 권한이 할당되고 자격 증명이 추가된 서비스 주체를 식별합니다. 서비스 주체와 추가된 권한은 합법적일 가능성이 높지만, 추가된 자격 증명은 그렇지 않을 수 있습니다. 서비스 주체 자격 증명이 합법적인 사용 사례의 일부인지 확인하세요. 서비스 주체가 나열된 권한을 필요로 하는지 확인하세요.

예시```

!! Identified first-party (Microsoft published) Service Principals with added credentials. Only in rare cases should a first-party Service Principal have an added credential. Verify that the added credential has a legitimate use case and consider further investigation if not


Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx App ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Display Name : Office 365 Exchange Online Key Credentials :

CustomKeyIdentifier : EndDate : 12/9/2017 2:10:29 AM KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx StartDate : 12/9/2015 1:40:30 AM Type : AsymmetricX509Cert Usage : Verify Value :

:warning: 스크립트가 추가 자격 증명이 있는 자사(Microsoft) 서비스 주체를 식별했습니다. 자사 서비스 주체는 드문 경우를 제외하고 자격 증명을 추가해서는 *안 됩니다*. 하이브리드 모드이거나 이전에 하이브리드 모드였던 환경에서는 Exchange Online, Skype for Business 및 AAD 암호 보호 프록시 서비스 주체에 자격 증명이 추가되었을 수 있습니다. 이는 또한 사용자 환경에서의 UNC2452 활동의 결과물일 수 있습니다. 관리자와 상의하고 감사 로그를 검색하여 자격 증명이 합법적인지 확인하십시오. 또한 Azure AD 로그인 블레이드의 "서비스 주체 로그인" 탭을 사용하여 이 서비스 주체를 사용하는 테넌트에 대한 인증을 검색할 수 있습니다.```
!! Identified Service Principals with high-risk API permissions and added credentials.
Verify that the added credential has a legitimate use case and consider further investigation if not
Object ID            : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
App ID               : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Display Name         : TestingApp
Key Credentials      :
    CustomKeyIdentifier :
    EndDate             : 1/7/2025 12:00:00 AM
    KeyId               : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    StartDate           : 1/7/2021 12:00:00 AM
    Type                : Symmetric
    Usage               : Verify
    Value               :
Password Credentials :
Risky Permissions    : Domain.ReadWrite.All

⚠️ 이 스크립트는 고위험 API 권한을 가진 서비스 주체를 식별하고 자격 증명을 추가했습니다. 이는 일부 타사 또는 사용자 지정 응용 프로그램이 작동을 위해 추가 자격 증명을 필요로 하기 때문에 예상된 동작일 수 있습니다. 또한 사용자 환경에서 UNC2452 활동의 흔적일 수도 있습니다. 담당 관리자와 상의하고 감사 로그를 검색하여 자격 증명이 합법적인지 확인하십시오. Azure AD 로그인 블레이드의 "서비스 주체 로그인" 탭을 사용하여 이 서비스 주체를 사용하는 테넌트에 대한 인증을 검색할 수도 있습니다.

응용 프로그램 (Invoke-MandiantAuditAzureADApplications)

이 모듈은 Azure AD PowerShell을 사용하여 Azure AD의 응용 프로그램을 찾고 감사합니다.

  • 높은 수준의 권한과 추가 자격 증명이 있는 응용 프로그램 - 고위험 API 권한과 추가 자격 증명이 있는 응용 프로그램에 대해 경고합니다. 응용 프로그램과 추가된 권한은 대부분 합법적일 수 있지만, 추가된 자격 증명은 그렇지 않을 수도 있습니다. 응용 프로그램 자격 증명이 합법적인 사용 사례의 일부인지 확인하십시오. 응용 프로그램이 나열된 권한을 필요로 하는지 확인하십시오.

예제```

!! High-privileged Application with credentials found. Validate that the application needs these permissions. Validate that the credentials added to the application are associated with a legitimate use case.

ObjectID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx AppID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx DisplayName: Acme Test App KeyCredentials: PasswordCredentials:

CustomKeyIdentifier : EndDate : 12/22/2021 4:01:52 PM KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx StartDate : 12/22/2020 4:01:52 PM Value :

CustomKeyIdentifier : EndDate : 12/21/2021 6:32:54 PM KeyId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx StartDate : 12/21/2020 6:33:16 PM Value :

Risky Permissions: Mail.Read (Read mail in all mailboxes) Directory.Read.All (Read all data in the organization directory)

⚠️: 이 스크립트는 위험한 API 권한을 가진 애플리케이션을 식별하고 자격 증명을 추가했습니다. 일부 타사 또는 사용자 지정 애플리케이션이 작동하기 위해 추가 자격 증명이 필요한 경우 예상되는 현상일 수 있습니다. 이는 또한 사용자 환경에서 UNC2452 활동의 흔적일 수 있습니다. 관리자와 상담하고 감사 로그를 검색하여 자격 증명이 합법적인지 확인하세요.

### CSP(클라우드 솔루션 공급자) 프로그램 (Invoke-MandiantGetCSPInformation)

이 모듈은 테넌트가 CSP 또는 파트너에 의해 관리되는지, 위임된 관리가 활성화되어 있는지 확인합니다. 위임된 관리를 통해 CSP는 전역 관리자와 동일한 권한으로 고객 테넌트에 액세스할 수 있습니다. CSP 프로그램은 파트너의 테넌트에 강력한 보안 제어를 적용하지만, CSP를 손상시킨 위협 행위자는 고객 환경에 액세스할 수 있습니다. 조직은 파트너에게 위임된 관리자 권한이 필요한지 확인하고, 필요하지 않은 경우 제거해야 합니다. 파트너가 위임된 관리자 액세스를 유지해야 하는 경우 조건부 액세스 정책을 구현하여 액세스를 제한하는 것을 고려하세요.

조직은 [관리 센터](https://admin.microsoft.com)로 이동한 후 왼쪽 메뉴 표시줄에서 `설정` -> `파트너 관계`로 이동하여 파트너 관계를 확인하고 관리할 수 있습니다.

### 사서함 폴더 권한 (Get-MandiantMailboxFolderPermissions)

이 모듈은 테넌트의 모든 사서함을 감사하여 의심스러운 폴더 권한이 있는지 확인합니다. 특히, 이 모듈은 각 사서함의 "정보 저장소 최상위" 및 "받은 편지함" 폴더를 검사하고 "기본" 및 "익명" 사용자에게 할당된 권한을 확인합니다. "없음" 이외의 값이 있으면 사서함이 분석 대상으로 플래그 지정됩니다. 일반적으로 기본 및 익명 사용자는 사용자 받은 편지함에 대한 권한이 없어야 합니다. 그렇지 않으면 모든 사용자가 콘텐츠를 읽을 수 있기 때문입니다. 일부 조직에서는 이 권한이 있는 공유 사서함을 발견할 수 있지만 권장되는 방법은 아닙니다.

### 애플리케이션 가장 (Get-MandiantApplicationImpersonationHolders)
도구 다운로드