Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
citrix-netscaler-triage — Ferramenta de triagem forense para dispositivos Citrix NetScaler, com um scanner de IOC baseado em Dissect para webshells, timestomping e binários suspeitos, além de um scanner remoto de versões que identifica vulnerabilidades CVE. | Kitploit
Ferramentas/GitHubGitHub/fox-it/citrix-netscaler-triage
Gerenciamento de Indicadores de Comprometimento (IOC)Scanners de VulnerabilidadesSegurança WebSegurança de RedeForensia DigitalResposta a Incidentes
GitHubfox-it/citrix-netscaler-triage

citrix-netscaler-triage

Ferramenta de triagem forense para dispositivos Citrix NetScaler, com um scanner de IOC baseado em Dissect para webshells, timestomping e binários suspeitos, além de um scanner remoto de versões que identifica vulnerabilidades CVE.

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Ver RepositórioSite
741812há 9 mesesRevisado pelo Kitploit
Compartilhar

Triagem Citrix NetScaler

Este repositório contém scripts de triagem para dispositivos Citrix NetScaler:

  • iocitrix.py -- um script Dissect para triagem de uma imagem/alvo Citrix NetScaler.
  • scan-citrix-netscaler-version.py -- Escaneia e identifica a versão de um dispositivo NetScaler via HTTP(s).

scan-citrix-netscaler-version.py

Você pode usar este script para escanear e determinar a versão de um dispositivo Citrix NetScaler via HTTP(s). Ele também determinará se o NetScaler é vulnerável a CVEs específicas com base na versão.

Instalando scan-citrix-netscaler-version.py

Use os seguintes passos se você estiver usando pip:

  1. git clone https://github.com/fox-it/citrix-netscaler-triage.git
  2. cd citrix-netscaler-triage
  3. pip install httpx
  4. python3 scan-citrix-netscaler-version.py --help

No caso do uv, você pode executar o script diretamente usando:

  1. uv run https://raw.githubusercontent.com/fox-it/citrix-netscaler-triage/refs/heads/main/scan-citrix-netscaler-version.py

Exemplo de uso:

root@kitploit:~
$ python3 scan-citrix-netscaler-version.py 192.168.1.10 192.168.1.12
192.168.1.10 (*.local.domain) is running Citrix NetScaler version 13.1-51.15 (VULNERABLE)
192.168.1.12 (*.local.domain) is running Citrix NetScaler version 12.1-55.330 (NOT VULNERABLE)

Ou obtenha os resultados em JSON:

root@kitploit:~
$ python3 scan-citrix-netscaler-version.py https://192.168.1.11 --json | jq
root@kitploit:~
{
  "scanned_at": "2025-09-03T23:11:36.864228+00:00",
  "target": "https://192.168.1.11",
  "tls_names": "my-first-netscaler.local",
  "rdx_en_stamp": 1702886392,
  "rdx_en_dt": "2023-12-18T07:59:52+00:00",
  "version": "12.1-55.302",
  "error": null,
  "vulnerable": {
    "CVE-2025-5349": true,
    "CVE-2025-5777": true,
    "CVE-2025-6543": false,
    "CVE-2025-7775": true,
    "CVE-2025-7776": true,
    "CVE-2025-8424": true
  },
  "is_vulnerable": true
}

Também é possível limitar as verificações de status de vulnerabilidade a CVEs específicas usando a flag --cve:

root@kitploit:~
$ python3 scan-citrix-netscaler-version.py https://192.168.1.11 --cve CVE-2025-6543 --json | jq
root@kitploit:~
{
  "scanned_at": "2025-09-03T23:16:36.573016+00:00",
  "target": "https://192.168.1.11",
  "tls_names": "my-first-netscaler.local",
  "rdx_en_stamp": 1702886392,
  "rdx_en_dt": "2023-12-18T07:59:52+00:00",
  "version": "12.1-55.302",
  "error": null,
  "vulnerable": {
    "CVE-2025-6543": false
  },
  "is_vulnerable": false
}

Para obter os resultados em formato CSV, basta usar a flag --csv. Para mais opções, consulte --help.

iocitrix.py

Você pode usar iocitrix.py para verificar Indicadores de Comprometimento conhecidos em um alvo Dissect NetScaler. Ele verifica os seguintes itens:

  • Strings conhecidas usadas em webshells
  • Arquivos com timestomp
  • Cronjobs suspeitos
  • Binários SUID desconhecidos

Observe que este script foi feito para ser executado em imagens forenses de disco de dispositivos Citrix NetScaler e não no próprio dispositivo. Consulte também a seção Criando imagens de disco Citrix NetScaler sobre como criar imagens forenses de disco do seu Citrix NetScaler.

Certifique-se de ter a versão mais recente do Dissect; o suporte para Citrix NetScaler foi adicionado neste PR: https://github.com/fox-it/dissect.target/pull/357

Aviso: Embora esta ferramenta busque precisão, é possível que ela produza falsos positivos ou falsos negativos. Recomenda-se que os usuários verifiquem os resultados e usem seu próprio julgamento antes de tomar qualquer decisão com base na saída desta ferramenta.

Instalando iocitrix.py

Use os seguintes passos:

  1. git clone https://github.com/fox-it/citrix-netscaler-triage.git
  2. cd citrix-netscaler-triage
  3. pip install -r requirements.txt
  4. pip install --upgrade --pre dissect.volume dissect.target

Observe que o passo 4 exibirá o seguinte erro, mas você pode ignorá-lo:

root@kitploit:~
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

Você pode então executar iocitrix.py <TARGETS> para iniciar uma verificação de IOC contra uma ou mais imagens forenses. O script aceita qualquer entrada que o dissect possa ler como um Target, como um .VMDK ou uma imagem de disco bruta. Alguns exemplos são fornecidos abaixo.

root@kitploit:~
python3 iocitrix.py image.vmx
python3 iocitrix.py image.vmdk

Se você também criou uma imagem forense do RAM disk, você pode utilizar iocitrix.py para incorporar dados voláteis em sua triagem da seguinte forma:

root@kitploit:~
python3 iocitrix.py md0.img+image.vmx
python3 iocitrix.py md0.img+image.vmdk
python3 iocitrix.py md0.img+da0.img

O sinal + (mais) carregará as duas imagens de disco como um único Target Dissect.

Criando imagens de disco Citrix NetScaler

Um Citrix NetScaler expõe dois dispositivos de bloco importantes que podem ser imageados para análise forense offline. Esses arquivos de dispositivo de bloco podem ser encontrados nos seguintes caminhos:

  • /dev/md0: O disco que contém o diretório raiz (/). Este é um RAM disk
  • /dev/da0: O disco que contém os diretórios /var e /flash. Este é um disco persistente.

O diretório raiz (/) do Citrix NetScaler é um RAM disk, o que significa que é um disco volátil. Este disco pode ser encontrado em /dev/md0 quando o NetScaler está ligado e em execução, e ficará indisponível quando o NetScaler estiver desligado. Os diretórios /var e /flash residem no disco /dev/da0 como duas partições separadas e são persistentes.

Os seguintes comandos podem ser usados em uma máquina linux local para criar uma imagem do seu NetScaler via SSH:

Criar uma imagem de disco do disco /dev/da0 para sua máquina local

root@kitploit:~
local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell dd if=/dev/da0 bs=10M | tail -c +7 | head -c -6 > da0.img

Observe que isso pode levar algum tempo para ser concluído. Nenhum progresso é exibido ao usar dd. É recomendado aguardar até recuperar o controle do prompt. Isso é uma indicação de que o dd terminou.

Além disso, se você não tiver /dev/da0, provavelmente será /dev/ada0; você pode verificar usando o comando mount ou gpart show.

Criar uma imagem de disco do disco /dev/md0 para sua máquina local

root@kitploit:~
local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell dd if=/dev/md0 bs=10M | tail -c +7 | head -c -6 > md0.img

NOTA: Embora seja recomendado criar imagens de disco de ambos /dev/md0 e /dev/da0, criar uma imagem de disco de /dev/md0 é opcional. Esta etapa pode ser ignorada, embora isso possa fazer com que iocitrix.py deixe de detectar certos indicadores de comprometimento.

Executando iocitrix.py em suas imagens

Após executar os comandos anteriores em sua máquina local, os arquivos da0.img e md0.img estarão presentes. Você pode apontar o iocitrix para esses arquivos para iniciar a triagem de suas imagens. Use o seguinte comando para fazer isso:

root@kitploit:~
local ~ $ python3 iocitrix.py md0.img+da0.img

Exemplo de saída:

root@kitploit:~
(venv) user@dissect:/data/netscaler/image$ python3 iocitrix.py md0.img+da0.img
<Target md0.img+da0.img>

Disks
- <RawContainer size=555745286 vs=None>
- <RawContainer size=21474836486 vs=<DissectVolumeSystem serial=None>>

Volumes
- <Volume name=None size=555745286 fs=<FfsFilesystem>>
- <Volume name='part_00000000' size=1717567488 fs=<FfsFilesystem>>
- <Volume name='part_66600000' size=4401922048 fs=<FfsFilesystem>>
- <Volume name='part_16cc00000' size=2097152 fs=<FfsFilesystem>>
- <Volume name='part_16ce00000' size=15353200128 fs=<FfsFilesystem>>

Hostname      : None
Domain        : None
IPs           : 10.164.0.39, 10.164.0.10
OS family     : citrix-netscaler (CitrixBsdPlugin)
OS version    : NetScaler 13.1 build 30 (ns-13.1-30.52)
Architecture  : x86_64-citrix-netscaler
Language(s)   :
Timezone      : None
Install date  : 2023-08-08 13:59:38.228043+00:00
Last activity : 2023-08-11 08:51:13.979536+00:00


*** Checking for webshells ***

<ioc/hit type='php-file-permission' alert='Suspicious php permission 0o644' confidence='high' path='/var/netscaler/logon/LogonPoint/uiareas/linux/adminupevents.php'>
<ioc/hit type='php-file-contents' alert="Suspicious PHP code 'b'array_filter(''" confidence='high' path='/var/netscaler/logon/LogonPoint/uiareas/linux/adminupevents.php'>
<ioc/hit type='php-file-permission' alert='Suspicious php permission 0o644' confidence='high' path='/var/vpn/config.php'>
<ioc/hit type='php-file-contents' alert="Suspicious PHP code 'b'array_filter(''" confidence='high' path='/var/vpn/config.php'>
<ioc/hit type='php-file-permission' alert='Suspicious php permission 0o644' confidence='high' path='/var/vpn/themes/config.php'>

*** Checking for timestomped files ***


*** Checking for suspicious cronjobs ***


*** Checking for SUID Binaries (this takes a while) ***

<ioc/hit type='binary/suid' alert='Binary with SUID bit set Observed' confidence='medium' path='/tmp/python/bash'>

********************************************************************************
***                                                                          ***
*** There were findings for Indicators of Compromise.                        ***
*** Please consider performing further forensic investigation of the system. ***
***                                                                          ***
********************************************************************************

Confidence    Type                 Alert                                       Artefact Location
------------  -------------------  ------------------------------------------  ---------------------------------------------------------------
high          php-file-permission  Suspicious php permission 0o644             /var/netscaler/logon/LogonPoint/uiareas/linux/adminupevents.php
high          php-file-contents    Suspicious PHP code 'b'array_filter(''      /var/netscaler/logon/LogonPoint/uiareas/linux/adminupevents.php
high          php-file-permission  Suspicious php permission 0o644             /var/vpn/config.php
high          php-file-contents    Suspicious PHP code 'b'array_filter(''      /var/vpn/config.php
high          php-file-permission  Suspicious php permission 0o644             /var/vpn/themes/config.php
medium        binary/suid          Binary with SUID bit set Observed           /tmp/python/bash

All targets analyzed.
Baixar ferramenta