Hacemos una revisión profunda cada uno de los tutoriales de nuestra web con el objetivo de enseñarte en todo momento la información veraz y actual.
Solución:
Nmap es un gran escáner de puertos, pero a veces quieres algo más autoritario. Puede preguntarle al núcleo qué procesos tienen qué puertos abiertos usando el netstat
utilidad:
[email protected]:~$ sudo netstat -tlnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1004/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 380/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 822/cupsd tcp6 0 0 :::22 :::* LISTEN 380/sshd tcp6 0 0 ::1:631 :::* LISTEN 822/cupsd
Las opciones que he dado son:
-t
solo tcp-l
Solo puertos de escucha-n
No busque nombres de hosts y servicios, solo muestre números-p
Mostrar información del proceso (requiere privilegio de root)
En este caso, podemos ver que sshd
está escuchando en cualquier interfaz (0.0.0.0
) puerto 22, y cupsd
está escuchando en loopback (127.0.0.1
) puerto 631. 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 bucle invertido (por ejemplo, no puede telnet 127.0.0.1
).
Hay otras herramientas que mostrarán información similar (p. ej. lsof
o /proc
), pero netstat es el más ampliamente 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 encontrar 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 solo a ciertas direcciones. Es posible que deba deshabilitar el inicio de un servicio. Si el PID es “-” en Linux, es probable que sea un proceso del kernel (esto es común con NFS, por ejemplo), así que buena suerte para averiguar de qué se trata.
Nota: Dije “autoritario” porque las condiciones de la red y los firewalls no te obstaculizan. Si confía en su 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 punto 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 cerrarla.
Para “cerrar” el puerto puedes usar iptables
sudo iptables -A INPUT -p tcp --dport 23 -m state --state NEW,ESTABLISHED -j DROP
Un sistema Linux tiene una llamada interfaz de bucle invertido, que es para la comunicación interna. Su nombre de host es localhost
y su dirección IP es 127.0.0.1
.
cuando corres nmap
en localhost
en realidad ejecutas el escaneo de puertos en el virtual interfaz de bucle invertido. 192.168.1.1
es la dirección IP de su físico (más probable eth0
) interfaz.
Así que has corrido nmap
en dos interfaces de red diferentes, por eso hay una diferencia en los puertos abiertos. Ellos dos true.
Si tiene abierto el puerto TCP 23, es probable que tenga un telnet
servidor funcionando (lo que no es bueno debido a su falta de encriptación) o tiene algún tipo de caballo de Troya en su máquina.
Si piensas que ha resultado de provecho este artículo, nos gustaría que lo compartas con otros juniors y nos ayudes a extender nuestro contenido.