Notebook de Análise Citrix
Um notebook Jupyter para auxiliar na automatização de algumas análises forenses relacionadas a hosts Citrix Netscaler comprometidos via CVE-2019-19781.
Para obter ajuda na recuperação de artefatos para exame, veja este script de triagem Citrix.
Todas as notas/sugestões são bem-vindas. Sinta-se à vontade para enviar pull requests ou issues.
Aviso: Não tem a intenção de ser uma solução definitiva, apenas serve para ajudar você a começar.
Funcionalidades
- Atualmente trata dos seguintes logs e XMLs de payload, se disponíveis:
- HTTPAccess
- HTTPError
- Cron
- Bash
- Notice
- Sh
- Descompressão de logs
- Parsing de logs em dataframes pandas para análises posteriores, se desejado
- Pesquisa de logs por IOCs comuns associados a comprometimento
- Parsing e decodificação de arquivos XML de payload, se disponíveis
- Saída da análise para uma planilha de resultados Excel para revisão
Recursos Úteis
Histórico de Alterações
v 1.0
- Adicionado parsing de log httperror
- A análise de Notice agora procura pelos mesmos termos da análise de sh (sh estão incluídos em notice e, portanto, devemos procurar os mesmos termos em ambos para obter os mesmos resultados)
- Dataframes agora não serão mais exportados para a planilha de resultados se estiverem vazios. Em vez disso, uma mensagem de log exibirá quais dataframes estão vazios na célula de escrita do Excel do notebook.
v 0.9
- Adicionada recuperação das datas de início e fim cobertas por cada log listado acima
- Pequena refatoração do código de parsing de XML para incorporar a chave 'username', permitindo o parsing de XMLs recuperados de /xml/bookmarks
v 0.8
- Adicionada codificação 'latin1' a todo o parsing de logs para cobrir casos em que os logs não estavam em utf-8 e causavam erros de parsing
- Dividido searchFor em searchFor e shSearchFor, pois logs sh têm critérios de busca diferentes que não aparecem em outros logs
v 0.7
- Adicionada decodificação de payloads (chr() e base64) + agregação de todos os payloads na coluna 'decodedpayloads'
v 0.6
- Adicionado parsing de log sh
- Adicionada variável comum 'searchFor' à configuração para armazenar termos de busca para atividade suspeita que serão procurados em todos os logs
v 0.5
- Adicionado parsing para a maioria dos logs de notice (veja erros para exceções)
- As exceções atualmente são: sslvpn_aaad_login_handler e logs de envio de dados de configuração de sessão, embora sejam exibidos via erros para que você ainda possa inspecioná-los
v 0.4
- Adicionado parsing de log bash