Un
ERP (Enterprise Resource Planning) es un software de gestión utilizado por empresas para la mejor administración y el aprovechamiento más optimo de sus recursos. También persigue simplificar los procesos involucrados en las gestiones de las empresas. Están íntimamente ligados a los sistemas de producción, ya que por lo general, gestionan inventarios, pedidos, etcétera.
 |
Figura 1: Descubrir la infraestructura interna de SAP con Metasploit |
SAP es uno de los
ERP más conocido en el mercado y muy utilizado debido a la gran ventaja que presenta en la integración dentro de las compañías y al gran número de módulos que presenta para un montón de funcionalidades. En este artículo se mostrará cómo, en caso de no tener bien fortificado nuestro sistema
SAP accesible desde
Internet, es posible extraer e interactuar directamente con los host de la red interna de una empresa. traer los
host que que se encuentran en la
DMZ de la red empresarial.
Búsqueda de sistemas SAP accesibles desde Internet
Los sistemas
SAP que vamos a localizar expuestos en Internet serán “
SAP NetWeaver”. Se trata de una aplicación orientada especialmente a servicios que proporciona una fácil integración con todas las aplicaciones
SAP. Lo primero, un poco de
Hacking con Buscadores. Realizando una sencilla búsqueda en
Google, se observan más de
2000 resultados:
 |
Figura 2: Búsqueda de sistemas SAP NetWeaver en Google |
También es posible usar
Shodan para localizar este tipo de sistemas, utilizando para ello la cadena “
SAP NetWeaver Application Server”, obtenemos un buen número de resultados.
 |
Figura 3: Búsqueda de sistemas SAP NetWeaver en Shodan |
Arquitectura del sistema SAP NetWeave
Una vez localizados estos sistemas, el siguiente paso es conocer cuál es la arquitectura que tienen todos ellos para saber qué dispositivo es el que comunica las peticiones que los usuarios realizan desde Internet con los servidores o host internos de la empresa.
 |
Figura 4: Arquitectura perimetral de un sistema SAP NetWeaver |
Como puede observarse, existe un elemento, el “
SAProuter”, encargado de la enviar las peticiones que realizan los clientes del sistema, mediante su interfaz gráfica o navegador, con los diferentes servicios atendidos por los servidores que componen la plataforma, alojados en la red interna de la empresa.
Lozalización del SAProuter
Uno de los componentes más importantes dentro de la arquitectura
SAP es el
SAProuter, ya que es quién permite o restringe las comunicaciones de red entre el sistema
ERP y el exterior.
Para conocer qué máquinas se encuentran dentro de la red interna de la empresa, lo primero será localizar el
SAProute de un sistema que se encuentre accesible desde
Internet. Utilizaremos el
módulo sap_service_discovery de
Metasploit. Por defecto no viene directamente integrado en
Metasploit, pero es posible descargarlo directamente desde el r
epositorio de GitHub de la empresa Rapid7.
Una vez descargado el módulo, le movemos al directorio de
Metasploit donde se encuentran los escáneres de
SAP.
 |
Figura 5: Diferentes módulos pertenecientes a la categoría scanner de Metasploit |
Lanzamos
Metasploit y comprobamos que el módulo está listo para utilizarse.
 |
Figura 6: Módulo de Metasploit cargado para utilizarse |
Como se ve en la descripción del módulo, su función es escánear los diferentes servicios que están a la escucha en un sistema
SAP. Uno de ellos será el
SAProuter.
Tras configurar la opción
RHOSTS con la dirección
IP del sistema
SAP expuesto en
Internet, lanzamos el módulo ver si es posible localizar el
SAProuter.
 |
Figura 7: Descubrimiento del SAPRouter |
Se observa que el
SAProuter escucha las peticiones por el puerto
3299/TCP y que existen diferentes servicios:
• SAP Internet Communication Manager (ICM): escucha las peticiones por los puertos 8000/TCP y 8001/TCP y es el encargado de comunicar el sistema SAP con el exterior a través de los protocolos HTTP, HTTPS y SMTP.
• SAP JAVA EE Dispatcher: encargado de distribuir las peticiones de los clientes a los diferentes procesos de trabajo y aplicar las políticas necesarias de planificación de procesos.
Obtención de información sobre el SAProuter
Localizado quién es el
SAProuter, es posible usar el módulo
sap_router_info_request de
Metasploit para obtener si la tabla de rutas del
SAProuter está accesible. Si es así, la posibilidades de conocer los servidores de la red interna de la organización serán altas.
 |
Figura 8: Información del SAProuter |
El módulo devuelve información sobre el directorio de trabajo donde se encuentra instalado el SAProuter y el nombre de la tabla de rutas usada (routtab) por el componente para poder enviar las peticiones de los clientes a los servidores correspondientes dentro de la organización.
Descubrir la infraestructura interna de SAP
Tras comprobar cómo el
SAProuter es capaz de desvelar el nombre de su tabla de rutas, el siguiente paso será obtener parte o la totalidad de la infraestructura interna utilizada por
SAP dentro de la red de la empresa. Para ello es posible utilizar el módulo de
sap_router_portscanner de
Metasploit. Tiene dos modos de funcionamiento:
• SAP_Proto: escaneo para detectar cuándo se está utilizando una ACL para denegar conexiones de capa 4.
• TCP: permite escanear puertos TCP sin intentar detectar ACLs.
Configuraremos el módulo para detectar detectar máquicas en la red interna desde el
SAProute (
set rhost 195.x.x.x) con el puerto
445/TCP abierto (
set ports 445). No sabemos el rango de direccionamiento interno de la organización - hemos probado una
consulta al Primary Name Server y un ataque
PTR Scanning al DNS pero no están expuestos los registros -, así que probaremos con el
192.168.0.0/16 (
set targets 192.168.0.0/16). Podríamos haber hecho lo mismo con los rangos de direccionamiento interno
10.0.0.0/8 y
172.16.0.0/16. Existen más trucos para detectar los rangos internos de direccionamiento, pero aquí ha sido suficiente con probar.
 |
Figura 9: Configuración del módulo sap_router_portscanner |
Se observa cómo el módulo descrubre dos
host en la red interna de la empresa con el puerto
445/TCP abierto.
 |
Figura 10: Máquinas dentro de la red de la empresa con el puerto 445/TCP abierto |
Conclusiones
Analizando la información de las pruebas realizadas, se concluye que:
• Un ERP como SAP NetWeaver es utilizado en multitud de empresas y organizaciones, y hemos visto una manera muy sencilla, haciendo un poco de Hacking con Buscadores, la manera de localizarlos en Internet.
• En todos ellos, el elemento que comunica las peticiones que llegan desde Internet con la red interna de la empresa, es el SAProute, lo que hace especialmente interesante la localización de este tipo de dispositivo para ver si de él podemos obtener información de la red interna de la organización.
• Si el SAProute no está bien configurado, proporciona información sobre la ruta absoluta donde se encuentra instalado, C:\saproute, de donde podemos inferir que muy probablemnete el sistema operativo de ese servidor sea Windows.
• La posibilidad de que en la red interna de las organizaciones utilicen Windows como sistema operativo es alta, de ahí que se decida buscar por el puerto 445/TCP correspondiente al servicio Samba usado para el intercambio de ficheros.
• Observamos cómo el esquema de direccionamiento de la red interna de la empresa es 192.168.0.0/24, ya que también se ha probado con los intervalos 10.0.0.0/8 y 172.16.0.0/16 y no se han obtenido resultados.
Autor: Amador Aparicio de la Fuente (@amadapa)
Escritor del libro "Hacking Web Technologies"