Archive for the ‘Encryption’ Category.

Cegah Cookie Hijacking Pada Wordpress

Cookie adalah serangkaian teks yang disimpan pada komputer Anda oleh situs web yang Anda kunjungi. Pada umumnya cookie menyimpan pengaturan atau preferensi Anda untuk suatu situs web tertentu, misalnya bahasa yang dipilih, atau lokasi (negara) Anda. Ketika Anda kembali ke situs web tersebut, Browser akan mengirimkan cookie yang bersesuaian kepada situs web yang bersangkutan. Dengan cara ini, situs dapat menampilkan informasi yang sesuai dengan pengaturan atau preferensi Anda.

Cookie dapat menyimpan berbagai jenis informasi, termasuk di antaranya informasi pribadi seperti nama, alamat rumah, alamat email, atau nomor telepon Anda. Akan tetapi informasi ini hanya akan disimpan jika Anda pernah memberikan informasi ini kepada situs tersebut. Situs web tidak dapat mengakses informasi yang tidak pernah Anda berikan kepada situs web tersebut, dan situs web juga tidak dapat mengakses berkas lainnya pada komputer Anda. Secara bawaan (default), aktivitas menyimpan dan mengirim cookie tidak pernah terlihat oleh pengguna

Cookie Hijacking adalah satu metoda yang digunakan para hacker untuk melakukan penetrasi dengan cara melakukan pencurian cookie.  Berikut penjelasan tentang Cookie Hijacking yang saya ambil dari wikipedia.

During normal operation cookies are sent back and forth between a server (or a group of servers in the same domain) and the computer of the browsing user. Since cookies may contain sensitive information (user name, a token used for authentication, etc.), their values should not be accessible to other computers. Cookie theft is the act of intercepting cookies by an unauthorized party.

Cookies can be stolen via packet sniffing in an attack called session hijacking. Traffic on a network can be intercepted and read by computers on the network other than its sender and its receiver (particularly on unencrypted public Wi-Fi networks). This traffic includes cookies sent on ordinary unencrypted http sessions. Where network traffic is not encrypted, malicious users can therefore read the communications of other users on the network, including their cookies, using programs called packet sniffers.



Mencegah Cookie Hijacking pada Wordpress dapat dilakukan dengan cara yang sangat simple yaitu dengan cara mengenkrip cookie nya. Bagaimana cara mengenkrip cookie pada wordpress? Untuk melakukan nya buka file wp-config.php anda  lalu cari beberapa baris ini pada file tersebut

define(’AUTH_KEY’, ‘put your unique phrase here’);
define(’SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(’LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(’NONCE_KEY’, ‘put your unique phrase here’);

Lalu buka link berikut ini http://api.wordpress.org/secret-key/1.1/ dan kopi isi dari file tersebut yang di generate secara otomatis oleh wordpress, kemudian ganti 4 baris diatas dengan apa yang sudah kita kopi tadi, kemudian save file tersebut.

Dan Gotcha…!!!

Wordpress yang anda miliki telah aman dari Cookie Hijacking.  Simple sekali bukan? Trik ini dapat digunakan untuk Wordpress versi 2.6.0 atau versi yang lebih tinggi.

Referensi : http://en.wikipedia.org/wiki/HTTP_cookie

  • Share/Bookmark

Encrypt-Decrypt using Capicom On Visual Basic 6.0

Dear all reader, This time i will share about ecrypt & decrypt using Capicom. Before we start the code section, i will explain what is Capicom. Capicom is an ActiveX control created by Microsoft to help expose a select set of Microsoft Cryptographic Application Programming Interface (CryptoAPI) functions through Microsoft Component Object Model (COM). It was intended to enable every environment that supports ActiveX to use Microsoft Cryptographic technologies, including web pages that are opened with Microsoft Internet Explorer or any other web browser that supports ActiveX.

CAPICOM can be used to digitally sign data, inspect, verify and display their digital signature and/or digital certificate, add or remove certificates to or from the certificate stores, and finally, to encrypt or decrypt data.

CAPICOM Version 2.1.0.2, the latest and last version of CAPICOM, is officially supported on Windows Vista.However, Microsoft has announced that CAPICOM is discontinued and is no longer being developed. Microsoft suggests replacing CAPICOM with .NET Framework’s X509 Cryptographic Classes and a number of other alternatives.

Ok, let start code it. In this tutorial we need Capicom.dll, Usually located on C:\Windows\System32\Capicom.dll. Add Capicon into vb project (Project -> Reference -> Browse and add capicom.dll). After we add capicom to visual basic project, add 3 TextBoxs (name => tbPlain, tbHash, tbSecret, 3 Labels and 2 Command Button (name => btnEnc, btnDecrypt) to form. And copy & paste code below into form

encdeccapicom

Private Sub btnDecrypt_Click()
On Error GoTo errHDL
Dim sPlain As String

If tbHash.Text <> “” And tbSecret.Text <> “” Then
sPlain = DecryptString
If sPlain <> “” Then
tbPlain.Text = sPlain
tbHash.Text = “”
tbSecret.Text = “”
End If
End If
Exit Sub
errHDL:
MsgBox Err.Number & ” – ” & Err.Description
End Sub

Private Sub btnEnc_Click()
On Error GoTo errHDL
Dim sHash As String

If tbPlain.Text <> “” And tbSecret.Text <> “” Then

sHash = EncryptString(Trim(tbPlain.Text))

If sHash <> “” Then
tbHash.Text = sHash
tbPlain.Text = “”
tbSecret.Text = “”
End If

End If
Exit Sub
errHDL:
MsgBox Err.Number & ” – ” & Err.Description
End Sub

Private Function DecryptString() As String
Dim oDecrypt As New EncryptedData
Dim sRet As String
On Error GoTo errHDL
oDecrypt.SetSecret (Trim(tbSecret.Text))
oDecrypt.Decrypt (tbHash.Text)
sRet = oDecrypt.Content
DecryptString = sRet
Exit Function
errHDL:
MsgBox Err.Number & ” – ” & Err.Description
Set oDecrypt = Nothing
End Function

Private Function EncryptString(ByVal sValue As String) As String
Dim oEncrypt As New EncryptedData
Dim sRet As String
On Error GoTo errHDL

oEncrypt.Algorithm = CAPICOM_ENCRYPTION_ALGORITHM_AES
oEncrypt.Algorithm.KeyLength = CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM
oEncrypt.SetSecret (tbSecret)
oEncrypt.Content = sValue
sRet = oEncrypt.Encrypt(CAPICOM_ENCODE_BASE64)
EncryptString = sRet

Exit Function
errHDL:
MsgBox Err.Number & ” – ” & Err.Description
Set oEncrypt = Nothing
End Function

Run this project with pressing F5 on your keyboard.

You can download this project on  http://yadoy666.serverisdown.org/files/encDecCapicom.rar

  • Share/Bookmark

Implementasi Vernam Cipher dengan Visual Basic 6.0

Kriptografi bagi kebanyakan orang adalah sesuatu yang sangat sulit dan kita sebagai pemula cenderung malas untuk mempelajarinya. Namun ada sebuah metode kriptografi yang agak mudah untuk dipelajari dan para ahlipun telah menyatakan bahwa metode ini merupakan metode kriptografi yang cukup aman untuk digunakan. Metode tersebut biasa dikenal dengan nama One Time Pad (OTP) atau yang lebih dikenal dengan sebutan Vernam Cipher. Vernam Cipher diciptakan oleh Mayor J. Maugborne dan G. Vernam pada tahun 1917.

Algoritma One Time Pad (OTP) merupakan algoritma berjenis symetric key yang artinya bahwa kunci yang digunakan untuk melakukan enkripsi dan dekripsi merupakan kunci yang sama. Dalam proses enkripsi, algoritma ini menggunakan cara stream cipher yang berasal dari hasi XOR antara bit plaintext dan bit key.

contoh:
Saya memiliki sebuah plaintext yaitu RUSDI dan memiliki sebuah kunci yaitu
CRASH (ingat panjang kunci harus sama dengan plaintext dan sebaiknya tidak
ada karakter yang diulang).

Pertama kita harus mendapatkan kode ASCII dari plaintext kemudian diubah
ke bentuk biner

———————————–
| Karakter | ASCII | Notasi biner |
———————————–
| R | 82 | 0101 0010 |
| U | 85 | 0101 0101 |
| S | 83 | 0101 0011 |
| D | 68 | 0100 0100 |
| I | 73 | 0100 1001 |
———————————–

Hal yang sama juga harus dilakukan pada kunci yang dipilih.

———————————–
| Karakter | ASCII | Notasi biner |
———————————–
| C | 67 | 0100 0011 |
| R | 82 | 0101 0010 |
| A | 65 | 0100 0001 |
| S | 83 | 0101 0011 |
| H | 72 | 0100 1000 |
———————————–

Setelah itu masing-masing karakter di XOR-kan dengan Key

R = 0101 0010 U = 0101 0101 S = 0101 0011 D = 0100 0100 I = 0100 1001
C = 0100 0011 R = 0101 0010 A = 0100 0001 S = 0101 0011 H = 0100 1000
XOR ————————————————————————-
Cipher: 0001 0001 0000 0111 0001 0010 0001 0111 0000 0001
—————————————————————————–
ASCII : Ctrl-Q Ctrl-G Ctrl-R Ctrl-W Ctrl-A

Proses dekripsi pesan juga melakukan operasi yang sama yaitu XOR antara Cipher
dengan key.

Cipher: 0001 0001 0000 0111 0001 0010 0001 0111 0000 0001
Key: 0100 0011 0101 0010 0100 0001 0101 0011 0100 1000
XOR ————————————————————————-
Plain : 0101 0010 0101 0101 0101 0011 0100 0100 0100 1001
—————————————————————————–
ASCII : R U S D I

Saya telah membuat sebuah program sederhana dengan menggunakan Visual Basic 6.0 sebagai implementasi dari Vernam Cipher yang tersebut diatas.


Program ini membutuhkan 3 buah text box 3 buah label dan 2 buah command button. Cara penggunaan program ini cukup sederhana, kita tinggal memasukan string yang akan kita enkrip/dekrip kemudian masukan juga kunci nya. Ingat untuk melakukan enkrip dan dekrip kunci yang dipergunakan harus sama.

Setelah kita menyiapkan textbox, label dan Command Button lalu kopi paste kan source code dibawah ini kedalam form.

Option Explicit
Private RByte() As Variant

Private Sub cmdDecrypt_Click()
TxtPlain.Text = crypt(TxtCipher.Text, False)
End Sub

Private Sub cmdEncrypt_Click()
TxtCipher.Text = crypt(TxtPlain.Text, True)
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
FrmAbout.Show
End Sub

Private Function crypt(strInput As String, _
ByVal bEncrypt As Boolean) As String

Dim I As Long
Dim NewAsc As Long
Dim keypos As Long

GetKey TxtKey
For I = 1 To Len(strInput)
If bEncrypt Then
NewAsc = Asc(Mid$(strInput, I, 1)) + RByte(keypos)
Else
NewAsc = Asc(Mid$(strInput, I, 1)) – RByte(keypos)
End If
Do While NewAsc < newasc =" NewAsc"> 255
NewAsc = NewAsc – 255
Loop
Mid$(strInput, I, 1) = Chr$(NewAsc)
keypos = keypos + 1
If keypos > UBound(RByte) Then
keypos = 0
End If
Next I
crypt = strInput

End Function

Private Sub GetKey(StrA As String)

Dim I As Long
If Len(StrA) Then
ReDim RByte(Len(StrA) – 1) As Variant
For I = 1 To Len(StrA)
RByte(I – 1) = Asc(Mid$(StrA, I, 1))
Next I
End If
End Sub

Kemudian coba jalankan..
String yang berupa plaintext akan diubah menjadi cipher text dan sebaliknya. Namun apabila key yang dimasukan berbeda maka akan menghasilkan hasil yang berbeda pula. Demikianlah tulisan saya ini. Semoga bermanfaat.

Referensi :
http://ezine.echo.or.id/ezine14/04_Algoritma_Enkripsi_One_Time_Pad.txt

NB

Source code lengkap, dapat di download pada

http://geocities.com/yadoy666/download/vernamcipher.zip


  • Share/Bookmark

Bugs pada Forum Komunitas Open SUSE Indonesia

Beberapa waktu yang lalu saya chating dengan seorang hacker turki, kemudian dia bertanya kepada saya, apakah kamu sudah melihat berita baru di forum h4ck-y0u? Kemudian saya bertanya kembali kepada dia, memangnya ada berita apa? dia menjawab bahwa ada sebuh berita besar, Forum Komunitas Open SUSE Indonesia di hack. Wew.. saya sangat terkejut mendengar berita tersebut mengingat Forum Komunitas Open SUSE Indonesia memiliki member yang banyak dan banyak nama besar yang tergabung dalam komunitas tersebut. Karena rasa penasaran yang tinggi, penulis dengan segera membuka forum h4ck-y0u dan benar saja pada topik Club show off ada tread Suse Linux (Indonesia) hacked | 740 users. Sebanyak 740 user yang terdaftar dalam forum tersebut ID dan Passwordnya terancam. Walaupun user name dan passwordnya masih dalam bentuk MD5 hash.

Setelah penulis selidiki, ternyata Forum Komunitas Open SUSE Indonesia menggunakan WordPress forum plugin Version: 1.7.4. di mana pada Plugin tersebut memiliki kelemahan, Jenis kelemahan yang terdapat pada plugin ini adalah Remote SQL Injection sehingga sang attacker dapat memasukan SQL Exploit untuk mendapatkan user name dan password pada forum tersebut, termasuk username dan password sang administrator.

Exploit yang digunakan adalah

1+union+select+null,concat
(user_login,0×2f,user_pass,0×2f,user_email),null,null,null,null,
null+from+wp_users where id=1/*

Kemudian penulis coba menggunakan Exploit tersebut pada forum Komunitas Open SUSE Indonesia, dan benar saja MD5 hash untuk user name dan password pada forum tersebut dapat penulis dapat kan. Berikut penulis berikan hasil implementasi dari exploit tersebut pada forum Komunitas Open SUSE Indonesia

http://opensuse.or.id/forum/?forumaction=
showprofile&user=5+and+1=
2+union+all+select+1,concat(user_login,0×3a,user_pass,0×3a,
user_email),3,4,5,6,7+from+wp_users/*

MD5 hash yang penulis dapatkan dapat di crack dengan menggunakan berbagai password cracker yang tersedia sepert Cain & Able dan lain-lain

Semoga kejadian ini dapat memberi pelajaran kepada kita semua bahwa tidak ada sesuatu yang aman 100%, so bagi teman-teman yang menjadi administrator pada suatu situs atau forum rajin-rajin lah melakukan patch agar situs atau forum menjadi lebih baik lagi…

Best Regrads

YaDoY666

  • Share/Bookmark

Berkenalan dengan MD5

MD5 (Message Digest algorithm 5)ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Pada standart Internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunkan untuk melakukan pengujian integritas sebuah file. MD5 di desain oleh Ronald Rivest pada tahun 1991 untuk menggantikan hash function sebelumnya yaitu MD4.

MD5 banyak digunakan oleh CMS-CMS besar seperti Joomla dan Mambo untuk melakukan enkripsi password.

Pseudocode
//Catatan: Seluruh variable tidak pada 32-bit dan dan wrap modulo 2^32 saat melakukan perhitungan

//Mendefinisikan r sebagai berikut
var int[64] r, k
r[ 0..15] := {7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22}
r[16..31] := {5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20}
r[32..47] := {4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23}
r[48..63] := {6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21}

//Menggunakan bagian fraksional biner dari integral sinus sebagai konstanta:
for i from 0 to 63
k[i] := floor(abs(sin(i + 1)) × 2^32)

//Inisialisasi variabel:
var int h0 := 0×67452301
var int h1 := 0xEFCDAB89
var int h2 := 0×98BADCFE
var int h3 := 0×10325476

//Pemrosesan awal:
append “1″ bit to message
append “0″ bits until message length in bits ≡ 448 (mod 512)
append bit length of message as 64-bit little-endian integer to message

//Pengolahan pesan paada kondisi gumpalan 512-bit:
for each 512-bit chunk of message
break chunk into sixteen 32-bit little-endian words w(i), 0 ≤ i ≤ 15

//Inisialisasi nilai hash pada gumpalan ini:
var int a := h0
var int b := h1
var int c := h2
var int d := h3

//Kalang utama:
for i from 0 to 63
if 0 ≤ i ≤ 15 then
f := (b and c) or ((not b) and d)
g := i
else if 16 ≤ i ≤ 31
f := (d and b) or ((not d) and c)
g := (5×i + 1) mod 16
else if 32 ≤ i ≤ 47
f := b xor c xor d
g := (3×i + 5) mod 16
else if 48 ≤ i ≤ 63
f := c xor (b or (not d))
g := (7×i) mod 16

temp := d
d := c
c := b
b := ((a + f + k(i) + w(g)) leftrotate r(i)) + b
a := temp

//Tambahkan hash dari gumpalan sebagai hasil:
h0 := h0 + a
h1 := h1 + b
h2 := h2 + c
h3 := h3 + d

var int digest := h0 append h1 append h2 append h3 //(diwujudkan dalam little-endian)

MD5 Hash
Hash-hash MD5 sepanjang 128-bit (16-byte), yang dikenal juga sebagai ringkasan pesan, secara tipikal ditampilkan dalam bilangan heksadesimal 32-digit. Berikut ini merupakan contoh pesan ASCII sepanjang 43-byte sebagai masukan dan hash MD5 terkait:

MD5(“The quick brown fox jumps over the lazy dog”) = 9e107d9d372bb6826bd81d3542a419d6

Bahkan perubahan yang kecil pada pesan akan (dengan probabilitas lebih) menghasilkan hash yang benar-benar berbeda, misalnya pada kata “dog”, huruf d diganti menjadi c:

MD5(“The quick brown fox jumps over the lazy cog”) = 1055d3e698d289f2af8663725127bd4b

Berikut penulis berikan sebuha online tolls milik n0c0py yang berguna untuk melakukan enkripsi dari sebuah plain text menjadi Md5 Hash. Tolls tersebut bisa anda dapatkan pada alamat dibawah ini:

http://n0c0py.uni.cc/tools/md5gen.php

Sedangkan untuk melakukan cracking MD5 Hash, anda bisa menggunakan program-program komputer yang bisa mengubah MD5 Hash menjadi plain text. Contoh program-program tersebut salahsatunya adalah Cain & Able. Selain itu ada beberapa website yang juga menyediakan fasilitas untuk melakukan cracking MD5 Hash. Website-website tersebut antara lain adalah

http://passcracking.com/

http://milw0rm.com/cracker/insert.php

Dan masih banyak lagi….

Special Thanx’s for n0c0py
Referensi : Wikipedia

  • Share/Bookmark