Verificação do Nmap para dispositivos habilitados para SNMP

6

Rede de verificação Nmap para dispositivos habilitados para SNMP:

sudo nmap -sU -p 161 --script default,snmp-sysdescr 26.14.32.120/24

Estou tentando descobrir como fazer com que o nmap retorne somente dispositivos que tenham entradas específicas em snmp-sysdescr object:

snmp-sysdescr: "Nome do dispositivo alvo"

Isso é possível?

    
por triwo 26.01.2017 / 18:53

2 respostas

3

O Nmap não contém muitas opções de filtragem de saída: --open limitará a saída a hosts que contiverem portas abertas ( qualquer portas abertas). -v0 impedirá qualquer saída para a tela.

Em vez disso, a melhor maneira de fazer isso é salvar a saída XML da verificação (usando as opções -oX ou -oA output), que conterão todas as informações reunidas pela varredura em um formato XML de fácil análise. Em seguida, você pode filtrar isso com ferramentas de análise XML para incluir as informações desejadas.

Um analisador de XML de linha de comando é xmlstarlet . Você pode usar esse comando para filtrar apenas os endereços IP dos destinos que têm sysdescr contendo a string "example":

xmlstarlet sel -t -m "//port/script[@id='snmpsysdescr' and contains(@output,'example')]/../../../address[@addrtype='ipv4']" -v @addr -n output.xml

Você também pode fazer isso com Ndiff , que é uma ferramenta e uma biblioteca do Python 2 distribuída com o Nmap:

#!/usr/bin/env python

import ndiff

def sysdescr_contains (value, host):
  for port in host.ports:
    for script in filter(lambda x: x.id == u"snmp-sysdescr", port.script_results):
      if value in script.output:
        return True
  return False

def usage ():
  print """Look for <substring> in snmp-sysdescr output and print matching hosts.
Usage: {} <filename.xml> <substring>"""

if __name__ == "__main__":
  import sys
  if len(sys.argv) < 3:
    usage()
    exit(1)

  scan = ndiff.Scan()
  scan.load_from_file(sys.argv[1])

  for host in filter(lambda x: sysdescr_contains(sys.argv[2], x), scan.hosts):
    print host.format_name()

Outras bibliotecas de análise de saída do Nmap estão disponíveis nas linguagens de programação mais comuns.

    
por 26.01.2017 / 23:53
0

podemos usar o nmap com o seguinte comando  nmap -p 161 ip, nmap -p 162 ip

se a porta estiver aberta no host ou no dispositivo, haverá exploits disponíveis no mercado aberto, o que leva a informações SNMP graváveis

se a porta estiver fechada, não há chance de vulnerabilidade

Espero que esta informação funcione

    
por 01.05.2018 / 23:40