
Untitled Goose Tool es una herramienta robusta y flexible de búsqueda de amenazas y respuesta a incidentes que añade métodos novedosos de autenticación y recopilación de datos para llevar a cabo una investigación completa contra los entornos de Azure Active Directory (AzureAD), Azure y M365 de un cliente.
El ganso está suelto.
Untitled Goose Tool es una herramienta de búsqueda y respuesta ante incidentes robusta y flexible que añade métodos novedosos de autenticación y recopilación de datos para llevar a cabo una investigación completa en los entornos de Microsoft Entra ID, Azure y M365 del cliente. Untitled Goose Tool recopila telemetría adicional de Microsoft Defender for Endpoint (MDE) y Defender for Internet of Things (IoT) (D4IoT).
Esta herramienta fue diseñada para ayudar a los equipos de respuesta ante incidentes mediante la exportación de artefactos de la nube después de un incidente para entornos que no están ingiriendo registros en un SIEM (Security Information and Events Management) u otra solución de almacenamiento de registros a largo plazo.
Para obtener más orientación sobre cómo usar Untitled Goose Tool, consulte: Untitled Goose Tool Fact Sheet
Se requiere Python >= 3.9 para ejecutar Untitled Goose Tool con Python. Se recomienda encarecidamente Python 3.12, ya que produce un mejor registro.
En una máquina Windows, deberá asegurarse de tener instalado el paquete redistribuible de Microsoft Visual C++ (14.x) antes de ejecutar la herramienta.
También se recomienda ejecutar Untitled Goose Tool dentro de un entorno virtual.
pip3 install virtualenv virtualenv -p python3 .venv source .venv/bin/activate
#### Linux```sh
# You may need to run sudo apt-get install python3-venv first
python3 -m venv .venv
source .venv/bin/activate
python -m venv .venv .venv\Scripts\activate
### Requisitos
Los siguientes permisos de EntraID/M365 son necesarios para ejecutar Untitled Goose Tool y proporcionarle acceso de solo lectura al inquilino.
Tenga en cuenta: La cuenta de usuario debe ser una cuenta solo en la nube (no sincronizada con el entorno local); esto garantizará que el proceso de inicio de sesión se mantenga igual en todos los entornos para la herramienta.
Una cuenta de usuario solo en la nube y una entidad de servicio de EXO asociada con los siguientes permisos:
Exchange Online Admin Center```
- View-Only Audit Logs
- View-Only Configuration
- View-Only Recipients
- User Options
Una entidad de servicio con los siguientes permisos:
Permisos de API``` Log Analytics API
Microsoft Threat Protection:
WindowsDefenderATP:
Microsoft Graph:
Office 365 Exchange Online
Roles de IAM de la suscripción de Azure```
- Reader
- Storage Blob Data Reader
- Storage Queue Data Reader
Asegúrate de habilitar "Allow public client flows" para la entidad de servicio.
Tenemos un script de configuración de powershell para configurar una entidad de servicio con los permisos necesarios. Además, la asociación de la entidad de servicio de Azure con m365 solo se puede realizar actualmente mediante powershell y es necesaria para parte de la recopilación de registros de m365.
A continuación se muestra un ejemplo de ejecución del script, que generará el comando goosey conf que debes ejecutar para crear los archivos de configuración con la información adecuada.```powershell
PS > Write-Host "Creating a new Goose Application and Users"
PS > ./Create_SP.ps1 -AppName GooseApp -Create
Además, el script puede eliminar la Aplicación cuando termines de usarla.```powershell
PS > Write-Host "Creating a new Goose Application and Users"
PS > ./Create_SP.ps1 -AppName GooseApp -Delete
Para instalar, clona el repositorio y luego realiza una instalación con pip:
git clone https://github.com/cisagov/untitledgoosetool.git cd untitledgoosetool python3 -m pip install .
#### Docker```sh
docker build . -t goosey
docker run -it -v $PWD:/workdir goosey goosey honk --debug
Untitled Goose Tool requiere parámetros de autenticación y configuración. Para generar automáticamente el archivo de configuración, ejecute lo siguiente después de la instalación.```sh $ goosey conf
Se generará una versión de este comando cuando se ejecute el script de instalación de powershell para crear/configurar el service principal. A continuación se muestra un ejemplo con valores de parámetros ficticios.```sh
$ goosey conf --config_tenant=5fd146ad-8b31-4afa-a72f-6f71df5c7173 --config_subscriptionid=all --auth_appid=24fd6377-79e0-445d-838b-3eaa60d3ca21
Después de esto, los archivos .auth, .conf, .auth_d4iot, y .d4iot_conf deben colocarse en el directorio actual. Untitled Goose Tool utiliza estos archivos. A menos que esto se haya generado con los parámetros anteriores, debe completar la sección superior [auth] para que Untitled Goose Tool pueda autenticarse correctamente en los recursos adecuados. Sin embargo, si no se siente cómodo ingresando sus credenciales en un archivo, puede optar por eliminar .auth y/o .auth_d4iot y la herramienta le solicitará las credenciales por consola en su lugar.
La autenticación mínima se ve así:``` [auth]
username=
password=
appid=
clientsecret=
La configuración mínima se ve así:```
[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