Ver puertos abiertos con NMap y medidas para protegernos

Buen día.  Hoy les traigo unos pequeños tips,  vamos a ver los puertos abiertos que tengamos.  Para ello haremos uso de NMap por lo que procedemos a instalarlo.

En Debian/Ubuntu:

# apt-get install nmap

luego para ver los puertos abiertos en tu pc.  (En local)

#nmap localhost

Estos son los puertos que están abiertos en local, o sea que no necesariamente salen a internet.. En mi caso están abiertos el 22 que es de ssh y el 25 de smtp.

Para ver los puertos abiertos en mi pc pero en internet hago el mismo nmap pero con mi dirección ip

En mi caso sale que el host esta prendido pero no ve ningún puerto abierto (solo escanea 1000). Esto se debe a que aunque el puerto está en mi pc abierto, el Router lo está filtrando.

Pero si abro el puerto respectivo en el router…

El hecho de que puedan ver que puertos están abiertos en mi pc supone algún riesgo en mi máquina. Asi que voy asegurar un poco mi servidor ssh. Para ello voy a cambiar el puerto por defecto (22) por otro cualquiera…

Voy como root a el archivo /etc/ssh_config:

# nano /etc/ssh/ssh_config

vamos donde dice  # port 22 .. le borramos el # y cambiamos el puerto por el que queramos..

buscamos con CTRL-W.  Guardamos con CTRL-O  y ceramos con CTRL-C o CTRL-X

En mi caso voy a usar el 2222

Hacemos lo mismo buscando la palabra “port” en el archivo /etc/ssh/sshd_config  cambiándolo por el mismo puerto que vamos a usar. Ahora editamos /etc/services

Buscamos ssh y cambiamos los dos puertos por el que cambiamos antes.

Ahora reseteamos el servicio..

Y hacemos nmap de nuevo.

Como ven.  No sale nada referente e nuestro puerto y/o a el servicio ssh.

Pero el ssh funciona?

CLARO QUE SI.

Importante es que si vas a entrar desde otro ordenador tienes que indicar obviamente el puerto que estés usando..

ssh -p 2222 IP   (Por ejemplo)

 

Probablemente al usar el puerto 2222 salga con el nmap algo con Ethernet-PC .  Solo busquen otro puerto mayor a 1000 que no sea muy usado
Para ver listado de puertos y los servicios que corren, pueden ir aqui
Para más información acerca de nmap http://nmap.org/

 

Así puedes cambiar los puertos de otro servicios cualquiera..

 

Saludos.!


@Jlcmux

@Jlcmux: Colombiano - Geek - Twitter @Jlcmux


21 comentarios en “Ver puertos abiertos con NMap y medidas para protegernos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *

  1. Gracias por el dato, interesante.

    1/20
  2. ¿Y en castellano? jajajajajaja

    Esto es una ciencia, lo probé y ya no se conectó a internet, jaja, un amigo me ayudo a resolverlo después de leer el artículo en su lap, le gustó bastante y está instalando ubuntu en su laptop, cuando antes me decía que no era para el.

    Saludos

    2/20
  3. Naaaaah, yo estoy negado para redes e inglés, tengo mucho tiempo queriendo aprender y realmente no he encontrado a un instructor que me tenga paciencia, imagínate.
    Enseñar a un hombre de 40 años como si tuviera 10, jajajaja

    4/20
  4. Compatriota , excelente aporte.

    6/20
  5. Me atrevo a lanzar este desafío a ver si no aparece el puerto 2222 o.O

    Ejecuten: sudo nmap -v -sS -A -p 1-65535 localhost

    PD: el escaneo sera lento… les añado la opción “-v” para que no se aburran viendo la terminal hacer nada.

    7/20
    • Obvio si.. Pero yo estoy hablando de scanneo normal. El nmap tiene muchas opciones y características, sabiéndolo usar. ningún puerto se le escapa.

      8/20
    • Además de que siempre hay una forma.. Sobretodo en linux, nada es totalmente seguro.. Es un pequeño tip solamente :p

      10/20
      • Mi intención no era la de menospreciar la táctica de camuflaje pero es bueno el comando de nmap que deje para cuando uno no recuerde el puerto que se escogió como reemplazo al default (ya es dificil recordar ips y puertos…). En mi caso me ha tocado conectarme remotamente mediante VNC a pcs donde su puerto no es el típico 5900 o 5901; un escaneo normal me indicaría que no hay puerto de escucha para para vnc entonces, ¿cual es la solución? Respuesta: Usar nmap y forzarlo a indagar todos los puertos. ;)

        11/20
      • Claro, no me senti ofendido ni mucho menos, Sabemos que todo no es totalmente seguro. Solo hay niveles de seguridad. Y siempre hay algo más allá.. siempre hay algo que vulnere la seguridad. Es un buen aporte, Podrias hacer un pequeño tuto de nmap. :) Saludos.

        12/20
  6. Un complemento perfecto para el post anterior. No sé si lo habéis hecho a propósito, pero os ha quedado genial. :)

    9/20
  7. Esto es solamente seguridad por obscuridad, desgraciadamente con la opción -v del nmap te identifica que el puerto que pusiste corresponde al nmap. Para intentar protegerse del nmap hay que utilizar reglas de iptables, que tampoco pueden proteger del todo un escaneo. Pero bueno, sirve contra novatos del hacking…

    13/20
  8. Buenas, una pregunta, no entiendo por qué nmap no saca el puerto después de haberlo cambiado, es que trae un rango de puerto a escanear por defecto?

    14/20
    • Si, nmap por defecto scanea 1000 puertos.. Si sabemos manejarlo no basta con esto para proteger el ssh o cualquier otro servicio de las garras de nmap. Lo mejor seria un fail2ban y un psad.

      15/20
  9. @Jlcmux
    Permitime hacer unas correcciones sobre lo que posteaste, voy corrigiendo por partes:

    1.
    “Estos son los puertos que están abiertos en local, o sea que no necesariamente salen a internet.. En mi caso están abiertos el 22 que es de ssh y el 25 de smtp.”
    Esto no es tan así. Esos son los puertos que están abiertos en el anfitrión que escaneás dentro del rango de los primeros 1024 puertos, que es el rango que escanea de forma predeterminada NMAP.

    “Estos son los puertos que están abiertos en local, o sea que no necesariamente salen a internet.. ”
    Deberías aclarar que la única forma en que no “salgan” a la net es estando tu máquina en una red nateada (el NAT por definición propia es a su vez un firewall primitivo) y siempre y cuando los puertos no estén abiertos en el dispositivo que haga de NAT (generalmente el router) y redirigidos (FORWARDING) dichos puertos abiertos a tu máquina.
    Por supuesto que si la máquina está conectada directamente al modem entonces SI está expuesta a la net.
    Al comando que publica @taregon, que es el correcto para scannear y pinchar todos los puertos de una máquina, se le puede agregar, entre otras opciones, -sV para que nmap trate de descubrir qué servicio corre en cada puerto: sudo nmap -v -sS -sV -A -p 1-65535 localhost
    Ejemplo:
    Starting Nmap 6.25 ( http://nmap.org ) at 2012-12-06 13:39 ART
    Nmap scan report for localhost.localdomain (127.0.0.1)
    Host is up (0.00021s latency).
    Not shown: 999 closed ports
    PORT STATE SERVICE VERSION
    631/tcp open ipp CUPS 1.6
    2222/tcp open ssh OpenSSH 6.1 (protocol 2.0)

    2.
    “El hecho de que puedan ver que puertos están abiertos en mi pc supone algún riesgo en mi máquina. Asi que voy asegurar un poco mi servidor ssh. Para ello voy a cambiar el puerto por defecto (22) por otro cualquiera…

    Voy como root a el archivo /etc/ssh_config:

    # nano /etc/ssh/ssh_config

    vamos donde dice # port 22 .. le borramos el # y cambiamos el puerto por el que queramos..”

    NO! Una cosa no tiene nada que ver con la otra!
    /etc/ssh/ssh_config maneja sólamente las opciones del cliente por lo que el puerto que setees allí va a ser el que el cliente de ssh use de forma predeterminda para conectarse con servidores ssh en vez del puerto 22.

    El cambio de puerto de escucha que buscás lo hacés únicamente cambiando la opción citada en el archivo /etc/ssh/sshd_config.

    Por último, con esta herramienta web podemos testear qué puertos están o no abiertos en nuestra máquina, cuáles estan escondidos, comprobar que el echo de ping está desactivado y algunas cosas más: https://www.grc.com/x/ne.dll?bh0bkyd2

    Saludos.

    16/20
  10. Muy buena la reseña. me gust. thanks :D

    17/20
  11. Genial tutorial de nmap
    :-) Saludos!!!

    18/20
  12. compañeros alguien sabe como le puedo hacer para saber los puertos abiertos de otra persona??? desde mi computadora???

    19/20

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *