Mostrando entradas con la etiqueta bash. Mostrar todas las entradas
Mostrando entradas con la etiqueta bash. Mostrar todas las entradas

Escanear todos los sistemas dentro de nuestro rango con Nmap

Nmap es un programa de código abierto y multiplataforma que sirve para efectuar rastreo de puertos.

En este caso vamos a realizar un escaneo de todos los dispositivos conectados a nuestro rango de IP. Para que nos muestre en un archivo que puertos se encuentran abiertos, y por lo tanto una puerta de entrada a posibles ciberataques. 

Captura de pantalla ejecución nmap a través de Virtualbox corriendo el sistema operativo Kali

Te dejo un ejemplo, para utilizar en terminal Linux, para realizar un escaneo a todos los equipos que se encuentren en nuestra LAN.

Si solo quieres realizar un escaneo a un equipo, cambiaremos <comienzo de nuestro rango ip>/24 por el numero de IP del equipo que queremos analizar, por ejemplo 192.168.5.12

sudo nmap -p- --open -T5 -v -n -A -sV -Pn -sS <comienzo de nuestro rango ip>/24 -oX Descargas/escaneo.xml

  • sudo: permite ejecutar comandos con privilegios de «super usuario».
  • nmap: es la herramienta que vas a utilizar para realizar el escaneo de puertos.
  • -p- : hace referencia a los puertos.
  • --open: sirve para seleccionar únicamente los puertos que están abiertos.
  • -T5: hace referencia al temporizador del escaneo. Puede ir de 0 a 5, donde 0 es menos agresivo y lento y 5 es más agresivo y rápido.
  • -v: aplica verbose, para ver los resultados según va escaneando.
  • -n: no aplica resolución DNS, lo que genera más ruido y ralentiza el escaneo.
  • -A: detecta el sistema operativo y los servicios. 
  • -sV: descubre las versiones de los servicios.
  • -Pn: evita el descubrimiento de host, que puede ralentizar el análisis.
  • -sS: realiza la comunicación a través del protocolo TCP más rápida.
  • <comienzo de nuestro rango ip>/24 Buscaremos en toda nuestra red. Si nuestro equipo se encuentra en la dirección IP 192.168.5.12 y la mascara de subred fuera 255.255.255.0, nuestro rango IP seria 192.168.5.0/24
  • -oX se utiliza para exportar a un archivo y el resto del comando hace referencia a la ubicación en la que se va a descargar un archivo denominado «escaneo.xml», donde se guardarán todos los puertos abiertos que ha encontrado el escaneo.
🔔 Es posible que le lleve tiempo rastrear todos los servicios y todos los equipos de la red. Con esta configuración obtendremos mucha información de todos los dispositivos que se encuentran en nuestra LAN

Para facilitar su visualización utilizaremos el comando xsltproc

xsltproc Descargas/escaneo.xml -o escaneo.html


Resultado en html del un escaneo de puertos realizado con nmap
 

Que es un Bash Shell

Bash Shell Es un archivo de procesamiento por lotes, que por lo general es un archivo de texto plano. Es útil e interactivo entre el usuario y el sistema operativo. El ejecutable resultante no ha de ser compilado y por la tanto es legible por el usuario, y puede ser modificado, siempre y cuando tenga permisos habilitados sobre el archivo.

Esto aporta algunas ventajas:

  • Multiplataforma: al no ser binario, se pueden ejecutar en diversas plataformas sin modificaciones, lo que es una clara ventaja si queremos que el código funcione en cualquier sistema.
  • Portabilidad: si el intérprete está listo para una plataforma, entonces el script o lenguaje interpretado funcionará en dicha plataforma.

Sin embargo, estos lenguajes interpretados también tienen sus desventajas:

  • Una de ellas es el rendimiento, ya que necesitan del intérprete siempre ejecutándose en segundo plano para que funcione.
  • La propia dependencia del intérprete.

Cada línea contiene un comando, o instrucción y sus opciones, y una vez ejecutado pasará a la siguiente línea de ejecución. Pueden ser creados para realizar una serie de operaciones utilizando los comandos del sistema operativo. O como ejecutable de un lenguaje de programación interpretado, como puede ser Java, C#, JavaScript, Visual Basic .NET y VBScript, Perl, Python, Lips, Ruby, PHP, ASP, SQL etcétera 

Los directorios de Linux II

Continuando con el post Los directorios de Linux. Otro directorio de utilidad en Ubuntu y derivados, si queremos que nuestros script, sean ejecutados desde cualquier directorio, es:

~/.local/bin/

Aquellos ejecutables o archivos bash que se encuentren en este directorio, podrán ser invocados desde cualquier directorio en que el que te encuentres en ese momento en el terminal.

Si acaso no estuviera habilitado, por ejemplo en una Raspberry, utilizaremos el siguiente script para habilitar esta función:

 export PATH="$HOME/.local/bin:$PATH"