Archives du mot-clé White Paper

CloudPiercer : découvrir quelle IP se cache derrière un CloudFlare, Prolexic et compagnie

Via un whitepaper et un outil baptisé CloudPiercer, des chercheurs démontrent comment à l’aide de différents moyens (plutôt évidents et simples à mettre en oeuvre) il est possible de retrouver l’adresse IP réelle d’un serveur protégé par une protection anti-DDoS / caching.

L’une des techniques consiste par exemple à tester la présence de sous-domaines et regarder si on y retrouve le même site pour une adresse IP différente de celle affichée par le CloudFlare (ou autre). Il s’avère qu’on retrouve régulièrement des sous domaines « ftp » qui leakent ainsi la véritable adresse IP.

A croire que certains admins utilisent encore FTP… nan mais allo quoi ! :p

OSX : Dylib hijacking (whitepaper)

Le whitepaper de la présentation qui a eu lieu à la CanSecWest est finalement disponible sur le site de VirusBulletin (pdf).

EDIT:

Le white-paper montre deux cas d’attaques sur les binaires OSX.

Dans le premier cas un binaire peut avoir un lien optionnel (weak) pour le chargement d’une librairie (on peut imaginer que ce soit utilisé par un système de plugin). L’avantage de ce cas là c’est que potentiellement aucune librairie n’est présente au path indiqué dans le header du binaire OSX (format MachO) laissant ainsi à l’attaquant la possibilité de placer sa librairie malicieuse.

Le second cas se base sur les @rpath. Un binaire peut indiquer qu’il a besoin d’une librairie dont il ne connait pas exactement le path. Dans ce cas là le header contiendra des paths du type @rpath/chemin/vers/lib.dylib. Le binaire aura aussi une liste de ces rpath possibles indiquée dans son header.
Le loader OSX va donc substituer la chaine « @rpath/ » dans le chemin exporté par chaque valeur de la liste jusqu’à trouver un chemin où la librairie est présente.
Si aucune librairie n’est présente dans le (ou les) premier paths calculés alors ça laisse à l’attaquent la possibilité de placer une librairie qui sera prioritaire par rapport à celle légitime.

La création d’une librairie malicieuse fonctionnelle requiert quelques particularités qui peuvent être définies depuis XCode.
Sur Github, Synhack fournit un script Python facilitant la génération d’une dylib malicieuse fonctionnelle pour peut que l’on dispose d’un squelette de dylib.

Il fournit aussi un script Python permettant de scanner le système à la recherche de programmes vulnérables à ces attaques.
Et c’est la grande question qu’on attendait : est-ce que ça touche beaucoup de programmes ? La réponse est oui, la technique devrait par conséquent attirer de nombreux auteurs de malwares.

L’autre question est à quoi peut servir cette attaque ?
Principalement ça permettra à des malwares de se rendre persistant tout en étant discret. Comme si sous Windows un malware se faisait charger par un programme légitime sans avoir à créer la moindre clé en registre.
Ensuite l’auteur indique que l’attaque peut être utilisé contre l’outil interne Gatekeeper d’OSX qui demande à l’utilisateur une validation pour lancer un exécutable si celui-ci ne provient pas du AppStore. Dès lors un malware ayant obtenu un accès sur un système pourrait exploiter cela pour installer d’autres malwares… De quoi intéresser les botherders.

Est-ce que ça permet d’entrer dans un système OSX ou de faire une escalade de privilège ?
Vraisemblablement non, il faudrait en plus que les PATHs où l’on peut placer la dylib malicieuse soient peu protégés (mauvaises permissions), ce qui n’est pas discuté dans le whitepaper. Mais peut-être que des cas particuliers seront découverts.

Pour le moment il semble qu’Apple ne souhaite pas corriger le problème.

Smartphones : une application peut extraire des données sensibles de la mémoire d’autres applications

Via Phys.org :

Des chercheurs présentent aujourd’hui à la 23ème édition du symposium de sécurité USENIX de San Diego leur étude baptisée Peeking into Your App without Actually Seeing It: UI State Inference and Novel Android Attacks.

Vidéo à l’appui ils montrent qu’une application malicieuse installée sur un smartphone (IOS, Android ou Windows) peut récupérer des informations sensibles traitées par d’autres applications et ce même si l’appli malicieuse a très peu de droits.
La faute aux zones de mémoire partagée qui sont accessibles à toutes les applications sans restriction.

En connaissant le fonctionnement d’une appli il est ainsi possible de prévoir le cheminement suivi par l’utilisateur sur l’application et de prévoir quand la zone de mémoire contiendra des données intéressantes (mots de passe, numéro de sécu, infos bancaires, etc.)