
Scanner baseado em Bash que detecta indicadores de compromisso da exploração do CVE-2023-3519 em appliances Citrix ADC, suportando análise ao vivo e de imagem forense.
Este repositório contém uma utilidade para detetar compromissos de Appliances Citrix ADC relacionados ao CVE-2023-3519. A utilidade e seus recursos codificam indicadores de compromisso recolhidos durante investigações da Mandiant. Para saber mais, por favor leia o blog que anuncia o lançamento desta ferramenta.
Em resumo, a utilidade irá:
Ela não irá:
Com o feedback da comunidade, a ferramenta pode tornar-se mais completa na sua deteção. Por favor abra um issue, ou submeta um PR, se tiver problemas, ideias ou feedback.
Este scanner pode identificar:
O Scanner de Indicadores de Compromisso (IoC) para CVE-2023-3519 foi desenvolvido pela Mandiant em colaboração com a Citrix com base no conhecimento obtido a partir de compromissos de resposta a incidentes relacionados à exploração do CVE-2023-3519. O objetivo do scanner é analisar as fontes de registo disponíveis e os artefactos forenses do sistema para identificar evidências de exploração bem-sucedida do CVE-2023-3519. Existem limitações no que a ferramenta conseguirá realizar, e, portanto, executar a ferramenta não deve ser considerado uma garantia de que um sistema está livre de compromissos. Por exemplo, os ficheiros de registo no sistema com evidências de compromisso podem ter sido truncados/rotacionados, o sistema pode ter sido reiniciado, um atacante pode ter adulterado o sistema para remover evidências de compromisso, e/ou instalado um rootkit que oculta evidências de compromisso, etc.
Esta ferramenta não garante encontrar todas as evidências de compromisso, ou todas as evidências de compromisso relacionadas ao CVE-2023-3519. Se forem identificados indícios de compromisso nos sistemas, as organizações devem realizar um exame forense do sistema comprometido para determinar o alcance e a extensão do incidente. Este software é fornecido "como está", sem garantia ou representação para qualquer uso ou propósito.
Deve descarregar o script Bash autónomo a partir da aba Releases deste repositório. Copiar o diretório fonte para uma Appliance Citrix ADC não é recomendado. Fazer isso gerará falsos positivos.
O Scanner IoC pode ser executado diretamente numa Appliance Citrix ADC.
Neste modo, a ferramenta irá analisar ficheiros, processos e portas em busca de indicadores conhecidos.
A ferramenta escreve mensagens de diagnóstico no stream STDERR e resultados no stream STDOUT.
No uso típico, deve redirecionar STDOUT para um ficheiro para revisão.
A ferramenta deve ser executada como root em modo live numa Appliance Citrix ADC.
Para aceder ao root, faça login na CLI como nsroot e depois execute shell a partir da CLI.
Por exemplo:
$ bash ./scanner-CVE-2023-3519-v1.2.sh > "/tmp/results-$(date).txt"
A ferramenta foi concebida para ser utilizada com os seguintes produtos:
O Scanner IoC também pode inspecionar uma imagem forense montada.
Neste cenário, passe um argumento de linha de comandos especificando o caminho para o diretório raiz da imagem.
Nota: O caminho que passar para a análise de imagem forense deve ser a raiz lógica / da imagem.
A ferramenta usa caminhos relativos em alguns casos e pode receber falsos positivos ou falsos negativos se a imagem não estiver montada corretamente.
Não precisa de ser root para executar em modo offline.
Por exemplo:
$ bash ./scanner-CVE-2023-3519-v1.1.sh /mnt/path/to/evidence/root/
Em ambos os modos, a ferramenta irá extrair o código de suporte para um diretório temporário; este diretório será eliminado ao término do script. A ferramenta não faz outras alterações no sistema, embora possa fazer com que entradas de registo sejam geradas.
Como em toda a análise forense, prefira a análise offline contra uma imagem dd em vez de resposta ao vivo.
Isto eliminará a probabilidade de a ferramenta causar a sobreposição de evidências relevantes.
Os resultados do script são divididos em três secções principais.
O resumo do sistema irá gerar informações básicas sobre a appliance (se executada em modo live) e um sim/não se alguma evidência de compromisso foi detetada.
**********************************************************************
SUMMARY:
Date : Sat Aug 12 22:46:26 UTC 2023
Hostname :
IP : 192.168.122.2
NS version : 13.1-48.47
Scanner version :
Scanner run mode : Default
Evidence of compromise found : Yes
Evidence of scanning found : N/A - Script Executed in Default Mode
Evidence of failed exploitation found : N/A - Script Executed in Default Mode
**********************************************************************
A próxima secção irá gerar detalhes sobre os ficheiros de registo que foram analisados, incluindo a primeira e a última entrada de cada ficheiro de registo. Isto é útil para um investigador para determinar o período de tempo que o scanner conseguiu examinar os registos e para explicar quaisquer resultados em falta.
A secção final detalhará que evidências de compromisso foram identificadas, se houver. Por exemplo, conteúdo em lista de negação correspondente em ficheiros é mostrado abaixo.
**********************************************************************
MATCH: denylisted content 'blv_encode'
Found evidence of potential compromise.
You should consider performing a forensic investigation of the system.
**********************************************************************
matches for 'blv_encode':
/root/six.mal_
À medida que inventar mais formas de identificar compromissos, considere contribuir para este Scanner IoC. Gostaríamos de fornecer o scanner mais completo e correto possível.
O objetivo principal é reportar indicadores de compromisso de alta confiança. Como os utilizadores podem confiar na saída desta ferramenta para iniciar uma investigação adicional, é importante que não os enviemos para uma caça ao fantasma. Portanto, atividades como simples análises não devem ser reportadas no modo predefinido. Qualquer evidência de um ator a ganhar acesso ao sistema, a obter informações ou a criar conteúdo deve ser sempre reportada.
Fornecemos esta ferramenta como um script Bash porque é um denominador comum nas Appliances Citrix ADC. Aqui está a matriz de funcionalidades para as versões Citrix ADC:
Assim que tiver feito o checkout do repositório fonte, pode construir um script autónomo usando a ferramenta ./build.sh.
Isto empacota o script principal e os recursos de suporte num único pacote.
Após a execução, será extraído para um diretório temporário, executado a partir daí e depois limpo.
Não construa o script num netscaler. Fazer isso resultará em falsos positivos.
Para construir:
$ bash ./build.sh > ioc-scanner-CVE-2023-3519-rev$(git rev-parse HEAD | cut -c 1-8).sh
Para informações adicionais da Mandiant sobre o CVE-2023-3519 e exploração ativa, consulte:
| Versão do NetScaler | SO | Idiomas disponíveis |
|---|
| 13.1 | FreeBSD 8.4 | Bash, Perl, Python |
| 13.0 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.1 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.0 | FreeBSD 8.4 | Bash, Perl, Python |