
Rail-OT-Protector (ROP) — free, open-source cybersecurity scanning tool for rail and transit OT/SCADA networks. PowerShell + Bash scanners for CVE-2025-1727, RailSafe legacy API, ICS protocol exposure, and remote access risk.
Бесплатное сканирование кибербезопасности с открытым исходным кодом для железнодорожных и транспортных OT/SCADA-сетей.
Rail-OT-Protector (ROP) — это бесплатный набор инструментов кибербезопасности с открытым исходным кодом, предназначенный для железнодорожных операторов, транспортных администраций, OT/ICS-команд безопасности и групп реагирования на инциденты, которым необходимо быстро оценивать киберэкспозицию железнодорожных и транспортных сетей операционных технологий (OT) и SCADA.
ROP включает как сканер на PowerShell (Windows jump hosts), так и сканер на Bash (Linux/macOS): они перебирают настроенные подсети, обнаруживают открытые службы удалённого доступа и ICS-протоколы, идентифицируют уязвимые устаревшие интерфейсы управления железной дорогой и отмечают индикаторы риска, связанные с уязвимостью удалённого сопряжения устройств конца/начала поезда (EOT/HOT) CVE-2025-1727.
Все результаты записываются в JSON- и CSV-отчёты с метками времени и уровнями серьёзности CRITICAL / HIGH / MEDIUM, что даёт готовый к триажу артефакт для команд безопасности и инженеров.
кибербезопасность железных дорог, безопасность OT на транспорте, SCADA-сканер, сканер уязвимостей ICS, CVE-2025-1727, слабая аутентификация EOT HOT, RailSafe SCADA API, сканер Modbus, сканер DNP3, сканер EtherNet/IP, IEC 60870-5-104, Wabtec TrainLink, Siemens Trainguard, CISA AA26-097A, укрепление безопасности OT на железных дорогах, OT-сканер с открытым исходным кодом, ICS-сканер на PowerShell, SCADA-сканер на Bash
# Standard full subnet scan
pwsh ./scripts/powershell/ROP.ps1 -Subnets 10.10.20.0/24,10.10.30.0/24 -OutputDir ./reports
# EOT/HOT fast-scan mode with custom timeout and threads
pwsh ./scripts/powershell/ROP.ps1 -Subnets 10.10.20.0/24 -EotHotOnly -TimeoutMs 1200 -Threads 64
chmod +x ./scripts/bash/ROP.sh
# Standard full subnet scan
./scripts/bash/ROP.sh --subnets 10.10.20.0/24,10.10.30.0/24 --output-dir ./reports
# EOT/HOT fast-scan mode with custom timeout and threads
./scripts/bash/ROP.sh --subnets 10.10.20.0/24 --eot_hot_only --timeout-ms 1200 --threads 64
[2026-08-03 21:00:14] [CRITICAL] 10.10.20.14:4510 Potential EOT/HOT remote linking service detected (CVE-2025-1727 exposure candidate)
[2026-08-03 21:00:18] [HIGH] 10.10.20.21:5900 VNC exposed on OT subnet; review remote-access controls immediately
[2026-08-03 21:00:20] [HIGH] 10.10.20.44:2404 IEC 60870-5-104 reachable from scan host
[2026-08-03 21:00:21] [HIGH] 10.10.20.55:28784 RailSafe Control Interface fingerprint matched legacy API version family
[2026-08-03 21:00:23] [HIGH] 10.10.20.62:502 Modbus service reachable from scan host
[2026-08-03 21:00:25] [MEDIUM] 10.10.20.88:22 SSH reachable from scan host
Scan complete. Findings: 6. JSON: ./reports/ROP-results-20260803-210025.json CSV: ./reports/ROP-results-20260803-210025.csv
Rail-OT-Protector/
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── docs/
│ ├── CISA-Reference.md
│ └── Threat-Intelligence.md
├── reports/
│ └── .gitkeep
└── scripts/
├── bash/
│ └── ROP.sh
└── powershell/
└── ROP.ps1
В: Требует ли ROP прав администратора/root?
О: Нет. ROP использует стандартные попытки TCP-подключений — без raw-сокетов и формирования пакетов. Он запускается от обычного пользователя как в Windows, так и в Linux.
В: Вызовет ли этот инструмент срабатывание IDS/IPS в моей OT-сети?
О: Возможно. Сканирование на уровне портов может быть обнаружено. Всегда согласуйте действия с центром управления сетью и получайте письменное разрешение перед запуском любого сканирования в производственной OT-сети.
В: Эксплуатирует ли ROP уязвимость CVE-2025-1727?
О: Нет. ROP только определяет, доступны ли порты, связанные с CVE-2025-1727 (службы удалённого сопряжения EOT/HOT). Он не выполняет попыток аутентификации и не отправляет эксплойт-нагрузки.
В: Можно ли запускать его в изолированной (air-gapped) железнодорожной сети?
О: Да. ROP не требует доступа в интернет. Скопируйте скрипт на jump host внутри изолированной среды и запустите его локально.
В: В каких форматах формируются отчёты?
О: В форматах JSON и CSV. JSON подходит для загрузки в SIEM; CSV готов для триажа в электронных таблицах и может быть импортирован в ServiceNow, Jira или аналогичные системы обработки тикетов.
В: Этот инструмент предназначен только для железных дорог? Можно ли использовать его в обычных OT-сетях?
О: Проверки протоколов Modbus, DNP3, EtherNet/IP и IEC применимы к любым OT/ICS-средам. Проверки RailSafe и CVE-2025-1727 специфичны для железных дорог.
В: Бесплатно ли это для коммерческого использования?
О: Да — лицензия MIT. Вы можете использовать, изменять и распространять его в коммерческих целях с указанием авторства.
Если Rail-OT-Protector помог вам обнаружить реальную экспозицию, подумайте о следующем:
Создано @spinfosecurity — учимся, создавая бесплатные инструменты, которые обнаруживают и защищают критическую инфраструктуру.
| Угроза / служба | Порты | Серьёзность | Ссылка |
|---|
| CVE-2025-1727 Слабая аутентификация удалённого сопряжения EOT/HOT | 4510, 4511 | CRITICAL | Wabtec TrainLink NG/NG3/NG4/NG5, Siemens Trainguard EOT/HOT, DPS Electronics |
| Интерфейс управления RailSafe 1.0/1.1/2.0 | 28784 | HIGH | Устаревший SCADA API без обновлений 13 лет; риск MitM/replay-атак |
| Открытый VNC | 5900, 5901 | HIGH | FBI PSA 2026-08-01 |
| Открытый RDP | 3389 | HIGH | CISA AA26-097A |
| Открытый Telnet | 23 | HIGH | Риск передачи учётных данных в открытом виде |
| Открытый FTP | 21 | HIGH | Риск передачи учётных данных в открытом виде |
| Доступный SSH | 22 | MEDIUM | Проверьте политику доступа |
| Управление по HTTP/HTTPS | 80, 443 | MEDIUM | Проверьте политику доступа |
| Modbus | 502 | HIGH | Доступен ICS-протокол |
| EtherNet/IP | 44818, 2222 | HIGH | Доступен ICS-протокол |
| S7 / IEC 60870 | 102 | HIGH | Доступен ICS-протокол |
| IEC 60870-5-104 | 2404 | HIGH | Доступен ICS-протокол |
| DNP3 | 20000 | HIGH | Доступен ICS-протокол |