Ethical Hacking

Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package.
Computer Forensics Training at InfoSec Institute

Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors.




Network Security FullDisclosure
[Top] [All Lists]

[Full-disclosure] Exploiting heap overflows in W2K

Subject: [Full-disclosure] Exploiting heap overflows in W2K
Date: Tue, 1 Aug 2006 07:46:23 +1200 (NZST)
Hi list,
 
  I am trying to exploit a Heap buffer overflow vulnerability and facing some 
problems, hope you could help.
  I run the vulnerable program in a VMWare, attached with Olly.
 
  These are my problems:
 
  1. I control both EAX and ESI, when the program goes to 
 
     mov [esi], eax
     mov [eax + 4], esi
 
     First of all, I tried gainig control of execution through PEB but, 
according to Halvar's presentation, there are some restrictions to what you can 
write in the header of the overflowed buffer.
     Quoting: 
     
     " Properties our block must have:
 
         Bit 0 of Flags must be set
         Bit 3 of Flags must be set
         Field_4 must be smaller than 0x40
         The first field (own size) must be larger than 0x80
 
         The block ?XXXX99XX? meets all  requirements"
 
     So, supposing PEB pointer to overwrite is 0x7FFDF020 I would need to 
specify for example: XXXX20f0fd7f, but this is not matching required properties 
and so RtlFreeHeap exits.
     I am sure I must be missing something here, but can't find it.
 
  2. An aditional problem I am facing, due to the fact that this is my first 
heap overflowing session, is that when I trigger the vulnerability as soon as 
the programs comes back from "revert snapshot" then I get to rtlHeapFree ok, 
but if some other request are performed to the program before, then I cannot 
reproduce that behaviour again and different behaviours and situation arise.
    It is obvious that my exploit won't be the first request the program 
receives so, how can I manage this?
 
 
    Hope you could help!
    Regards
 
 IvaN!
 
 
 Send instant messages to your online friends http://au.messenger.yahoo.com 
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/
<Prev in Thread] Current Thread [Next in Thread>
  • [Full-disclosure] Exploiting heap overflows in W2K, Ivan Stroks <=