A maneira mais limpa de obter eventos brutos do QRadar é através da API Ariel REST. Execute uma consulta AQL que seleciona UTF8(payload), aguarde a conclusão da pesquisa e obtenha os resultados como JSON. Você terminará com as linhas de log originais exatamente como suas fontes de log as enviaram. A guia de Atividade de Log também pode exportar resultados de pesquisa, mas não em um formato que o LogTotal suporta hoje.
O QRadar está no centro de muitos SOCs, e cedo ou tarde alguém precisa de uma parte de seus dados fora do console: um parceiro IR, uma segunda opinião, uma verificação rápida sem criar uma nova regra. O Prime Core possui 23.656 regras de detecção para o QRadar, mapeadas para 674 técnicas MITRE ATT&CK. Abaixo está como extrair uma parte limpa de eventos brutos, sanitizá-la e investigá-la gratuitamente no LogTotal.
Este guia cobre o QRadar SIEM, on-premises e software. Se sua empresa usava o QRadar SaaS, que a IBM vendeu para a Palo Alto Networks em 2024, você pode ter migrado para o Cortex XSIAM desde então.
Antes de começar
Um token de serviço autorizado. Crie um em Administração → Serviços Autorizados e defina uma data de expiração. O token carrega um papel de usuário e um perfil de segurança. O perfil de segurança decide quais fontes de log e redes ele pode ver. Se for mais restrito que o seu, a API retorna silenciosamente menos eventos do que a Atividade de Log mostra. Esse é o momento mais comum de “onde foram meus eventos?” com exportações do QRadar.
Retenção. Os eventos vivem enquanto seus baldes de retenção permitirem (Administração → Retenção de Eventos). Se a janela que você precisa for mais antiga do que isso, não há nada para exportar.
Acesso à rede. A API é executada na porta HTTPS do console. Consoles frequentemente usam certificados autoassinados; aponte o curl para o CA correto com –cacert ao invés de desativar a verificação.
Passo 1: Escreva a consulta AQL
Selecione o payload mais alguns campos para contexto:
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'
Algumas notas da experiência:
- UTF8(payload) é a parte importante. Sem isso, o payload retorna como bytes codificados, não texto de log legível.
- Restringa. Filtro por nome de fonte de log ou por tipo com LOGSOURCETYPENAME(devicetype) ILIKE ‘%Linux%’, e mantenha a janela apertada.
- START / STOP para janelas exatas, ÚLTIMAS 24 HORAS para janelas relativas.
- Teste primeiro in Atividade de Log → Pesquisa Avançada. É o mesmo AQL, e você verá a contagem de eventos antes de exportar.
Eventos do Windows coletados através do WinCollect chegam como payloads de texto, não como EVTX. O que você exporta é esse texto.
Passo 2: Execute através da API Ariel
Salve isso como qradar_export.sh. Ele inicia a pesquisa, aguarda por ela e escreve um payload bruto por linha:
#!/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. iniciar a pesquisa (-G coloca a consulta na URL, -X POST mantém o método)
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. aguarde sua finalização
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. buscar resultados: payloads brutos, um por linha
curl -sS -H "SEC: $TOKEN" -H "Accept: application/json"
"$QRADAR/api/ariel/searches/$SID/results" | jq -r '.events[].payload' > web-03_qradar_1019.log
Quer eventos estruturados em vez disso, com tempo e fonte de log como campos? Selecione essas colunas na AQL e use jq -c ‘.events[]’ na última etapa. Você obtém um objeto JSON por linha.
Para conjuntos de resultados muito grandes, busque os resultados em páginas com um cabeçalho Range, por exemplo -H “Range: items=0-49999”, depois os próximos 50.000.
Passo 3: Faça upload, sanitização e revisão no LogTotal
- Carregar. Abra logtotal.com e solte no arquivo.
- Sanitize. Revise antes de continuar.
- Revisar.
Quando dá errado
| Sintoma | Causa provável | Fix |
|---|---|---|
| 401 da API | Token inválido, expirado, ou o cabeçalho SEC está faltando | Verifique o cabeçalho; crie um novo token |
| Menos eventos do que a Atividade de Log mostra | O perfil de segurança do token vê menos fontes de log | Dê ao token um perfil que corresponda à investigação |
| Payloads parecem garranchos codificados | UTF8() deixado de fora da consulta | Selecione UTF8(payload) |
| Status da pesquisa vai para ERRO | Sintaxe AQL | Teste a consulta na Pesquisa Avançada primeiro |
| Resultados estão vazios | A janela está fora da retenção, ou o fuso horário está errado | Verifique a retenção; verifique o fuso horário do console |
| curl reclama sobre o certificado | Certificado autoassinado do console | Use –cacert com o CA do console |
FAQ
Posso obter arquivos EVTX do QRadar?
Não. O QRadar armazena eventos do Windows como payloads de texto. Para arquivos EVTX reais, exporte-os do host do Windows.
E sobre dados de fluxo?
Os fluxos vivem em uma tabela separada: consulta de FROM flows ao invés de FROM events. Eles são registros de conexão de rede, não logs, e são uma análise separada.