"EXPLOTANDO RPC"
Como muchos fallos de seguridad este es uno que esta un poco infravalorado, y digo esto porque es un fallo que la comunidad de seguridad cibernetica conoce, mas sin embargo que no se da a conocer mucho, mas sin embargo es un fallo de seguridad un tanto comun dentro de algunos sistemas operativos de escritorio, por eemplo en algunas versiones de windows.
primero lo que debemos conocer si el lector no conoce bien el funcionamiento dentro de las caracteristicas conceptuales.
Una llamada a procedimiento remoto es un programa de computadora que utiliza un ordenador valga la redundancia para ejecutar codigo en otra maquina remota sin tener que preocuparse por las comunicaciones entre ambas de una forma transparente que parezca que se esta ejecutando en la maquina local o dentro de la red local cuando en realidad se esta ejecutando remotamente en el otro lado del mundo.
estas llamadas a procedimientos remotos no parece pero es el pilar funcionamiento de la arquitectura cliente-servidor siendo el cliente quien inicia el proceso de comunicacion solicitando tambien al servidor que ejecute cierto procedimiento o funcion y enviando el resultado de la operacion o de las operaciones al cliente.
existieron muchas maquinas que fueron los padres de los sistemas distribuidos que se utilizan a dia de hoy como las IBM o los mainframes legendarios que se utilizaban en los entornos corporativos.
Vemos que primero se pasan los parámetros de las funciones definidas dentro del codigo fuente del programa, una vez los parametros se invocan a las llamadas de esas funciones, una vez hecho esto se invocan el proceso o servicio despues sale el resultado o la salida de datos , despues viaja sobre la red dentro del retorno establecido, entonces devuelve el resultado a la llamada igualmente como programacion solo que esta vez viaja por la red de redes dentro de una red diferente devolviendo el resultado esperando a la maquina destino.
primeramente deberiamos escanear nuestros rpc dentro de la maquina local en la que nos estamos encontrando trabajando, para verificar cuantos procedimientos de acceso a remoto o llamadas remotas estan accesibles dentro de nuestro ordenador.
tenemos que tener mucho cuidado al establecer estas RPC ya que un descuido y tendríamos una maquina tremendamente vulnerable para los atacantes como platillo al gusto.
Podemos ver que dentro del comando rpcinfo -p [direccion_ip] donde la direccion ip es nuestra interfaz, de red local, vemos que se muestran muchisimos rpc con distintos puertos por donde las llamadas ejecutaran los resultados y en la practica veremos que cualquier servicio que devuelve un resultado por la red es vulnerable, incluyendo a los humanos y eso que no se conectan a a la red jejeje XD, en la imagen de la izquierda vemos que realizamos un escaneo con la direccion ip que esta corriendo y el protocolo de las llamadas al procedimiento remoto que es el puerto tcp/udp 111 , lo escaneamos con la herramienta nmap y vemos el resultado interesante, podremos ver que tenemos varios servicios corriendo en dicha maquina y sus respectias versiones ademas de la descricion del programa o los programas que estan corriendo, vemos que el puerto 111 tcp esta abierto y vemos tambien que nos arroja la version misma de vemos tambien que muchos de los servicios que tienen puertos abiertos entonces son subprogramas de la rpc principal que escaneamos.
tenemos tambien la herramienta enum4linux que podriamos enumerar llamadas a procedimientos remotos por otras vias muy distintas y con los mismos resultados, esta herramienta lo que hace es que puede extraer informacion de linux windows como smb, rpclient, entre otros.
vemos que le podemos pasar un argumento a la herramienta en este caso pudieran ser la mauqina remota que se esta ejecutando las RPC o nuestra maquina local sea donde sea que estemos en el entorno determinado como un ataque local o remoto.
vemos que encontro un rpc cliente es decir una llamada a un procedimiento remoto encontrado en una ruta de linux, tambien nos saca los rangos de parametros asi como nombres de usuario que se estarian utilizando, una vez hecho esto podriamos crackear el servicio intentando con alguna otra herramienta de fuerza bruta o haciendo algun ataque de nivel de red de interceptacion de red como el snifeo o el ataque del hombre de enmedio como el MITM.
sea lo que sea por cualquier de los dos metodos, podremos entrar con el usuario y password correcto o bien encontrar una brecha de seguridad ya que muchas de las RPC no tienen password ni usuarios por el que podemos entrar como si fuese nuestra casa libremente.
como en la siguiente imagen se muestra que se pudo accesar mediante un password vacio en el servicio de RPC y se nos brinda una serie de comandos que podremos sacar demasiada informacion util para posteriores ataques o un atraque mas complejos.
una vez que tenemos la linea de comandos o shell con el rpclient esperando instrucciones se podria decir que estamos dentro y hemos logrado nuestro objejtivo, ahora solo hace falta teclear los comandos o acciones necesarias para que podamos sacar informacion jugosa como se ha mencionado anteriormente.
Hack The Planet
Hack The Planet
Stuxnet
REFERENCIAS:
http://www.mcafee.com/mx/downloads/free-tools/rpcscan.aspx
REFERENCIAS:
http://www.mcafee.com/mx/downloads/free-tools/rpcscan.aspx
escaneos hacking hacking tools remote procedure call hacking rpc
0 comments:
Publicar un comentario