Archive

Author Archive

Belajar Membuat Shellcode Part 2: Remote Exploit Shellcode

December 23rd, 2009 By Rizki Wicaksono

Dalam artikel sebelumnya saya sudah menjelaskan dasar-dasar pembuatan shellcode. Saya sudah menjelaskan pembuatan shellcode untuk local exploit. Nah kali ini saya akan lanjutkan lagi untuk membuat shellcode yang dipakai untuk exploit secara remote.

Remote Exploit

Remote exploit adalah teknik exploitasi yang dilakukan secara remote melalui jaringan. Exploit jenis ini biasanya menyerang server/daemon yang sedang “LISTEN” di port tertentu.

Perbedaan utama antara local exploit dan remote exploit adalah pada kondisi awalnya. Pada local exploit, sejak awal attacker sudah memiliki shell access baik melalui ssh, telnet atau remote desktop connection, namun dengan hak akses terbatas (sebagai normal user). Sedangkan pada remote exploit, kondisi awal attacker adalah tidak memiliki akses shell. Akses shell yang saya maksud adalah kemampun untuk execute suatu file executable.

Jadi pada local exploit, tujuannya adalah privilege escalation atas hak akses yang terbatas tersebut menjadi tidak terbatas (root/administrator). Sedangkan pada remote exploit, karena pada awalnya tidak punya akses shell, maka remote exploit berusaha mendapatkan akses shell, baik sebagai user biasa maupun sebagai super user (root/administrator).

Read more…

Exploit ,

Belajar Membuat Shellcode Part 1

December 3rd, 2009 By Rizki Wicaksono

Seringkali shellcode terlihat dalam source code exploit berbentuk untaian kode-kode hexa. Sebenarnya apa itu shellcode dan apa makna di balik kode-kode hexa itu? Dalam artikel ini saya akan menjelaskan tentang shellcode dan kita juga akan praktek belajar membuat shellcode sendiri.

Shellcode, Exploit dan Vulnerability

Shellcode, exploit dan vulnerability adalah 3 saudara kandung. Semua berawal dari keteledoran sang  programmer sehingga programnya mengandung vulnerability yang bisa di-exploit untuk membuat program tersebut menjalankan code apapun yang diinginkan hacker (arbitrary code execution), code ini disebut dengan shellcode.

Dalam kondisi normal, program mengikuti instruksi yang dibuat oleh penciptanya (programmer). Hacker bisa membuat program mengikuti perintahnya dan mengabaikan perintah penciptanya dengan mengexploit vulnerability yang mengakibatkan arbitrary code execution

Read more…

Exploit

Exploiting LDD for Arbitrary Code Execution

November 13th, 2009 By Rizki Wicaksono

Hati-hati dengan program LDD, jangan sembarangan menjalankan LDD pada program executable yang tidak dikenal dan tidak dipercaya, sebab salah-salah malah anda menjalankan program tersebut dan bisa membuat komputer anda compromised. Apa itu LDD dan bagaimana cara mengexploitnya silakan disimak artikel berikut ini.

Shared Library and Linking

Seperti yang telah saya jelaskan dalam artikel sebelumnya tentang belajar assembly, program adalah kumpulan instruksi prosesor dalam bahasa mesin (binary). Namun yang perlu diketahui adalah tidak semua instruksi yang dibutuhkan dimasukkan (baca:dilink) dalam file executablenya.

Subroutine/prosedur/fungsi yang umum tidak perlu dimasukkan ke dalam file executable, cukup disimpan dalam suatu file library yang boleh dipakai semua program yang membutuhkan. Library ini disebut dengan shared library atau shared object (so). Shared library dalam lingkungan windows dikenal dengan DLL.

Read more…

Linux , ,

Belajar Assembly di Linux

October 29th, 2009 By Rizki Wicaksono

Bagi seseorang yang bergelut di dunia security bahasa Assembly adalah bahasa yang wajib dikuasai. Karena bahasa ini adalah bahasa tingkat rendah, dekat dengan bahasa mesin (biner), maka mempelajari bahasa ini akan sangat menguntungkan. Dengan mempelajari bahasa assembly, sedikit banyak secara otomatis kita akan memahami cara komputer bekerja lebih dalam lagi.

Artikel ini juga sebagai pembuka sebelum saya membahas mengenai shellcode, buffer overflow dan teknik exploitasi lain yang membutuhkan pemahaman mengenai assembly dan sistem operasi. Bila anda ingin menjadi hacker yang baik, anda wajib menguasai bahasa ini.

Bahasa Mesin, Assembly dan C

Pada dasarnya komputer adalah makhluk digital yang hanya mengerti digit 1 dan digit 0 (binary). Komputer hanya mau menerima data dalam bentuk binary dan juga hanya bisa mengerti perintah dalam bentuk binary. Perintah dalam bentuk binary ini disebut dengan bahasa mesin.

Secara umum program bisa dilihat sebagai urutan langkah/perintah/instruksi untuk menyelesaikan sesuatu. Programmer bisa langsung membuat program dengan menuliskan perintah dalam bentuk 1 dan 0 (bahasa mesin), atau menggunakan bahasa tingkat tinggi yang lebih manusiawi seperti C, Visual Basic atau Java.

Read more…

Programming

Memahami Serangan Denial of Service

October 10th, 2009 By Rizki Wicaksono
Comments Off

Dalam artikel ini saya akan menjelaskan mengenai jenis serangan yang bisa dikatakan tidak ada obatnya, yaitu denial of service atau DoS. Bila serangan DoS ini dilakukan secara beramai-ramai dan terorganisir dengan baik, maka akan menghasilkan kerusakan yang dahsyat dan sanggup melumpuhkan situs-situs populer seperti twitter.com dan metasploit.com.

Apa itu DoS

Denial of service adalah jenis serangan yang tujuannya adalah mencegah pengguna yang sesungguhnya menikmati layanan yang diberikan server. Server sesuai namanya adalah pelayan yang harus selalu siap melayani permintaan pengguna, yang umumnya beroperasi 24 jam tanpa henti. Contohnya adalah web server yang bertugas melayani pengunjung web menyediakan informasi dalam bentuk halaman html. Dalam kondisi normal, pengunjung dapat meminta resource dari web server untuk ditampilkan dalam browsernya, namun bila web server terkena serangan DoS maka pengunjung tidak bisa menikmati layanan web server.

Secara umum ada 2 cara melakukan serangan DoS:

  1. Mematikan Server
  2. Menyibukkan Server
    • Tanpa bug/vulnerability
    • Meng-exploit bug/vulnerability

Read more…

Web Security , , , ,

Membuat Web dengan Otentikasi berbasis Token

July 28th, 2009 By Rizki Wicaksono

Pada artikel sebelumnya saya sudah menjelaskan cukup detil tentang cara kerja token yang dipakai pada internet banking. Artikel tersebut hanya menjelaskan sebatas teoretis saja, saya pikir akan lebih baik bila ada prakteknya. Oleh karena itu, seperti yang sudah saya janjikan, kali ini saya akan membuat sebuah contoh sederhana website dengan otentikasi yang menggunakan token seperti pada situs internet banking. Aplikasi token yang saya buat ini dikembangkan dari aplikasi yang bernama Mobile-OTP, dari aplikasi itu saya tambahkan beberapa fitur agar mirip dengan token yang dipakai di internet banking. Sedangkan aplikasi server/website saya harus membuat sendiri dari awal karena tidak tersedia di Internet.

Read more…

Web Security ,

Memahami Cara Kerja Token Internet Banking

July 27th, 2009 By Rizki Wicaksono
photo by:hendriadi.wordpress.com

photo:hendriadi.wordpress.com

Penggunaan token berupa alat kecil semacam kalkulator untuk mengamankan transaksi internet banking kini sudah menjadi hal yang wajib. Token ini menjadi faktor tambahan dalam otentikasi yaitu untuk membuktikan bahwa anda adalah benar-benar pengguna yang sah. Mungkin ada yang bertanya-tanya bagaimana cara kerja token seperti yang dipakai situs internet banking? Bagaimana alat kecil seperti kalkulator itu bisa menghasilkan angka yang juga diketahui oleh server internet banking, padahal alat itu tidak terbubung dengan server. Dalam artikel ini saya akan menjelaskan cara kerja token internet banking, dan dalam artikel berikutnya saya akan membuat token berbasis software dan website sederhana yang akan mensimulasikan internet banking.

Read more…

Web Security , ,

Captcha Salah Kaprah di Republika.co.id dan InfoGue.com

May 19th, 2009 By Rizki Wicaksono

Captcha kini menjadi andalan webmaster untuk membendung spam. Captca yang dimaksudkan untuk membedakan antara mesin dan manusia, tidak bisa dibuat secara sembarangan. Bila captcha dibuat sembarangan, maka fungsi dari captcha menjadi tidak ada karena mesin bisa dengan mudah menembusnya, bahkan mungkin justru mempersulit manusia. Dalam artikel ini saya akan menunjukkan dua contoh captcha yang salah kaprah karena  soal yang disajikan sulit dikerjakan manusia, namun mudah bagi mesin.

Read more…

Web Security

Mengenal Serangan Man-in-The-Middle (MITM)

May 13th, 2009 By Rizki Wicaksono

Sudah banyak artikel di ilmuhacking yang membahas teknik serangan man in the middle (mitm), namun belum pernah saya menjelaskan secara detil tentang apa itu mitm attack. Mitm attack merupakan jenis serangan yang sangat berbahaya dan bisa terjadi di mana saja, baik di website, telepon seluler, maupun di peralatan komunikasi tradisional seperti surat menyurat. Oleh karena itu saya pikir perlu ada satu artikel khusus yang membahas tentang mitm attack terlepas dari apapun dan dimanapun implementasi teknisnya.

Read more…

Basic Concept

MITM Attack on Mandiri Internet Banking using SSLStrip

May 6th, 2009 By Rizki Wicaksono

Https (http over SSL) sebenarnya adalah protokol yang sangat aman, protokol ini menjamin keamanan data dari browser hingga web server. MITM attack (man in the middle) tidak bisa dilakukan terhadap https karena https memiliki fitur authentication sehingga attacker tidak bisa menyamar sebagai web server. Walaupun mitm attack tidak bisa dilakukan terhadap https, namun attacker tetap bisa menyerang user yang menggunakan http sebagai pintu masuk menuju https. Dalam artikel ini saya akan jelaskan tentang SSLStrip, sebuah tool yang dibuat oleh Moxie Marlinspike untuk melakukan serangan mitm terhadap pengguna situs yang dilindungi dengan https.

Read more…

Web Security , ,