ai-security EN

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd)

In diary entry " Quick Howto: Extract URLs from RTF files " I mentioned ZIP files.

There are OLE objects inside this RTF file:

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

They can be analyzed with oledump.py like this:

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

Options –storages and -E %CLSID% are used to show the abused CLSID.

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

Stream CONTENTS contains the URL:

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

We extracted this URL with the method described in my previous diary entry " Quick Howto: Extract URLs from RTF files “.

But this OLE object contains a .docx file.

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

A .docx file is a ZIP container, and thus the URLs it contains are inside compressed files, and will not be extracted with the technique I explained.

But this file can be looked into with zipdump.py :

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

It is possible to search for ZIP files embedded inside RTF files: 50 4B 03 04 -> hex sequence of magic number header for file record in ZIP file.

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

Search for all embedded ZIP files:

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

Extract URLs:

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

Quick Howto: ZIP Files Inside RTF, (Mon, Mar 2nd) illustration

Didier Stevens

Senior handler

blog.DidierStevens.com