Malware… SAP peut être le point d’entrée.

CERT-DVT Sécurité SAP

English version
dev-light.png

Introduction

Les chercheurs en sécurité de chez ERPScan, ont découvert une vulnérabilité sur le SAP Gui et l’ont montré durant la dernière Conférence Troopers.

La vulnérabilité n’impacte pas directement les systèmes SAP, mais le client utilisé pour s’y connecter : le SAPGui. Le SAPGui, pour SAP Graphical User Interface, est un logiciel fourni par SAP AG, afin que les utilisateurs de SAP puissent se connecter à distance au système. Il est installé sur pratiquement toutes les stations de travail Windows des utilisateurs SAP. Aussi, les administrateurs SAP l’utilisent également, et quelques fois dans des environnements Windows à privilèges….

dev-logistic.png

La vulnérabilité

Le SAPGui est capable d’effectuer certaines actions sur le poste de travail où il est installé, comme lire, écrire des fichiers ou bien exécuter des programmes. Par exemple lorsque vous sauvegardez au format MS Excel un export de SAP en local, c’est le SAPGui qui effectue cette activité. La sécurité de ces actions est gérée par des règles de sécurité sur chaque SAP Gui (saplogon.exe / top left icon / Options / Security). Ce que les chercheurs ont trouvé, c’est qu’une de ces règles, liée au programme regsvr32.exe, n’est pas bien configurée par défaut et peut engendrer des problèmes sérieux comme la lecture, l’écriture ou bien l’exécution d’applications Windows sans que le message contextuel de sécurité n’apparaisse.
De plus, le programme regsvr32.exe est connu pour être capable d’exécuter des commandes depuis un serveur http distant.
Pour faire simple, tous les SAPGui pour Windows avant la version 7.40 SP12 sont vulnérables. Pour vérifier votre version, cliquez sur « About the SAP logon… » du saplogon.exe, puis dans « version information » le niveau de support package est indiqué.

dev-target.png

Scenario d’attaque & PoC

Par fois nos clients nous demandent « Ok, vous avez compromis notre système SAP, et après ? ».Le scénario ci-dessous illustre bien une réponse à cette question.
Le prérequis est d’avoir un accès total à un système SAP. Il existe une multitude de moyens d’y parvenir, comme ceux expliqués dans nos articles précédents : Oracle OPS$, SAP Injection, HANA Trexnet or SAP Gateway.

  • 1) L’attaquant prépare un fichier sct sur sa machine, puis le partage :

Ce script lance un cmd.exe et affiche un message pendant 60 sec.
C’est ce ‘très méchant malware’ qui fera le poc.

  • 2) Sur le système SAP compromis, l’attaquant crée un ABAP qui appelle le fonction module WS_EXECUTE avec les bons paramètres  :

  • 3) Pour forcer les utilisateurs SAP à exécuter notre report lors de leurs prochaines connexions, quelques actions sont requises sur le système SAP : créer une transaction liée au report, créer un rôle avec cette transaction, l’assigner à tous les utilisateurs puis forcer l’exécution de cette transaction juste après la connexion de chaque utilisateur.

Oui, si toutes ces actions peuvent créer des alertes dans certains fichiers de traces… Mais comme nous sommes SAP_ALL sur le système, il est aussi possible d’altérer ces fichiers pour rester discret…
Et oui… tout ceci peut-être automatisé.

  • 4) Le lundi matin, lorsque que les utilisateurs se logguent à SAP, ils reçoivent notre surprise :

L’utilisateur se connecte comme d’habitude à son système SAP, puis silencieusement exécute la transaction Z_SAPGUI_RCE faisant référence à notre report ABAP, qui lui lance regsrv32.exe avec le code de l’attaquant, sur le poste de travail de l’utilisateur. Dans notre exemple, il s’agit juste d’un message… mais cela pourrait être bien pire.

dev-risk-and-security.png

Correction et conclusion

A cause de cette vulnérabilité, SAP pourrait être le point d’entrée de n’importe quel type de malware sur votre réseau, Ransonware, Rootkit, Keylogger, Trojan… et ceci sans aucune interaction utilisateur.

La correction est décrite dans la SAP Security note « 2407616 – Remote Code Execution vulnerability in SAP GUI for Windows« .
Si vous n’utilisez pas de SAP GUI Security Module spécifique dans le fichier saprules.xml, la correction revient à mettre à jour votre SAPGui.
Mettre à jour le SAPGui n’impacte que très peu les processus business, ce n’est pas comme un upgrade SAP, cela peut-être fait relativement rapidement.
Nous vous suggérons de le faire au plus vite.

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.