Skip to content

Cet outil n'est ni affilié à Okta, Inc., ni approuvé ou sponsorisé par elle. Okta est une marque d'Okta, Inc. Les autres noms sont des marques de leurs propriétaires respectifs.

System Log WebAssembly

Notre tenant Okta a-t-il été compromis ?

Déposez votre export du System Log Okta (JSON de l'API, CSV de la console d'administration, exports SIEM) et obtenez un verdict, les constats, une chronologie de l'incident et une liste de remédiation. Analysé dans votre navigateur en WebAssembly — rien n'est envoyé.

Déposez ici votre export du System Log Okta

JSON ou JSON Lines de /api/v1/logs, CSV de Reports › System Log, exports EventBridge / Splunk / Elastic — gzip, dossiers et archives ZIP acceptés tels quels. Plusieurs fichiers sont fusionnés et dédoublonnés.

Un export synthétique d'un incident fictif (ingénierie sociale du helpdesk → prise de contrôle d'un admin → IdP malveillant → AWS) — aucune donnée réelle.

100 % côté client : les journaux sont analysés par WebAssembly dans votre navigateur et jamais envoyés.

Comment récupérer vos données

De zéro à un verdict en deux minutes environ : récupérez le System Log Okta, puis déposez les fichiers ici. Exportez toute l'organisation, pas une vue filtrée.

  1. 1. CollecterLancez le script API ou téléchargez le CSV
  2. 2. DéposerDéposez les fichiers, le dossier ou un ZIP sur cette page
  3. 3. Reste dans votre navigateurAnalysé localement par WebAssembly, jamais envoyé

Prérequis : un jeton d'API créé par un administrateur en lecture seule (Security › API › Tokens). Récupère toute l'organisation sur les 90 derniers jours en JSON brut, avec tous les champs.

  1. Renseignez votre domaine Okta et le jeton (remplacez les deux valeurs) :

    bash / zsh
    export OKTA_DOMAIN="<your-org>.okta.com"
    export OKTA_API_TOKEN="<read-only API token>"

  2. Collez dans le Terminal (bash ou zsh). Chaque page est enregistrée dans okta-system-log/ du dossier courant :

    bash / zsh
    out=okta-system-log; mkdir -p "$out"
    start=$(date -u -v-90d +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || date -u -d '90 days ago' +%Y-%m-%dT%H:%M:%SZ)
    end=$(date -u +%Y-%m-%dT%H:%M:%SZ)
    url="https://${OKTA_DOMAIN}/api/v1/logs?since=${start}&until=${end}&limit=1000"
    n=0
    while [ -n "$url" ]; do
      n=$((n+1)); f="$out/okta-system-log-$(printf %04d $n).json"
      curl -sS --fail -D "$out.headers" \
        -H "Authorization: SSWS ${OKTA_API_TOKEN}" \
        -H "Accept: application/json" \
        "$url" > "$f" || { rm -f "$f"; break; }
      url=$(tr -d '\r' < "$out.headers" | grep -i '^link:.*rel="next"' \
            | sed -E 's/^[Ll]ink: <([^>]+)>.*/\1/')
      sleep 1
    done
    rm -f "$out.headers"; ls -l "$out"

  3. Déposez le dossier okta-system-log sur cette page (ou zippez-le d'abord). Une organisation active produit beaucoup de pages de 1 000 événements : laissez tourner.

Pièges à éviter

  • Ne filtrez ni par utilisateur ni par type d'événement : une réinitialisation par le helpdesk ou l'attribution d'un rôle d'administrateur est journalisée au nom de quelqu'un d'autre, et un export filtré peut sembler sain.
  • Le System Log conserve 90 jours : exportez maintenant. Les horodatages sont en UTC, et l'outil affiche l'UTC par défaut.
  • Un jeton d'API a les droits de son créateur : créez-le en tant qu'administrateur en lecture seule, depuis un compte que l'attaquant ne peut pas contrôler, et révoquez-le après l'export.

Ce que fait cet outil

Le System Log d'Okta enregistre chaque connexion, défi MFA, session, modification d'administration et accès applicatif d'une organisation Okta sous forme d'enregistrements LogEvent (eventType, actor, client, target, outcome, authenticationContext, securityContext, debugContext).

Cet outil lit un export du System Log dans votre navigateur, corrèle les événements entre utilisateurs, sessions et adresses IP, et vous dit s'ils révèlent une attaque d'identité — avec un verdict, les constats et leurs preuves, une chronologie de l'incident et une liste de remédiation.

Ce qu'il détecte

  • Fatigue MFA / bombardement push : rafales de notifications Okta Verify ou de refus, aggravées quand une notification finit par être acceptée.
  • Ingénierie sociale du helpdesk : une réinitialisation de mot de passe ou de facteurs par un administrateur, suivie de l'enrôlement d'un nouveau facteur — critique quand il provient d'un nouveau réseau, d'un hébergeur ou d'un anonymiseur.
  • Vol de session : le même externalSessionId utilisé depuis plusieurs réseaux (ASN) ou navigateurs, détections d'itinérance d'Okta, alertes ThreatInsight, connexions via proxy / Tor.
  • Abus d'administration et persistance : attributions de Super administrateur et de rôles d'administration, création de jetons d'API, fournisseurs d'identité nouveaux ou modifiés (fédération entrante), authentificateurs et politiques désactivés, paramètres de sécurité affaiblis.
  • Password spraying et devinette : de nombreux comptes essayés depuis une IP avec peu de tentatives chacun, ou de nombreux échecs sur un compte — aggravé quand une connexion réussit.
  • Accès à des applications sensibles après une activité suspecte (AWS, Microsoft 365, Google Workspace, GitHub, Salesforce, la console d'administration Okta…), avec un lien vers l'outil d'analyse de journaux correspondant.

Règles de détection

Les détections sont des données, pas du code : chaque règle est un filtre de type Sigma, un seuil, une séquence ou une condition de suivi sur les champs du System Log, avec une sévérité et des techniques MITRE ATT&CK. Le jeu de règles est versionné avec l'outil.

RègleSévérité de baseATT&CK
Fatigue MFA / bombardement de notifications push
mfa.push_fatigue
ÉlevéeT1621
Réinitialisation par le helpdesk, puis nouveau facteur enrôlé
mfa.helpdesk_reset_then_enroll
ÉlevéeT1656, T1098.005, T1556.006
Mot de passe ou facteurs réinitialisés par un autre utilisateur
mfa.factor_reset_by_admin
FaibleT1098
Tentative de contournement MFA
mfa.bypass_attempt
MoyenneT1556.006
Session utilisée depuis plusieurs réseaux
session.multi_asn
ÉlevéeT1539, T1550.004
Session utilisée par plusieurs navigateurs
session.multi_user_agent
MoyenneT1539, T1550.004
Itinérance de session détectée par Okta
session.roaming
MoyenneT1550.004
Password spraying
access.password_spray
ÉlevéeT1110.003
Devinette de mot de passe sur un compte
access.brute_force
MoyenneT1110.001
Connexion via un anonymiseur
access.anonymizer
MoyenneT1090.003, T1078.004
Connexion depuis un hébergeur
access.hosting_provider
MoyenneT1078.004
Alerte Okta ThreatInsight
threat.threatinsight
MoyenneT1110
Activité suspecte signalée par l'utilisateur
threat.user_reported
Élevée
Identifiant divulgué utilisé
threat.breached_credential
MoyenneT1078
Rôle Super administrateur attribué
admin.super_admin_granted
ÉlevéeT1098.003
Rôle d'administration attribué
admin.role_granted
MoyenneT1098.003
Jeton d'API créé
admin.api_token_created
MoyenneT1098.001
Accès du support Okta / usurpation
admin.support_access
MoyenneT1078.004
Nouveau fournisseur d'identité (fédération entrante)
persistence.idp_created
ÉlevéeT1484.002
Fournisseur d'identité modifié
persistence.idp_modified
MoyenneT1484.002
Authentificateur désactivé
defense.authenticator_disabled
ÉlevéeT1556.006
Politique ou règle désactivée
defense.policy_disabled
MoyenneT1556.006
Politique modifiée
defense.policy_modified
FaibleT1556
Paramètres de sécurité modifiés
defense.security_settings_changed
MoyenneT1562
Application sensible ouverte après une activité suspecte
app.sso_after_suspicious
ÉlevéeT1021.007, T1550.001

Limites

  • Le System Log est conservé 90 jours : l'activité plus ancienne est perdue sauf si elle a été diffusée ou exportée.
  • Un verdict sans compromission ne couvre que ce qui est dans l'export : un export filtré ou partiel peut manquer l'attaque.
  • Les détections sont des heuristiques : utilisateurs de VPN, salariés en déplacement et travail du helpdesk peuvent déclencher des constats. Confirmez chacun avec les personnes concernées.
  • Les références (nouveau pays, nouvel appareil) sont calculées à partir de l'export lui-même : un export court donne peu d'historique.
  • Les champs debugContext.debugData (risk, behaviors, threatSuspected) ne sont pas un contrat stable et varient selon les organisations et les versions d'Okta.

FAQ

Mes journaux sont-ils envoyés quelque part ?

Non. L'analyseur est écrit en Rust, compilé en WebAssembly et exécuté dans un Web Worker de votre navigateur ; les fichiers sont lus localement par morceaux. Il n'existe aucun point d'envoi.

Quelle taille d'export peut-il traiter ?

Les exports sont lus en flux par morceaux de 4 Mo (le gzip est décompressé à la volée), donc les fichiers de plusieurs Go passent ; la limite est la mémoire nécessaire aux événements eux-mêmes. Pour les très gros exports, les preuves et les événements les plus récents sont listés.

Quels événements Okta comptent le plus lors d'une compromission ?

user.session.start et user.authentication.auth_via_mfa (connexions), system.push.send_factor_verify_push et user.mfa.okta_verify.deny_push (fatigue MFA), user.mfa.factor.reset_all / activate (changements de facteurs), user.account.privilege.grant (rôles d'administration), system.api_token.create, system.idp.lifecycle.create (fédération entrante) et user.authentication.sso (accès aux applications).

Comment repérer un vol de session dans Okta ?

Regroupez les événements par authenticationContext.externalSessionId : une session utilisée depuis deux réseaux (securityContext.asNumber) ou deux navigateurs est suspecte, surtout juste après la connexion. Okta journalise aussi security.session.detect_client_roaming.

Est-ce un outil officiel d'Okta ?

Non. C'est un outil indépendant, ni affilié à Okta, Inc., ni approuvé par elle. Il lit le format de journal décrit dans la documentation publique pour les développeurs d'Okta.

Le verdict indique une compromission — que faire ?

Préservez les journaux, confinez les comptes concernés (fermeture des sessions, réinitialisation des facteurs et mots de passe, révocation des rôles d'administration, jetons et IdP inconnus), puis examinez les applications accédées. L'onglet Remédiation liste les étapes correspondant à vos constats, et les recommandations de sécurité d'Okta (sec.okta.com) décrivent détections et durcissement face à ces attaques.

Pourquoi les détections Okta se trompent sur les VPN d'entreprise, les réseaux mobiles et le helpdesk, ce que l'analyseur ne voit pas, et comment vérifier.
Une intrusion Okta fictive lue événement par événement : reset par le helpdesk, facteur de l'attaquant, Super Admin, IdP malveillant, AWS, et les constats.
Détecter password spraying, force brute et credential stuffing sur Okta : échecs par IP et par utilisateur, événements ThreatInsight et le succès à rechercher.

Cet outil n'est ni affilié à Okta, Inc., ni approuvé ou sponsorisé par elle. Okta est une marque d'Okta, Inc. Les autres noms sont des marques de leurs propriétaires respectifs.