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:


RandIP - Network Mapper To Find Servers RandIP – Network Mapper To Find Servers
RandIP is a nim-based network mapper application that generates random IP addresses and uses sockets to test whether the connection is valid or not with additional tests for Telnet and SSH.
Nipe - Make Tor Default Gateway For Network Nipe – Make Tor Default Gateway For Network
Nipe is a Perl script to make Tor default gateway for network, this script enables you to directly route all your traffic from your computer to the Tor network.
Mosca - Manual Static Analysis Tool To Find Bugs Mosca – Manual Static Analysis Tool To Find Bugs
Mosca is a manual static analysis tool written in C designed to find bugs in the code before it is compiled, much like a grep unix command.
Slurp - Amazon AWS S3 Bucket Enumerator Slurp – Amazon AWS S3 Bucket Enumerator
Slurp is a blackbox/whitebox S3 bucket enumerator written in Go that can use a permutations list to scan externally or an AWS API to scan internally.
US Government Cyber Security Still Inadequate US Government Cyber Security Still Inadequate
Surprise, surprise, surprise - an internal audit of the US Government cyber security situation has uncovered widespread weaknesses, legacy systems and poor adoption of cyber controls and tooling.
BloodHound - Hacking Active Directory Trust Relationships BloodHound – Hacking Active Directory Trust Relationships
BloodHound is for hacking active directory trust relationships and it uses graph theory to reveal the hidden and often unintended relationships within an AD environment.


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