Comment Exporter des Événements depuis IBM QRadar

Comment Exporter des Événements depuis IBM QRadar

SOC Prime Team
SOC Prime Team linkedin icon Suivre

La façon la plus propre d’extraire des événements bruts de QRadar est l’API REST Ariel. Exécuter une requête AQL qui sélectionne UTF8(payload), attendre que la recherche soit terminée et récupérer les résultats sous forme de JSON. Vous obtenez les lignes de logs originales exactement comme vos sources de logs les ont envoyées. L’onglet Activité des logs peut également exporter les résultats de recherche, mais pas dans un format que LogTotal lit aujourd’hui. 

QRadar se trouve au centre de nombreux SOCs, et tôt ou tard quelqu’un a besoin d’une partie de ses données en dehors de la console : un partenaire IR, une seconde opinion, une vérification rapide sans créer de nouvelle règle. Prime Core a 23 656 règles de détection pour QRadar, mappées à 674 techniques MITRE ATT&CK. Voici comment extraire une tranche propre d’événements bruts, la nettoyer et l’analyser gratuitement dans LogTotal.

Ce guide couvre QRadar SIEM, sur site et logiciel. Si votre entreprise utilisait QRadar SaaS, qu’IBM a vendu à Palo Alto Networks en 2024, vous êtes peut-être passé à Cortex XSIAM depuis.

Commencer gratuitement

Avant de commencer

Un jeton de service autorisé. Créez-en un sous Admin → Services autorisés et donnez-lui une date d’expiration. Le jeton porte un rôle utilisateur et un profil de sécurité. Le profil de sécurité décide quelles sources de logs et réseaux il peut voir. S’il est plus restreint que le vôtre, l’API retournera silencieusement moins d’événements que ce que l’activité des logs vous montre. C’est le moment le plus courant de « où sont passés mes événements ? » avec les exports QRadar.

Rétention. Les événements vivent aussi longtemps que vos seaux de rétention le permettent (Admin → Rétention des événements). Si la fenêtre dont vous avez besoin est plus ancienne, il ne reste plus rien à exporter.

Accès réseau. L’API fonctionne sur le port HTTPS de la console. Les consoles utilisent souvent des certificats auto-signés ; pointez curl vers la bonne CA avec –cacert plutôt que de désactiver la vérification.

Étape 1 : Écrire la requête AQL

Sélectionnez la charge utile plus quelques champs pour le contexte :

SELECT DATEFORMAT(starttime, 'yyyy-MM-dd HH:mm:ss') AS event_time,
      LOGSOURCENAME(logsourceid) AS log_source,
      QIDNAME(qid) AS event_name,
      UTF8(payload) AS payload
FROM events
WHERE LOGSOURCENAME(logsourceid) = 'web-03'
START '2026-10-19 00:00' STOP '2026-10-20 00:00'

Quelques notes d’expérience :

  • UTF8(payload) est la partie importante. Sans cela, la charge utile revient sous forme d’octets encodés, pas de texte de log lisible.
  • Réduisez-le. Filtrez par nom de source de logs ou par type avec LOGSOURCETYPENAME(devicetype) ILIKE ‘%Linux%’, et gardez la fenêtre étroite.
  • START / STOP pour des fenêtres exactes, LAST 24 HOURS pour des fenêtres relatives.
  • Testez-le d’abord in Activité des logs → Recherche avancée. C’est le même AQL, et vous verrez le nombre d’événements avant d’exporter.

Les événements Windows collectés via WinCollect arrivent sous forme de charges utiles textuelles, et non en tant que EVTX. Ce que vous exportez est ce texte.

Étape 2 : Exécutez-le via l’API Ariel

Enregistrez ceci sous le nom qradar_export.sh. Il démarre la recherche, l’attend, et écrit une charge utile brute par ligne :

#!/usr/bin/env bash
set -euo pipefail

QRADAR="https://qradar.example.com"
TOKEN="${QRADAR_TOKEN:?set QRADAR_TOKEN first}"
AQL="SELECT UTF8(payload) AS payload FROM events WHERE LOGSOURCENAME(logsourceid) = 'web-03' START '2026-10-19 00:00' STOP '2026-10-20 00:00'"

# 1. démarrer la recherche (-G place la requête dans l'URL, -X POST conserve la méthode)
SID=$(curl -sS -G -X POST -H "SEC: $TOKEN" -H "Accept: application/json"
  --data-urlencode "query_expression=$AQL"
  "$QRADAR/api/ariel/searches" | jq -r '.search_id')

# 2. attendre qu'elle se termine
while :; do
  STATUS=$(curl -sS -H "SEC: $TOKEN" "$QRADAR/api/ariel/searches/$SID" | jq -r '.status')
  [ "$STATUS" = "COMPLETED" ] && break
  if [ "$STATUS" = "ERROR" ] || [ "$STATUS" = "CANCELED" ]; then echo "Search $STATUS"; exit 1; fi
  sleep 5
done

# 3. récupérer les résultats : charges utiles brutes, une par ligne
curl -sS -H "SEC: $TOKEN" -H "Accept: application/json"
  "$QRADAR/api/ariel/searches/$SID/results" | jq -r '.events[].payload' > web-03_qradar_1019.log

Vous voulez des événements structurés à la place, avec le temps et la source de logs comme champs ? Sélectionnez ces colonnes dans l’AQL et utilisez jq -c ‘.events[]’ à la dernière étape. Vous obtenez un objet JSON par ligne.

Pour des ensembles de résultats très volumineux, récupérez les résultats par pages avec un en-tête Range, par exemple -H « Range: items=0-49999 », puis les 50 000 suivants.

Étape 3 : Téléchargez, nettoyez et révisez dans LogTotal

  1. Télécharger. Ouvrez logtotal.com et déposez le fichier. 
  2. Nettoyer. Regardez-le avant de continuer.
  3. Revoir. 

Quand ça tourne mal

SymptômeCause probableFix
401 de l’APIJeton invalide, expiré ou l’en-tête SEC est manquantVérifiez l’en-tête ; créez un nouveau jeton
Moins d’événements que ce que montre l’activité des logsLe profil de sécurité du jeton voit moins de sources de logsDonnez au jeton un profil qui correspond à l’enquête
Les charges utiles ressemblent à des charabias encodésUTF8() omis dans la requêteSélectionnez UTF8(payload)
Le statut de recherche passe à ERRORSyntaxe AQLTestez la requête dans Recherche avancée d’abord
Les résultats sont videsLa fenêtre est en dehors de la rétention ou le fuseau horaire est incorrectVérifiez la rétention ; vérifiez le fuseau horaire de la console
curl se plaint du certificatCertificat de console auto-signéUtilisez –cacert avec la CA de la console

FAQ

Puis-je obtenir des fichiers EVTX de QRadar ?

Non. QRadar stocke les événements Windows sous forme de charges utiles textuelles. Pour de vrais fichiers EVTX, exportez-les depuis l’hôte Windows.

Qu’en est-il des données de flux ?

Les flux vivent dans une table séparée : exécutez des requêtes depuis flows au lieu de FROM events. Ce sont des enregistrements de connexions réseau, pas des journaux, et ils font l’objet d’une analyse distincte.

Rejoignez la plateforme Detection as Code de SOC Prime pour améliorer la visibilité sur les menaces les plus pertinentes pour votre entreprise. Pour vous aider à démarrer et à générer une valeur immédiate, planifiez dès maintenant une réunion avec des experts de SOC Prime.