Hack.lu 2011 - Rootkits and Trojans on Your SAP Landscape

Rootkits and Trojans on Your SAP Landscape
par
Ertunga Arsal

Allez zou, avant-dernière conf, sur la sécurité SAP.

Une entreprise de taille moyenne utilisant SAP ne peut pas obtenir un niveau de sécurité minimum de son SI vu que le système SAP est bien trop complexe à maintenir, et à maitriser. Donc le seul moyen de tenir ce genre de système, c’est une bonne défense périmétrique (doh!), le problème c’est qu’Internet et le web 2.0 n’est pas vraiment compatible avec ce genre de concept.

Les systèmes SAP sont orientés business et services, ils sont customisés en fonction des besoins du client, et ils sont apparemment moins exposés au hacking du fait de leur complexité, des protocoles propriétaires et de l’indisponibilité des softs pour étude. C’est donc la sécurité par l’obscurité qui tient le tout en place. Coté mécanismes de sécurité, c’est surtout basé sur de la ségrégation des privilèges et des rôles, ce qui n’est pas réellement suffisant. En plus il est difficile de trouver des gars capable d’attaquer et de sécuriser de tels systèmes.

L’auteur nous apprend que le serveur d’application SAP à un shell distant présent par défaut, et pour pouvoir le sécuriser correctement, il faut y appliquer quelques patchs, sinon il reste accessible… c’est moche !
Il est aussi possible via l’interface SAP de récupérer la liste des serveurs et des applications installés et disponibles, et ce sans privilèges particuliers. Après il suffit de lancer le remote shell pour lister les fichiers & répertoires, voir carrément récupérer les backups des bases.

Bon après on peut aussi taper sur la partie crypto de SAP (re-FAIL). Comme tout repose sur le mot de passe utilisateur, le fail est programmé, il faut donc veiller à restreindre l’accès a tout plein de tables sensibles… mais bon si on à possibilité d’exécuter des commandes, on peut récupérer de quoi forger des certificats et s’authentifier avec auprès de n’importe quel serveur, et récupérer les infos nécessaires pour s’authentifier en tant que Manager (root quoi).

Le coeur de SAP, c’est l’ABAP, un langage transactionnel, et SAP contient 2 millions de programmes dans lesquels ont peut faire des injections SQL et surtout des injections ABAP. Là encore, l’auteur à automatisé ces attaques dans un outil pour faciliter leur exploitation. En plus il est possible de modifier en LIVE n’importe quel programme ABAP via la commande INSERT REPORT… (ouch !) et ainsi on peut forcer la création d’un utilisateur sur le poste de l’administrateur via le REPORT (EPIC FAIL).

Bref, SAP c’est une passoire… et en plus ils filent le buldozer à l’attaquant pour se faire taper et des applications SAP backdooré ont été découvertes dans la nature.