Escanear ips con Linux (nmap)

Discussion in 'Manuales' started by AL2_, Oct 24, 2009.

  1. AL2_

    AL2_ Usuario Habitual nvl.3 ★
    37/41

    Joined:
    Apr 25, 2009
    Messages:
    20,230
    Likes Received:
    12
    Este es el artículo publicado en thewilfamily.com:

    Nmap es una aplicación multiplataforma usada para explorar redes y obtener información acerca de los servicios, sistemas operativos y vulnerabilidades derivadas de la conjunción de éstos.

    Es muy usado por todo aquél que se interesa por las tareas de seguridad y hacking en general, desde Administradores de Sistemas a interesados con fines menos respetables. Las técnicas de escaneo que usa Nmap han sido ya implementadas en sistemas de detección de intrusos y firewalls, ya que los desarrolladores de sistemas de seguridad también usan Nmap en su trabajo y toman medidas. No obstante, pese a estar ampliamente documentado su funcionamiento, hay formas de escaneo que lo hacen difícil de detectar cuando se trata de obtener información.

    Bueno, descargamos Nmap del sitio oficial para nuestra plataforma y lo instalamos. Si usamos Debian es mejor usar los repositorios:

    $ apt-get install nmap

    Comencemos a escanear…

    $ nmap -sP 192.168.1.0/24

    Esto escaneará las 255 direcciones de la red 192.168.1.0 El atributo -sP indica que será un escaneo mediante ping. Envia un ping (ICMP echo request) y un paquete TCP ACK al puerto 80. Si el destino contesta con otro ping o con un paquete TCP RST significa que está operativo.

    Tipos de escaneo en función de los paquetes

    Si no queremos usar la técnica del ping y el paquete ACK para comprobar el equipo o la red hay varias opciones diferentes:

    solo el ping
    nmap -PE 192.168.1.0/24

    sólo el paquete ACK dirigiéndolo a un puerto determinado, p. ej. el 20
    nmap -PA20 192.168.1.0/24

    paquetes SYN al puerto 20
    nmap -PS20 192.168.1.0/24

    paquetes UDP al puerto 20
    nmap -PU20 192.168.1.0/24

    paquetes timestamp
    nmap -PP 192.168.1.0/24

    paquetes netmask request
    nmap -PM 192.168.1.0/24

    Latencia en la red

    Si la red a escanear es lenta, tiene mucho tráfico o somos nosotros los que generamos gran cantidad de tráfico, el tiempo de respuesta aumentará. Para mitigar estos inconvenientes podemos ajustar el tiempo de búsqueda que emplea nmap. La opción -T indica la política de tiempo a usar. Existen 6 niveles con números entre 0-5, cuanto más alto más rápido. Si no se especifica se usa -T3

    $ nmap -T5 192.168.1.0/24
    Escanearía la red 192.168.1.0 en modo Insane, muy rápido…

    Más opciones de escaneo serian:

    –max-hostgroup 150 (enviar 150 peticiones simultaneas de escaneo)
    –scan-delay2s (retardo entre escaneo de 2 segundos)
    -host-timeout500m (tiempo empleado para escanear cada host de 500 milisegundos)

    Descubriendo servicios en un host

    Nmap por defecto escanea los puertos menores de 1024 más los que aparecen en el fichero nmap-services y que son mayores de 1024. Para solo escanear un determinado nº de puertos usaremos la opción -p

    $ nmap -p 25,80,1000-4000 192.168.1.1
    Con esto escaneamos el puerto 25,80 y del 1000 al 4000 del host 192.168.1.1

    Hay varios estados posibles para un puerto. Si hay algún servicio escuchando en él, el estado es OPEN. Si no hay servicios en ese puerto puede respnder con un mensaje ICMP o simplemente con nada. En Linux estas respuestas vienen dadas por las reglas de IPTABLES REJECT (rechazar el paquete enviando un mensaje ICMP informando que el puerto esta cerrado) o DROP (tirar o ignorar el tráfico). En caso de que la petición sea ignorada Nmap mostrará el puerto como filtered, ya que no puede determinar si hay algún servicio o no en ese puerto.

    También es posible que el equipo a sondear tenga los puertos abiertos pero tenga la política de no responder al ping ni al TCP ACK que usa Nmap para saber si el equipo está levantado. En ese caso el parámetro -P0 escaneará el objetivo asumiendo que el equipo está activo.

    Sondeos sigilosos

    SYN: Se trata en enviar un paquete TCP SYN al puerto a comprobar, y si hay algún servicio activo, el sistema escaneado continuará con la sequencia de conexión enviando un paquete TCP/SYN. En este punto Nmap tendría que proseguir enviando el ACK, pero no continúa con la secuencia de conexión y al no consumarse la conexión no queda registrado en los logs.

    $ nmap -PS20 192.168.1.0/24
    Una técnica parecida es enviar una secuencia incorrecta de paquetes TCP con la intención de valerse de los mensajes recogidos para obtener información. Por ejemplo, enviar un paquete TCP FIN que corresponde al final de una conexión o enviar paquetes sin ningún flag activado. Las respuestas pueden servir para identificar los puertos abiertos o el sistema operativo.

    Fingerprinting

    Nmap puede averiguar el sistema operativo del objetivo usando las pequeñas diferencias en la implementación de los protocolos. Aunque siguen el mismo estándard al programar los sistemas, existen algunas disimilitudes que usa Nmap para determinar el sistema operativo para ver como responde a ciertas secuencias TCP/IP. El atributo es -O

    $ sudo nmap -O 192.168.1.33
    Interesting ports on 192.168.1.33:
    Not shown: 1676 closed ports
    PORT STATE SERVICE
    135/tcp open msrpc
    139/tcp open netbios-ssn
    445/tcp open microsoft-ds
    1110/tcp open nfsd-status
    MAC Address: 00:18:DE:A0:B2:C9 (Unknown)
    Device type: general purpose
    Running: Microsoft Windows 2003/.NET|NT/2K/XP
    OS details: Microsoft Windows 2003 Server or XP SP2
    Nmap finished: 1 IP address (1 host up) scanned in 3.451 seconds

    La otra técnica de Fingerprinting se usa para comprovar las versiones del software que escucha en los puertos, es decir el servidor ftp, la versión de apache, etc… El parámetro es -sV

    $ sudo nmap -sV -O -p 22,25,3306 localhost
    Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-06-27 18:43 CEST
    Warning: OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
    Interesting ports on localhost (127.0.0.1):
    PORT STATE SERVICE VERSION
    22/tcp open ssh OpenSSH 4.3p2 Debian 9 (protocol 2.0)
    25/tcp open smtp Exim smtpd 4.63
    3306/tcp open mysql MySQL 5.0.32-Debian_7etch1-log
    Device type: general purpose|printer|broadband router|telecom-misc
    Running (JUST GUESSING) : Linux 2.4.X|2.5.X|2.6.X|2.3.X (95%), Lexmark embedded (93%), D-Link embedded (93%), Wooksung embedded (93%)
    Aggressive OS guesses: Linux 2.4.0 - 2.5.20 (95%), Linux 2.4.18 (95%), Linux 2.4.18 - 2.4.20 (x86) (95%), Linux 2.4.20 (X86, Redhat 7.3) (95%), Linux 2.4.21 (x86, RedHat) (95%), Linux 2.4.22 (SPARC) (95%), Linux 2.4.30 (95%), Linux 2.4.7 - 2.6.11 (95%), Linux 2.5.25 - 2.6.8 or Gentoo 1.2 Linux 2.4.19 rc1-rc7 (95%), Linux 2.6.0-test10 (x86) (95%)
    No exact OS matches for host (test conditions non-ideal).
    Service Info: Host: xxxxx.xxxxxxxx; OS: Linux
    Nmap finished: 1 IP address (1 host up) scanned in 10.892 seconds

    Esto nos muestra información bastante valiosa sobre las versiones de SSH, Exim y MySQL así com el nombre y el dominio. También ha intentado determinar la versión del sistema operativo, pero no concreta la distribución usada (95% Gentoo) ni la versión del kernel. En la anterior prueba contra un Windows XP, si que es capaz de obtener información referente al sistema operativo, y en menos tiempo.

    Todas las prácticas aquí mostradas se han realizado con fines experimentales, así que no os lancéis ahora a escanear los pc de vuestro trabajo, instituto o universidad porque si vais con intenciones dudosas seguramente os pillarán. El contenido de este artículo es fruto de lectura de manuales, revistas, artículos y mi experiencia profesional-personal.
     
  2. AfrodisianuS

    AfrodisianuS Usuario Habitual nvl.3 ★
    187/244

    Joined:
    Oct 19, 2008
    Messages:
    20,168
    Likes Received:
    18
    buena info socio.....es bien interezante este tema... :D
    me acorde de matrix en una parte triniti usaba esos comandos :santo:

    :XD:
    se agradece
    saludos
     
  3. electrodumix25

    electrodumix25 Usuario Casual nvl. 2
    37/41

    Joined:
    Oct 19, 2008
    Messages:
    1,172
    Likes Received:
    10
  4. cfslack

    cfslack Usuario Casual nvl. 2
    37/41

    Joined:
    Dec 29, 2006
    Messages:
    3,256
    Likes Received:
    7
    Y la fuente ?