|
|
Origami pour forger, analyser et manipuler des fichiers PDF malicieux
Par Xavier Poli,
secuobs.com
Le 20/06/2009
Résumé : Origami est une plateforme en Ruby qui facilite l'analyse, la création et la modification de fichiers PDF malicieux. Elle permet notamment d'attacher des fichiers cachés et des codes Javascript, les fichiers en résultant échappent à la détection par la plupart des solutions antivirales du marché.
- Lire l'article
Origami est une plateforme en Ruby ( lien ) permettant de disséquer, d'analyser et de créer des documents au format PDF ( lien ). Elle fournit en ce sens un ensemble d'outils pour réaliser des scripts facilitant la génération et l'analyse de fichiers PDF malicieux. Origami peut ainsi être utilisé pour créer à la volée des fichiers PDF personnalisés où pour injecter des codes malicieux au sein de fichiers déjà existants.
Elle offre en ce sens la possibilité d'explorer en profondeur la structure de documents PDF à un niveau objet, la décompression des flux et la déobfuscation ( lien ) des noms et des chaînes sont également supportées. D'autres opérations comme le chiffrement, le déchiffrement, les signatures et l'attachement de fichiers sont envisageables par son intermédiaire, alors qu'une interface GTK ( lien ) l'accompagne pour faciliter la navigation au sein des contenus PDF.
Parmi les scripts disponibles, on notera « detecjs.rb » pour rechercher l'ensemble des objets Javascript d'un PDF et « embed.rb » pour ajouter un fichier caché à un document existant, mais également « create-jspdf.rb » pour ajouter du code Javascript ( lien ) qui sera exécuté dès lors que le fichier PDF sera ouvert. Finalement, le script « moebius.rb » transforme lui un document au format PDF en Ruban de Möbius ( lien ).
Les flux au sein d'un PDF étant des objets internes combinés avec des données externes, ils peuvent être utilisés pour y adosser un autre fichier, une vidéo ou une image par exemple. Ces flux supportent différents filtres de transformation pour les données utilisées. Origami supporte certains de ces filtres « SCIIHexDecode, ASCII85Decode, LZWDecode, FlateDecode, RunLengthDecode », alors que « CCITTFaxDecode, JBIG2Decode, DCTDecode, JPXDecode » devraient l'être dans de prochaines versions.
Des tests ont été menés à partir d'un document PDF considéré comme sain d'origine, après sa soumission au service Virus Total ( lien ), et auquel le fichier de test EICAR ( lien ) a été attaché. L'application, ou non, au fichier en résultant, de ces différents filtres, incluant le chiffrement qui n'est pas un filtre en lui-même, a permis d'obtenir des résultats « surprenants » lors d'essais ultérieurs de détection par ce même service, regroupant quarante et une solutions antivirales.
Ainsi le filtre FlateDecode, pour la zlib ( lien ), a permis au fichier malicieux de n'être détecté que par cinq de ces solutions, alors que la combinaison de multiples filtres (ASCIIHexDecode, LZWDecode, ASCII85Decode) a fait descendre ce résultat à seulement deux détections. A noter que l'ajout du chiffrement, et un mot de passe vide, ne changera pas ce nombre. Soit au final un score plus qu'honorable qui démontre que les solutions antivirales sont à la traîne en ce qui concerne les PDF.
Le page du projet sur Security Labs ( lien )
L'article dans les actes SSTIC ( lien )
Source : Blog ESEC Lab - « Virus total with origami? » ( lien ) « Streams and filters in PDF with origami » ( lien ) « Playing with origami in PDF » ( lien )
- Article suivant : MuDoS un générateur générique de Dénis de Service se basant sur la modélisation de facteurs communs
- Article précédent : Récupérer l'historique Web du navigateur d'une victime sans recourir à du code Javascript
- Article suivant dans la catégorie Outils : MuDoS un générateur générique de Dénis de Service se basant sur la modélisation de facteurs communs
- Article précédent dans la catégorie Outils : Slowloris exploite, en Déni de Service, une faille de conception dans Apache 1.x et 2.x, Squid, dhttpd et GoAhead WebServer
| Mini-Tagwall des articles publiés sur SecuObs : | | | | sécurité, exploit, windows, microsoft, attaque, réseau, metasploit, outil, vulnérabilité, système, audit, virus, internet, usbsploit, données, linux, présentation, source, bluetooth, protocol, réseaux, reverse, vista, scanner, shell, meterpreter, engineering, conférence, rootkit, wishmaster, trames, téléphone, paquet, mobile, sysun, noyau, libre, botnet, rapport, accès, intel, https, snort, mémoire, téléphones |
| Mini-Tagwall de l'annuaire video : | | | | security, metasploit, biomet, biometric, windows, botnet, defcon, password, vmware, tutorial, exploit, conference, crypt, virus, lockpicking, attack, network, linux, rootkit, conficker, shmoocon, wireshark, server, meterpreter, ettercap, source, iphone, openvpn, openbsd, iptables, backtrack, openssh, deepsec, systm, hnncast, securitytube, brucon, shell, access, secconf, engineering, internet, fingerprint, virtual, firewall |
| Mini-Tagwall des articles de la revue de presse : | | | | security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone, server, inject, patch, apple, twitter, mobile, virus, ebook, facebook, vulnérabilité, crypt, source, linux, password, intel, research, virtual, phish, access, tutorial, trojan, social, privacy, firefox, adobe, overflow, office, cisco, conficker, botnet, pirate, sécurité |
| Mini-Tagwall des Tweets de la revue Twitter : | | | | security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall, network, twitter, vmware, windows, microsoft, compliance, vulnerability, python, engineering, source, kernel, crypt, social, overflow, nessus, crack, hacker, virus, iphone, patch, virtual, javascript, malware, conficker, pentest, research, email, password, adobe, apache, proxy, backtrack |
|
|
|
|
|