SAP HANA : Test d’intrusion via TREXNet

CERT-DVT Non classé

English version

dev-light.png

Introduction

En 2016 une faille de sécurité importante à été corrigée sur la nouvelle plateforme de SAP : SAP HANA. En effet, une « Remote Command Execution » anonyme est possible. Elle est plus ou moins facile à exploiter selon les versions, mais même avec les dernières versions, la SPS12 actuellement, l’attaque reste possible si le système n’est pas correctement configuré.

SAP HANA

Je ne vais pas décrire ici l’architecture ou détailler le fonctionnement de SAP HANA. En résumé, c’est un système de base de données ‘in memory’, présenté comme le nouveau produit phare de SAP :

(c) SAP AG

SAP pousse ses clients à migrer sur SAP HANA et se positionne comme un concurrent d’Oracle sur les aspects performance et haute disponibilité.
D’un point de vue sécurité, même si le produit est relativement nouveau, le nombre de ‘SAP Security Notes’ n’est pas négligeable.

Il est à noter que 2/3 de ces SAP Notes sont en priorité haute.

dev-network.png

SAP HANA TREXNet : le problème

Pour la communication interne entre les différents serveurs d’un système SAP HANA, SAP utilise le protocole TREXNet : un protocole propriétaire et non documenté. Parce que ce protocole n’était pas voué à être utilisé par des utilisateurs, il a été élaboré sans notion de sécurité particulière : pas d’authentification, pas de chiffrement, etc. C’est pourquoi, si un utilisateur malveillant parvient à communiquer avec ces services internes, via le protocole TREXNet, il peut compromettre l’ensemble du système SAP.

Extrait du ‘SAP HANA Security Guide‘ (c) SAP AG

Les services impactés sont les suivants (où xy est le numéro du système SAP) :

Port par défaut – Nom du service
3xy00 – HDB Deamon
3xy01 – HDB Nameserver
3xy02 – HDB Preprocessor
3xy03 – HDB Indexserver
3xy04 – HDB Scriptserver
3xy05 – HDB Statisticserver
3xy07 – Xengine
3xy10 – HDB Compileserver

L’accès à n’importe lequel de ces services permet d’exécuter des commandes au niveau OS, en tant qu’Administrateur SAP, sans être authentifié.

A partir du SPS06, ces services ne sont plus accessibles depuis l’extérieur par défaut. Ils restent cependant nécessaires dans les scénarios de type ‘Multi-Host’.
Pour les versions inférieures au SPS10, l’attaque est relativement facile en raison de l’accès à des fonctions type ‘pexec’.
Depuis la version SPS11, plusieurs fonctions dangereuses ne sont plus accessibles, aussi, SAP fournit une méthode pour isoler et protéger ces communications internes. L’attaque reste possible dans le cas d’un système non ou mal configuré, exposant l’un de ces services.

dev-target.png

Exemple d’attaque sur SAP HANA

Voici un exemple d’attaque sur SAP HANA, utilisant cette faille. Nous ne connaissons que l’IP du système SAP. C’est la dernière version disponible actuelle, SPS12, où la seule erreur des administrateurs est d’avoir exposé les services utilisant TREXNet.

  • Scan des ports du système SAP
  • Vérification si l’attaque est possible
  • A partir d’ici, il est possible de lire, écrire, effacer les fichiers du système
  • L’arrêt des services à distance et sans authentification est aussi possible, y compris pour les services web

Les services SAP HANA ne sont plus accessible.

  • Enfin il est possible de modifier des fichiers. Pour y ajouter, par exemple, un reverse shell dans un fichier d’environnement. Puis attendre qu’un utilisateur administrateur se connecte.

dev-network.png

Correction & Conclusion

Les communications internes de SAP HANA sont des points très sensibles en termes de sécurité. Il est impératif d’isoler, dans un réseau dédié, ces types de communications, comme décrit dans la note OSS 2183363 et dans le ‘SAP HANA Security Guide’.

Il est important aussi d’auditer pendant les phases projets afin d’identifier un potentiel risque vis à vis de l’infrastructure et de l’exposition des services de SAP HANA.

N’hésitez pas à consulter notre offre SAP Sécurité :

http://www.devoteam.fr/en/offers/risk-security/expert-articles/secure-your-sap-against-new-threats

  • SAP Audit Assessment
  • SAP Penetration Testing
  • Remediation Process
  • Training
  • etc.