Назад | Перейти на главную страницу

Сканировать SSH на предмет предлагаемых вариантов аутентификации

Я бы хотел просканировать наша сеть (IPv4 и IPv6) для ssh и найдите предлагаемые варианты аутентификации.

В конечном итоге я бы хотел получить анализируемый список[1] хостов, которые содержат следующую информацию:

На самом деле меня не волнует формат ввода, который я мог бы сгенерировать, оптимальное решение могло бы принять следующее:

в файле, разделенном символами новой строки. Я посмотрел на nmap, и это движок nse, стандартный nmap предлагает сканирование для sshv1, но не для параметров аутентификации. Так как мои навыки lua ... наравне с навыками Дэвида Кэррадинеса в карате и актерскими навыками Чака Норриса, я не могу писать такие вещи сам.

Также я не настроен на nmap, поскольку он довольно медленный (по крайней мере, для меня), и я хотел бы регулярно запускать это сканирование, чтобы сообщать о результатах.

Вопрос: какие инструменты предлагают все необходимое?

[1]: Меня не волнует XML, JSON, $ FANCY_REPRESENTATION. Это просто должно быть машинным синтаксическим анализом


Как сказано в комментарии:

У меня есть доступ к хозяевам. Могу авторизоваться и даже sudo :) - Это проверка на соответствие. Я могу получить конфигурацию сервера, и мы запускаем марионетку, должен убедитесь, что конфигурация верна. Мы по-прежнему предпочитаем полагаться на клиента, который извне проверяет, что он не работает, а также преимущество в том, что я могу (с автоматическим сканированием) обратиться к человеку, который отвечает за хост, и спросить, почему управление конфигурацией не работает. работает как то уже на месте. Я говорю о нескольких тысячах хостов, а это 12 человек в команде ops, чтение всех конфигураций - это ... не совсем то, что нам нужно (и не то, что хотят аудиторы).

Прежде чем кто-то закроет это, я написал уродливый скрипт:

В нем содержится большая часть необходимой мне базовой информации, и я, вероятно, дополню ее, чтобы она соответствовала нашим внутренним потребностям.

$ python scanner.py --help
usage: scanner.py [-h] [--num-cpus NUM_CPUS] [--infile INFILE] [--port PORT]

optional arguments:
  -h, --help           show this help message and exit
  --num-cpus NUM_CPUS  Number of CPUs. Sets the maximum number of parallel
                       tasks.
  --infile INFILE      Input file to read from (Default: stdin).
  --port PORT          Which port shall be scanned! (If you can guess the
                       default you are ueber!)
[INFO/MainProcess] process shutting down