Pengujian Penetrasi pada VoIP Asterisk Server

Pengujian Penetrasi pada VoIP Asterisk Server

Pengujian Penetrasi pada VoIP Asterisk Server – Hari ini kita akan belajar tentang Pengujian Penetrasi VoIP ini termasuk, cara penghitungan, pengumpulan informasi, ekstensi Pengguna, dan penghitungan kata sandi, pembajakan registrasi dan spoofing pendaftaran.

Pengantar VoIP

VoIP berarti Voice over Internet Protocol, itu disebut IP telephony, VoIP digunakan untuk tujuan komunikasi. Teknologi VoIP memungkinkan Anda untuk membuat panggilan audio menggunakan koneksi Internet alih-alih telepon biasa (Telepon rumah, ponsel). Beberapa mitra VoIP hanya memungkinkan Anda menelepon orang lain menggunakan layanan yang sama, tetapi yang lain memungkinkan Anda menelepon siapa saja yang memiliki nomor telepon – termasuk nomor lokal, jarak jauh, seluler, dan internasional. Juga, sementara beberapa layanan VoIP hanya berfungsi di komputer Anda atau telepon VoIP khusus (misalnya Cisco atau Polycom, dll.).

VoIP secara default menggunakan 5060 sebagai port pensinyalan SIP. Ini digunakan untuk registrasi Ketika telepon (misalnya Cisco, Polycom, dll.) Mendaftar dengan Asterisk pada port 5060.

Fungsionalitas penyebutan di bawah ini umumnya digunakan dalam instalasi VoIP yang tidak umum dalam jaringan teleponi lama:

  • Penggunaan beberapa jalur (jalur PRI, Garis BRI) dan ekstensi
  • Layanan pesan suara
  • Rekaman suara
  • Kontrol Administrasi
  • Daftarkan panggilan
  • Konfigurasi Modular
  • IVR dan pesan selamat datang

Protokol SIP

Session Initiation Protocol (SIP) memungkinkan kita menjalin komunikasi, mengakhiri atau mengubah panggilan suara atau video. Lalu lintas suara atau video ditransmisikan melalui protokol Real-Time Protocol (RTP). SIP adalah protokol lapisan aplikasi yang menggunakan UDP atau TCP untuk lalu lintas. Secara default, SIP menggunakan port 5060 UDP / TCP untuk lalu lintas tidak terenkripsi atau port 5061 untuk lalu lintas terenkripsi TLS. Seperti yang akan kita lihat nanti, vektor serangan Man-in-the-Middle (MITM) ada untuk semua jenis komunikasi, termasuk VoIP / SIP. Oleh karena itu, enkripsi adalah kontrol kompensasi yang diperlukan untuk tetap ada terlepas dari lingkungan atau metode layanan Protokol Inisiasi Sesi berdasarkan ASCII dan sangat mirip dengan protokol HTTP karena menggunakan Model Request / Response. Permintaan ke klien SIP dilakukan melalui SIP URI dan AGI melalui agen pengguna yang mirip dengan permintaan HTTP yang dibuat oleh browser web.

Permintaan SIP

Jenis permintaan berikut ini umum dalam SIP:

Sno. Permintaan Deskripsi
1. UNDANG Klien diundang untuk berpartisipasi dalam sesi panggilan
2. ACK Mengonfirmasi bahwa klien telah menerima tanggapan akhir atas permintaan INVITE
3. BYE Mengakhiri panggilan dan dapat dikirim oleh penelepon atau penelepon
4. MEMBATALKAN Menghapus permintaan yang tertunda
5. PILIHAN Meminta kemampuan server
6. DAFTAR Mendaftarkan alamat yang tercantum dalam bidang header dengan server SIP
7. PRACK Pengakuan Sementara
8. LANGGANAN Berlangganan untuk Acara Pemberitahuan dari Pemberitahu
9. MEMBERITAHUKAN Beri tahu pelanggan Acara baru
10. MENERBITKAN Menerbitkan acara ke Server
11. INFO Mengirim informasi pertengahan sesi yang tidak mengubah keadaan sesi
12. LIHAT Meminta penerima untuk mengeluarkan permintaan SIP (Transfer Panggilan)
13. PESAN Mengirim pesan instan menggunakan SIP

Berdasarkan memodifikasi keadaan sesi tanpa mengubah keadaan dialog

Respons SIP

Kita dapat memahami Responses menggunakan kode Response. Kategori umum dari kode Respon diberikan di bawah ini:

  • 1xx (Informasi)
  • 2xx (Sukses)
  • 3xx (Pengalihan)
  • 4xx (Permintaan gagal)
  • 5xx (Server web tidak dapat menyelesaikan permintaan)
  • 6xx (Kesalahan global)

Struktur Interaksi SIP

Struktur Interaksi SIP yang Khas terdiri dari yang berikut ini:

  1. Pengirim memulai permintaan INVITE.
  2. Penerima mengirim kembali respons 100 (Mencoba).
  3. Pengirim mulai berdering dengan mengirim respons 180 (Dering).
  4. Penerima mengangkat telepon dan 200 respons berhasil dikirim (OK).
  5. ACK dikirim oleh inisiator.
  6. Panggilan mulai menggunakan RTP.
  7. Permintaan BYE dikirim untuk mengakhiri panggilan.

Protokol Transportasi Real-time

RTP adalah protokol jaringan untuk mengirimkan audio dan video melalui jaringan. Protokol RTP digunakan dalam sistem komunikasi dan hiburan yang melibatkan media streaming seperti aplikasi telepon dan video atau telekonferensi. Port default RTP dari 16384 hingga 32767, port tersebut digunakan untuk panggilan sip. Dalam skenario kami, kami menggunakan kisaran port UDP 10000-20000 untuk RTP – aliran media, suara, dan saluran video.

Konfigurasi yang digunakan dalam Praktis

  • Penyerang:
    • OS: Kali Linux 2020.1
    • IP: 192.168.1.4
  • Target:
    • Server VOIP: Trixbox
    • Klien VOIP: Zoiper
    • IP: 192.168.1.7

Kami telah menerbitkan artikel tentang Cara Mengatur Server VoIP. Silakan baca sebelum melanjutkan. Kami akan menggunakan server yang sama yang kami konfigurasikan dalam artikel itu

Pengaturan Lab untuk Pengujian Penetrasi VOIP

Menyiapkan Kit VoIP Viproy

Sebelum memulai dengan Pengujian Penetrasi, kita perlu menambahkan kit Viproy-VoIP ke Metasploit kita. Prosedur terperinci tentang cara menambahkan modul di Metasploit dapat ditemukan di sini . Langkah-langkah yang digambarkan diambil dari Rapid7 dan Viproy Author.

Kami perlu menginstal beberapa dependensi. Pertama, kami akan memperbarui sumber kami dan kemudian menginstal dependensi berikut.

Setelah kita selesai menginstal semua dependensi, saatnya untuk mengkloning Repositori Viproy ke Kali Linux kita. Ini berisi modul yang perlu kita tambahkan di Kerangka Metasploit kami

Di sini kita dapat melihat bahwa kita memiliki direktori lib dan direktori modul serta skrip kaliinstall.

Sebelum menjalankan skrip, kita perlu menyalin secara manual isi direktori lib dan direktori modul ke direktori lib dan modul Metasploit.

Sekarang kita perlu membuat entri dari modul yang kita salin di File Mixins yang terletak di / usr / share / Metasploit-framework / lib / msf / core / auxiliary /.

Ini dapat dilakukan secara manual juga atau menggunakan editor teks lain.

Ini semua yang perlu kami lakukan. Jika metode ini tidak berhasil atau memberikan beberapa kesalahan. Penulis cukup berbaik hati untuk memberikan versi yang telah dikompilasi. Untuk menginstalnya kita akan mengikuti langkah-langkah ini.

Pertama, kita akan mengkloning versi yang sudah dikompilasi dari GitHub.

Kemudian kita akan melintasi direktori dan menginstal viproy menggunakan gem.

Itu akan memakan waktu. Setelah selesai, kita perlu memuat ulang modul di Metasploit Framework.

Itu adalah pemasangan Toolkit Viproy. Mari kita mulai Pengujian Penetrasi di Server VoIP kami.

Dalam jaringan VoIP, informasi yang dapat terbukti bermanfaat adalah gateway VoIP atau server, sistem IP-PBX, perangkat lunak klien (softphones) / telepon VoIP dan ekstensi pengguna. Mari kita lihat beberapa alat yang banyak digunakan untuk enumerasi dan sidik jari.

Mengidentifikasi Server SIP

Dengan menggunakan sip Metasploit Scanner Module mengidentifikasi sistem dengan menyediakan satu IP atau serangkaian alamat IP, kami dapat memindai semua Server VoIP dan opsi yang diaktifkan.

Di sini, kita dapat melihat bahwa pemindaian kami memberi kami Server VoIP berjalan pada 192.168.1.7. Kita juga dapat melihat bahwa ia memiliki Agen-Pengguna sebagai “Asterisk” dan kita dapat melihat bahwa ia memiliki beberapa Permintaan yang diaktifkan di atasnya.

Extension Bruteforce

Selanjutnya, kita akan melakukan brute-force pada server target untuk mengekstrak Extensions dan Passwords atau rahasia. Untuk latihan khusus ini, kami membuat 2 kamus. Satu untuk nama pengguna dan lainnya untuk kata sandi. Selanjutnya, kita perlu menentukan rentang untuk ekstensi. Kami memilih kisaran 0000000 hingga 99999999. Dan kemudian kami menjalankan exploit

Di sini, kita dapat melihat bahwa kami dapat mengekstrak 10 ekstensi. Pastikan rahasia yang kita siapkan untuk ekstensi sulit ditebak untuk mencegah kekerasan semacam ini.

Pendaftaran Ekstensi

Karena kami memiliki ekstensi dan rahasia. Sekarang saatnya untuk bergerak selangkah lebih maju dan mendaftarkan ekstensi sehingga kita dapat dapat memulai panggilan dari mesin penyerang. Kami memilih ekstensi 99999999. Kami meretas rahasianya menjadi 999. Sekarang, yang harus kami lakukan adalah memberikan alamat IP server dan ekstensi serta rahasia. Segera setelah kami menjalankan alat bantu, kami mendapat respons 200 OK dari server yang memberi tahu kami bahwa ekstensi terdaftar dengan Alamat IP ini.

Di sini, kita harus mendaftarkan perangkat lunak karena kita tidak memiliki jalur trunk atau jalur PSTN atau jalur PRI untuk melakukan panggilan keluar. Karenanya, kami menguji ekstensi untuk panggilan ekstensi.

Panggil Spoofing

Dalam praktik sebelumnya, kami mendaftarkan ekstensi 99999999, sekarang kami akan menggunakannya untuk memanggil ekstensi 00000000. Di sini kita dapat menipu ID Penelepon untuk apa pun yang kita inginkan. Kami telah mengaturnya ke Hacker. Kita perlu mendefinisikan login menjadi true sehingga kita bisa masuk ke server dengan rahasia 999. Kami juga harus menetapkan pengguna numerik benar sehingga dapat menerima ekstensi numerik.

Segera setelah kami menjalankan auxiliary, kita dapat melihat bahwa ada panggilan yang dimulai dari ekstensi 999999999 ke ekstensi 00000000 yang kami atur di Zoiper Client kami. Kita juga dapat melihat bahwa kita memiliki ID Penelepon Peretas yang kita atur di alat bantu.

Pemantauan Log

Kita dapat memantau log pada Server VoIP yang berisi informasi tentang semua panggilan yang dimulai, terhubung, dijatuhkan. Semua ekstensi dan informasi penting lainnya. Kami selalu dapat memaksa atau memeriksa kredensial default. Pertama, kita akan menghubungkan server menggunakan ssh dan kemudian kita akan menjalankan perintah berikut untuk membuka panel konsol asterisk. Panel ini merekam log secara real-time.

Mengendus Panggilan menggunakan Wireshark

Saat pengguna melakukan panggilan telepon, kami dapat mengamati lalu lintas SIP yang ditangkap menggunakan Wireshark. Kami meluncurkan Wireshark dan memilih adaptor jaringan tempat server VoIP bekerja. Lalu kami mulai menangkap paket. Jika kita perhatikan dengan seksama, kita dapat melihat bahwa ada tab yang disebut Telephony di Menu Wireshark. Di menu tarik-turun, kami memiliki opsi pertama “Panggilan VoIP”.

Segera setelah kami mengklik Panggilan VoIP, sebuah jendela terbuka menampilkan semua panggilan yang telah ditangkap selama sniffing. Kami melihat bahwa ada urutan paket dari satu Alamat IP ke alamat IP lainnya.

Jika kita mengklik tombol Sequence Flow di bagian bawah, kita bisa melihat jabat tangan SIP Communication yang kita pelajari di Pendahuluan.

Dalam gambar ini, kita dapat menganalisis panggilan secara mendetail. Dalam aliran panggilan SIP, ada beberapa transaksi SIP. Transaksi SIP terdiri dari beberapa permintaan dan jawaban dan cara untuk mengelompokkannya dalam transaksi yang sama menggunakan parameter CSeq: 103.

Langkah pertama adalah harus mendaftarkan ekstensi. Setelah perpanjangan pendaftaran sesuai dengan pembentukan sesi. Dari ekstensi, sesi 99999999 terdiri dari permintaan INVITE pengguna ke 00000000. Segera, proksi mengirimkan TRYING 100 untuk menghentikan siaran dan mengalihkan kembali permintaan ke ekstensi 00000000.

Ekstensi 00000000 mengirimkan Dering 180 ketika telepon mulai berdering dan juga dialihkan oleh proxy ke pengguna A. Akhirnya, pesan OK 200 terkait dengan proses penerimaan (ekstensi 00000000 merespons panggilan). Setelah menelepon server panggilan, coba tetapkan port RTP dan protokol transport RTP dimulai dengan parameter (port, alamat, codec, dll.) Dari protokol SDP. Transaksi terakhir sesuai dengan akhir sesi. Ini dilakukan hanya dengan permintaan BYE ke Proxy dan kemudian mengalihkan rute ke ekstensi 00000000.

Pengguna ini membalas dengan pesan OK 200 untuk mengonfirmasi bahwa pesan terakhir telah diterima dengan benar. Panggilan telah dimulai oleh pengguna yang bernama peretas dengan ekstensi 99999999 hingga ekstensi 00000000. Durasi panggilan dan status saat ini dapat dilihat pada contoh di atas. Wireshark mengumpulkan paket panggilan dan sekarang kita dapat mendengarkan seluruh panggilan telepon. Setelah memutus sambungan, kami memutar seluruh konversi panggilan telepon.

Ketika kami mengklik tombol Play Streams, ia akan menanyakan perangkat keluaran berdasarkan driver laptop Anda. Kemudian kita dapat mengklik Tombol Play dan kita dapat mendengar percakapan yang dibuat pada Panggilan VoIP itu.

Ini adalah salah satu artikel dalam serangkaian artikel yang saat ini kami teliti tentang VoIP. Tetap disini untuk informasi lebih lanjut!

Leave a Reply

Your email address will not be published. Required fields are marked *