Fun with The Linux Kernel

Kernel Linux Emang Enak di Eksploitasi, ada beberapa bahan yang patut dijadikan acuan, antara lain:

Buku:

Info coba lihat disini dan disini juga disini Bagi yang downloat freeebooknya coba cari di dbebooks.in

Ada banyak buku sih, tapi buku-buku diatas sudah bisa dijadikan langkah awal untuk memahami si kernelnya linux itu.

Untuk text magazine online, ini ada archive yang saya kumpulkan dari website phrack.org, sengaja dicari yang berkaitan dengan permainan kernel, rata-rata salah satu referensinya buku diatas itu oleh para penulis artikel. Silahkan unduh di SINI juga iseng catatan oret-oretannya.

Memang sih, butuh pemahaman dalam tentang arsitektur komputer dan pemrograman level rendah seperti Assembly, tapi bagi yang banyak waktu pelototin monitor gak ada salahnya berpusing ria. Apalagi buat yang pekerjaannya menganggur. :P

Happy haking da kernyel…

Saya mah make distro slack aja pada platform IA-32. Pake nasm, gcc, gdb.

Kalau orang besar berkarya

Tak dapat dipungkiri bahwa kecanggihan ilmu dan teknologi yang sekarang ini sedang mengalami kemajuan yang cukup pesat. Itu merupakan hasil jerih payah para sarjana dan ilmuwan dulu yang memeras pikiran yang pada akhirnya mampu melahirkan berbagai disiplin ilmu yang sangat bermanfaat bagi kehidupan manusia sekarang ini.

Mereka itu tidak hanya berkorban waktu ataupun pikiran saja, namun lebih dari itu, tak jarang nyawapun mereka pertaruhkan. Bukan untuk mendapatkan ketenaran ataupun pujian bahkan hadiah nobel. Tapi malah sebaliknya yang mereka dapatkan malahan cacian, ejekan dan sebagainya., apabila ilmu bertentangan dengan kebiasaan yang pada waktu itu.

Mereka bekerja keras dengan idealisme yang tinggi, ulet dan pantang putus asa dan sabar serta disiplin. Di antara mereka di dalam bekarya mempunyai keunikan-keunikan tersendiri. Untuk sekedar menambah pengetahuan mari kita telaah keunikan mereka itu.

ISAAC NEWTON, Ditemani gemercik air dan gemercik jengkerik.

Ia dikenal banyak orang sebagai tokoh ilmu pasti dengan rumus-rumus yang telah ditemukannya, serta teori diffrensial dan integral. Bagaimana ia bekerja untuk mendapatkan semua itu ? Ia mempunyai kiat khusus, yakni menyepi menjauhkan diri dari hiruk pikuk kota yang penuh dengan berbagai aktifitas. Kiatnya itu bermula dari peristiwa berjangkitnya penyakit pes di kota di mana ia bermukim. Kala itu sudah tak terhitung orang-orang yang melarikan diri ke dusun-dusun, termasuk Newton sendiri untuk menghindari penyakit pes yang ganas itu.

Dua tahun lamanya, ia meninggalkan universitas tempat di mana ia biasa bekerja yang saban hari diliputi dengan berbagai kesibukan dan keramaian. Kini ia tinggal di sebuah desa yang terpencil sepi, sunyi dan jauh dari kesibukan kota yang keras. Ternyata di tempat itu ia tidak hanya terhindar dari wabah penyakit pes yang ganas itu, namun dalam suasana semacam itulah akhirnya ia menemukan sesuatu yang sangat mengagumkan. Dari situlah ia menyajikan ilmu differensial dan integral yang sampai saat ini masih tetap dipelajari. Ternyata ia lebih produktif dalam berkarya dengan ditemani kesepian, ocehan burung, gemerciknya air serta dedaunan dan jengkerik-jengkerik yang mengerik di malam hari.

GOETHE, Memeras Renungan di Terik Matahari.

Dia seorang pujangga yang berkebangsaan Jerman. Karya-karyanya yang berupa kata-kata mutiara telah beredar ke seluruh dunia. Dalam memeras renungannya ia mempunyai kiat khusus yang sekaligus aneh yang tak pernah dilakukan oleh kebanyakan orang.

Kita tentu merasa lumrah bila kena terik matahari merasa panas dan segera ingin berlindung. Namun lain bagi Goethe justeru dalam keadaan semacam itulah menurutnya suasana yang paling hebat untuk melahirkan karya-karyanya. Sambil berjalan di tengah terik matahari itulah tak sedikit kata-kata hikmahnya.

Dia pernah berkata “Ide-ide yang baik dalam renungan dan pikiran saya, bahkan kata-kata pilihan kebanyakan timbul ketika saya sedang berjalan-jalan. Apabila saya sedang duduk, maka pikiran tertumbuk”.

KNUT HAMSUN, Lebih senang di ruang yang berantakan

Pengarang cerita yang satu ini juga mempunyai kebiasaan yang sangat unik yang sangat jarang dilakukan oleh kebanyakan pengarang dalam memeras imajinasinya. Dalam berkarya ia memilih tempat yang kosong dan terbuka. Berantakan yang dipenuhi dengan banyak debu. Dalam ruangan semacam itu hanya dilengkapi dengan sebuah meja kecil yang sudah tua dan jelek serta kursi yang keras tak berbusa. Dalam keadaan semacam itulah karya-karya besarnya lahir yang mampu menggondol hadiah Nobel.

Pernah sekretarisnya membersihkan serta merapikan ruang kerjanya karena merasa sebel Meja tulis digantinya yang besar, kursinya diganti yang empuk serta buku-buku disusun rapi dalam almari agar tidak berantakan. Namun Hamsun masuk, langsung ia memerintahkan sektretarisnya untuk mengembalikan sebagaimana semula. Dengan suasana yang serba berantakan itulah, inspirasinya lahir sehingga berpuluh-puluh kertas telah dipenuhi dengna hasil karyanya yang sangat teratur.

KARL PROTEUS STEINMEZT, Memecah rahasia alam dengan bersampan.

Orang mengenalnya sebagai ahli ilmu alam. Dalam melahirkan karya-karyanya ia mencari teman-teman dengan keindahan alam semesta. Sengaja ia membuat kolam besar, di dalamnya dilengkapi dengan sebuah perahu sampan. Dengan bersampan enak layaknya dan santai, namun bukan seperti kebanyakan orang bersampan yang hanya untu sekedar menghilangkan keletihan dan kejenuhan otak. Dengan sampan itulah ia mencoba menggali rahasia alam. Dengan situasi semacam itulah pikiran-pikirannya mengalir di atas kertas yang telah disediakannya beserta pena yang diletakkan di sebuah papan sebagai alasanya. Begitulah ia memecahkan rahasia-rahasia alam dengan sambi bersampan.

IMMANUEL KANT. Jalan-jalan setiap jam setengah empat sore.

Adalah sebuah jalan raya yang terkenal dengan nama Filosofenlaan. Yang artinya jalan filosof-filosof, yang berada di Spanyol. Tentunya nama tersebut menyimpan cerita.

Pada waktu itu kalau kebetulan mata melihat jam tepat setengah empat sore, orang akan melihat seorang laki-laki yang berjalan-jalan di sepanjang jalan tersebut sambil memegang tongkat yang terbuat dari bambu Spanyol.

Pemandangan semacam itu senantiasa dapat disaksikan pada jam setengah empat sore. Jadi bila kebetulan jam mati, dan melihat orang itu sedang berjalan, maka tinggal memutar jarum pada pukul setengah empat. Laki-laki itu adalah Immanuel Kant, seorang ahli filsafat. Begitulah jalan yang ia tempuh dalam mengumpulkan pemikirannya, sehingga ia dijuluki dengan jam berjalan.

(Koleksi Kliping Majalah Amanah-CICA tahun 1990-an)

IP Routing Basic

Barangkali beberapa rekan yang bergelut dengan Router, atau orang awam yang berhubungan secara tidak langsung dengan Router, menyimpan pertanyaan tentang, bagaimana sih kerja router tersebut ?, atau bagaimana sih tahapan dari proses routing tersebut. Dalam kesempatan ini saya akan berbagi pengalaman terhadap konsep routing yang saya pahami. CMIIW.

Proses IP Routing secara konsep sebenarnya sederhana dan tidak akan berubah selama standar dari RFC belum diupdate, terlepas dari berapa besar topologi jaringan yang kita punya. Artinya proses sederhana ini akan tetap berlaku baik untuk LAN, WAN maupun di Internet. Kita lihat secara fundamental terutama pada Layer Data Link.

Sebagai contoh bagaimana sistem kerja IP Routing ini, akan dijelaskan pada contoh sederhana berikut.

Misalkan ada 2 buah PC yang berbeda jaringan, yang ditunjukkan dengan beda Subnet Mask. Yaitu PC A dan PC B, yang dihubungkan oleh sebuah Router.

Pada contoh ini, user pada PC A akan melakukan perintah Ping ke PC B berdasarkan IP Address yang dimiliki masing-masing.

Kira-kira apa proses yang terjadi dapat digambarkan seperti berikut:

1. Dari konsel/terminal/command prompt, user A mengetikkan perintah Ping, ping 172.16.20.2. Paket A akan di generated pada PC A berdasarkan IP dan ICMP Network Layer protocols.

2. IP bekerja berdasarkan ARP protokol untuk melihat apakah packet ini ditujukan pada network tertenu, dengan melihat IP address dan subnet mask pada PC A. Karena dia melihat paket ini tidak ditujukan pada PC A maka, permintaan ping ini diteruskan ke remote host, karena tujuan paket ini tidak dikirim ke PC pada local network yang sama dengan PC A. Jadi paket harus dikirim melalui router, sehingga paket nantinya akan dilewati ke PC yang dituju.

3. Pada PC A agar bisa mengirim paket melalui router, PC A mesti mengenal alamat hardware berupa yang tersimpan dalam chip Ethernet Card pada Router, yaitu MAC Address router, Ethernet Card Router terletak pada Subnet yang sama antara PC dengan network card Router.

Sesuai dengan standar ISO Layer bahwa Network layer akan bekerja meneruskan paket dan tujuan alamat hardware ke Data Link layer dengan framing dan trasisi pada localhost. Maksudnya Perintah Ping yang diketikan dari Konsol/terminal melalui Sistem Operasi yang berada pada Layer Aplikasi, terus menuju ke Network hinga ke Data Link

Untuk memperoleh alamat hardware, PC A akan melihat kedalam suatu lokasi memory (Dilayani oleh Sistem Operasi) yang disebut ARP cache.

4. JIka IP address belum tersedia atau belum teresolve (response terhadap permintaan tertentu) ke alamat hardware yang tepat (pasangan IP address dan mac address) di dalam ARP cache. Maka PC A akan mengirim perintah ARP broadcast (FF:FF:FF:FF:FF:FF) untuk melihat alamat hardware dari IP address 172.16.0.1. Seolah-olah dia berkata “Hai Saudara sekalian, IP Address ini (IP Router) ada yang tahu Siapa yang punya MAC Addressnya”. Jika ada Komputer yang mempunyai IP Address tersebut, dia akan memberikan informasi tentang MAC Addressnya. Karena Proses inilah mengapa jika pertama kali melakukan Ping pada suatu remote addres biasanya mendapai Time Out, dan setelah beberapa saat barulah sukses atau reply setelah proses kenal mengenal Mac address ini di cache ke masing2 host, baik di PC A maupun di router.

5. Sang Router akan merespon alamat hardware yang interface ethernet yang dia punya yang lansung berhubungan dengan jaringan lokal. sekarang PC A telah tahu segala sesuatu untuk mengirim kan paket keluar dari jaringan lokal menuju router. Network layer akan melakukan generate dengan ICMP echo request menuju data Link layer, dengan alamat hardware kemana PC A akan mengirim paket. Paket ini berisi alamat IP asal dan alamat IP tujuan, sebagai paket ICMP yang dikenal pada Network layer protocol field.

6. Data Link layer pada PC A, akan membuat sebeuah frame, dimana paket akan dikemas sedemikian rupa dengan control informasi yang dibutuhkan untu mengirim ke lokal network. Ini termasuk alamat hardware asal dan tujuan dan tipe filed yang dipiah pada Network Layer protokol.

7. Data Link layer dari PC A membuat frame ke Pisikal layer dimana di encode dalam bentuk 1 an 0 ke sinyal digital dan di kirim ke luar fisik jaringan lokal.

8. Sinyal ini diterima oleh router melalui Interface ethernet lokal, interface yang berhubungan lansung dengan interface PC A. dan interface ini akan melakukan proses sinkronisasi dari bentuk sinyal digital ke bentuk frame. Interface router setelah melakuan konversi ke bentuk frame, akan menjalan proses CRC, dari awal sampai akhir frame, mencek fiel FCS untuk meyakinkan bahwa apakah CRC ditemuujkan dan tidak terjadi fragementasi data atau collision.

9. Kemudian tujuan alamat hardware diperiksa. JIka sama antara alamat tujuan frame dari PC A ini dengan alamat hardware si Router, maka router memeriksa type filed yang terkandung dalam Frame untuk melihat apa yang harus dilakukan oleh si router terhadap paket ini. JIka ditemukan field IP pada type field, dan router akan menangani paket ke IP prokokol yang berjalan di router. Frame akan dikemas ulang, dan paket asli yang telah di generate oleh PC A sekarang disimpan dalam Router Buffer.

10. Prokol IP pada router akan melihat IP address tujuan si paket, untuk mengetahui apakah paket ini untuk si Router, ternyata IP address nya menuju ke 172.16.20.2, dimana si router memeriksa pada tabel routering yang dia punya kalau IP tujuan sama subnet denga ip 172.16.20.0 yang secara langsung terkoneksi ke interface publik.

11. Sekarang si router menempatkan paket ini ke dalam buffer dari interface publik. router perlu membuat sebuah frace untuk dikirim ke host B. Pertama si router perlu mencari informasi tentang alamat harware tujuan berdasarkan IP address tujuan, siapakah alamat harware yang mempunya IP address tujuan, kedalam ARP Cache di interface publik yang telah di resolve pada komunikasi sebelumnya. Jika tidak ditemukan Alamat harware si IP Address ini maka router mengirimkan ARP Broadcast ke luar Interface Publik untuk mencari alamat harware dari si IP 172.16.20.2

12. Ternyata host B merespon pertanyaan dari si Interface publik router, bahwa dialah yang mempunyai IP Address itu, si PC B mereply ARP nya. Nah sekarang interface publik router mengetahui bahwa mau kemana dia akan kirim dan lewat mana, sekarang paket tersebut telah pasti dikirim ke PC B. Frame yang telah generad oleh internet publik router berisi alamat hardware sumber dari ethernet publik dan alamat harwara tujuan dari interface Network CArd PC B. Bagaimanapu, yang penting disini bahwa walaupun alamat harware asal dan tujuan berubah setiap melewati interface router, yang dikirim ke dan dari router, Alamat IP asal dan tujuan tidak akan pernah berubah. Paket tidak aka berubah, hanya frame saja yang berubah.

13. PC B menerima frame dan menjalan prosedur CRC, melakukan check out, kemudian mengemas frace dan diubah ke dalam bentuk Paket IP. IP akan meakukan cek terhadap tujuan IP addressnya. Jika sama tujuan ip address dalam paeket IP dengan ip PC B dia akan melihat protokol field dari paekt tersebut apa yang harus dilakukan untk paket ini.

14. Karna dalam protokol field ini ditemujkan field ICMP echo request, si PC B tahu bahwa dia perlu membalas dengan menggenerate ICMP echo-reply berdasarkan IP address sumber dari PC B dan tujuan ke IP address A. kemudian proses kembali ke awal sampai akhirnya. sehingga terjadi berbalas serangan hehehe.

Prinsipnya mac address pada masing-masing sisi harus diketahui, dari sisi Lokal, antara mac address di PC A dan Router interface lokal harus saling mengenal, begitu pula sebaliknya, antara interface publik router dengan mac address PC B harus pula saling mengenal, dengan menyimpan masing address pada Arp Cache masing2 interface.

Ambil contoh pada Router Mikrotik RouterOS, kalau kita konek ke router mikrotik melalui Winbox antar mac to mac, dalam arti masing-masing interface yang berhubungan belum di beri ip address, atau tidak kedua interface diberi ip address.

Jika kita lakukan perintah arp -a di windows xp pada command prompt, maka kita akan melihat:

C:\Documents and Settings\adminz>arp -a
No ARP Entries Found

Begitu juga di winbox mikrotik pada IP Arp, juga dalam ke adaan blank, misalkan PC A kita beri IP address tetap, sedangkan interface local router belum dikasih ip address. Masing-masing ARP Cachenya belum berisi mac address lawannya.

Andaikata telah kita beri ip address pada masing PC A dan router dengan subnet yg sama, sebelum kita melakukan suatu perintah untuk koneksi, ARP Cache antara PC A dengan Router juga belum terisi tetapi kalau kita melakukan perintah katakanlah perintah PING, dari PC A ke Router atau sebaliknya. Maka sebelum perintah Reply kita terima antara Router dengan PC A akan saling mengisi ARP Cache.

Di PC A ARP Cachenya berisi MAc address router, sedangkan di sisi Router, ARP Cache nya akan berisi mac address PC A.

Itulah konsep yang perlu dipahami, Jadi terlihat hubungan pembahasan ini dengan OSI Layer,

Interface Card LAN –> Data Link (ARP, MAC) –> Network Layer
data digital, sinyal listrik………………………Frame……………………………….Frame dan IP Stack

Ingat pembahasan ini hanya baru sampai pada Networ Layer belum masuk ke transport layer Jadi proses yang terjadi adalah:

  • Mengetahui apakah Alamat IP adalah ditujukan utk Local atau remote Remote Network: Network selain dari network si PC. Remote network berada pada sisi lain si Router Default Gateway/Router:
  • Saling memeriksa ARP Cache, apakah antara MAC address dan IP address telah berada pada pasangan yang tepat, jika belum akan saling mencari tahu ttg MAC Address dari IP address Lawan.
  • Proses verifikasi, apakah betul MAC ADDress dan IP Address ini itu yang dimaksud
  • Barulah terjadi proses routing berdasarkan Routing tabel di Router.

Jadi disisi Router akan muncul di ARP Cachenya Mac address di PC A dan mac address si PC B sedangkan MAC ADdress si PC A tidak akan mengetahui mac Address si PC B jika tidak berada dalam subnet/network yang sama, begitu sebaliknya.

(Terjemahan bebas dari: Lammle,Todd, “CCNA Study Guide” SIBEX, 2000 dan Mikrotik RouterOS user Manual)