Microsoft Access files (Microsoft Office's Database) can contain VBA code.

But they are not ole or OOXML files. You can't analyze them with oledump.py:

Neither do they contain an embedded OLE file:

Microsoft does not publish official documentation for the Microsoft Access file format, like it does for CFB (ole) and OOXML.

That inspired me to add support for VBA compression to my search-for-compression.py tool.

search-for-compression.py is a tool that searches through binary files, looking for data that is ZLIB compressed. I've now added the option to search for compressed VBA code too. That is done with option -t:

There are 3 entries. The first 2 decompress to binary data (01 00 04 ...). These are similar to dir streams in ole files. dir streams specify VBA project properties, project references, and module properties. They can be dumped:

The 3th one starts with ASCII data (Attritut). This is VBA code that can be selected and dumped:

This example is simple, because it's just an empty database that I created for this diary entry.

Real samples are a bit more complex. I'll cover some examples in an upcoming diary entry.

 

Didier Stevens
Senior handler
blog.DidierStevens.com

(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.