Perlindungan dari manusia di tengah. Semua tentang serangan Man in the Middle (MitM).

18/10/2016 | Vladimir Khazov

Rencana FSB, Kementerian Telekomunikasi dan Komunikasi Massa, serta Kementerian Perindustrian dan Perdagangan untuk melaksanakan ketentuan UU Yarovaya mengenai intersepsi dan dekripsi korespondensi orang Rusia bukan lagi sekadar rencana, tetapi sudah mulai diwujudkan. bertindak dengan perintah untuk menyiapkan pendapat ahli tentang kemungkinan intersepsi pesan whatsapp, Viber, Facebook Messenger, Telegram, Skype menggunakan serangan MITM dan demonstrasi prototipe alat tersebut.

Kami menulis tentang skema pengorganisasian serangan MITM yang “sah” di artikel sebelumnya. Hari ini kita akan membahas lebih detail tentang prinsip serangan semacam itu dan metode penerapannya.

Apa itu serangan MITM

Man In The Middle (MITM) diterjemahkan sebagai “pria di tengah.” Istilah ini mengacu pada serangan jaringan di mana penyerang berada antara pengguna Internet dan aplikasi yang dia akses. Bukan secara fisik tentunya, melainkan dengan bantuan software khusus. Ini menampilkan dirinya kepada pengguna sebagai aplikasi yang diminta (ini bisa berupa situs web atau layanan Internet), mensimulasikan pekerjaan dengannya, dan melakukan ini sedemikian rupa untuk memberikan kesan operasi normal dan pertukaran informasi.

Target serangannya adalah data pribadi pengguna, seperti kredensial login berbagai sistem, rincian bank dan nomor kartu, korespondensi pribadi dan informasi rahasia lainnya. Dalam kebanyakan kasus, aplikasi keuangan (klien bank, bank online, layanan pembayaran dan transfer uang), layanan SaaS perusahaan, situs web diserang perdagangan elektronik(toko online) dan situs lain yang memerlukan otorisasi untuk login.

Informasi yang diperoleh penyerang dapat digunakan untuk berbagai tujuan, termasuk transfer uang ilegal, mengubah akun, menyadap korespondensi pribadi, melakukan pembelian atas biaya orang lain, melakukan kompromi dan memeras.

Selain itu, setelah mencuri kredensial dan meretas sistem, penjahat dapat memasang perangkat lunak berbahaya di jaringan perusahaan. perangkat lunak untuk mengatur pencurian kekayaan intelektual (paten, proyek, database) dan menyebabkan kerusakan ekonomi dengan menghapus data penting.

Serangan MITM dapat dibandingkan dengan tukang pos yang, saat mengantarkan korespondensi Anda, membuka surat, menulis ulang isinya untuk penggunaan pribadi, atau bahkan memalsukan tulisan tangan, menambahkan sesuatu miliknya, lalu menyegel amplop dan mengirimkannya ke penerima. seolah-olah tidak terjadi apa-apa. Selain itu, jika Anda telah mengenkripsi teks surat, dan ingin mengkomunikasikan kode dekripsi secara pribadi kepada penerima, tukang pos akan memperkenalkan dirinya sebagai penerima sedemikian rupa sehingga Anda bahkan tidak akan menyadari adanya penggantian.

Bagaimana serangan MITM dilakukan

Eksekusi serangan MITM terdiri dari dua fase: intersepsi dan dekripsi.

  • Penangkapan

Tahap pertama serangan adalah mencegat lalu lintas dari pengguna ke target yang dituju dan mengarahkannya ke jaringan penyerang.

Cara paling umum dan termudah untuk mencegat adalah serangan pasif, ketika penyerang membuat titik Wi-Fi dengan akses gratis (tanpa kata sandi atau otorisasi). Saat pengguna terhubung ke titik tersebut, penyerang mendapatkan akses ke semua lalu lintas yang melewatinya dan dapat mengekstrak data apa pun darinya untuk dicegat.

Cara kedua adalah intersepsi aktif, yang dapat dilakukan dengan salah satu cara berikut:

pemalsuan IP– mengganti alamat IP target di header paket dengan alamat penyerang. Akibatnya, pengguna, alih-alih mengunjungi URL yang diminta, malah malah diarahkan ke situs web penyerang.

pemalsuan ARP– penggantian alamat MAC asli host dengan alamat penyerang di tabel ARP korban. Akibatnya, data yang dikirim oleh pengguna ke alamat IP node yang diperlukan berakhir di alamat penyerang.

pemalsuan DNS Infeksi cache DNS, penetrasi ke dalam server DNS dan penggantian catatan kecocokan alamat situs web. Akibatnya, pengguna mencoba mengakses situs yang diminta, tetapi menerima alamat situs penyerang dari server DNS.

  • Dekripsi

Setelah disadap, lalu lintas SSL dua arah harus didekripsi sedemikian rupa sehingga pengguna dan sumber daya yang dia minta tidak menyadari adanya gangguan.

Ada beberapa metode untuk ini:

pemalsuan HTTPS– sertifikat palsu dikirim ke browser korban ketika koneksi ke situs dibuat melalui protokol HTTPS. Sertifikat ini berisi tanda tangan digital dari aplikasi yang disusupi, sehingga browser menerima koneksi dengan penyerang sebagai koneksi yang dapat diandalkan. Setelah koneksi tersebut dibuat, penyerang mendapatkan akses ke data apa pun yang dimasukkan oleh korban sebelum dikirimkan ke aplikasi.

SSL BINATANG(eksploitasi browser terhadap SSL/TLS) – serangan menggunakan Kerentanan SSL di TLS versi 1.0 dan 1.2. Komputer korban terinfeksi JavaScript berbahaya, yang mencegat cookie terenkripsi yang dikirim ke aplikasi web. Hal ini membahayakan mode enkripsi "rantai blok ciphertext" sehingga penyerang mendapatkan cookie dan kunci otentikasi yang didekripsi.

pembajakan SSL– transfer kunci otentikasi palsu ke pengguna dan aplikasi pada awal sesi TCP. Hal ini menciptakan kesan koneksi yang aman padahal sebenarnya sesi tersebut dikendalikan oleh “orang di tengah”.

Pengupasan SSL– Menurunkan versi koneksi dari HTTPS aman ke HTTP biasa dengan mencegat otentikasi TLS yang dikirim oleh aplikasi ke pengguna. Penyerang memberi pengguna akses tidak terenkripsi ke situs, sementara dia menjaga sesi aman dengan aplikasi, mendapatkan kemampuan untuk melihat data yang dikirimkan korban.\

Perlindungan terhadap serangan MITM

Perlindungan yang andal terhadap serangan MITM dimungkinkan jika pengguna melakukan beberapa tindakan pencegahan dan menggunakan kombinasi metode enkripsi dan otentikasi oleh pengembang aplikasi web.

Tindakan pengguna:

  • Hindari menghubungkan ke titik Wi-Fi yang tidak memiliki perlindungan kata sandi. Nonaktifkan fungsi koneksi otomatis ke titik akses yang dikenal - penyerang dapat menyamarkan Wi-Fi-nya sebagai Wi-Fi yang sah.
  • Perhatikan pemberitahuan browser tentang mengunjungi situs yang tidak aman. Pesan seperti itu mungkin menunjukkan transisi penyerang ke situs web palsu atau masalah dengan perlindungan situs web yang sah.
  • Akhiri sesi dengan aplikasi (logout) jika tidak digunakan.
  • Jangan menggunakan jaringan publik (kafe, taman, hotel, dll) untuk melakukan transaksi rahasia ( korespondensi bisnis, transaksi keuangan, pembelian di toko online, dll).
  • Gunakan antivirus dengan database terkini di komputer atau laptop Anda; ini akan membantu melindungi dari serangan menggunakan perangkat lunak berbahaya.

Pengembang aplikasi web dan situs web harus menggunakan keamanan protokol TLS dan HTTPS, yang sangat mempersulit serangan spoofing dengan mengenkripsi data yang dikirimkan. Penggunaannya juga mencegah intersepsi lalu lintas untuk mendapatkan parameter otorisasi dan kunci akses.

Ini dianggap sebagai praktik yang baik untuk melindungi TLS dan HTTPS tidak hanya untuk halaman otorisasi, tetapi juga untuk semua bagian situs lainnya. Hal ini mengurangi kemungkinan penyerang mencuri cookie pengguna saat dia menavigasi halaman yang tidak dilindungi setelah otorisasi.

Perlindungan terhadap serangan MITM adalah tanggung jawab pengguna dan operator telekomunikasi. Hal terpenting bagi pengguna adalah jangan kehilangan kewaspadaan, gunakan hanya metode akses Internet yang terbukti, dan pilih situs dengan enkripsi HTTPS saat mentransfer data pribadi. Operator telekomunikasi dapat direkomendasikan untuk menggunakan sistem Deep Packet Inspection (DPI) untuk mendeteksi anomali dalam jaringan data dan mencegah serangan spoofing.

Instansi pemerintah berencana menggunakan serangan MITM untuk melindungi warga negara, bukan untuk menimbulkan kerusakan, tidak seperti penyerang. Penyadapan pesan pribadi dan lalu lintas pengguna lainnya dilakukan dalam kerangka undang-undang saat ini, dilakukan berdasarkan keputusan otoritas kehakiman untuk memerangi terorisme, perdagangan narkoba, dan aktivitas terlarang lainnya. Pengguna biasa Serangan MITM yang “sah” tidak berbahaya.

Meraih hasil yang diinginkan Hampir selalu ada beberapa cara. Hal ini juga berlaku pada bidang keamanan informasi. Terkadang, untuk mencapai suatu tujuan, Anda dapat menggunakan kekerasan, mencari lubang dan mengembangkan eksploitasi sendiri, atau mendengarkan apa yang dikirimkan melalui jaringan. Selain itu, opsi terakhir seringkali merupakan pilihan terbaik. Itulah sebabnya hari ini kita akan membahas tentang alat yang akan membantu kita menangkap informasi berharga lalu lintas jaringan, menarik serangan MITM untuk ini.

MITMf

Mari kita mulai dengan salah satu kandidat yang paling menarik. Ini adalah keseluruhan kerangka untuk melakukan serangan man-in-the-middle, yang dibangun berdasarkan sergio-proxy. Baru-baru ini termasuk dalam Kali Linux. Untuk menginstalnya sendiri, cukup clone repositori dan jalankan beberapa perintah:

# setup.sh # pip install -r persyaratan.txt

# pip install -r persyaratan.txt

Ini memiliki arsitektur yang dapat diperluas melalui plugin. Di antara yang utama adalah sebagai berikut:

  • Spoof - memungkinkan Anda mengalihkan lalu lintas menggunakan spoofing ARP/DHCP, pengalihan ICMP, dan mengubah permintaan DNS;
  • Sniffer - plugin ini melacak upaya login untuk berbagai protokol;
  • BeEFAutorun - memungkinkan Anda meluncurkan modul BeEF secara otomatis berdasarkan jenis OS dan browser klien;
  • AppCachePoison - melakukan serangan keracunan cache;
  • SessionHijacking - membajak sesi dan menyimpan cookie yang dihasilkan di profil Firefly;
  • BrowserProfiler - mencoba mendapatkan daftar plugin yang digunakan oleh browser;
  • FilePwn - memungkinkan Anda mengganti pesan yang dikirim melalui file HTTP menggunakan Pabrik Pintu Belakang dan BDFProxy;
  • Suntikkan - memasukkan konten arbitrer ke dalam halaman HTML;
  • jskeylogger - menyematkan keylogger JavaScript ke halaman klien.

Jika fungsi ini tampaknya tidak mencukupi bagi Anda, Anda selalu dapat menambahkan fungsi Anda sendiri dengan menerapkan ekstensi yang sesuai.

Pengendara Dempul

Utilitas lain yang patut diperhatikan. Benar, tidak seperti semua alat lain yang dipertimbangkan saat ini, alat ini memiliki spesialisasi yang sangat sempit. Seperti yang dikatakan oleh penulis proyek itu sendiri, dia terinspirasi untuk membuat utilitas semacam itu oleh fakta bahwa selama pengujian penetrasi, data yang paling penting terletak di server Linux/UNIX, yang mana administrator terhubung melalui SSH/Telnet/rlogin. Selain itu, dalam banyak kasus, mendapatkan akses ke mesin administrator jauh lebih mudah daripada ke server target. Setelah menembus mesin administrator sistem, yang tersisa hanyalah memastikan bahwa PuTTY berjalan dan, dengan menggunakan alat ini, membangun jembatan belakang ke penyerang.

Utilitas ini memungkinkan Anda tidak hanya untuk menangkap “komunikasi” antara admin dan server jarak jauh (termasuk kata sandi), tetapi juga untuk menjalankan perintah shell sewenang-wenang dalam sesi tertentu. Selain itu, semua ini akan terjadi secara transparan bagi pengguna (administrator). Jika Anda tertarik dengan detail teknis, misalnya bagaimana PutTY diimplementasikan ke dalam proses, saya sarankan Anda membaca presentasi penulis.

Utilitas yang cukup tua, lahir lebih dari delapan tahun lalu. Ditujukan untuk sesi kloning dengan mencuri cookie. Untuk pembajakan sesi, ia memiliki keterampilan dasar dalam mendeteksi host (jika terhubung ke jaringan terbuka jaringan nirkabel atau hub) dan melakukan keracunan ARP. Satu-satunya masalah adalah saat ini, tidak seperti delapan tahun lalu, hampir semua perusahaan besar seperti Yahoo atau Facebook menggunakan enkripsi SSL, sehingga alat ini sama sekali tidak berguna. Meskipun demikian, masih ada cukup sumber daya di Internet yang tidak menggunakan SSL, jadi masih terlalu dini untuk menghapus utilitas tersebut. Keuntungannya termasuk fakta bahwa ia secara otomatis terintegrasi ke dalam Firefox dan membuat profil terpisah untuk setiap sesi yang disadap. Sumber tersedia di repositori, dan Anda dapat membuatnya sendiri menggunakan urutan perintah berikut:

# apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev # g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp # setcap cap_net_raw,cap_net_admin=eip pencuri sesi

# apt-get install build-essential libwxgtk2.8-dev libgtk2.0-dev libpcap-dev

# g++ $(wx-config --cppflags --libs) -lpcap -o sessionthief *.cpp

# setcap cap_net_raw,cap_net_admin=eip sessionthief

ProxyFuzz

ProzyFuzz tidak ada hubungannya langsung dengan melakukan serangan MITM. Seperti yang bisa Anda tebak dari namanya, alat ini dirancang untuk fuzzing. Ini adalah fuzzer jaringan non-deterministik kecil, yang diimplementasikan dengan Python, yang secara acak mengubah konten paket lalu lintas jaringan. Mendukung protokol TCP dan UDP. Anda dapat mengonfigurasinya untuk mengaburkan satu sisi saja. Berguna ketika Anda perlu memeriksa sesuatu dengan cepat aplikasi jaringan(atau protokol) dan mengembangkan PoC. Contoh penggunaan:

Proksi pythonfuzz -l -R -P

python proxyfuzz -l -R -P

Daftar opsinya meliputi:

  • w - menentukan jumlah permintaan yang dikirim sebelum fuzzing dimulai;
  • c - hanya mengaburkan klien (jika tidak, kedua sisi);
  • s - hanya mengaburkan server (jika tidak, kedua sisi);
  • u - Protokol UDP (jika tidak, TCP digunakan).

Sang Perantara

Sebuah utilitas untuk melakukan serangan MITM pada berbagai protokol yang dipresentasikan pada konferensi DEF CON. Versi alfa mendukung protokol HTTP dan memiliki tiga plugin keren:

  • plugin-beef.py - memasukkan Browser Exploitation Framework (BeEF) ke dalam permintaan HTTP apa pun yang berasal dari jaringan lokal;
  • plugin-metasploit.py - menyematkan IFRAME ke dalam permintaan tidak terenkripsi (HTTP), yang memuat eksploitasi browser dari Metasploit;
  • plugin-keylogger.py - menyematkan event handler JavaScript onKeyPress untuk semua bidang teks yang akan dikirimkan melalui HTTPS, menyebabkan browser mengirimkan kata sandi yang dimasukkan pengguna karakter demi karakter ke server penyerang sebelum seluruh formulir dikirimkan.

Middler tidak hanya secara otomatis menganalisis lalu lintas jaringan dan menemukan cookie di dalamnya, tetapi juga secara mandiri memintanya dari klien, yaitu prosesnya diotomatisasi secara maksimal. Program ini menjamin pengumpulan semua akun yang tidak dilindungi di jaringan komputer (atau hotspot publik) yang lalu lintasnya dapat diakses. Agar program berfungsi dengan benar, paket-paket berikut harus diinstal pada sistem: Scapy, libpcap, readline, libdnet, python-netfilter. Sayangnya, repositori sudah lama tidak diperbarui, jadi Anda harus menambahkan sendiri fungsionalitas baru.

Utilitas konsol yang memungkinkan Anda memeriksa dan mengubah lalu lintas HTTP secara interaktif. Berkat keterampilan tersebut, utilitas ini digunakan tidak hanya oleh pentester/peretas, tetapi juga oleh pengembang biasa yang menggunakannya, misalnya, untuk men-debug aplikasi web. Dengan bantuannya, Anda bisa mendapatkan informasi rinci tentang permintaan apa yang dibuat aplikasi dan tanggapan apa yang diterimanya. Selain itu, mitmproxy dapat membantu mempelajari kekhasan fungsi beberapa REST API, terutama yang tidak terdokumentasi dengan baik.

Instalasinya sangat sederhana:

$ sudo bakat instal mitmproxy

Perlu dicatat bahwa mitmproxy juga memungkinkan Anda mencegat lalu lintas HTTPS dengan mengeluarkan sertifikat yang ditandatangani sendiri kepada klien. Contoh yang baik Anda dapat mempelajari cara mengonfigurasi intersepsi dan modifikasi lalu lintas.

Mengendus

Ya, utilitas ini umumnya merupakan salah satu hal pertama yang harus terlintas dalam pikiran Anda segera setelah Anda mendengarnya
"Serangan MITM". Alat ini sudah cukup tua, tetapi terus diperbarui secara aktif, dan ini merupakan kabar baik. Tidak ada gunanya membicarakan secara rinci tentang kemampuannya; selama empat belas tahun keberadaannya, hal itu telah diliput di Internet lebih dari sekali. Misalnya dalam panduan seperti ini:

atau instruksi dari situs web kami:

Akhirnya..

Seperti biasa, kami belum melihat semua utilitas, tetapi hanya utilitas yang paling populer; ada juga banyak proyek yang kurang dikenal yang mungkin akan kami bicarakan suatu hari nanti. Seperti yang Anda lihat, tidak ada kekurangan alat untuk melakukan serangan MITM, dan, yang tidak sering terjadi, salah satu alat keren diimplementasikan untuk Windows. Tidak ada yang bisa dikatakan tentang sistem nix - semuanya beragam. Jadi menurut saya Anda selalu dapat menemukan alat yang tepat untuk mencuri
kredensial orang lain. Ups, itu untuk pengujian.

Serangan man in the middle (Serangan MitM) adalah istilah dalam kriptografi yang mengacu pada situasi di mana penyerang dapat membaca dan memodifikasi pesan yang dipertukarkan antar koresponden sesuka hati, dan tidak ada yang dapat menebak identitasnya di saluran .

Suatu metode penyusupan saluran komunikasi, di mana penyerang, setelah terhubung ke saluran antar pihak, secara aktif mengganggu protokol transmisi, menghapus, mendistorsi informasi, atau memaksakan informasi palsu.

Prinsip serangan:

Misalkan objek "A" berencana mengirimkan beberapa informasi ke objek "B". Objek "C" memiliki pengetahuan tentang struktur dan properti metode transmisi data yang digunakan, serta fakta rencana transmisi informasi aktual yang direncanakan "C" untuk disadap.

Untuk melakukan serangan, "C" muncul sebagai objek "A" sebagai "B" dan objek "B" sebagai "A". Objek "A", secara keliru percaya bahwa ia mengirimkan informasi ke "B", mengirimkannya ke objek "C".

Objek "C", setelah menerima informasi dan melakukan beberapa tindakan dengannya (misalnya, menyalin atau memodifikasinya untuk tujuannya sendiri), mengirimkan data ke penerima itu sendiri - "B"; objek "B", pada gilirannya, percaya bahwa informasi tersebut diterima langsung dari "A".

Contoh serangan MitM:

Katakanlah Alice mengalami masalah keuangan dan, dengan menggunakan program pesan instan, memutuskan untuk meminta sejumlah uang kepada John dengan mengirimkan pesan:
Alice: John, hai!
Alice: Tolong kirimkan saya kunci enkripsi, saya punya permintaan kecil!
Yohanes: Halo! Tunggu sebentar!

Namun, saat ini, Tuan X, yang saat menganalisis lalu lintas menggunakan sniffer, memperhatikan pesan ini, dan kata “kunci enkripsi” membangkitkan rasa ingin tahu. Itu sebabnya dia memutuskan untuk mencegat pesan-pesan berikut dan menggantinya dengan data yang dia butuhkan, dan ketika dia menerima pesan berikut:
Yohanes: Ini kunci saya: 1111_D

Dia mengubah kunci John menjadi miliknya, dan mengirim pesan ke Alice:
Yohanes: Ini kunci saya: 6666_M

Alice, tidak sadar dan mengira itu adalah kunci John, menggunakan kunci pribadi 6666_M, mengirimkan pesan terenkripsi ke John:
Alice: John, saya mempunyai masalah dan saya sangat membutuhkan uang, silakan transfer $300 ke rekening saya: Z12345. Terima kasih. hal. Kunci saya: 2222_A

Setelah menerima pesan tersebut, Tuan X mendekripsinya menggunakan kuncinya, membacanya, dan, dengan gembira, mengubah nomor akun Alice dan kunci enkripsi menjadi miliknya, mengenkripsi pesan tersebut dengan kunci tersebut. 1111_D, dan mengirimi John pesan:
Alice: John, saya mempunyai masalah dan saya sangat membutuhkan uang, silakan transfer $300 ke rekening saya: Z67890. Terima kasih. hal. Kunci saya: 6666_A

Setelah menerima pesan tersebut, John mendekripsinya menggunakan kunci 1111_D, dan tanpa ragu-ragu, akan mentransfer uang ke rekening Z67890...

Dan dengan demikian, Tuan X, dengan menggunakan serangan man-in-the-middle, memperoleh $300, namun Alice sekarang harus menjelaskan bahwa dia tidak menerima uang tersebut... Dan John? John harus membuktikan kepada Alice bahwa dia mengirim mereka...

Penerapan:

Jenis serangan ini digunakan di beberapa produk perangkat lunak untuk penyadapan jaringan, misalnya:
NetStumbler- sebuah program yang dengannya Anda dapat mengumpulkan banyak data berguna tentang jaringan nirkabel dan memecahkan beberapa masalah yang terkait dengan pengoperasiannya. NetStumbler memungkinkan Anda menentukan jangkauan jaringan dan membantu Anda mengarahkan antena secara akurat untuk komunikasi jarak jauh. Untuk setiap titik akses yang ditemukan, Anda dapat mengetahui alamat MAC, rasio signal-to-noise, nama layanan dan tingkat keamanannya. Jika lalu lintas tidak dienkripsi, maka kemampuan program untuk mendeteksi koneksi tidak sah akan berguna.

mengendus- adalah seperangkat program untuk audit jaringan dan pengujian penetrasi, menyediakan pemantauan jaringan pasif untuk mencari data yang diinginkan (kata sandi, alamat Surel, file, dll.), intersepsi lalu lintas jaringan yang biasanya tidak dapat diakses untuk analisis (misalnya, dalam jaringan yang diaktifkan), serta kemampuan untuk mengatur serangan MITM untuk mencegat sesi SSH dan HTTPS dengan mengeksploitasi kelemahan PKI.

Kain & Habel - program gratis, yang memungkinkan Anda memulihkan kata sandi yang hilang sistem operasi keluarga Windows. Beberapa mode pemulihan didukung: peretasan brute force, pemilihan kamus, melihat kata sandi yang disembunyikan oleh tanda bintang, dll. Ada juga opsi untuk mengidentifikasi kata sandi dengan mencegat paket informasi dan analisis selanjutnya, merekam percakapan jaringan, analisis cache, dan lain-lain.

Tutup lagi- adalah sniffer, pencegat paket, dan perekam untuk jaringan Ethernet lokal, yang mendukung analisis aktif dan pasif beberapa protokol, dan juga memungkinkan untuk "melempar" data Anda sendiri ke dalam koneksi yang ada dan memfilter "on the fly" tanpa mengganggu koneksi sinkronisasi. Program ini memungkinkan Anda untuk mencegat SSH1, HTTPS dan protokol aman lainnya dan menyediakan kemampuan untuk mendekripsi kata sandi untuk protokol berikut: TELNET, ftp, POP, RLOGIN, SSH1, icq, SMB, Mysql, HTTP, NNTP, X11, NAPSTER, IRC , RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, SETENGAH HIDUP, GEMPA 3, MSN, YMSG.

KARMA– seperangkat utilitas untuk menilai keamanan klien nirkabel, adalah sniffer nirkabel yang, dengan mendengarkan secara pasif bingkai Permintaan Probe 802.11, memungkinkan Anda mendeteksi klien dan jaringan pilihan/tepercaya mereka. Jalur akses palsu kemudian dapat dibuat untuk salah satu jaringan yang diminta, yang dapat dihubungkan secara otomatis. Layanan palsu tingkat tinggi dapat digunakan untuk mencuri data pribadi atau mengeksploitasi kerentanan klien pada host.

AirJack- seperangkat program yang menurut para ahli di bidang peretasan WiFi, merupakan alat terbaik untuk menghasilkan berbagai frame 802.11. AirJack menyertakan sejumlah utilitas yang dirancang untuk mendeteksi ESSID tersembunyi, mengirim bingkai penghentian sesi dengan MAC palsu, melakukan serangan MitM, dan memodifikasinya.

Penetralan:

Untuk menghindari serangan jenis ini, pelanggan “A” dan “B” hanya perlu saling mentransfer tanda tangan digital kunci enkripsi publik menggunakan saluran yang andal. Kemudian, ketika membandingkan tanda tangan kunci dalam sesi enkripsi, akan dimungkinkan untuk menentukan kunci mana yang digunakan untuk mengenkripsi data, dan apakah kunci tersebut telah diganti.

Pada artikel ini, kami akan mencoba memahami teori serangan man-in-the-middle dan beberapa poin praktis yang akan membantu mencegah jenis serangan tersebut. Hal ini akan membantu kami memahami risiko gangguan tersebut terhadap privasi kami, karena serangan MitM memungkinkan kami mengganggu komunikasi dan menguping percakapan kami.

Memahami cara kerja Internet

Untuk memahami prinsip serangan man-in-the-middle, ada baiknya terlebih dahulu memahami cara kerja Internet itu sendiri. Poin utama interaksi: klien, router, server. Protokol komunikasi yang paling umum antara klien dan server adalah Hypertext Transfer Protocol (HTTP). Berselancar di Internet menggunakan browser, email, pesan instan - semua ini dilakukan melalui HTTP.

Saat Anda mengetik di bilah alamat browser Anda, klien (Anda) mengirimkan permintaan ke server untuk menampilkan halaman web. Paket (permintaan HTTP GET) ditransmisikan melalui beberapa router ke server. Server kemudian merespons dengan halaman web, yang dikirim ke klien dan ditampilkan di monitornya. Pesan HTTP harus dikirim ke mode aman untuk menjamin kerahasiaan dan anonimitas.

Gambar 1. Interaksi klien-server

Mengamankan Protokol Komunikasi

Protokol komunikasi yang aman harus memiliki masing-masing properti berikut:

  1. Pribadi- hanya penerima yang dituju yang dapat membaca pesan tersebut.
  2. Keaslian- identitas pihak-pihak yang berinteraksi telah terbukti.
  3. Integritas- konfirmasi bahwa pesan tidak diubah dalam perjalanan.

Jika salah satu aturan ini tidak dipatuhi, seluruh protokol akan terganggu.

Serangan man-in-the-middle melalui protokol HTTP

Seorang penyerang dapat dengan mudah melakukan serangan man-in-the-middle menggunakan teknik yang disebut ARP spoofing. Siapapun di dalam dirimu Jaringan Wi-Fi mungkin mengirimi Anda paket ARP palsu, menyebabkan Anda tanpa sadar mengirimkan semua lalu lintas Anda melalui penyerang, bukan melalui router Anda.

Setelah ini, penyerang memiliki kendali penuh atas lalu lintas dan dapat memantau permintaan yang dikirim di kedua arah.

Gambar 2. Pola serangan man-in-the-middle


Untuk mencegah serangan tersebut, versi protokol HTTP yang aman telah dibuat. Transport Layer Security (TLS) dan pendahulunya, Secure Socket Layer (SSL), adalah protokol kriptografi yang memberikan keamanan untuk transmisi data melalui jaringan. Oleh karena itu, protokol aman akan disebut HTTPS. Anda dapat melihat cara kerja protokol aman dengan mengetik di bilah alamat browser Anda (perhatikan S di https).

Serangan Man-in-the-Middle terhadap Implementasi SSL yang Buruk

SSL modern menggunakan algoritma enkripsi yang baik, tetapi tidak masalah jika tidak diterapkan dengan benar. Jika peretas dapat mencegat permintaan tersebut, mereka dapat memodifikasinya dengan menghapus "S" dari URL yang diminta, sehingga melewati SSL.

Intersepsi dan modifikasi permintaan tersebut dapat diperhatikan. Misalnya, jika Anda meminta https://login.yahoo.com/ dan jawabannya adalah http://login.yahoo.com/ , hal ini akan menimbulkan kecurigaan. Pada saat artikel ini ditulis, serangan ini sebenarnya berhasil pada layanan email Yahoo.

Gambar 3. Permintaan intersepsi dan modifikasi


Untuk mencegah serangan semacam itu, server dapat menerapkan HTTP Strict Transport Security (HSTS), sebuah mekanisme yang memungkinkan sambungan aman paksa melalui protokol HTTPS. Dalam hal ini, jika penyerang mengubah permintaan dengan menghapus “S” dari URL, server akan tetap mengarahkan pengguna dengan pengalihan 302 ke halaman dengan protokol aman.

Gambar 4. Diagram operasi HSTS


Cara penerapan SSL ini rentan terhadap jenis serangan lain - penyerang membuat koneksi SSL ke server, namun menggunakan berbagai trik untuk memaksa pengguna menggunakan HTTP.

Gambar 5. Pola serangan HSTS


Untuk mencegah serangan semacam itu, browser modern seperti Chrome, Firefox, dan Tor memantau situs menggunakan HSTS dan memaksa koneksi sisi klien ke situs tersebut melalui SSL. Dalam hal ini, penyerang yang melakukan serangan man-in-the-middle harus membuat koneksi SSL dengan korban.

Gambar 6. Pola serangan dimana penyerang membuat koneksi SSL dengan korban


Untuk menyediakan koneksi SLL kepada pengguna, penyerang harus mengetahui cara bertindak sebagai server. Mari kita pahami aspek teknis SSL.

Memahami SSL

Dari sudut pandang peretas, mengkompromikan protokol komunikasi apa pun berarti menemukan titik lemah di antara komponen-komponen yang tercantum di atas (privasi, keaslian, dan integritas).

SSL menggunakan algoritma enkripsi asimetris. Masalah dengan enkripsi simetris adalah kunci yang sama digunakan untuk mengenkripsi dan mendekripsi data, pendekatan ini tidak valid untuk protokol Internet karena penyerang dapat melacak kunci tersebut.

Enkripsi asimetris mencakup 2 kunci untuk setiap sisi: kunci publik, digunakan untuk enkripsi, dan kunci pribadi, digunakan untuk mendekripsi data.

Gambar 7. Kunci publik dan privat berfungsi

Bagaimana SSL menyediakan tiga properti yang dibutuhkan untuk komunikasi yang aman?

  1. Karena kriptografi asimetris digunakan untuk mengenkripsi data, SSL menyediakan koneksi pribadi. Enkripsi ini tidak mudah dibobol dan tetap tidak terdeteksi.
  2. Server mengonfirmasi keabsahannya dengan mengirimkan sertifikat SSL yang dikeluarkan oleh otoritas sertifikat - pihak ketiga tepercaya kepada klien.

Jika penyerang berhasil mendapatkan sertifikat tersebut, mereka dapat membuka pintu bagi serangan man-in-the-middle. Dengan demikian, ini akan membuat 2 koneksi - dengan server dan dengan korban. Server dalam hal ini mengira penyerang adalah klien biasa, dan korban tidak memiliki cara untuk mengidentifikasi penyerang, karena ia memberikan sertifikat yang membuktikan bahwa ia adalah server.

Pesan Anda tiba dan tiba dalam bentuk terenkripsi, namun mengikuti rantai melalui komputer penjahat dunia maya, di mana ia memiliki kendali penuh.

Gambar 8. Pola serangan jika penyerang memiliki sertifikat


Sertifikat tidak perlu dipalsukan jika penyerang mempunyai kemampuan untuk menyusupi browser korban. Dalam hal ini, dia dapat memasukkan sertifikat yang ditandatangani sendiri, yang akan dipercaya secara default. Ini adalah cara sebagian besar serangan man-in-the-middle dilakukan. Lebih lanjut kasus-kasus sulit peretas harus mengambil jalan lain - memalsukan sertifikat.

Masalah Otoritas Sertifikat

Sertifikat yang dikirim oleh server diterbitkan dan ditandatangani oleh otoritas sertifikasi. Setiap browser memiliki daftar otoritas sertifikat tepercaya dan Anda dapat menambah atau menghapusnya. Masalahnya di sini adalah jika Anda memutuskan untuk menghapus otoritas besar, Anda tidak akan dapat mengunjungi situs yang menggunakan sertifikat yang ditandatangani oleh otoritas tersebut.

Sertifikat dan otoritas sertifikat selalu menjadi tautan terlemah dalam koneksi HTTPS. Meskipun semuanya telah diterapkan dengan benar dan setiap otoritas sertifikat memiliki otoritas yang kuat, masih sulit untuk menerima kenyataan bahwa Anda harus mempercayai banyak pihak ketiga.

Saat ini terdapat lebih dari 650 organisasi yang mampu menerbitkan sertifikat. Jika penyerang meretas salah satu dari mereka, dia akan mendapatkan sertifikat apa pun yang dia inginkan.

Bahkan ketika hanya ada satu otoritas sertifikat, VeriSign, terdapat masalah - orang yang seharusnya mencegah serangan man-in-the-middle menjual layanan intersepsi.

Selain itu, banyak sertifikat dibuat karena peretasan otoritas sertifikat. Berbagai teknik dan trik telah digunakan untuk mengelabui pengguna sasaran agar mempercayai sertifikat palsu.

Forensik

Karena penyerang mengirimkan paket ARP palsu, alamat IP penyerang tidak dapat dilihat. Sebaliknya, Anda perlu memperhatikan alamat MAC, yang khusus untuk setiap perangkat di jaringan. Jika Anda mengetahui alamat MAC router Anda, Anda dapat membandingkannya dengan alamat MAC gateway default untuk mengetahui apakah itu benar-benar router Anda atau penyerang.

Misalnya pada OS Windows Anda bisa menggunakan perintah ipconfig di garis komando(CMD) untuk melihat alamat IP gateway default Anda (baris terakhir):

Gambar 9. Menggunakan perintah ipconfig


Kemudian gunakan perintah arp –a untuk mengetahui alamat MAC gateway ini:

Gambar 10. Menggunakan perintah arp –a


Namun ada cara lain untuk mengetahui serangan tersebut - jika Anda memantau aktivitas jaringan pada saat dimulainya dan mengamati paket ARP. Misalnya, Anda dapat menggunakan Wireshark untuk tujuan ini, program ini akan memberi tahu Anda jika alamat MAC gateway default telah berubah.

Catatan: Jika penyerang memalsukan alamat MAC dengan benar, melacaknya akan menjadi masalah besar.

Kesimpulan

SSL adalah protokol yang memaksa penyerang melakukan banyak pekerjaan untuk melakukan serangan. Namun hal ini tidak akan melindungi Anda dari serangan yang disponsori negara atau dari organisasi peretas yang ahli.

Tugas pengguna adalah melindungi browser dan komputer mereka untuk mencegah penyisipan sertifikat palsu (teknik yang sangat umum). Anda juga perlu memperhatikan daftar sertifikat tepercaya dan menghapus sertifikat yang tidak Anda percayai.

Publikasi tentang topik tersebut