Origami – Parse, Analyze & Forge PDF Documents


origami is a Ruby framework designed to parse, analyze, and forge PDF documents. This is NOT a PDF rendering library. It aims at providing a scripting tool to generate and analyze malicious PDF files. As well, it can be used to create on-the-fly customized PDFs, or to inject (evil) code into already existing documents.

Features

  • Create PDF documents from scratch.
  • Parse existing documents, modify them and recompile them.
  • Explore documents at the object level, going deep into the document structure, uncompressing PDF object streams and desobfuscating names and strings.
  • High-level operations, such as encryption/decryption, signature, file attachments…
  • A GTK interface to quickly browse into the document contents.

Full Scripts

Some scripts are provided to help in performing common actions on PDF files. You can contribute more by sending your own scripts to origami(at)security-labs.org.

  • detectjs.rb: search for all JavaScript objects.
  • embed.rb: add an attachment to a PDF file.
  • create-jspdf.rb: add a JavaScript to a PDF file, executed when the document is opened.
  • moebius.rb: transform a PDF to a moebius strip.
  • encrypt.rb: encrypt a PDF file.

You can download Origami here:

origami-1.0.0-beta1.tar.gz

Or read more here.

Posted in: Forensics, Hacking Tools, Privacy

, , ,


Latest Posts:


HELK - Open Source Threat Hunting Platform HELK – Open Source Threat Hunting Platform
The Hunting ELK or simply the HELK is an Open-Source Threat Hunting Platform with advanced analytics capabilities such as SQL declarative language, graphing etc
trape - OSINT Analysis Tool For People Tracking Trape – OSINT Analysis Tool For People Tracking
Trape is an OSINT analysis tool, which allows people to track and execute intelligent social engineering attacks in real-time.
Fuzzilli - JavaScript Engine Fuzzing Library Fuzzilli – JavaScript Engine Fuzzing Library
Fuzzilii is a JavaScript engine fuzzing library, it's a coverage-guided fuzzer for dynamic language interpreters based on a custom intermediate language.
OWASP APICheck - HTTP API DevSecOps Toolset OWASP APICheck – HTTP API DevSecOps Toolset
APICheck is an HTTP API DevSecOps toolset, it integrates existing tools, creates execution chains easily and is designed for integration with 3rd parties.
trident - Automated Password Spraying Tool trident – Automated Password Spraying Tool
The Trident project is an automated password spraying tool developed to be deployed on multiple cloud providers and provides advanced options around scheduling
tko-subs - Detect & Takeover Subdomains With Dead DNS Records tko-subs – Detect & Takeover Subdomains With Dead DNS Records
tko-subs is a tool that helps you to detect & takeover subdomains with dead DNS records, this could be dangling CNAMEs point to hosting services and more.


7 Responses to Origami – Parse, Analyze & Forge PDF Documents

  1. anonymous October 20, 2009 at 3:00 pm #

    clamav reports this containts a virus.

    http://www.virustotal.com/analisis/03d625dd6742e83e1cf1e7aada8ac8204c837386922d724032600a741c8dd32d-1256051167

  2. Sebastian Haensch October 20, 2009 at 3:18 pm #

    Panda reports Eicar.Mod thats funny…

    EICAR: http://en.wikipedia.org/wiki/EICAR_test_file
    I use this string sometimes during security audits. Panda reports the string as Eicar.Mod

    I havn’t looked trough the code but I wonder if it contains the EICAR string or what hack Panda is trying to tell us here :)

  3. K.P. October 21, 2009 at 2:15 am #

    Avast reports JS:Pdfka-FS exploit ?!

    Whatsup?

  4. Darknet October 21, 2009 at 3:09 am #

    It’s a PDF exploitation tool and you guys are questioning why AV detects a PDF exploit inside, you baffle me really.

  5. M October 21, 2009 at 11:49 am #

    What’s a moebius strip in this context?

  6. Rishabh Dangwal October 21, 2009 at 12:27 pm #

    amateurs…

  7. Sebastian Haensch October 21, 2009 at 9:41 pm #

    everyone was an amateur once….. even you

    detection routines trigger on hack tools like this since they contain exploit code or can be used for harmfull actions. it’s a common behavior.

    i talked to my guy at panda labs today, he was suprised that panda actually reports a virus.test.string instead of exploit.code, somethin wrong but nothin to worry about it will be detected as hacktool by panda soon