BACA SAYA
Aplikasi ini memecahkan masalah serangan LAN dan data sniffing. Ia dapat melakukan serangan point-to-point pada terminal target mana pun di LAN untuk mengendus data internet hulu dan hilir terminal target. Bertujuan untuk heterogenitas multi-sumber dan sifat data jaringan real-time, mesin deteksi dan pemantauan yang ditargetkan dirancang dalam kombinasi dengan karakteristik NoSQL alami MongoDB.
1. Server: The core technology used in the backend is SpringBoot. The core technologies used for network attacks include winpcap, jpcap, ARP Spoofing (ARP deception), MITM (Man-in-the-Middle Attack), and network packet grouping/degrouping, decompression, and restoration.
2. Client: The core technologies used in the frontend include Angular6, ECharts, etc.
3. Packaging and Deployment: The front-end and back-end are packaged into the same jar file using Maven.
1. Konfigurasi Lingkungan
1) macOS
Pengunduhan dan Instalasi Perangkat Lunak yang Diperlukan
- Java (jangan pilih 64-bit): Java Download
- MongoDB (harus memilih 3.4.24): Unduhan MongoDB
- WinPcap terbaru: Unduh WinPcap
- Wireshark: Unduh Wireshark
- Maven, NodeJS
Konfigurasi yang Diperlukan
- Aktifkan penerusan IP:
sudo sysctl -w net.inet.ip.forwarding=1
. Periksa apakah penerusan IP diaktifkan (harus 1): sudo sysctl -a | grep net.inet.ip.forwarding
. Setelah sistem dimulai ulang, penerusan IP akan kembali ke status nonaktif default, sehingga harus diaktifkan kembali; jika tidak, target yang diserang tidak akan dapat mengakses internet secara normal. - Tambahkan jalur absolut direktori bin di direktori instalasi MongoDB ke jalur variabel lingkungan untuk memulai layanan MongoDB dari baris perintah.
- Salin
libjpcap.jnilib
ke /Library/Java/Extensions/
. - Pastikan server yang menjalankan program ini dan ponsel target terhubung ke router yang sama melalui Wi-Fi.
- Arahkan ke direktori akar kode di baris perintah, kompilasi dan paket menggunakan Maven:
mvn package -Dmaven.test.skip=true
, salin jpcap-mitm.jar
ke direktori mana pun sebagai direktori kerja, dan buat data/db
folder di direktori kerja ini sebagai folder data MongoDB. - Buka paket dmg Wireshark yang diunduh, Anda akan melihat paket
Install ChmodBPF.pkg
, klik dua kali untuk menginstal paket perangkat lunak ini.
Langkah-Langkah Memulai
- Buka Terminal, navigasikan ke direktori kerja yang ditentukan, dan jalankan
mongod --dbpath=data/db
. Setelah beberapa detik, tunggu layanan MongoDB berhasil dijalankan dan cetak log seperti: *** menunggu koneksi pada port 27017. - Klik tombol start Windows di kiri bawah, ketik
cmd
, lalu klik kanan untuk menjalankan baris perintah sebagai administrator. Navigasikan ke D:mitm
di baris perintah, lalu jalankan java -jar jpcap-mitm.jar
. Tunggu hingga layanan berhasil dijalankan dan cetak log seperti: *** Memulai Aplikasi dalam ** detik. - Buka browser Chrome dan navigasikan ke
http://localhost:8888
, atau akses program dari jarak jauh dari perangkat lain melalui http://<local IP>:8888
. - Setelah berhasil membuka situs manajemen program ini, pilih kartu jaringan yang benar di
Select interface
, atur IP dan MAC lokal, IP dan MAC seluler target, IP gateway (router) dan MAC. Perhatikan bahwa ini semua adalah IP jaringan internal dan harus berada di subnet yang sama. - IP dan MAC ponsel target dapat dilihat pada informasi koneksi Wi-Fi di ponsel. Jika Anda tidak mengetahui IP dan MAC lokal atau IP dan MAC router, masukkan
ifconfig
di Terminal untuk menemukan Alamat IPv4, Alamat Fisik, dan Gerbang Default. Jalankan arp -a
untuk menemukan MAC gateway. - Setelah mengatur informasi di atas, klik tombol pengaturan, maka aplikasi akan membuat koneksi yang sesuai. Setiap kali program dimulai, Anda dapat mengatur ulang koneksi, tetapi setelah disetel, koneksi tidak dapat diubah. Untuk mengatur ulang, tutup proses
jpcap-mitm.jar
di jendela baris perintah dengan menekan control+c
, lalu mulai ulang program. - Sebelum memulai serangan, coba gunakan ponsel target untuk mengakses situs web atau aplikasi. Pastikan ponsel dapat mengakses internet secara normal tanpa memulai serangan.
- Setelah mengklik mulai serangan, tunggu beberapa detik hingga serangan diterapkan dan tampilkan bilah dinamis. Periksa data pada panel statistik real-time di bawah dan gunakan ponsel target untuk mengakses situs web atau aplikasi guna melihat pembaruan panel data.
- Setelah menyelesaikan fungsi situs web atau aplikasi, klik hentikan serangan. Serangan akan segera berhenti, tetapi server menangkap sejumlah besar paket yang perlu disimpan secara berurutan, sehingga data panel statistik real-time mungkin terus meningkat secara perlahan selama beberapa menit sebelum berhenti.
- Setelah menghentikan serangan, tunggu beberapa detik hingga pesan bahwa analisis paket selesai. Anda kemudian dapat memilih ID batch (ID terbaru) dari serangan ini pada halaman analisis, statistik, dan dump untuk melihat konten dan grafik terperinci.
Catatan
- Jika prompt kesalahan web muncul, periksa apakah paket jar baris perintah telah keluar secara tidak normal. Program ini mungkin macet. Coba mulai ulang toplesnya. Perhatikan log baris perintah program. Jika kesalahan terus terjadi, program mungkin tidak dapat mengendus paket secara normal. Coba mulai ulang toplesnya.
- Jika router mengaktifkan pengikatan IP/MAC statis, DHCP dinonaktifkan, atau modul pertahanan serangan ARP, hal ini dapat menyebabkan program hanya mencegat paket upstream dan bukan paket downstream. Jika pengaturan router tidak dapat dikonfigurasi, beralihlah ke peralatan lain dan serang lagi. Jika perangkat gateway sangat kuat, serangannya mungkin tidak berhasil sepenuhnya.
- Setelah memulai serangan, jika target dapat mengakses internet secara normal tetapi tidak ada paket yang diendus di halaman manajemen program, atau target tidak dapat mengakses internet, periksa apakah penerusan IP diaktifkan pada sistem, periksa dengan cermat IP dan MAC semua perangkat yang dikonfigurasi di web, periksa apakah antarmuka kartu jaringan yang dipilih sudah benar, periksa apakah server dan ponsel target terhubung ke router yang sama, periksa apakah IP ponsel target telah berubah (dapat berupa IP tetap), periksa apakah jendela baris perintah yang menjalankan toples dijalankan sebagai administrator, coba nyalakan ulang komputer dan tunggu beberapa menit sebelum mencoba lagi.
- Serangannya tidak boleh berlangsung terlalu lama, beberapa puluh detik sudah optimal. Setelah pengujian, hentikan serangan untuk mencegah serangan terus-menerus pada target dan gateway yang menyebabkan badai data di LAN, yang dapat membebani gateway secara berlebihan dan menyebabkan seluruh LAN mogok.
2) jendela
Pengunduhan dan Instalasi Perangkat Lunak yang Diperlukan
- Java (jangan pilih 64-bit): Java Download
- MongoDB (harus memilih 3.4.24): Unduhan MongoDB
- WinPcap terbaru: Unduh WinPcap
- Maven, NodeJS
Konfigurasi yang Diperlukan
- Aktifkan penerusan IP: Klik tombol start Windows di kiri bawah, ketik
regedit
, lalu pilih editor registri. Klik kanan untuk menjalankan editor registri sebagai administrator. Arahkan ke kunci registri HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters
, pilih item IPEnableRouter
dan ubah nilainya menjadi 1. - Tambahkan jalur absolut direktori bin di direktori instalasi MongoDB ke jalur variabel lingkungan untuk memulai layanan MongoDB dari baris perintah.
- Buat direktori kerja untuk program ini. Misalnya, buat folder
D:mitm
sebagai direktori kerja. Di direktori root yang sama dengan direktori kerja, buat folder data MongoDB data/db
. Misalnya, jika direktori akarnya adalah D
, buatlah folder D:datadb
. - Pastikan server yang menjalankan program ini dan ponsel target terhubung ke router yang sama melalui Wi-Fi.
- Arahkan ke direktori akar kode di baris perintah, kompilasi dan paket menggunakan Maven:
mvn package -Dmaven.test.skip=true
, salin jpcap-mitm.jar
dan Jpcap.dll
ke direktori kerja, dan buat data/db
folder data/db
di direktori kerja ini sebagai folder data MongoDB.
Langkah-Langkah Memulai
- Klik tombol start Windows di kiri bawah, ketik
cmd
, lalu klik kanan untuk menjalankan baris perintah sebagai administrator. Arahkan ke D:
, lalu jalankan mongod
. Setelah beberapa detik, tunggu hingga layanan MongoDB berhasil dijalankan dan cetak log seperti: *** menunggu koneksi pada port 27017. Jangan gunakan tombol kiri mouse untuk memilih konten apa pun di jendela baris perintah. Negara bagian yang dipilih akan menyebabkan layanan ditangguhkan. - Klik tombol start Windows di kiri bawah, ketik
cmd
, lalu klik kanan untuk menjalankan baris perintah sebagai administrator. Navigasikan ke D:mitm
di baris perintah, lalu jalankan java -jar jpcap-mitm.jar
. Tunggu hingga layanan berhasil dijalankan dan cetak log seperti: *** Memulai Aplikasi dalam ** detik. - Buka browser Chrome dan navigasikan ke
http://localhost:8888
, atau akses program dari jarak jauh dari perangkat lain melalui http://<local IP>:8888
. - Setelah berhasil membuka situs manajemen program ini, pilih kartu jaringan yang benar di
Select interface
, atur IP dan MAC lokal, IP dan MAC seluler target, IP gateway (router) dan MAC. Perhatikan bahwa ini semua adalah IP jaringan internal dan harus berada di subnet yang sama. - IP dan MAC ponsel target dapat dilihat pada informasi koneksi Wi-Fi di ponsel. Jika Anda tidak mengetahui IP dan MAC lokal atau IP dan MAC router, klik tombol start Windows di kiri bawah, ketik
cmd
, lalu klik kanan untuk menjalankan baris perintah sebagai administrator. Masukkan ipconfig /all
di baris perintah untuk menemukan bagian Wi-Fi adaptor LAN Nirkabel, temukan Alamat IPv4, Alamat Fisik, dan Gerbang Default. Jalankan arp -a
untuk menemukan MAC gateway. - Setelah mengatur informasi di atas, klik tombol pengaturan, maka aplikasi akan membuat koneksi yang sesuai. Setiap kali program dimulai, Anda dapat mengatur ulang koneksi, tetapi setelah disetel, koneksi tidak dapat diubah. Untuk mengatur ulang, tutup proses
jpcap-mitm.jar
di jendela baris perintah dengan menekan control+c
, lalu mulai ulang program. - Sebelum memulai serangan, coba gunakan ponsel target untuk mengakses situs web atau aplikasi. Pastikan ponsel dapat mengakses internet secara normal tanpa memulai serangan.
- Setelah mengklik mulai serangan, tunggu beberapa detik hingga serangan diterapkan dan tampilkan bilah dinamis. Periksa data pada panel statistik real-time di bawah dan gunakan ponsel target untuk mengakses situs web atau aplikasi guna melihat pembaruan panel data.
- Setelah menyelesaikan fungsi situs web atau aplikasi, klik hentikan serangan. Serangan akan segera berhenti, tetapi server menangkap sejumlah besar paket yang perlu disimpan secara berurutan, sehingga data panel statistik real-time mungkin terus meningkat secara perlahan selama beberapa menit sebelum berhenti.
- Setelah menghentikan serangan, tunggu beberapa detik hingga pesan bahwa analisis paket selesai. Anda kemudian dapat memilih ID batch (ID terbaru) dari serangan ini pada halaman analisis, statistik, dan dump untuk melihat konten dan grafik terperinci.
Catatan
- Jika prompt kesalahan web muncul, periksa apakah paket jar baris perintah telah keluar secara tidak normal. Program ini mungkin macet. Coba mulai ulang toplesnya. Perhatikan log baris perintah program. Jika kesalahan terus terjadi, program mungkin tidak dapat mengendus paket secara normal. Coba mulai ulang toplesnya.
- Jika router mengaktifkan pengikatan IP/MAC statis, DHCP dinonaktifkan, atau modul pertahanan serangan ARP, hal ini dapat menyebabkan program hanya mencegat paket upstream dan bukan paket downstream. Jika pengaturan router tidak dapat dikonfigurasi, beralihlah ke peralatan lain dan serang lagi. Jika perangkat gateway sangat kuat, serangannya mungkin tidak berhasil sepenuhnya.
- Setelah memulai serangan, jika target dapat mengakses internet secara normal tetapi tidak ada paket yang diendus di halaman manajemen program, atau target tidak dapat mengakses internet, periksa apakah penerusan IP diaktifkan pada sistem, periksa dengan cermat IP dan MAC semua perangkat yang dikonfigurasi di web, periksa apakah antarmuka kartu jaringan yang dipilih sudah benar, periksa apakah server dan ponsel target terhubung ke router yang sama, periksa apakah IP ponsel target telah berubah (dapat berupa IP tetap), periksa apakah jendela baris perintah yang menjalankan toples dijalankan sebagai administrator, coba nyalakan ulang komputer dan tunggu beberapa menit sebelum mencoba lagi.
- Jika penamaan dalam daftar antarmuka kartu jaringan tidak dapat menentukan mana yang harus dipilih, buka editor registri dan periksa kunci registri
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{*}
. Daftar ini sesuai dengan daftar antarmuka. Periksa setiap item antarmuka secara bergantian dan lihat konfigurasi mana yang cocok dengan IP server saat ini, yang menunjukkan antarmuka yang perlu kita pilih. - Serangannya tidak boleh berlangsung terlalu lama, beberapa puluh detik sudah optimal. Setelah pengujian, hentikan serangan untuk mencegah serangan terus-menerus pada target dan gateway yang menyebabkan badai data di LAN, yang dapat membebani gateway secara berlebihan dan menyebabkan seluruh LAN mogok.
2. Deskripsi Program
Antarmuka front-end proyek ini adalah sebagai berikut
Halaman Serangan LAN
- Dalam antarmuka ini, atur kartu jaringan dan IP serta MAC mesin/target/gateway lokal, atur daftar domain yang dipantau (satu domain atau beberapa domain dipisahkan dengan koma), dan kemudian kendalikan mulai atau berhentinya serangan.
- Langkah pertama adalah membuat pengaturan yang diperlukan. Pengaturan ini hanya dapat dilakukan setiap kali program baru dimulai. Informasi tersebut akan disimpan ke database, dan program akan secara otomatis membaca informasi ini ketika dijalankan berikutnya. Saat program dijalankan pertama kali, secara otomatis akan membaca IP dan MAC lokal. Hal ini perlu dikonfirmasi secara hati-hati untuk memastikan kebenarannya. Kartu jaringan perlu memilih perangkat kartu jaringan yang digunakan untuk akses internet normal. Targetnya mengacu pada ponsel atau perangkat lain yang perlu kita pantau. Gateway umumnya mengacu pada router atau perangkat gateway lain yang terhubung dengan kita melalui Wi-Fi. Semua informasi di atas harus dikonfigurasi dengan benar, jika tidak, program tidak dapat berjalan secara normal. Antarmuka pengaturan ditunjukkan pada gambar di bawah ini:
- IP gateway dan MAC dapat dilihat pada perangkat gateway, atau dapat juga dilihat dari tabel routing lokal, seperti terlihat pada gambar di bawah ini:
- Ketika kita menyelesaikan konfigurasi dan menyimpan atau memulai serangan, daftar alamat nama domain yang akan dipantau akan diselesaikan oleh DNS dan daftar IP yang sesuai akan diperbarui ke MongoDB, dan kemudian serangan LAN dan sniffing data akan secara resmi dimulai. Antarmuka akan menampilkan status serangan, seperti yang ditunjukkan pada gambar di bawah ini:
- Saat ini, Anda dapat menyeret halaman ke bagian bawah untuk melihat statistik packet sniffing. Bagian statistik terutama dibagi menjadi dua jenis: hulu dan hilir, yang selanjutnya dibagi menjadi empat jenis TCP/UDP/ICMP/ARP. Upstream artinya paket yang dikirim dari target, dan downstream artinya paket yang diterima target. Jika target tidak menelusuri daftar domain yang ditentukan saat ini, semua statistik akan selalu 0. Jika target mulai menelusuri daftar domain yang ditentukan, Anda dapat melihat bahwa statistik mulai memiliki data, seperti yang ditunjukkan pada gambar di bawah ini:
- Ketika kami menghentikan serangan, analisis rinci terhadap paket-paket dalam serangan ini akan dimulai secara otomatis. Setelah serangan selesai, juga akan ada pop-up prompt, seperti terlihat pada gambar di bawah ini:
Halaman Analisis Paket
- Pada antarmuka ini akan terlihat terlebih dahulu apakah proses analisis paket sedang berlangsung. Jika masih dianalisis, Anda perlu menunggu hingga analisis selesai sebelum melihat hasilnya. Setelah analisis selesai, status akan otomatis beralih ke selesai, dan Anda dapat melihat hasil analisis.
- Pertama, kita dapat memilih filter paket: menyerang id batch/upstream atau downstream/protokol/konten. Setiap item filter dapat dipilih beberapa kali atau dibiarkan kosong, yang berarti semua jenis cocok. Setelah mengklik filter, tabel pertama di bawah ini akan menampilkan semua paket yang cocok setelah dianalisis. Perhatikan bahwa paket di sini berbeda dengan paket di antarmuka serangan. Paket-paket di sini semuanya adalah paket gabungan, sedangkan yang ada di antarmuka serangan adalah frame asli. Oleh karena itu, jumlah paket di sini jauh lebih sedikit dibandingkan sebelumnya. Pada tabel pertama, kita dapat melihat semua field penting dari paket, termasuk beberapa field setelah analisis (seperti header HTTP/badan HTTP/METHOD, dll.), seperti yang ditunjukkan pada gambar di bawah ini:
- Setelah mengklik baris mana pun pada tabel pertama, periksa tabel kedua di bawah untuk melihat bingkai data asli mana yang sesuai dengan paket ini. Kita dapat melihat beberapa field frame dasar dari paket-paket ini di sini, seperti yang ditunjukkan pada gambar di bawah ini:
Halaman Statistik Paket
- Demikian pula pada antarmuka ini, pertama-tama akan terlihat apakah proses analisis paket sedang berlangsung. Jika masih dianalisis, Anda perlu menunggu hingga analisis selesai sebelum melihat hasilnya. Setelah analisis selesai, status akan otomatis beralih ke selesai, dan Anda dapat melihat hasil analisis.
- Pertama, kita dapat memfilter berdasarkan kumpulan serangan, yang dapat dipilih banyak atau dibiarkan kosong, yang berarti semua kumpulan serangan cocok, seperti yang ditunjukkan pada gambar di bawah ini:
- Setelah mengklik filter, pertama-tama Anda dapat melihat statistik paket dari berbagai jenis protokol terperinci, terutama dibagi menjadi dua kategori: upstream dan downstream, yang masing-masing dibagi lagi menjadi jenis protokol HTTP/HTTPS/TCP/UDP/ICMP/ARP. Perhatikan bahwa TCP di sini mengacu pada jenis protokol TCP lainnya kecuali HTTP dan HTTPS, sedangkan HTTP dan HTTPS dianalisis dan dihitung secara khusus dan umum dan dihitung secara terpisah. Antarmuka statistik ditunjukkan pada gambar di bawah ini:
- Terus melihat ke bawah, Anda juga dapat melihat diagram lingkaran dari setiap jenis protokol, dibagi menjadi dua kategori: upstream dan downstream, seperti yang ditunjukkan pada gambar di bawah ini:
- Demikian pula, Anda juga dapat melihat diagram lingkaran dari setiap tipe konten, dibagi menjadi dua kategori: upstream dan downstream, dengan
other
merujuk pada paket TCP lain kecuali HTTP/HTTPS dan paket protokol lain yang tidak dapat dianalisis. Karena isi sebenarnya dari paket tersebut tidak dapat dianalisis, maka paket tersebut diklasifikasikan secara seragam ke dalam other
, seperti yang ditunjukkan pada gambar di bawah ini: - Kita juga dapat melihat distribusi isi paket yang berbeda berdasarkan timeline. Grafik multi-garis di bagian bawah menunjukkan perubahan tren berbagai isi paket, sedangkan diagram lingkaran di bagian atas berinteraksi dengan mouse. Saat mouse digerakkan pada sumbu x dari grafik multi-garis, diagram lingkaran akan menampilkan statistik dan proporsi berbagai isi paket saat ini pada sumbu x secara real-time, seperti yang ditunjukkan pada gambar di bawah ini:
- Demikian pula grafik timeline juga dibagi menjadi upstream dan downstream, seperti terlihat pada gambar di bawah ini, yang menunjukkan data downstream:
Halaman Gudang Paket
- Di halaman ini, kita dapat melihat data dasar dari setiap serangan, seperti ID serangan/waktu serangan/jumlah frame data upstream/jumlah frame data downstream, dll. Kita juga dapat mengoperasikan setiap proses serangan, menganalisis ulang, atau menghapus semua paket terkait dan hasil analisisnya, seperti terlihat pada gambar di bawah ini:
Kontribusi