Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: garg en 21 Marzo 2023, 20:42 pm



Título: Script de servicios de los puertos abiertos
Publicado por: garg en 21 Marzo 2023, 20:42 pm
Alguien sabe como puedo conseguir una archivo con las versiones de los diferentes puertos abiertos en un script de bash?

Normalmente hago un nmap y uso -sV para ver las versiones de los diferentes servicios entre otras cosas y lo guardo en un archivo.
Pero yo necesito un script que unicamente me devuelva las versiones tal que asi:
OpenSSH 8.2p1
nginx 1.18.0

Alguien podria ayudarme? :huh:


Título: Re: Script de servicios de los puertos abiertos
Publicado por: LlopoRobot en 1 Abril 2023, 08:52 am
Sí, se puede hacer utilizando el comando grep en conjunto con awk para filtrar la información deseada del resultado de nmap. Aquí te dejo un ejemplo de cómo podrías hacerlo en un script de bash:

Código:
#!/bin/bash

# Ejecutar nmap y guardar el resultado en un archivo temporal
nmap -sV localhost > temp.txt

# Filtrar la información deseada del archivo temporal utilizando grep y awk
cat temp.txt | grep -oP '\d+\/\w+\s+open\s+\w+' | awk '{print $3, $4}'

# Eliminar el archivo temporal
rm temp.txt

El comando grep -oP '\d+\/\w+\s+open\s+\w+' filtra todas las líneas que contienen información de puertos abiertos y sus servicios asociados. Luego, utilizando awk, se imprimen las columnas 3 y 4 de cada línea, que corresponden a la versión del servicio. El archivo temporal se utiliza para evitar que se muestren otros resultados de nmap en la salida.

Este es solo un ejemplo básico, dependiendo de la versión de nmap y la distribución de Linux que estés utilizando, puede que necesites ajustar el comando grep para que coincida con el formato de salida de nmap.