Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
untitledgoosetool — Untitled Goose Tool은 고객의 Azure Active Directory(AzureAD), Azure 및 M365 환경에 대한 전체 조사를 실행하기 위해 새로운 인증 및 데이터 수집 방법을 추가하는 강력하고 유연한 헌트 및 침해 대응 도구입니다. | Kitploit
도구/GitHubGitHub/cisagov/untitledgoosetool
Defensive ToolsIoT SecurityVulnerability AnalysisInformation GatheringDigital ForensicsCloud SecurityLog Analysis
GitHubcisagov/untitledgoosetool

untitledgoosetool

Untitled Goose Tool은 고객의 Azure Active Directory(AzureAD), Azure 및 M365 환경에 대한 전체 조사를 실행하기 위해 새로운 인증 및 데이터 수집 방법을 추가하는 강력하고 유연한 헌트 및 침해 대응 도구입니다.

저장소 보기
96393266일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Untitled Goose Tool


거위가 풀려났다.

목차

  • 소개
  • 시작하기
    • 사전 요구 사항
    • 요구 사항
    • 설치
  • 사용법
    • Config
    • GUI
    • Auth
    • Csv
    • Honk
    • Messagetrace
    • 권장 기본 워크플로
    • 시간 범위를 지정한 UAL 호출을 위한 권장 워크플로
    • 고려 사항
  • 알려진 문제
  • 감사의 글
  • 기여
  • 라이선스
  • 법적 고지

소개

Untitled Goose Tool은 고객의 Microsoft Entra ID, Azure 및 M365 환경에 대해 완전한 조사를 수행할 수 있도록 새로운 인증 및 데이터 수집 방법을 추가한 강력하고 유연한 헌트 및 사고 대응 도구입니다. Untitled Goose Tool은 Microsoft Defender for Endpoint(MDE) 및 Defender for Internet of Things(IoT)(D4IoT)에서 추가 원격 측정 데이터를 수집합니다.

이 도구는 로그를 SIEM(Security Information and Events Management) 또는 기타 장기 로그 솔루션으로 수집하지 않는 환경에서 사고 발생 후 클라우드 아티팩트를 내보내 사고 대응 팀을 지원하도록 설계되었습니다.

Untitled Goose Tool 사용 방법에 대한 자세한 지침은 다음을 참조하십시오: Untitled Goose Tool Fact Sheet

시작하기

사전 요구 사항

Python으로 Untitled Goose Tool을 실행하려면 Python >= 3.9가 필요합니다. 더 나은 로깅 결과를 얻을 수 있으므로 Python 3.12를 강력히 권장합니다.

Windows 머신에서는 도구를 실행하기 전에 Microsoft Visual C++ 재배포 가능 패키지(14.x)가 설치되어 있는지 확인해야 합니다.

또한 Untitled Goose Tool을 가상 환경 내에서 실행하는 것을 권장합니다.

Mac OSX

pip3 install virtualenv
virtualenv -p python3 .venv
source .venv/bin/activate

Linux

# You may need to run sudo apt-get install python3-venv first
python3 -m venv .venv
source .venv/bin/activate

Windows

# You can also use py -3 -m venv .venv
python -m venv .venv
.venv\Scripts\activate

요구 사항

Untitled Goose Tool을 실행하고 테넌트에 대한 읽기 전용 액세스를 제공하려면 다음 EntraID/M365 권한이 필요합니다.

참고: 사용자 계정은 클라우드 전용 계정(온프레미스 환경에 동기화되지 않은 계정)이어야 하며, 이렇게 하면 도구의 로그인 프로세스가 모든 환경에서 동일하게 유지됩니다.

다음 권한을 가진 클라우드 전용 사용자 계정 및 관련 EXO 서비스 주체:

Exchange Online 관리 센터

- View-Only Audit Logs
- View-Only Configuration
- View-Only Recipients
- User Options

API 권한이 다음과 같은 서비스 주체:

API 권한

Log Analytics API
- Data.Read (Application)

Microsoft Threat Protection:
- AdvancedHunting.Read.All (Application)

WindowsDefenderATP:
- AdvancedQuery.Read.All (Application)
- Alert.Read.All (Application)
- Library.Manage (Application)
- Machine.Read.All (Application)
- SecurityRecommendation.Read.All (Application)
- Software.Read.All (Application)
- Ti.ReadWrite (Application)
- Vulnerability.Read.All (Application)

Microsoft Graph:
- APIConnectors.Read.All (Application)
- AuditLog.Read.All (Application)
- ConsentRequest.Read.All (Application)
- Directory.Read.All (Application)
- Domain.Read.All (Application)
- IdentityProvider.Read.All (Application)
- IdentityRiskEvent.Read.All (Application)
- IdentityRiskyServicePrincipal.Read.All (Application)
- IdentityRiskyUser.Read.All (Application)
- MailboxSettings.Read (Application)
- Policy.Read.All (Application)
- Policy.Read.PermissionGrant (Application)
- Reports.Read.All (Application)
- RoleManagement.Read.All (Application)
- SecurityActions.Read.All (Application)
- SecurityAlert.Read.All (Application)
- SecurityEvents.Read.All (Application)
- UserAuthenticationMethod.Read.All (Application)

Office 365 Exchange Online
- Exchange.ManageAsApp (Application)

Azure 구독 IAM 역할

- Reader
- Storage Blob Data Reader
- Storage Queue Data Reader

서비스 주체에 대해 "Allow public client flows"를 활성화해야 합니다.

필요한 권한이 있는 서비스 주체를 설정하기 위한 설정 PowerShell 스크립트가 있습니다. 또한 Azure 서비스 주체와 m365의 연결은 현재 PowerShell을 통해서만 수행할 수 있으며, 일부 m365 로그 수집에 필요합니다.

아래는 스크립트를 실행하는 예시로, 적절한 정보를 사용하여 구성 파일을 빌드하기 위해 실행해야 하는 goosey conf 명령을 출력합니다.

PS > Write-Host "Creating a new Goose Application and Users"
PS > ./Create_SP.ps1 -AppName GooseApp -Create

또한 스크립트는 애플리케이션 사용이 끝나면 이를 삭제할 수 있습니다

PS > Write-Host "Creating a new Goose Application and Users"
PS > ./Create_SP.ps1 -AppName GooseApp -Delete

설치

설치하려면 저장소를 복제한 후 pip install을 실행하세요:

일반 설치

git clone https://github.com/cisagov/untitledgoosetool.git
cd untitledgoosetool
python3 -m pip install .

Docker

docker build . -t goosey
docker run -it -v $PWD:/workdir goosey goosey honk --debug

사용법

구성

Untitled Goose Tool은 인증 매개변수와 구성이 필요합니다. 구성 파일을 자동으로 생성하려면 설치 후 다음을 실행하세요.

$ goosey conf

PowerShell 설치 스크립트가 서비스 주체를 생성/설정하기 위해 실행될 때 이 명령의 버전이 생성됩니다. 아래는 가짜 매개변수 값을 사용한 예시입니다

$ goosey conf --config_tenant=5fd146ad-8b31-4afa-a72f-6f71df5c7173 --config_subscriptionid=all --auth_appid=24fd6377-79e0-445d-838b-3eaa60d3ca21

그 후, .auth, .conf, .auth_d4iot, .d4iot_conf 파일이 현재 디렉터리에 배치되어야 합니다. 이 파일들은 Untitled Goose Tool에서 사용됩니다. 위 매개변수로 생성된 것이 아니라면, Untitled Goose Tool이 적절한 리소스에 제대로 인증할 수 있도록 상단 섹션 [auth]를 작성해야 합니다. 그러나 자격 증명을 파일에 입력하는 것이 불편하다면, .auth 및/또는 .auth_d4iot를 삭제하고 대신 콘솔을 통해 도구가 자격 증명을 요청하도록 할 수 있습니다.

최소한의 인증은 다음과 같습니다:

[auth]
# The username of your account. ex: [email protected]
username=
# The password of your account. ex: AAD_password
password=
# The application ID of your service principal
appid=
# The client secret value of your service principal (not the secret ID)
clientsecret=

기본 설정은 다음과 같습니다:

[config]
# The tenant ID of your AAD tenant
tenant=
# If you have a GCC High tenant
us_government=False
# If you have a GCC tenant with MDE
mde_gcc=False
# If you have a GCC High tenant with MDE
mde_gcc_high=False
# If your M365 tenant is a government tenant
exo_us_government=False
# If you want to check all of your Azure subscriptions, set this to All, otherwise enter your Azure subscription ID. For multiple IDs, separate it with commas, no spaces
subscriptionid=All

[filters]
# Format should be YYYY-MM-DD. If not set will default to the earliest date for log retention
date_start=
# Format should be YYYY-MM-DD. Will default to the present day
date_end=

[variables]
# Threshold used for ual API requests. Specifies the maximum results pulled per session. Can be between 100 - 50000. The api is optimized to return results faster the larger the threshold, but the whole session has to be repeated if an error occurs as the results are not returned sorted. We recommend 5000 as the threshold, but this can be toggled with
ual_threshold=5000
# Maximum number of ual coroutines/tasks to have running asynchronously. Minimum value is 1.
max_ual_tasks=5
# Start date for an extra time frame for ual to search. Reason for this is because ual takes the longest to pull and while you don't want the oldest data to roll off, you may want to look at another timeframe and do not want to wait for ual to get there and pull the logs. Format should be YYY-MM-DD
ual_extra_start=
# End date for an extra time frame for ual to search. Reason for this is because ual takes the longest to pull and while you don't want the oldest data to roll off, you may want to look at another timeframe and do not want to wait for ual to get there and pull the logs. Format should be YYY-MM-DD
ual_extra_end=
# Threshold for how many logs to pull per query. Usually want to try to max this out as KQL queries are rate limited.
mde_threshold=10000

### Unified Audit Log Filters

You can fine-tune which Unified Audit Log (UAL) records are saved by setting UAL filter variables in the `[variables]` section of your `.conf` file. Use the `ual_`-prefixed variables below:

Note: The Operation, UserId, and ClientIP filters cannot be run together. You must start a separate UAL pull for each filter, and you may need to clear the bounds and state files when running duplicate timeframes.
도구 다운로드