Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
citrix-netscaler-triage — Инструментарий криминалистической триаж-диагностики для устройств Citrix NetScaler, включающий сканер IOC на основе Dissect для поиска веб-шеллов, подделки временных меток и подозрительных бинарных файлов, а также удалённый сканер версий, выявляющий уязвимости CVE. | Kitploit
Инструменты/GitHubGitHub/fox-it/citrix-netscaler-triage
Управление индикаторами компрометации (IOC)Сканеры уязвимостейВеб-безопасностьСетевая безопасностьЦифровая криминалистикаРеагирование на Инциденты
GitHubfox-it/citrix-netscaler-triage

citrix-netscaler-triage

Инструментарий криминалистической триаж-диагностики для устройств Citrix NetScaler, включающий сканер IOC на основе Dissect для поиска веб-шеллов, подделки временных меток и подозрительных бинарных файлов, а также удалённый сканер версий, выявляющий уязвимости CVE.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
РепозиторийСайт
7418129 месяцев назадПроверено Kitploit

Citrix NetScaler Triage

Этот репозиторий содержит скрипты для триажа устройств Citrix NetScaler:

  • iocitrix.py -- скрипт Dissect для триажа образа/цели Citrix NetScaler.
  • scan-citrix-netscaler-version.py -- сканирование и определение версии устройства NetScaler по HTTP(s).

scan-citrix-netscaler-version.py

Вы можете использовать этот скрипт для сканирования и определения версии устройства Citrix NetScaler по HTTP(s). Он также определит, уязвимо ли устройство NetScaler к конкретным CVE, на основе версии.

Установка scan-citrix-netscaler-version.py

Выполните следующие шаги, если вы используете 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

В случае использования uv вы можете запустить скрипт напрямую:

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

Пример использования:

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)

Или получите результаты в формате 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
}

Также можно ограничить проверки статуса уязвимости конкретными CVE с помощью флага --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
}

Чтобы получить результаты в формате CSV, просто используйте флаг --csv. Дополнительные параметры см. в --help.

iocitrix.py

Вы можете использовать iocitrix.py для проверки известных индикаторов компрометации на цели Dissect NetScaler. Скрипт проверяет следующее:

  • Известные строки, используемые в веб-шеллах
  • Файлы с изменёнными временными метками (timestomped)
  • Подозрительные задания cron
  • Неизвестные SUID-бинарники

Обратите внимание, что этот скрипт предназначен для запуска на криминалистических образах дисков устройств Citrix NetScaler, а не на самом устройстве. Также см. раздел Создание образов дисков Citrix NetScaler о том, как создавать криминалистические образы дисков вашего Citrix NetScaler.

Убедитесь, что у вас установлена последняя версия Dissect; поддержка Citrix NetScaler была добавлена в этом PR: https://github.com/fox-it/dissect.target/pull/357

Отказ от ответственности: Хотя этот инструмент стремится к точности, он может давать ложноположительные или ложноотрицательные результаты. Пользователям рекомендуется перепроверять результаты и использовать собственное суждение перед принятием любых решений на основе выходных данных этого инструмента.

Установка iocitrix.py

Выполните следующие шаги:

  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

Обратите внимание, что шаг 4 выведет следующую ошибку, но вы можете её игнорировать:

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.

Затем вы можете запустить iocitrix.py <TARGETS> для начала проверки IOC одного или нескольких криминалистических образов. Скрипт принимает любой ввод, который dissect может прочитать как Target, например .VMDK или сырой образ диска. Примеры приведены ниже.

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

Если вы также создали криминалистический образ RAM-диска, вы можете использовать iocitrix.py для включения энергозависимых данных в триаж следующим образом:

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

Знак + (плюс) загрузит два образа дисков как единую цель Dissect.

Создание образов дисков Citrix NetScaler

Citrix NetScaler предоставляет два важных блочных устройства, которые можно образно скопировать для автономного криминалистического анализа. Эти файлы блочных устройств можно найти по следующим путям:

  • /dev/md0: Диск, содержащий корневой каталог (/). Это RAM-диск
  • /dev/da0: Диск, содержащий каталоги /var и /flash. Это постоянный диск.

Корневой каталог (/) Citrix NetScaler является RAM-диском, то есть это энергозависимый диск. Этот диск можно найти по адресу /dev/md0, когда NetScaler включён и работает, и он будет недоступен, когда NetScaler выключен. Каталоги /var и /flash находятся на диске /dev/da0 как два отдельных раздела и являются постоянными.

Следующие команды можно использовать на локальной машине Linux для создания образа диска вашего NetScaler по SSH:

Создание образа диска /dev/da0 на вашей локальной машине

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

Имейте в виду, что это может занять некоторое время. При использовании dd прогресс не отображается. Рекомендуется подождать, пока вы снова не получите контроль над приглашением. Это признак того, что dd завершился.

Также, если у вас нет /dev/da0, скорее всего это /dev/ada0; вы можете проверить с помощью команды mount или gpart show.

Создание образа диска /dev/md0 на вашей локальной машине

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

ПРИМЕЧАНИЕ: Хотя рекомендуется создавать образы дисков как /dev/md0, так и /dev/da0, создание образа /dev/md0 необязательно. Этот шаг можно пропустить, хотя это может привести к тому, что iocitrix.py пропустит некоторые индикаторы компрометации.

Запуск iocitrix.py на ваших образах

После выполнения предыдущих команд на вашей локальной машине будут присутствовать файлы da0.img и md0.img. Вы можете указать iocitrix на эти файлы, чтобы начать триаж ваших образов. Используйте следующую команду:

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

Пример вывода:

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.
Скачать инструмент