If you follow us and read our daily diaries, you probably already know some famous tools developed by Didier (like oledump.py, translate.py and many more). Didier is using them all the time to analyze malicious documents. His tools are also used by many security analysts and researchers. The complete toolbox is available on his github.com page. You can clone the repository or download the complete package available as a zip archive. However, it’s not convenient to install them all the time when you’re switching from computers all the time if, like me, you’re always on the road between different customers.
Being a fan of Docker containers, I built a Docker image called “DSSuite” (a not very original name 🙂 that contains all Didier’s tools preinstalled and ready to use from any system that has Docker available. The image is available on hub.docker.com.
To use it, just pull the image:
$ docker pull rootshell/dssuite
Once done, you can use tools directly from Docker or start an interactive shell. First, let’s try a simple oledump against a sample OLE file:
$ file malicious_ole.vir malicious_ole.vir: Composite Document File V2 Document, Cannot read section info $ docker run -it --rm -v $(pwd):/malware rootshell/dssuite oledump.py malicious_ole.vir 1: O 49737 'x01Ole10Native' 2: 6 'x03ObjInfo’
If you don’t pass arguments to the container, an interactive shell will be started:
$ docker run -it -v $(pwd):/malware rootshell/dssuite ____ ____ ____ _ _ | _ / ___/ ___| _ _(_) |_ ___ | | | ___ ___ | | | | | __/ _ | |_| |___) |__) | |_| | | || __/ |____/|____/____/ __,_|_|_____| Version 1.0 - Help: https://blog.didierstevens.com/my-software/ [email protected]:/malware#
Note that you need to map a /malware volume to access the malicious files to analyze
For more convenience, just create an alias like this in your shell to call directly the commands:
$ alias dssuite='docker run -it --rm -v $(pwd):/malware rootshell/dssuite [email protected]‘ $ dssuite oledump.py sample.doc
Most of the tools are running out of the box but let me know if you detect some issues and I’ll keep the Docker updated
Xavier Mertens (@xme)
Senior ISC Handler – Freelance Cyber Security Consultant
(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.