Enumeración de vulnerabilidades en servicios
services
Conocimientos requeridos:
una vulnerabilidad es un fallo, debilidad o falencia en un sistema, las vulnerabilidades son capaces de causar daños en un sistema, lo que es aprovechado para causar perjuicios. cuando hablamos de las vulnerabilidades en un servicio de red nos referimos a las fallas de seguridad dentro de los mismos los cuales pueden ser aprovechados por atacantes para robar información, acceder a sistemas sin permiso, causar perdidas de datos, etc.
Es importante en un pentest saber enumerar y reportar estas vulnerabilidades, ya que son muy significativas en la infraestructura de ciberseguridad en un sistema.
Enumeración de servicios en una maquina (Reconocimiento básico)
el primer paso para enumerar vulnerabilidades en un servicio, es descubrir cual vamos a atacar en el sistema objetivo, como ya deberías saber para enumerar puertos abiertos (donde permanece un servicio específico) necesitamos hacer un escaneo de puertos:
posteriormente, hay que recopilar información sobre las versiones de cada servicio y otros datos relevantes, este paso es muy util para empezar a recopilar posibles vectores de ataque o vulnerabilidades conocidas:
Enumeración de vulnerabilidades conocidas en un servicio (CVEs)
ahora es importante saber si el servicio que queremos vulnerar esta en una versión antigua o desactualizada que cuente con una vulnerabilidad conocida. conocer esto es importante ya que si es positivo significa que hemos encontrado una vulnerabilidad.
En ciberseguridad, las vulnerabilidades nuevas se reportan como CVEs, CVE significa Common Vulnerabilities and Exposures (Vulnerabilidades y Exposiciones Comunes), y es un diccionario de vulnerabilidades y exposiciones de seguridad conocidas públicamente, el cual proporciona un identificador único (un número CVE) para cada vulnerabilidad. Este sistema estandarizado, mantenido por la organización MITRE, es crucial para investigadores, proveedores de software y organizaciones de seguridad para identificar, rastrear y gestionar problemas de seguridad en software y hardware.
por ejemplo, el CVE CVE-2014-0160 es una vulnerabilidad en OpenSSL que permitía robar información protegida de la memoria del servidor, la vulnerabilidad funciono en las versiones de 1.0.1 hasta la 1.0.1f (inclusive) de OpenSSL.
como podemos enumerar el CVE de un servicio acorde a su versión? (si es que cuenta con vulnerabilidades):
con herramientas como Metasploit o searchsploit, podemos encontrarlo:
Enumeración de vulnerabilidades conocidas de un servicio mediante Metasploit
si te da pereza hacerlo desde la terminal, puedes buscar en la web exploits entre la misma base de datos: https://www.exploit-db.com/
podemos utilizar la función search de Metasploit y buscar por exploits que podrían haber del servicio que estamos intentando vulnerar, para encontrar los módulos indicados la estructura de nuestra búsqueda podría ser así:
search nombre_del_servicio_aqui version_aquisi no sabes usar Metasploit para poder configurar el exploit, haz click aquí
Enumeración de vulnerabilidades conocidas de un servicio mediante searchsploit
searchsploit es una herramienta de búsqueda relacionada a exploit-DB que te permite llevar contigo una copia de un Exploit, para buscar el exploit podemos usar:
searchsploit nombre_del_servicio_aqui version_aquitambién podemos buscar por un nombre de CVE especificó:
searchsploit --cve CVE-YYYY-NNNNahora para exportar los exploits usamos el siguiente comando
# copiamos el path del exploit de nuestra preferencia para llevarlo a nuestra maquina pero antes debemos implementarlo en el comando que loe xportara
searchsploit -m exploit/path/aqui/exploit.pyEnumeración de vulnerabilidades conocidas de un servicio mediante Busquedas
en vez de usar estas herramientas mencionadas anteriormente, podemos utilizar nuestro navegador únicamente estructurando de esta manera las búsquedas:
nombre_del_servicio version CVE # busca por CVEs
nombre_del_servicio exploit # busca si hay resultados como "exploits"
nombre_del_servicio vuln # lo mismo que el anterior pero con vulnerabilitie
nombre_del_servicio version # a veces encuentras resultados proporcionando solo nombre y versionPentesting de los servicios
en lo que resta de la sección, aprenderás a manualmente identificar fallos de seguridad, su impacto, utilidad y reproduccion, siendo mas util que enumerar problemas de versiones desactualizadas como vimos anteriormente, de igual manera dejare el link del articulo para cada puerto correspondiente.
Last updated