home *** CD-ROM | disk | FTP | other *** search
/ Hacks & Cracks / Hacks_and_Cracks.iso / hackersclub / km / downloads / nt / getadmin2.txt < prev    next >
Text File  |  1998-03-25  |  2KB  |  41 lines

  1. CR4 Program Information 
  2.  
  3.      We all know Microsoft released the getadmin hotfix. 
  4.      However after a few hours of work, I was able to create a 
  5.      new exploit which also works with this patch Microsoft just 
  6.      realeased. 
  7.  
  8.      The problem is now in eax=4346 which is handled somewhere in 
  9.      win32k.sys. 
  10.      There are more (I found 4) vulnerable functions, but not so interesting 
  11.      like this one. By calling the function in a special way, you can 
  12.      get your own code get executed at ring 0 privilege. My program will 
  13.      simply change the byte of NtGlobalFlag to the DEBUG value, so you 
  14.      can run GetAdmin (which after the fix is not working anymore). 
  15.      Since compiling the source is very difficult, the compiled binary 
  16.      is avaible at http://www.gecad.ro/~craiu/cr4.exe 
  17.      This program was tested on 2 Windows NT patched machines, and worked 
  18.      ok. (I got the Admin rights) 
  19.      ... (PROGRAM SOURCE REMOVED) 
  20.      Due to the nature of this bug, is very important the address of 
  21.      the mov eax,4346 instruction must be 004080a4. I am not an 
  22.      expert in the PE structure, but my cr4.exe program will always 
  23.      run at that address on my test machine. An assembler version 
  24.      might be very interesting, but there are other things to do 
  25.      now. (like checking eax=187) If any of you guys has better assembler 
  26.      skills, I would like to see a nice asm version of my program. 
  27.      OBJE: 4080a4 is somewhere in the program space, but it is not 
  28.      used (debug info/data space etc...) You can probably conroll 
  29.      the address of the retf (which btw. it is located at 
  30.      a0020b87h) 
  31.      After doing the "or" instruction, and IRETD is required to 
  32.      continue the execution of the function, otherwise the kernel will 
  33.      crash. 
  34.      And as a final note, you should compile this with Borland C 5.0 
  35.      Do not use Visual C or other C compiler. If you want, you can 
  36.      adapt the program to work in Visual C, but don't ask me to. 
  37.      It's too complicated. If you don't have a Borland C license, 
  38.      you can download the compiled binary from my homepage. 
  39.      Microsoft was informed about this bug on July 10, 1997. 
  40.  
  41.      Costin RAIU <craiu@gecad.ro>