-
Notifications
You must be signed in to change notification settings - Fork 586
Closed
Description
Affected tool:
olevba
Describe the bug
UnexpectedDataError: Unexpected value in Macros/VBA/dir for variable PROJECTDOCSTRING_Id: expected 0005 but found 0051!
File/Malware sample to reproduce the bug
https://drive.google.com/file/d/1w3un-p-yPyqFYx30oInHVOo4su-kIJhr/view
password: oletools
How To Reproduce the bug
Run olevba 0.56dev6 on Python 3.8.2
Console output / Screenshots
olevba 0.56dev6 on Python 3.8.2 - http://decalage.info/python/oletools =============================================================================== FILE: /home/ocoutu/Downloads/invoice_number.doc Type: OLE ERROR Error in _extract_vba Traceback (most recent call last): File "olevba.py", line 3327, in extract_macros for stream_path, vba_filename, vba_code in \ File "olevba.py", line 2065, in _extract_vba project = VBA_Project(ole, vba_root, project_path, dir_path, relaxed=False) File "olevba.py", line 1727, in __init__ self.check_value('PROJECTDOCSTRING_Id', 0x0005, projectdocstring_id) File "olevba.py", line 1962, in check_value raise UnexpectedDataError(self.dir_path, name, expected, value) UnexpectedDataError: Unexpected value in Macros/VBA/dir for variable PROJECTDOCSTRING_Id: expected 0005 but found 0051! Traceback (most recent call last): File "olevba.py", line 3891, in process_file self.run_analysis(show_decoded_strings=show_decoded_strings, deobfuscate=deobfuscate) File "olevba.py", line 3787, in run_analysis self.analyze_macros(show_decoded_strings, deobfuscate) File "olevba.py", line 3411, in analyze_macros for (_, _, _, vba_code) in self.extract_all_macros(): File "olevba.py", line 3390, in extract_all_macros for (subfilename, stream_path, vba_filename, vba_code) in self.extract_macros(): File "olevba.py", line 3374, in extract_macros if self.detect_vba_stomping(): File "olevba.py", line 3735, in detect_vba_stomping vba_code_all_modules += vba_code + '\n' TypeError: can't concat str to bytes ERROR Error processing file /home/ocoutu/Downloads/invoice_number.doc (can't concat str to bytes)! Traceback (most recent call last): File "olevba.py", line 3891, in process_file self.run_analysis(show_decoded_strings=show_decoded_strings, deobfuscate=deobfuscate) File "olevba.py", line 3787, in run_analysis self.analyze_macros(show_decoded_strings, deobfuscate) File "olevba.py", line 3411, in analyze_macros for (_, _, _, vba_code) in self.extract_all_macros(): File "olevba.py", line 3390, in extract_all_macros for (subfilename, stream_path, vba_filename, vba_code) in self.extract_macros(): File "olevba.py", line 3374, in extract_macros if self.detect_vba_stomping(): File "olevba.py", line 3735, in detect_vba_stomping vba_code_all_modules += vba_code + '\n' TypeError: can't concat str to bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "olevba.py", line 4187, in process_file vba_parser.process_file(show_decoded_strings=options.show_decoded_strings, File "olevba.py", line 3977, in process_file raise ProcessingError(self.filename, exc) ProcessingError: Error processing file /home/ocoutu/Downloads/invoice_number.doc (can't concat str to bytes) (venv) ✘ ocoutu@P180 ~/Programs/oletools/oletools master (venv) ✘ ocoutu@P180 ~/Programs/oletools/oletools master python olevba.py -l debug ~/Downloads/invoice_number.doc olevba 0.56dev6 on Python 3.8.2 - http://decalage.info/python/oletools INFO Opening OLE file /home/ocoutu/Downloads/invoice_number.doc INFO Check whether OLE file is PPT DEBUG using open OleFileIO DEBUG File appears not to be a ppt file (In stream "root" for field "listdir" found value "[['\x01CompObj'], ['\x05DocumentSummaryInformation'], ['\x05SummaryInformation'], ['1Table'], ['Data'], ['Macros', 'AXLBRmxlxpoxs', '\x01CompObj'], ['Macros', 'AXLBRmxlxpoxs', '\x03VBFrame'], ['Macros', 'AXLBRmxlxpoxs', 'f'], ['Macros', 'AXLBRmxlxpoxs', 'i05', '\x01CompObj'], ['Macros', 'AXLBRmxlxpoxs', 'i05', 'f'], ['Macros', 'AXLBRmxlxpoxs', 'i05', 'o'], ['Macros', 'AXLBRmxlxpoxs', 'i07', '\x01CompObj'], ['Macros', 'AXLBRmxlxpoxs', 'i07', 'f'], ['Macros', 'AXLBRmxlxpoxs', 'i07', 'o'], ['Macros', 'AXLBRmxlxpoxs', 'i09', '\x01CompObj'], ['Macros', 'AXLBRmxlxpoxs', 'i09', 'f'], ['Macros', 'AXLBRmxlxpoxs', 'i09', 'i11', '\x01CompObj'], ['Macros', 'AXLBRmxlxpoxs', 'i09', 'i11', 'f'], ['Macros', 'AXLBRmxlxpoxs', 'i09', 'i11', 'o'], ['Macros', 'AXLBRmxlxpoxs', 'i09', 'i12', '\x01CompObj'], ['Macros', 'AXLBRmxlxpoxs', 'i09', 'i12', 'f'], ['Macros', 'AXLBRmxlxpoxs', 'i09', 'i12', 'o'], ['Macros', 'AXLBRmxlxpoxs', 'i09', 'o'], ['Macros', 'AXLBRmxlxpoxs', 'i09', 'x'], ['Macros', 'AXLBRmxlxpoxs', 'o'], ['Macros', 'PROJECT'], ['Macros', 'PROJECTwm'], ['Macros', 'UserForm1', '\x01CompObj'], ['Macros', 'UserForm1', '\x03VBFrame'], ['Macros', 'UserForm1', 'f'], ['Macros', 'UserForm1', 'o'], ['Macros', 'VBA', 'APWSZcovlnbu'], ['Macros', 'VBA', 'AXLBRmxlxpoxs'], ['Macros', 'VBA', 'UserForm1'], ['Macros', 'VBA', '_VBA_PROJECT'], ['Macros', 'VBA', '__SRP_0'], ['Macros', 'VBA', '__SRP_1'], ['Macros', 'VBA', '__SRP_2'], ['Macros', 'VBA', '__SRP_3'], ['Macros', 'VBA', 'dir'], ['WordDocument']]" but expected len = 1!) =============================================================================== FILE: /home/ocoutu/Downloads/invoice_number.doc Type: OLE DEBUG VBA_Parser.find_vba_projects DEBUG Checking storage ['Macros'] DEBUG Checking storage ['Macros', 'AXLBRmxlxpoxs'] DEBUG Checking storage ['Macros', 'AXLBRmxlxpoxs', 'i05'] DEBUG Checking storage ['Macros', 'AXLBRmxlxpoxs', 'i07'] DEBUG Checking storage ['Macros', 'AXLBRmxlxpoxs', 'i09'] DEBUG Checking storage ['Macros', 'AXLBRmxlxpoxs', 'i09', 'i11'] DEBUG Checking storage ['Macros', 'AXLBRmxlxpoxs', 'i09', 'i12'] DEBUG Checking storage ['Macros', 'UserForm1'] DEBUG Checking storage ['Macros', 'VBA'] DEBUG Found VBA storage: Macros/VBA DEBUG Checking vba_root="Macros/" DEBUG Found PROJECT stream: Macros/PROJECT DEBUG Found VBA/_VBA_PROJECT stream: Macros/VBA/_VBA_PROJECT DEBUG Found VBA/dir stream: Macros/VBA/dir DEBUG VBA root storage: "Macros/" DEBUG Checking DirEntry #0 DEBUG Checking DirEntry #1 DEBUG Reading data from stream 'Data' - size: 101492 bytes DEBUG Read 101492 bytes DEBUG b't\x8c\x01\x00D\x00d\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4W\xf2+\xa0\x01\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x04\xf0\xb2\x00\x00\x00\xb2\x04\n\xf0\x08\x00\x00\x00\x01\x04\x00\x00\x00\n\x00\x00\x83\x00\x0b\xf0\x80\x00\x00\x00'...[much more data]...b'\x07\x97?\xe4K\xebg\xe0\xceX\xeb\xa7\xae\x7f\xf5\xe6\xfe\xc2\x7f\xd8O\xec9q\xafg\x7f\xf4\xb7\xb3\xbd\x93\xec\x8e\xe3\xfd\xc6.\x1c{\x8f\x8f~~\xad\xbc@\x0f\xff\xd9' DEBUG Checking DirEntry #2 DEBUG Reading data from stream '1Table' - size: 7035 bytes DEBUG Read 7035 bytes DEBUG b'\x06\x06\x0f\x00\x12\x00\x01\x00s\x01\x0f\x00\x07\x00\x03\x00\x00\x00\x03\x00\x00\x00\x04\x00\x08\x00\x00\x00\x98\x00\x00\x00\x9e\x00\x00\x00\x9e\x00\x00\x00\x9e\x00\x00\x00\x9e\x00\x00\x00\x9e\x00\x00\x00\x9e\x00\x00\x00\x9e\x00\x00\x00\x9e\x00\x00\x006\x06\x00\x006\x06\x00\x006\x06\x00\x006\x06\x00\x006\x06\x00\x006\x06\x00\x006\x06\x00\x006\x06\x00\x006\x06\x00\x00'...[much more data]...b'\xdc\x00\x00\x00\x00\x00\x00\x00\xff\xff\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #3 DEBUG Reading data from stream 'WordDocument' - size: 4096 bytes DEBUG Read 4096 bytes DEBUG b'\xec\xa5\xc1\x00[\xe0\t\x04\x00\x00\xf8\x12\xbf\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x08\x00\x00 \x08\x00\x00\x0e\x00bjbj\x12\x0b\x12\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x04\x16\x00.\x0e\x00\x00pa!\\pa!\\ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'...[much more data]...b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #4 DEBUG Reading data from stream '\x05SummaryInformation' - size: 420 bytes DEBUG Read 420 bytes DEBUG b"\xfe\xff\x00\x00\x06\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xe0\x85\x9f\xf2\xf9Oh\x10\xab\x91\x08\x00+'\xb3\xd90\x00\x00\x00t\x01\x00\x00\x11\x00\x00\x00\x01\x00\x00\x00\x90\x00\x00\x00\x02\x00\x00\x00d\x01\x00\x00\x03\x00\x00\x00\x98\x00\x00\x00\x04\x00\x00\x00L\x01\x00\x00\x05\x00\x00\x00\xa4\x00\x00\x00\x06\x00\x00\x00"...[much more data]...b'\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\r\x00\x00\x00Lucie Renard\x00\x00\x00\x00\x1e\x00\x00\x00\x06\x00\x00\x00Modi.\x00\x00\x00' DEBUG Checking DirEntry #5 DEBUG Reading data from stream '\x05DocumentSummaryInformation' - size: 352 bytes DEBUG Read 352 bytes DEBUG b'\xfe\xff\x00\x00\x06\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\xd5\xcd\xd5\x9c.\x1b\x10\x93\x97\x08\x00+,\xf9\xaeD\x00\x00\x00\x05\xd5\xcd\xd5\x9c.\x1b\x10\x93\x97\x08\x00+,\xf9\xae,\x01\x00\x00\xe8\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00h\x00\x00\x00\x0f\x00\x00\x00p\x00\x00\x00\x05\x00\x00\x00|\x00\x00\x00'...[much more data]...b'\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x01\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x80,\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\xb0\x04\x00\x00\x13\x00\x00\x00\t\x04\x00\x00' DEBUG Checking DirEntry #6 DEBUG Checking DirEntry #7 DEBUG Checking DirEntry #8 DEBUG Reading data from stream 'APWSZcovlnbu' - size: 1330 bytes DEBUG Read 1330 bytes DEBUG b'\x01\x16\x01\x00\x06\x00\x01\x00\x00V\x03\x00\x00\xe4\x00\x00\x00\xea\x01\x00\x00\x84\x03\x00\x00\x92\x03\x00\x00>\x04\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\xab\xc0\xf4\x00\x00\xff\xff\xa3\x01\x00\x00\x88\x00\x00\x00\xb6\x00\xff\xff\x01\x01\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff<\x00\xff\xff\x00\x00\xc3\x04;\xed\x96.\xe6C\x93\xdd_\x8cD\x015\x7f\x8f'...[much more data]...b'ope\x08n()\x00cXLBR\x08mxl\x80>xs.N\x00MVSRxbbt\x00qnhvl\r\nE\x04nd\x81\x1c\r\n\r\n' DEBUG Found VBA compressed code DEBUG Checking DirEntry #9 DEBUG Reading data from stream '__SRP_2' - size: 304 bytes DEBUG Read 304 bytes DEBUG b'rU\x80\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\t\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x00\x00\x03\x000\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x00\x00\x01\x00\x01\x00\x00\x00\x01\x00\xa9\x07\x00\x00\x00\x00\x00\x00\xd1\x07\x00\x00\x00\x00\x00\x00\t\x08\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x01\x00\x02\x00\x81\x07'...[much more data]...b'\x00\x00\x04\x00\x00\x00\x0c\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x13\x00\x004\x00X\x00\x00\x7f\x00\x00\x00\x00' DEBUG Checking DirEntry #10 DEBUG Reading data from stream '__SRP_3' - size: 103 bytes DEBUG Read 103 bytes DEBUG b'rU\x80\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\t\x00\x00\x00\x00\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00@\x00\x00\x00\x04\x00$\x00\x01\x01\x00\x00\x00\x00\x02\x00\x00\x00\x04`\x00\x00\xec\x06\x1c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00n\x00\x00\x7f\x00\x00\x00\x00' DEBUG Checking DirEntry #11 DEBUG Reading data from stream 'AXLBRmxlxpoxs' - size: 7616 bytes DEBUG Read 7616 bytes DEBUG b'\x01\x16\x01\x00\x01\xf0\x00\x00\x00\xb8\x06\x00\x00\xd4\x00\x00\x00L\x02\x00\x00\xff\xff\xff\xff\xbf\x06\x00\x00s\x15\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\xab\x97*\x00\x00\xff\xff\x01\x00\x00\x00\x88\x00\x00\x00\xb6\x00\xff\xff\x01\x01\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'...[much more data]...b'EpkrIQy\xc0FlK", \x05$\x01\x14\x00KjpkmPly\x04B"\x00\x9eEnd F\x00unction\r\x00\n\r\n' DEBUG Found VBA compressed code DEBUG Checking DirEntry #12 DEBUG Reading data from stream 'UserForm1' - size: 1168 bytes DEBUG Read 1168 bytes DEBUG b'\x01\x16\x01\x00\x01\xf0\x00\x00\x00H\x03\x00\x00\xd4\x00\x00\x00L\x02\x00\x00\xff\xff\xff\xffO\x03\x00\x00\xa3\x03\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\xab_\x1c\x00\x00\xff\xff\x01\x00\x00\x00\x88\x00\x00\x00\xb6\x00\xff\xff\x01\x01\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'...[much more data]...b'\x06DId\x00\xd4Tru\rBE`xpose\x01\x0e\x110T\x00emplateD\x10eriv\x96\x12Cus tomiz\x8bD' DEBUG Found VBA compressed code DEBUG Checking DirEntry #13 DEBUG Reading data from stream '_VBA_PROJECT' - size: 11929 bytes DEBUG Read 11929 bytes DEBUG b'\xcca\xa3\x00\x00\x01\x00\xff\t\x04\x00\x00\t\x04\x00\x00\xe4\x04\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x06\x00\x02\x00\xfe\x00*\x00\\\x00G\x00{\x000\x000\x000\x002\x000\x004\x00E\x00F\x00-\x000\x000\x000\x000\x00-\x000\x000\x000\x000\x00-\x00C\x000\x000\x000\x00-\x000\x000\x000\x000\x00'...[much more data]...b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00' DEBUG Checking DirEntry #14 DEBUG Reading data from stream 'dir' - size: 895 bytes DEBUG Read 895 bytes DEBUG b'\x01{\xb3\x80\x01\x00\x04\x00\x00\x00\x01\x000*\x02\x02\x90\t\x00p\x14\x06H\x03\x00\x82\x02\x00d\xe4\x04\x04\x00\x07\x00\x1c\x00NormalaQQ\x00(\x00\x00@\x02\x14\x06\x02\x14=\xad\x02\n\x07\x02l\x01\x14\x08\x06\x12\t\x02\x12\x80A\x8d\x0ea\r\x00\x0c\x02J\x12<\x02\n\x16\x00\x01rstd\x10ole>\x02\x19s'...[much more data]...b'>("\x13\xe5\x13ax\xe16\xe1/1G\x14\x00\x12\x80\x03U\xa0\x10e\x00rm\x86]1\xc0\x0f\xca\x042\xd4\x04\xef\x10\xa9R\x03\xef\x10_\x1c\xef\x10\x10b\x12' DEBUG Checking DirEntry #15 DEBUG Reading data from stream '__SRP_0' - size: 1586 bytes DEBUG Read 1586 bytes DEBUG b'\x93K*\xa3\x01\x00\x10\x00\x00\x00\xff\xff\x00\x00\x00\x00\x01\x00\x02\x00\xff\xff\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x05\x00\x05\x00\x05\x00\x05\x00\x05\x00\x05\x00\x05\x00\x05\x00\x05\x00\x05\x00\x05\x00\x05\x00\x01\x00\t\x00\x00\x00*\\CNormalrU\x80\x01\x00\x00\x80\x00\x00\x00\x80\x00\x00'...[much more data]...b'ent\x04\x00\x00\x02\r\x00\x00\x00Document_open\x03\x00\x00\r\x0c\x00\x0c\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00h\x00\x00\x7f\x00\x00\x00\x00' DEBUG Checking DirEntry #16 DEBUG Reading data from stream '__SRP_1' - size: 110 bytes DEBUG Read 110 bytes DEBUG b'rU\x80\x00\x00\x00\x80\x00\x00\x00\x80\x00\x00\x00\x80\x00\x00\x00\x01\x00\x00~}\x00\x00\x7f\x00\x00\x00\x00\n\x00\x00\x00\t\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\t\x00\x00\x00\x00\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\x03\x00\x00\t1\x03\x00\x00\x00\x00\x00\x001\x08\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x01\x00p\x00\x00\x7f\x00\x00\x00\x00' DEBUG Checking DirEntry #17 DEBUG Checking DirEntry #18 DEBUG Reading data from stream 'f' - size: 562 bytes DEBUG Read 562 bytes DEBUG b'\x00\x04 \x00\x08\x0c\x00\x0c\r\x00\x00\x00\x14\x00\x00\x00\x00}\x00\x00k\x1f\x00\x00\xc6\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x04\x02\x00\x00\x00\x8a\x01\x00\x00\x00,\x00\xe5\x01\x00\x00\x10\x00\x00\x80\x01\x00\x00\x00H\x00\x00\x00\x00\x00\x19\x00MLOEAheomslajzsc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'...[much more data]...b'\x00\x00\x00\x00,\x00\xe5\x01\x00\x00\x0f\x00\x00\x80\r\x00\x00\x00L\x00\x00\x00\x08\x00\x19\x00TVRPLetmdthdoap\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #19 DEBUG Reading data from stream 'o' - size: 456 bytes DEBUG Read 456 bytes DEBUG b'\x00\x02(\x00A\x01E\x80\x00\x00\x00\x00\x1bH\x80,\x03\x01\x02\x00\x0c\x00\x00\x80\xec\t\x00\x00{\x02\x00\x00ZPKVYkweqmit\x00\x02\x18\x005\x00\x00\x00\x06\x00\x00\x80\xa5\x00\x00\x00\x00\x02\x00\x00Tahoma\x00\x00\x00\x02,\x00A\x01E\x80\x00\x00\x00\x00\x1bH\x80,\x03\x01\x02\x00\r\x00\x00\x80\xec\t\x00\x00'...[much more data]...b'\x00\x00{\x02\x00\x00MCNIWfiwcgwqv\x00\x00\xff\x00\x02\x18\x005\x00\x00\x00\x06\x00\x00\x80\xa5\x00\x00\x00\x00\x02\x00\x00Tahoma\x00\x00' DEBUG Checking DirEntry #20 DEBUG Checking DirEntry #21 DEBUG Reading data from stream 'f' - size: 44 bytes DEBUG Read 44 bytes DEBUG b'\x00\x04 \x00@\x0c\x02\x08\x04\x80\x00\x00\x03\x00\x00\x00\x00}\x00\x00\xc4\x1d\x00\x00\xd8\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #22 DEBUG Reading data from stream 'o' - size: 0 bytes DEBUG Read 0 bytes DEBUG b'' DEBUG Checking DirEntry #23 DEBUG Reading data from stream '\x01CompObj' - size: 112 bytes DEBUG Read 112 bytes DEBUG b'\x01\x00\xfe\xff\x03\n\x00\x00\xff\xff\xff\xff \x18n`\xf4\xce\x11\x9b\xcd\x00\xaa\x00`\x8e\x01\x1a\x00\x00\x00Microsoft Forms 2.0 Frame\x00\x10\x00\x00\x00Embedded Object\x00\x0e\x00\x00\x00Forms.Frame.1\x00\xf49\xb2q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #24 DEBUG Checking DirEntry #25 DEBUG Reading data from stream 'f' - size: 44 bytes DEBUG Read 44 bytes DEBUG b'\x00\x04 \x00@\x0c\x02\x08\x04\x80\x00\x00\x03\x00\x00\x00\x00}\x00\x00\xc4\x1d\x00\x00\xd8\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #26 DEBUG Reading data from stream 'o' - size: 0 bytes DEBUG Read 0 bytes DEBUG b'' DEBUG Checking DirEntry #27 DEBUG Reading data from stream '\x01CompObj' - size: 112 bytes DEBUG Read 112 bytes DEBUG b'\x01\x00\xfe\xff\x03\n\x00\x00\xff\xff\xff\xff \x18n`\xf4\xce\x11\x9b\xcd\x00\xaa\x00`\x8e\x01\x1a\x00\x00\x00Microsoft Forms 2.0 Frame\x00\x10\x00\x00\x00Embedded Object\x00\x0e\x00\x00\x00Forms.Frame.1\x00\xf49\xb2q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #28 DEBUG Checking DirEntry #29 DEBUG Reading data from stream 'f' - size: 176 bytes DEBUG Read 176 bytes DEBUG b'\x00\x04$\x00H\x0c\x00\x0c\x0c\x00\x00\x00\x04\xc0\x00\x00\x04\x00\x00\x00\x00}\x00\x00\xd8\x13\x00\x00\xe2\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00p\x00\x00\x00\x00\x83\x01\x00\x00\x00\x18\x00\xe4\x01\x00\x00\n\x00\x00\x00\xe8=\x00\x00\x02\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x00\xd5\x01\x00\x00\x05\x00\x00\x80\x0b\x00\x00\x00#\x00\x04\x00\x00\x00\x07\x00Page1\x00\x00\x005\x00\x00\x00,\x02\x00\x00\x00\x00$\x00\xd5\x01\x00\x00\x05\x00\x00\x80\x0c\x00\x00\x00!\x00\x04\x00\x01\x00\x07\x00Page2a\x00\x005\x00\x00\x00,\x02\x00\x00\x00\x02\x0c\x00\x19\x00\x00\x00\xfc\x8f\x00\x00\xff\x01\x00\x00' DEBUG Checking DirEntry #30 DEBUG Reading data from stream 'o' - size: 15848 bytes DEBUG Read 15848 bytes DEBUG b'\x00\x02\xc0=1\x80\xfa\x00\x00\x00\x00\x00\x18\x00\x00\x00\\=\x00\x00\x10\x00\x00\x00\x04\x00\x00\x00\x08\x00\x00\x00\x02\x00\x00\x00\x08\x00\x00\x00\xd8\x13\x00\x00\xe2\x0e\x00\x00\x05\x00\x00\x80Page1me.\x05\x00\x00\x80Page2me.\x00\x00\x00\x00Q=\x00\x80p99939nu7*9((()0hsbu'...[much more data]...b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x18\x005\x00\x00\x00\x06\x00\x00\x80\xa5\x00\x00\x00\x00\x02\x00\x00Tahoma\x87\x0f\x03\x00\x00\x00\x03\x00\x00\x00' DEBUG Checking DirEntry #31 DEBUG Checking DirEntry #32 DEBUG Checking DirEntry #33 DEBUG Reading data from stream '\x01CompObj' - size: 115 bytes DEBUG Read 115 bytes DEBUG b'\x01\x00\xfe\xff\x03\n\x00\x00\xff\xff\xff\xffp\x13\xe3Fz?\xce\x11\xbe\xd6\x00\xaa\x00a\x10\x80\x19\x00\x00\x00Microsoft Forms 2.0 Form\x00\x10\x00\x00\x00Embedded Object\x00\x12\x00\x00\x00Forms.MultiPage.1\x00\xf49\xb2q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #34 DEBUG Reading data from stream 'x' - size: 48 bytes DEBUG Read 48 bytes DEBUG b'\x00\x02\x04\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x00\x00\x00\x00\x02\x0c\x00\x06\x00\x00\x00\x02\x00\x00\x00\n\x00\x00\x00\x0b\x00\x00\x00\x0c\x00\x00\x00' DEBUG Checking DirEntry #35 DEBUG Reading data from stream 'f' - size: 40 bytes DEBUG Read 40 bytes DEBUG b'\x00\x04\x1c\x00@\x0c\x00\x08\x04\x80\x00\x00\x00}\x00\x00n\x13\x00\x00\x81\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #36 DEBUG Reading data from stream 'o' - size: 0 bytes DEBUG Read 0 bytes DEBUG b'' DEBUG Checking DirEntry #37 DEBUG Reading data from stream '\x01CompObj' - size: 110 bytes DEBUG Read 110 bytes DEBUG b'\x01\x00\xfe\xff\x03\n\x00\x00\xff\xff\xff\xff\xf0i*\xc6\xdc\x16\xce\x11\x9e\x98\x00\xaa\x00WJO\x19\x00\x00\x00Microsoft Forms 2.0 Form\x00\x10\x00\x00\x00Embedded Object\x00\r\x00\x00\x00Forms.Form.1\x00\xf49\xb2q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #38 DEBUG Reading data from stream 'f' - size: 40 bytes DEBUG Read 40 bytes DEBUG b'\x00\x04\x1c\x00@\x0c\x00\x08\x04\x80\x00\x00\x00}\x00\x00n\x13\x00\x00\x81\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #39 DEBUG Reading data from stream 'o' - size: 0 bytes DEBUG Read 0 bytes DEBUG b'' DEBUG Checking DirEntry #40 DEBUG Reading data from stream '\x01CompObj' - size: 110 bytes DEBUG Read 110 bytes DEBUG b'\x01\x00\xfe\xff\x03\n\x00\x00\xff\xff\xff\xff\xf0i*\xc6\xdc\x16\xce\x11\x9e\x98\x00\xaa\x00WJO\x19\x00\x00\x00Microsoft Forms 2.0 Form\x00\x10\x00\x00\x00Embedded Object\x00\r\x00\x00\x00Forms.Form.1\x00\xf49\xb2q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #41 DEBUG Reading data from stream '\x01CompObj' - size: 97 bytes DEBUG Read 97 bytes DEBUG b'\x01\x00\xfe\xff\x03\n\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00Microsoft Forms 2.0 Form\x00\x10\x00\x00\x00Embedded Object\x00\x00\x00\x00\x00\xf49\xb2q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #42 DEBUG Reading data from stream '\x03VBFrame' - size: 297 bytes DEBUG Read 297 bytes DEBUG b'VERSION 5.00\r\nBegin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} AXLBRmxlxpoxs \r\n Caption = "U'...[much more data]...b" 1 'CenterOwner\r\n TypeInfoVer = 20\r\nEnd\r\n" DEBUG Checking DirEntry #43 DEBUG Checking DirEntry #44 DEBUG Reading data from stream 'f' - size: 38 bytes DEBUG Read 38 bytes DEBUG b'\x00\x04\x18\x00\x00\x0c\x00\x08\x00}\x00\x00k\x1f\x00\x00\xc6\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #45 DEBUG Reading data from stream 'o' - size: 0 bytes DEBUG Read 0 bytes DEBUG b'' DEBUG Checking DirEntry #46 DEBUG Reading data from stream '\x01CompObj' - size: 97 bytes DEBUG Read 97 bytes DEBUG b'\x01\x00\xfe\xff\x03\n\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00Microsoft Forms 2.0 Form\x00\x10\x00\x00\x00Embedded Object\x00\x00\x00\x00\x00\xf49\xb2q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #47 DEBUG Reading data from stream '\x03VBFrame' - size: 266 bytes DEBUG Read 266 bytes DEBUG b'VERSION 5.00\r\nBegin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} UserForm1 \r\n Caption = "UserF'...[much more data]...b"560\r\n StartUpPosition = 1 'CenterOwner\r\nEnd\r\n" DEBUG Checking DirEntry #48 DEBUG Reading data from stream 'PROJECTwm' - size: 113 bytes DEBUG Read 113 bytes DEBUG b'APWSZcovlnbu\x00A\x00P\x00W\x00S\x00Z\x00c\x00o\x00v\x00l\x00n\x00b\x00u\x00\x00\x00AXLBRmxlxpoxs\x00A\x00X\x00L\x00B\x00R\x00m\x00x\x00l\x00x\x00p\x00o\x00x\x00s\x00\x00\x00UserForm1\x00U\x00s\x00e\x00r\x00F\x00o\x00r\x00m\x001\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #49 DEBUG Reading data from stream 'PROJECT' - size: 589 bytes DEBUG Read 589 bytes DEBUG b'ID="{74A5A0B6-7751-4428-B725-E2D9346FA881}"\r\nDocument=APWSZcovlnbu/&H00000000\r\nPackage={AC9F2F90-E87'...[much more data]...b'C\r\nUserForm1=0, 0, 0, 0, C, 52, 52, 1588, 805, C\r\n' DEBUG Checking DirEntry #50 DEBUG Reading data from stream '\x01CompObj' - size: 114 bytes DEBUG Read 114 bytes DEBUG b'\x01\x00\xfe\xff\x03\n\x00\x00\xff\xff\xff\xff\x06\t\x02\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00F \x00\x00\x00Microsoft Word 97-2003 Document\x00\n\x00\x00\x00MSWordDoc\x00\x10\x00\x00\x00Word.Document.8\x00\xf49\xb2q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' DEBUG Checking DirEntry #51 DEBUG This DirEntry is an orphan or unused DEBUG extract_macros: DEBUG VBA_Parser.find_vba_projects DEBUG relaxed is False DEBUG Parsing the dir stream from 'Macros/VBA/dir' DEBUG chunk size = 894, compressed flag = 1 DEBUG PROJECTSYSKIND_SysKind: 1 - 32-bit Windows DEBUG Project Code Page: 1252 - ANSI Latin 1; Western European (Windows) DEBUG Python codec corresponding to code page 1252: cp1252 DEBUG Project name size: 7 bytes ERROR Error in _extract_vba Traceback (most recent call last): File "olevba.py", line 3327, in extract_macros for stream_path, vba_filename, vba_code in \ File "olevba.py", line 2065, in _extract_vba project = VBA_Project(ole, vba_root, project_path, dir_path, relaxed=False) File "olevba.py", line 1727, in __init__ self.check_value('PROJECTDOCSTRING_Id', 0x0005, projectdocstring_id) File "olevba.py", line 1962, in check_value raise UnexpectedDataError(self.dir_path, name, expected, value) UnexpectedDataError: Unexpected value in Macros/VBA/dir for variable PROJECTDOCSTRING_Id: expected 0005 but found 0051! DEBUG Checking DirEntry #0 DEBUG Checking DirEntry #1 DEBUG Reading data from stream 'Data' DEBUG Checking DirEntry #2 DEBUG Reading data from stream '1Table' DEBUG Checking DirEntry #3 DEBUG Reading data from stream 'WordDocument' DEBUG Checking DirEntry #4 DEBUG Reading data from stream '\x05SummaryInformation' DEBUG Checking DirEntry #5 DEBUG Reading data from stream '\x05DocumentSummaryInformation' DEBUG Checking DirEntry #6 DEBUG Checking DirEntry #7 DEBUG Checking DirEntry #8 DEBUG Reading data from stream 'APWSZcovlnbu' DEBUG Found VBA compressed code at index 444 DEBUG chunk size = 237, compressed flag = 1 DEBUG Checking DirEntry #9 DEBUG Reading data from stream '__SRP_2' DEBUG Checking DirEntry #10 DEBUG Reading data from stream '__SRP_3' DEBUG Checking DirEntry #11 DEBUG Reading data from stream 'AXLBRmxlxpoxs' DEBUG Found VBA compressed code at index 1579 DEBUG chunk size = 1991, compressed flag = 1 DEBUG chunk size = 127, compressed flag = 1 DEBUG Checking DirEntry #12 DEBUG Reading data from stream 'UserForm1' DEBUG Found VBA compressed code at index 3A9 DEBUG chunk size = 230, compressed flag = 1 DEBUG Checking DirEntry #13 DEBUG Reading data from stream '_VBA_PROJECT' DEBUG Checking DirEntry #14 DEBUG Reading data from stream 'dir' DEBUG Checking DirEntry #15 DEBUG Reading data from stream '__SRP_0' DEBUG Checking DirEntry #16 DEBUG Reading data from stream '__SRP_1' DEBUG Checking DirEntry #17 DEBUG Checking DirEntry #18 DEBUG Reading data from stream 'f' DEBUG Checking DirEntry #19 DEBUG Reading data from stream 'o' DEBUG Checking DirEntry #20 DEBUG Checking DirEntry #21 DEBUG Reading data from stream 'f' DEBUG Checking DirEntry #22 DEBUG Reading data from stream 'o' DEBUG Checking DirEntry #23 DEBUG Reading data from stream '\x01CompObj' DEBUG Checking DirEntry #24 DEBUG Checking DirEntry #25 DEBUG Reading data from stream 'f' DEBUG Checking DirEntry #26 DEBUG Reading data from stream 'o' DEBUG Checking DirEntry #27 DEBUG Reading data from stream '\x01CompObj' DEBUG Checking DirEntry #28 DEBUG Checking DirEntry #29 DEBUG Reading data from stream 'f' DEBUG Checking DirEntry #30 DEBUG Reading data from stream 'o' DEBUG Checking DirEntry #31 DEBUG Checking DirEntry #32 DEBUG Checking DirEntry #33 DEBUG Reading data from stream '\x01CompObj' DEBUG Checking DirEntry #34 DEBUG Reading data from stream 'x' DEBUG Checking DirEntry #35 DEBUG Reading data from stream 'f' DEBUG Checking DirEntry #36 DEBUG Reading data from stream 'o' DEBUG Checking DirEntry #37 DEBUG Reading data from stream '\x01CompObj' DEBUG Checking DirEntry #38 DEBUG Reading data from stream 'f' DEBUG Checking DirEntry #39 DEBUG Reading data from stream 'o' DEBUG Checking DirEntry #40 DEBUG Reading data from stream '\x01CompObj' DEBUG Checking DirEntry #41 DEBUG Reading data from stream '\x01CompObj' DEBUG Checking DirEntry #42 DEBUG Reading data from stream '\x03VBFrame' DEBUG Checking DirEntry #43 DEBUG Checking DirEntry #44 DEBUG Reading data from stream 'f' DEBUG Checking DirEntry #45 DEBUG Reading data from stream 'o' DEBUG Checking DirEntry #46 DEBUG Reading data from stream '\x01CompObj' DEBUG Checking DirEntry #47 DEBUG Reading data from stream '\x03VBFrame' DEBUG Checking DirEntry #48 DEBUG Reading data from stream 'PROJECTwm' DEBUG Checking DirEntry #49 DEBUG Reading data from stream 'PROJECT' DEBUG Checking DirEntry #50 DEBUG Reading data from stream '\x01CompObj' DEBUG Checking DirEntry #51 DEBUG detect_vba_stomping DEBUG Analysing the P-code to detect VBA stomping DEBUG Calling pcodedmp to extract and disassemble the VBA P-code INFO Exception when importing pcodedmp: No module named 'pcodedmp' DEBUG pcodedmp OK DEBUG Keywords extracted from P-code: [] INFO Error processing file /home/ocoutu/Downloads/invoice_number.doc (can't concat str to bytes) Traceback (most recent call last): File "olevba.py", line 3891, in process_file self.run_analysis(show_decoded_strings=show_decoded_strings, deobfuscate=deobfuscate) File "olevba.py", line 3787, in run_analysis self.analyze_macros(show_decoded_strings, deobfuscate) File "olevba.py", line 3411, in analyze_macros for (_, _, _, vba_code) in self.extract_all_macros(): File "olevba.py", line 3390, in extract_all_macros for (subfilename, stream_path, vba_filename, vba_code) in self.extract_macros(): File "olevba.py", line 3374, in extract_macros if self.detect_vba_stomping(): File "olevba.py", line 3735, in detect_vba_stomping vba_code_all_modules += vba_code + '\n' TypeError: can't concat str to bytes DEBUG Traceback: Traceback (most recent call last): File "olevba.py", line 3891, in process_file self.run_analysis(show_decoded_strings=show_decoded_strings, deobfuscate=deobfuscate) File "olevba.py", line 3787, in run_analysis self.analyze_macros(show_decoded_strings, deobfuscate) File "olevba.py", line 3411, in analyze_macros for (_, _, _, vba_code) in self.extract_all_macros(): File "olevba.py", line 3390, in extract_all_macros for (subfilename, stream_path, vba_filename, vba_code) in self.extract_macros(): File "olevba.py", line 3374, in extract_macros if self.detect_vba_stomping(): File "olevba.py", line 3735, in detect_vba_stomping vba_code_all_modules += vba_code + '\n' TypeError: can't concat str to bytes DEBUG Checking for encryption (after exception) DEBUG is_encrypted DEBUG Checking for encryption using msoffcrypto ERROR Error processing file /home/ocoutu/Downloads/invoice_number.doc (can't concat str to bytes)! Traceback (most recent call last): File "olevba.py", line 3891, in process_file self.run_analysis(show_decoded_strings=show_decoded_strings, deobfuscate=deobfuscate) File "olevba.py", line 3787, in run_analysis self.analyze_macros(show_decoded_strings, deobfuscate) File "olevba.py", line 3411, in analyze_macros for (_, _, _, vba_code) in self.extract_all_macros(): File "olevba.py", line 3390, in extract_all_macros for (subfilename, stream_path, vba_filename, vba_code) in self.extract_macros(): File "olevba.py", line 3374, in extract_macros if self.detect_vba_stomping(): File "olevba.py", line 3735, in detect_vba_stomping vba_code_all_modules += vba_code + '\n' TypeError: can't concat str to bytes During handling of the above exception, another exception occurred: Traceback (most recent call last): File "olevba.py", line 4187, in process_file vba_parser.process_file(show_decoded_strings=options.show_decoded_strings, File "olevba.py", line 3977, in process_file raise ProcessingError(self.filename, exc) ProcessingError: Error processing file /home/ocoutu/Downloads/invoice_number.doc (can't concat str to bytes) DEBUG will exit now with code 6
Version information:
- OS: Ubuntu 20.04 64 bits
- Python version: 3.8.2
- oletools version: 0.56dev6
Additional context
might be related to #477