Des chercheurs des entreprises Intezer et BlackBerry ont découvert un logiciel malveillant, portant le nom de code Simbiote, utilisé pour implanter des portes dérobées et des rootkits sur des serveurs compromis fonctionnant sous Linux. Ce logiciel malveillant a été détecté sur des systèmes d'institutions financières dans plusieurs pays d'Amérique Latine. Pour installer Simbiote sur le système, l'attaquant doit avoir un accès root, qui peut être obtenu, par exemple, par l'exploitation de vulnérabilités non corrigées ou la fuite de comptes. Simbiote permet de maintenir sa présence dans le système après une intrusion pour mener d'autres attaques, dissimuler l'activité d'autres applications malveillantes et organiser l'interception de données sensibles.
Une caractéristique de Simbiote est sa diffusion sous la forme d'une bibliothèque partagée, qui est chargée lors du démarrage de tous les processus à l'aide du mécanisme LD_PRELOAD et remplace certains appels à la bibliothèque standard. Les gestionnaires des appels modifiés cachent l'activité liée à la porte dérobée, par exemple, en excluant certains éléments dans la liste des processus, en bloquant l'accès à certains fichiers dans /proc, en cachant des fichiers dans des répertoires, en excluant la bibliothèque partagée malveillante dans la sortie de ldd (en interceptant la fonction execve et en analysant les appels avec la variable d'environnement LD_TRACE_LOADED_OBJECTS), et en ne montrant pas les sockets réseau associés à l'activité malveillante.
Pour se protéger contre l'inspection du trafic, une redéfinition des fonctions de la bibliothèque libpcap est effectuée, en filtrant la lecture de /proc/net/tcp et en chargeant dans le noyau des programmes eBPF qui entravent le fonctionnement des analyseurs de trafic et rejettent les requêtes externes vers ses propres gestionnaires réseau. Le programme eBPF est exécuté parmi les premiers gestionnaires et fonctionne au niveau le plus bas de la pile réseau, ce qui permet de cacher l'activité réseau de la porte dérobée, y compris des analyseurs démarrés ultérieurement.
Simbiote permet également de contourner certains analyseurs d'activité dans le système de fichiers, car le vol de données confidentielles peut se faire non pas au niveau de l'ouverture des fichiers, mais par l'interception des opérations de lecture de ces fichiers dans des applications légitimes (par exemple, en substituant des fonctions de bibliothèque, il est possible d'intercepter la saisie du mot de passe par l'utilisateur ou les données chargées depuis un fichier avec une clé d'accès). Pour organiser un accès à distance, Simbiote intercepte certains appels PAM (Pluggable Authentication Module), permettant de se connecter au système via SSH avec des identifiants d'attaque spécifiques. Une capacité cachée d'élévation des privilèges à l'utilisateur root est également prévue via l'installation d'une variable d'environnement HTTP_SETTHIS.

Source : opennet.ru
