![]() |
|
|
|
#1
|
|||
|
|||
|
ImpRec module User32.dll overwritting buffer overflow
yeah...used also by Armadillo...
check the attachment,and see the matRiX ![]() tested in WinXP SP1,probablly works in other OS |
|
#2
|
|||
|
|||
|
more...
it is a PoC=proof of concept.So of course easy to bypass in debugger,but if unknown as a trick and inside the packer's code,is harder...
|
|
#3
|
||||
|
||||
|
fixed ImpRec. can't guarantee it works on every OS because fix-code is very lame.
EDIT: updated the file because it didn't work on Windows 98! Last edited by MaRKuS-DJM; 04-24-2005 at 19:55. |
|
#4
|
|||
|
|||
|
Hi MaRKus-DJM !
Intead of posting fixed file, can you explain how do you solve it, and how the Karga EXe crash Imprec. I only saw Karga fill the PE header of User32.dll with 0, and the IAT of Karga's EXE contains invalid RVA address. Regards, TQN |
|
#5
|
||||
|
||||
|
ImportRec needs to read the header of user32.dll. it does this in the target process. but there the header got destroyed. i included a little check when ReadProcessMemory is called to compare
lpBaseAddress Parameter of ReadProcessMemory to ModuleBase of user32.dll. if the check succeeds, i wrote a small read-function which reads the user32.dll loaded by ImportRec instead of the user32.dll used by the target process. so it gets a valid header and valid values. regards btw, the invalid IAT-value isn't the point it crashes. most of the time IAT-entry isn't needed. |
|
#6
|
|||
|
|||
|
Then doesnt this bug exist for all dlls that ImpRec reads when resolving them from program?
|
|
#7
|
||||
|
||||
|
the bug only affects to user32.dll. tried it also with kernel32.dll and there were no problems.
|
|
#8
|
|||
|
|||
|
lame tricks used by lame protecter, dose this is an effective way to protect import table?
but this is have some reserch value for us. |
![]() |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| OllyDBG v1.10 and ImpREC v1.7f export name buffer overflow vulnerability | bukkake | General Discussion | 0 | 07-28-2008 03:40 |
| Buffer Overflow in SentinelLM Service | prt | General Discussion | 0 | 03-19-2005 05:20 |
| Creating a buffer overflow ? | Rhodium | General Discussion | 6 | 08-19-2003 04:39 |