Para ser honesto, no había realizado pentesting a sistemas basados en RPA (Robotic Process Automation), así que acá van los apuntes que finalmente logré armar después de varios ethical hacking a Bot RPA…
Antes de comenzar…
Debemos reunir la siguiente información:
- Acceso local o remoto al dispositivo para la ejecución de las pruebas al orquestador y el flujo del bot
- Permiso para la instalación de programas en el dispositivo
- Archivo *.bprelease (Blue Prism) correspondiente al bot, su versión y hash de verificación (yo uso md5sum)
- Archivo *.nupkg (UiPath) correspondiente al bot, su versión y hash de verificación
Para los sistemas basados en el proveedor UiPath
En general, las pruebas se derivan de la documentación oficial y el curso UiPath Security del proveedor:
- https://docs.uipath.com/
- https://academy.uipath.com/
Lo anterior, establece como alcance, realizar,
- Pruebas de seguridad al orquestador (UiPath Orchestrator)
- Code review manual del package *.nupkg
- Análisis estático del package para identificar vulnerabilidades
- Utilización de herramientas que identifiquen la utilización de secretos hardcodeados
- Pruebas de seguridad durante el trigger, despliegue y flujo total de interacciones del bot con otros servicios.
- Se pueden incluir otros elementos para el correcto funcionamiento del bot, como por ejemplo, bases de datos, etc.
Para los sistemas basados en el proveedor Blue Prism
- Aplican los mismos alcances que para UiPath, con la diferencia de que el package es un archivo *.bprelease
Requerimientos y recomendaciones
- Antes de montar un laboratorio o espacio de pruebas, debes saber que las herramientas de UiPath para desarrollo y despligue de Bots basados en RPA, funcionan de forma excluyente en Windows Server, todo debe ser instalado en ese sistema operativo
- Se puede extraer fácilmente el contenido de los paquetes *.nupkg y *.bprelease utilizando algo como Unzip, por ejemplo
- Es factible buscar todo lo que nos permita explotar vulnerabilidades, como por ejemplo, archivos .sql