Conférence DEFCON 27. Bénéficier des produits de piratage pour macOS. Partie 1

Discours d'information . Chaque fois qu'un nouvel échantillon de malware pour macOS est découvert, il nous donne l'opportunité d'évaluer de nouvelles opportunités de piratage que nous pouvons utiliser pour notre propre bénéfice. Je veux dire, la vie est courte, pourquoi la consacrer à l'écriture de votre propre malware?

Nous commençons cette discussion par une méthodologie d'adaptation à l '«utilisation personnelle» des logiciels malveillants existants, en soulignant à la fois les inconvénients et les avantages de cette approche. Ensuite, nous passerons en revue l'armement de divers échantillons de logiciels malveillants pour macOS, y compris une porte dérobée interactive, un implant pour l'exfiltration de fichiers, des ransomwares et oui, même des adwares. Nos paramètres incluent diverses modifications binaires du runtime qui obligent ces programmes malveillants à accepter des tâches de nos propres serveurs C&C et / ou à effectuer automatiquement des actions en notre nom.



Bien sûr, maintenant dans leur état vierge, ces échantillons sont détectés par des produits antivirus. Par conséquent, nous envisagerons des modifications qui garantiront l'invisibilité de nos outils de «piratage» pour les programmes antivirus traditionnels.

En conclusion, nous examinons de nouvelles méthodes heuristiques qui peuvent toujours détecter de telles menaces afin de protéger les utilisateurs de Mac même contre de telles menaces modifiées. Pourquoi est-ce nécessaire? Parce que c'est un cycle normal de développement humain, et nous ne réalisons tout simplement pas que la destruction que nous voyons signifie l'introduction de nouvelles technologies qui, avant de créer de nouveaux emplois, détruisent les anciennes.
Salutations à tous, nous discuterons aujourd'hui du thème de la création d '"armes de destruction massive" basées sur les produits de piratage macOS. Je m'appelle Patrick, je suis analyste Synack chez Digital Security, et je suis également le créateur du site Web de sécurité Mac et de la suite de sécurité gratuite Objective-See pour macOS.

Nous parlerons de la refonte des logiciels malveillants d'autres personnes à leurs propres fins secrètes et j'expliquerai pourquoi c'est une excellente idée. Ensuite, je montrerai comment exactement divers échantillons de logiciels malveillants pour Mac sont refaits, et puisque nous voulons que nos exploits restent invisibles à la fois pour les services antivirus intégrés d'Apple et les logiciels antivirus tiers. En fin de compte, nous examinerons diverses techniques courantes pour détecter ce produit logiciel refait, car en fait, notre objectif ultime est de nous assurer que les utilisateurs de Mac sont protégés contre de telles menaces.

Commençons par un schéma qui explique conceptuellement le processus de réaffectation des logiciels malveillants pour vos propres besoins.



Imaginez que le pirate A a soigneusement développé un malware sophistiqué et complet et l'a infecté avec divers systèmes informatiques à travers le monde. Hacker B a réussi à mettre la main sur ce malware par accident ou en l'extrayant d'un système infecté. Ce pirate place un échantillon de ce produit dans son laboratoire et reprofile. Lorsque nous parlons de reprofilage, nous entendons repenser ou reconfigurer certains des logiciels malveillants existants selon vos besoins.

La diapositive montre qu'après la modification, le pirate B peut utiliser ce logiciel contre de nouveaux objectifs, contre une infrastructure différente de celle pour laquelle il a été développé par le pirate A. C'est une idée assez raisonnable. Vous pouvez vous demander pourquoi cela est nécessaire, mais nous pouvons citer au moins deux raisons pour lesquelles cela vaut la peine.



Premièrement, il existe des organisations bien financées, des groupes très motivés et armés techniquement, des pirates informatiques travaillant pour des agences gouvernementales telles que la CIA et des laboratoires scientifiques entiers développant des logiciels incroyablement malveillants. De plus, ce logiciel complet a été testé à plusieurs reprises sur le terrain.

Comme je suis assez paresseux, et au lieu de coder, je préfère me vautrer sur la plage, faire du surf ou du yoga, je pensais: puisque ces gars-là créent un logiciel de piratage si efficace, pourquoi ne pas l'utiliser et le refaire à vos besoins? Que ceux qui ont plus de temps et d'argent fassent tout le travail dur pour moi.

Deuxièmement, si quelqu'un trouve nos programmes convertis, leur paternité sera toujours attribuée aux développeurs originaux, et non à nous, et c'est très bien. Vous pouvez demander, "OK, Patrick, si c'est une idée tellement cool, pourquoi les gens ne l'ont-ils pas encore fait?" Je répondrai: "Ils font ça!" Je ne peux pas commenter spécifiquement quoi que ce soit, mais les diapositives qui ont été rendues publiques montrent que la NSA a utilisé le reprofilage de logiciels malveillants pour tester les vulnérabilités des programmes antivirus populaires. Le New York Times a rapporté que les pirates chinois utilisent également une technique similaire.

L'utilisation d'un logiciel de piratage refait donne à ces agences bien nanties un double avantage. Premièrement, ils utilisent des logiciels espions développés dans d'autres pays contre les objectifs qu'une autre agence, un autre pays ou un groupe APT de cyberespionnage travaille déjà avec peu de risques. Par exemple, si vous travaillez dans la NSA et que vous allez pirater un objet que d'autres pirates font déjà, mais que vous ne voulez pas y injecter votre propre code, vous pouvez utiliser en toute sécurité un logiciel tiers refait. Dans le même temps, votre activité restera secrète, car il y a déjà ceux qui en sont soupçonnés en premier lieu.



Étant donné que ces agences préfèrent travailler en secret, elles ne sont pas intéressées à ce que quiconque s'informe de leur participation à ces questions, et les logiciels refaits y contribuent. Bien sûr, des problèmes surviennent avec la modification des programmes de piratage, dont nous parlerons aujourd'hui.



Mais nous verrons que ces problèmes ne sont pas insurmontables. Supposons que nous ayons repris un morceau du malware de quelqu'un d'autre pour le refaire. Premièrement, nous n'avons pas de code source, il n'y a qu'un échantillon de code binaire, nous devrons donc utiliser l'ingénierie inverse. J'appelle cela l'étape d'analyse lorsque nous essayons de comprendre ce que fait ce logiciel, comment il est mis en œuvre, comment il est installé, quelles capacités il possède et, bien sûr, nous découvrons avec quel serveur C&C il communique.

Après avoir traité tout cela, la deuxième étape commence - déterminer comment vous pouvez corriger ce malware. Comme nous n'avons pas de source, nous développons un patch au niveau binaire.

Étant donné que ce logiciel interagit dans la plupart des cas avec son propre serveur C&C, nous découvrons comment il découvre où obtenir l'adresse de ce serveur et quel protocole est utilisé pour l'échange de données. Ce n'est qu'après cela que vous pouvez créer votre propre serveur C&C, sur lequel le logiciel refait sera déployé, afin d'interagir avec le nouveau système infecté à partir de là.

Étant donné que nous utilisons des logiciels malveillants bien connus, Apple ou d'autres systèmes de sécurité antivirus ont très probablement des signatures de cette menace. Par conséquent, au stade final du reprofilage, nous devons trouver un moyen d'empêcher la détection des logiciels refaits.

Le reprofilage doit être abordé de manière très responsable si nous ne voulons pas que de très mauvaises choses se produisent.



Permettez-moi de vous donner un exemple de la façon dont nous avons essayé de refaire un logiciel malveillant pour macOS. Pendant le processus de mise à jour, nous avons oublié de changer l'adresse de sauvegarde sur le serveur pirate C&C. Nous étions sûrs que nous utilisions une partie entièrement refaite des logiciels malveillants, mais à un moment donné, nous avons envoyé une sauvegarde au serveur pirate d'origine, lui donnant accès à l'infrastructure que nous attaquions. Par conséquent, la modification du logiciel d'autres personnes doit être abordée avec beaucoup de prudence.

Parlons maintenant spécifiquement de la refonte de logiciels malveillants pour Mac, dont le but est de créer le logiciel de piratage de quelqu'un d'autre.



La première étape consiste à sélectionner un échantillon de malware pour la conversion en fonction de 2 critères. La première consiste à déterminer que ce logiciel malveillant devrait vous donner une idée de si vous avez besoin d'une porte dérobée interactive, ou d'un crypto-mineur, etc.



L'attribution des logiciels espions est peut-être importante pour vous - qu'elle soit attribuée à la CIA ou aux pirates russes. Chez objective-see.com, nous avons rassemblé une impressionnante collection de logiciels malveillants pour macOS. Tous les exemples de logiciels refaits dont nous parlerons aujourd'hui peuvent être téléchargés à partir de ce site.

Une fois que vous avez sélectionné un échantillon à modifier, le moment de l'analyse arrive. Son objectif principal est de découvrir des choses comme l'accès à distance. Si un logiciel malveillant accède à un serveur C&C distant, vous devez savoir de quel type de serveur il s'agit et s'il est possible de modifier le logiciel afin qu'il ne puisse plus nous contacter.



Si le malware ne communique pas avec le serveur distant, nous devons encore traiter le protocole afin de savoir comment déconcerter ce programme lorsqu'il se connecte à nouveau. Et bien sûr, vous devez bien comprendre les capacités de ce logiciel malveillant - comment il fonctionne, comment il interagit avec le système, y compris à distance, afin de savoir quelles commandes vous pouvez utiliser pour contrôler à distance les logiciels malveillants.

Dès que vous avez tout compris, il est temps de reconfigurer ou de reprofiler. Cela signifie généralement que vous devez corriger les logiciels malveillants au niveau binaire.



Cette diapositive montre que nous avons trouvé l'adresse du serveur C&C d'origine incorporée dans le code et que nous pouvons la remplacer par l'adresse dont nous avons besoin dans l'éditeur HEX. Cela signifie qu'après la modification, ce logiciel pourra communiquer avec notre propre serveur et en recevoir des tâches.

Comme je l'ai dit, si le malware est une porte dérobée ou un implant et est contrôlé à partir du serveur C&C d'origine, nous devrons écrire notre propre serveur de gestion et nous assurer que le programme est connecté et connecté afin que nous puissions utiliser toutes ses capacités à distance.



Un serveur C&C personnalisé ne devrait pas être trop compliqué, il suffit d'écrire un script Python compétent, mais si vous prévoyez d'utiliser votre logiciel contre de nombreux objectifs, vous aurez peut-être besoin de quelque chose de plus sérieux. Le DefCon précédent a expliqué comment créer l'un de ces serveurs C&C pour analyser des échantillons de logiciels. Il est probable que chacun des échantillons que vous analyserez sera différent des autres en utilisant un protocole différent, par conséquent, vous aurez besoin d'un serveur C&C distinct pour chacun des échantillons du logiciel converti.

Refaire la porte dérobée de FruitFly


Examinons un véritable échantillon de refonte de logiciels malveillants pour Mac. Créée il y a environ 15 ans par les experts de la sécurité Mac, cette porte dérobée s'appelle FruitFly ou Fruit Fly.

Cette porte dérobée complète prenant en charge le multitâche à distance nous a servi de candidat idéal pour le reprofilage. Il a la capacité d'infecter des fichiers et des processus système, de contrôler une webcam, une ligne de commande, sert d'enregistreur de frappe, peut prendre à distance des captures d'écran du bureau de la victime et collecter des informations sur les ordinateurs infectés exécutant macOS. Nous avions l'intention d'utiliser toutes ces fonctions pour résoudre nos propres problèmes.



La porte dérobée FruitFly était un script Perl très déroutant, mais si vous l'examinez attentivement, vous pouvez voir que sa logique traite les arguments de la ligne de commande. Nous pouvons dire que ce script vérifie si certaines options ou indicateurs de ligne de commande le font faire quoi que ce soit.



Il s'avère qu'il recherche un port ou une combinaison de ports pour connecter votre ordinateur à son serveur C&C. Cela signifie que si nous pouvons créer une direction vers notre propre serveur via la ligne de commande, nous n'aurons pas besoin de refaire le script Perl d'origine ou un binaire malveillant.

Nous avons commencé à déterminer s'il était possible d'enregistrer ce script FruitFly en tant que lanceur. Comme le montre la diapositive, nous pouvons y incorporer l'adresse de notre propre serveur C&C. Cela signifie que nous pouvons facilement re-profiler cette porte dérobée pour nous connecter à notre serveur, en contournant la connexion avec le serveur pirate d'origine.



Cependant, pour utiliser cette porte dérobée, elle doit être installée sur l'ordinateur de l'utilisateur. La bonne nouvelle est que j'ai déjà écrit un tel programme d'installation, qui est disponible sur pastebin.com. Ce sont quelques lignes de code qui installent les logiciels malveillants exactement de la même manière que la porte dérobée d'origine. Étant donné que j'ai également précédemment écrit un serveur C&C pour analyser cet échantillon, nous pouvons commencer à démontrer son fonctionnement.

Les démonstrations en temps réel comme celle-ci sont toujours un risque, donc je vais exécuter ce malware sur mon propre ordinateur portable de recherche, pas sur une machine virtuelle. Je répète - j'ai l'intention de vous montrer toute la puissance du malware converti, et la démonstration en conditions réelles est plus crédible, alors regardons ce logiciel en action sur un vrai matériel.

La première chose à faire est de démarrer le serveur C&C. Vous voyez que maintenant le système attend une connexion avec lui. Ensuite, vous devez exécuter un logiciel malveillant via le programme d'installation, en lui transmettant l'adresse IP de ce serveur. Après le démarrage, nous voyons sur le côté droit de la fenêtre que les logiciels malveillants se sont correctement connectés à notre serveur C&C. Nous voyons également tout un tas de tâches de piratage que ce logiciel malveillant peut utiliser contre les processus en cours d'exécution sur mon ordinateur portable personnel.



L'exécution de la commande # 13 montre où ce malware est installé dans le répertoire / Users / Patrick / fpsaud. En utilisant la commande n ° 2, vous pouvez prendre une capture d'écran et en utilisant le paramètre 0, vous pouvez prendre une capture d'écran en plein écran.



Je vais maintenant essayer de prendre une capture d'écran et de l'envoyer à notre serveur C&C. Comme vous pouvez le voir, tout fonctionne comme il se doit. C'est ainsi que fonctionne la porte dérobée FruitFly repensée.

Altération du mineur CreativeUpdate


Ensuite, nous parlerons de la refonte du mineur de crypto-monnaie CreativeUpdate pour nos besoins. Il est utile si vous souhaitez utiliser les ordinateurs d'autres personnes pour le cryptage, mais que vous n'avez pas en même temps le temps, les compétences et les ressources.



Ce mineur cryptographique s'intègre aux chevaux de Troie et est distribué via des applications tierces populaires de MacUpdate.com. La diapositive montre un exemple d'installation du navigateur Firefox Quantum, qui n'a pas la signature du développeur Mozila d'origine et télécharge un crypto mineur depuis l'un des serveurs Adobe Creative Cloud sur l'ordinateur de l'utilisateur.



Si nous montons une image disque infectée contenant un tel cheval de Troie et appliquons la rétro-ingénierie au binaire principal, nous constaterons qu'il utilise une méthode appelée «exécuter le script avec des impressions» - «exécuter le script avec des impressions». Si vous regardez ce qu'il fait avec un décompilateur ou un désassembleur, vous pouvez voir qu'il exécute simplement un fichier appelé «script» en dehors du répertoire de ressources de l'application. Tout d'abord, il lance un cheval de Troie sous couvert d'une copie d'un produit populaire que l'utilisateur a téléchargé sur son ordinateur, par exemple le navigateur Firefox, pour qu'il ne soupçonne rien de mal.



Ensuite, nous voyons dans ce script qu'il communique avec le serveur attaquant, d'où il télécharge l'archive mdworker.zip. Pendant le déballage, cette archive installe quelque chose appelé mdworker sur le système. Si vous regardez le fichier MacOS.plist extrait de l'archive, vous pouvez voir qu'il enregistre ce binaire mdworker très malveillant sur l'ordinateur de l'utilisateur.



Nous voyons également des arguments de ligne de commande qui sont passés à ce binaire. Si vous exécutez ce fichier mdworker binaire, vous pouvez voir qu'il s'agit d'un mineur de crypto-monnaie entièrement légal appartenant à la société minière Miner Gate.

Les arguments de la ligne de commande indiquent également le compte du mineur auquel les résultats de l'extraction et le type de crypto-monnaie pour l'extraction seront envoyés.

Étant donné que les paramètres correspondants sont transmis via la ligne de commande et ne sont pas intégrés dans un fichier binaire, nous pouvons, comme dans le cas de Fruit Fly, substituer des arguments de ligne de commande pour réutiliser ce malware à nos fins. Par conséquent, nous modifions d'abord le fichier de la liste des propriétés de la liste des propriétés, ou .plist du logiciel malveillant afin qu'il pointe vers notre propre compte de mineur, puis emballons à nouveau tous les composants du logiciel malveillant dans l'archive. De plus, au lieu de télécharger l'archive à partir du serveur, nous l'ajoutons simplement à l'application malveillante. C'est beaucoup plus simple et plus autonome, car nous n'avons pas besoin de configurer un serveur distant pour démarrer.

Ensuite, nous reconfigurons le script pour qu'il fonctionne avec l'archive que nous avons ajoutée. Enfin, nous reconditionnons tout dans une image Firefox.dmg et nous pouvons commencer à travailler.



J'attire votre attention sur la deuxième démo. Dans la fenêtre du fichier, vous voyez les composants de l'application, y compris un script malveillant, l'archive mdworker.zip, le fichier de paramètres d'application AppSettings.plist et le navigateur Firefox d'origine.



Dans la fenêtre principale, nous voyons à quoi ressemble le contenu téléchargé par l'utilisateur qu'il est sur le point de lancer.



J'exécute cette application sur mon ordinateur portable afin de l'utiliser pour mon propre minage de crypto-monnaie. Je clique sur l'icône du navigateur, la fenêtre du navigateur Firefox apparaît à l'écran et extérieurement tout va bien.

Pour voir ce qui se passe réellement sur le système après le démarrage de cette application, j'appelle la fenêtre du terminal macOS à l'écran. , mdworker, , patrick@objective-see.com.

- ransomware


, , , - ransomware, .



, KeRanger. , macOS. Bit-Torrent, -. , , .

, General.rtf. , , macOS. , C&C- .



, , , «» . -.

. -, , .



, , HEX- , «», C&C-, 127.0.0.1. RSA , RSA- , NetCat.

. , , KeRanger. NetCat , .



, .



README_FOR_DECRIPT.txt. , : « wardle@objective-see.com!».



Windtall


Windtall. , , APT-. , .



malware. macOS, , URL-.

, . , , , macOS Custom URL, , .

, , , - URL, macOS .

Java . , URL, Mac. Java-, URL, .
, , , , .



, , . , , , , C&C- .

. SPF, , C&C-, , , C&C-.



24h00

DEFCON 27. macOS. 2e partie


Un peu de publicité :)


Merci de rester avec nous. Aimez-vous nos articles? Vous voulez voir des matériaux plus intéressants? Soutenez-nous en passant une commande ou en recommandant à vos amis, le cloud VPS pour les développeurs à partir de 4,99 $ , une réduction de 30% pour les utilisateurs Habr sur un analogue unique de serveurs d'entrée de gamme que nous avons inventé pour vous: toute la vérité sur VPS (KVM) E5-2650 v4 (6 Cœurs) 10 Go DDR4 240 Go SSD 1 Gbps à partir de 20 $ ou comment partager un serveur? (les options sont disponibles avec RAID1 et RAID10, jusqu'à 24 cœurs et jusqu'à 40 Go de DDR4).

Dell R730xd 2 fois moins cher? Nous avons seulement 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV à partir de 199 $ aux Pays-Bas! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - à partir de 99 $! Pour en savoir plus sur la création d'un bâtiment d'infrastructure. classe utilisant des serveurs Dell R730xd E5-2650 v4 coûtant 9 000 euros pour un sou?

Source: https://habr.com/ru/post/fr474418/


All Articles