Nmap es un excelente escáner de puertos, pero a veces quieres algo más autorizado. Puede preguntarle al núcleo qué procesos tienen qué puertos se abren utilizando la netstat
utilidad:
yo @ myhost: ~ $ sudo netstat -tlnp
Conexiones activas a Internet (solo servidores)
Proto Recv-Q Send-Q Dirección local Dirección extranjera Estado PID / Nombre del programa
tcp 0 0 127.0.0.1:53 0.0.0.0:* ESCUCHE 1004 / dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* ESCUCHE 380 / sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* ESCUCHE 822 / cupsd
tcp6 0 0 ::: 22 ::: * ESCUCHE 380 / sshd
tcp6 0 0 :: 1: 631 ::: * ESCUCHE 822 / cupsd
Las opciones que he dado son:
-t
Solo TCP
-l
Solo puertos de escucha
-n
No busques nombres de servicio y host, solo muestra números
-p
Mostrar información del proceso (requiere privilegio de root)
En este caso, podemos ver que sshd
está escuchando en cualquier 0.0.0.0
puerto 22 de interfaz ( ) y cupsd
está escuchando en el 127.0.0.1
puerto 631 de loopback ( ). Su salida puede mostrar que telnetd
tiene una dirección local de 192.168.1.1:23
, lo que significa que no responderá a las conexiones en el adaptador de loopback (por ejemplo, no puedes telnet 127.0.0.1
).
Existen otras herramientas que mostrarán información similar (por ejemplo, lsof
o /proc
), pero netstat es la más disponible. Incluso funciona en Windows ( netstat -anb
). BSD netstat es un poco diferente: tendrá que usar sockstat (1) para obtener la información del proceso.
Una vez que tenga la ID del proceso y el nombre del programa, puede buscar el proceso y eliminarlo si desea cerrar el puerto. Para un control más detallado, puede usar un firewall (iptables en Linux) para limitar el acceso a solo ciertas direcciones. Es posible que deba deshabilitar el inicio de un servicio. Si el PID es "-" en Linux, es probable que sea un proceso de kernel (esto es común con NFS, por ejemplo), así que buena suerte para descubrir qué es.
Nota: Dije "autorizado" porque las condiciones de la red y los cortafuegos no te obstaculizan. Si confías en tu computadora, eso es genial. Sin embargo, si sospecha que ha sido pirateado, es posible que no pueda confiar en las herramientas de su computadora. Reemplazar las utilidades estándar (y a veces incluso las llamadas al sistema) por otras que ocultan ciertos procesos o puertos (también conocidos como rootkits) es una práctica estándar entre los atacantes. Su mejor apuesta en este momento es hacer una copia forense de su disco y restaurar desde la copia de seguridad; luego use la copia para determinar la forma en que entraron y ciérrela.
localhost
está accediendo a lalo
interfaz (loopback). La dirección IP es accesando su verdadera interfaz, probablemente,eth0
owlan0
, o algo por el estilo.