Apuntes sobre pentesting a Bot RPA

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