6.9 KiB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
-
Découvrez The PEASS Family, notre collection exclusive de NFTs
-
Obtenez le swag officiel PEASS & HackTricks
-
Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
-
Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
Contenu Overlay
Une façon simple de manipuler l'apparence des impressions est d'utiliser des superpositions.
PCL a une fonction documentée pour mettre des macros de superposition sur un document. Malheureusement, cette fonctionnalité est limitée au travail d'impression en cours et ne peut pas être rendue permanente.
PostScript n'offre pas une telle fonctionnalité par défaut, mais elle peut être programmée en redéfinissant l'opérateur showpage qui est contenu dans chaque document PostScript pour imprimer la page en cours. L'attaquant peut s'insérer là, exécuter son propre code et ensuite appeler la version originale de l'opérateur.
Ainsi, elle peut superposer toutes les pages à imprimer avec un fichier EPS personnalisé. Cette astuce peut être utilisée pour ajouter des graphiques ou des polices arbitraires aux copies papier d'un document (Il est possible de modifier complètement l'apparence d'un document en superposant une page blanche et en ajoutant ensuite un contenu personnalisé).
Évidemment, une telle approche ne peut réussir que si PostScript est utilisé comme pilote d'imprimante et qu'aucun StartJobPassword
n'est défini.
Comment tester cette attaque ?
Utilisez les commandes cross
ou overlay
de PRET en mode ps, puis déconnectez-vous et imprimez un document arbitraire :
./pret.py -q printer ps
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> overlay overlays/smiley.eps
printer:/> cross whoa "HACKED"
printer:/> exit
Remplacement de contenu
Même si un attaquant peut superposer un document existant, elle ne pourra pas modifier des valeurs spécifiques dans le document original à moins de connaître sa structure exacte. Parfois, on ne veut pas seulement ajouter un contenu personnalisé, mais analyser et remplacer des parties du document existant.
Le problème de remplacement de texte dans les fichiers PostScript peut être réduit au problème d'extraction de chaînes du document rendu. Ce n'est pas trivial, car les chaînes peuvent être construites dynamiquement par le programme PostScript lui-même. Ainsi, l'analyse et le remplacement simples dans le code source du document ne sont pas une option.
Vous pouvez utiliser un opérateur show
redéfini. L'opérateur show accepte une chaîne en entrée, qui est peinte à un certain emplacement de la page actuelle. En redéfinissant l'opérateur, le texte peut être extrait de manière élégante. Cette approche peut également être utilisée pour une recherche et un remplacement ciblés dans les chaînes immédiatement avant qu'elles ne soient peintes.
L'approche est réussie pour les documents PostScript basés sur LaTeX qui sont directement envoyés à l'imprimante, tandis qu'elle échoue pour les fichiers PostScript générés par GIMP qui, au lieu de chaînes, créent des graphiques raster de leur représentation. Le même problème se produit pour tout format de document - même PostScript lui-même - lorsqu'il est traité par CUPS. Théoriquement, de tels langages de construction pourraient également être analysés et devraient faire l'objet de recherches ultérieures.
Comment tester cette attaque ?
Utilisez la commande replace
de PRET en mode ps, puis déconnectez et imprimez un document PostScript contenant "DEF" :
./pret.py -q printer ps
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> replace "ABC" "DEF"
printer:/> exit
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
-
Découvrez The PEASS Family, notre collection exclusive de NFTs
-
Obtenez le swag officiel PEASS & HackTricks
-
Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
-
Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.