Привет, сетевой друг!
Сегодня про Nerva - инструмент для фингерпринтинга сервисов, который понимает 170+ протоколов и сразу говорит что именно там крутится.🟣Что это: CLI на Go от Praetorian, который берёт host:port и определяет протокол, версию и конфигурацию сервиса. Не просто «порт открыт», а «это Redis 7.2 без аутентификации» или «это SSH с слабыми алгоритмами шифрования».
🟣Как работает фингерпринтинг: Nerva отправляет на порт зондирующие пакеты, характерные для конкретного протокола, и анализирует ответ. Каждый протокол имеет свой баннер, хендшейк или структуру ответа - по этим признакам инструмент определяет что именно там живёт. В отличие от nmap, который сначала сканирует порты, Nerva заточен именно под идентификацию сервисов и делает это быстрее за счёт приоритизации наиболее вероятного протокола для каждого порта.
🟣Установка:
go install github.com/praetorian-inc/nerva/cmd/nerva@latest
🟣Базовое использование: скормил хост с портом, получил что там живёт:
nerva -t example.com:22
nerva -t example.com:22 --json
Удобно пайпить из naabu или nmap - отдаёшь список открытых портов, Nerva определяет сервисы:
naabu -host example.com -silent | nerva
🟣Детект мисконфигураций - отдельная фича которую стоит знать:
nerva -t example.com:2375 --misconfigs --json
Находит Docker API без аутентификации, X11 с открытым доступом, SMB без подписи, Telnet и FTP с передачей кредов в открытом виде. На пентесте экономит время на ручные проверки.
🟣Поддержка UDP и SCTP: промышленные протоколы, телеком, VoIP - всё это тоже покрыто:
sudo nerva -t example.com:53 -U
nerva -t telecom-server:3868 -S
Серверная Админа | Zeroday | #Инструмент
