Blog

Obtención de información a través de RPC y explotación de NFS

Buenas a todos! En este nuevo post vamos a ver cómo podemos hacer uso de RPC (Remote Procedure Call) para obtener información sobre los servicios que se encuentran corriendo en un sistema, y en este caso, una vez detectamos que se hace uso de NFS (Network File System) montarnos una carpeta de red con el sistema objetivo.

Para empezar vamos a ver de forma resumida que es cada protocolo, empezando por RPC.

RPC según la Wikipedia: “RPC (Remote Procedure Call) es un protocolo que permite a un programa de ordenador ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambos“.

NFS según la Wikipedia: “NFS (Network File System) es un protocolo de nivel de aplicación […] utilizado para sistemas de archivos distribuidos en un entorno de red”, lo cual permite que diferentes ordenadores compartan carpetas de red.

En nuestro caso, al estar realizando un Test de Intrusión nos encontramos con lo siguiente:

rpcinfo

 

Donde vemos que la dirección IP escaneada tiene el puerto 111/TCP (también podría ser por UDP) abierto donde se encuentra corriendo el servicio RPCbind. RPCbind también es conocido como port mapper que consiste en un ONC RPC (Open Network Computing RPC) que nos permite saber que otros servicios se encuentran corriendo en la maquina objetivo.

Esto podría ser algo practico en el caso de que no queramos ser detectados por el objetivo, de esta forma únicamente realizamos un escaneo del puerto 111 y nos dirá que otros servicios (RPC) están corriendo. Para aprovecharnos de esto una vez sabemos que el puerto del port mapper se encuentra abierto podemos utilizar el programa “rpcinfo”.

Este programa como se ve a continuación nos permite listar los servicios (RPC) que están corriendo en la maquina así como el puerto.

rpcinfo_02

 

En este caso como se puede observar tiene entre otros el servicio de NFS corriendo en el puerto 2049 tanto en TCP como UDP. Esto implica que podría ser posible montar carpetas de red en nuestro sistema con el sistema objetivo (Esto sí que deja un gran rastro).

Para comprobar cierta información acerca de las carpetas y posibles clientes del servidor deberíamos realizar los siguientes comandos:

showmount [direccion_IP] -a   # Listado completo de cliente y directorio
showmount [direccion_IP] -e   # Exportar la lista del servidor NFS
showmount [direccion_IP] -d   # Listado de directorios montados
showmount [direccion_IP]      # Host con alguna carpeta montada en el servidor

 

Como veis no solo sería posible ver que directorios podrían ser montados en nuestra máquina, sino que además sería posible ver que directorios están montados y que clientes tienen montados carpetas del servidor objetivo.

Para poder montar una carpeta de dicho servidor deberíamos de utilizar mount y la carpeta que quisiéramos, pero como digo esto deja un gran rasto a la hora de ejecutarlo.

A continuación os dejo una serie de imágenes de ejemplo con los resultados del comando showmount.

rpcinfo_03

rpcinfo_04

 

Como habéis podido ver esto puede ser una gran fuente de información a la hora de realizar un Test de Intrusión ya que podemos obtener no solo información acerca de la red interna, sino que además podemos llegar a montar una carpeta de red y obtener los ficheros que ahí se encuentren.

Y hasta aquí llega el post de hoy, espero que os haya gustado!

Un saludo,

Eduardo – eduardo@highsec.es – @_Hykeos

Leave a Reply

*

    No Twitter Messages