GNU/Linux >> Belajar Linux >  >> Linux

Serangan TCP:Prediksi Nomor Urutan TCP dan Serangan Reset TCP

Meskipun protokol TCP adalah protokol yang berorientasi koneksi dan andal tetapi masih ada berbagai celah yang dapat dimanfaatkan. Lubang loop ini sebagian besar dijelaskan dalam hal serangan.

Pada artikel sebelumnya tentang seri Serangan TCP/IP, kami menjelaskan tentang Keracunan Cache ARP.

Artikel ini menjelaskan dua serangan berikut:

  1.  Serangan prediksi urutan TCP
  2.  Serangan penyetelan ulang TCP

Ikhtisar TCP

Sebelum memulai dengan penjelasan tentang serangan. Mari kita kembangkan pemahaman dasar tentang cara kerja TCP.

Header TCP terlihat seperti berikut:

Penjelasan di bawah ini menjelaskan bagaimana koneksi dibuat antara dua host pada level TCP. Ini dikenal sebagai jabat tangan tiga arah. Jabat tangan ini diperlukan sebelum segala jenis data dapat dikirim ke setiap arah. Setelah koneksi dibuat, data dapat mengalir dua arah dengan setiap paket yang berisi nomor urut byte awal data yang dikandungnya dan pengakuan data yang diterima.

  • Misalkan ada dua host (A dan B) yang ingin saling berkomunikasi. Misalkan host A memulai komunikasi. Sekarang dari sudut pandang TCP, host A mengirimkan paket SYN ke host B.
  • Paket SYN adalah paket TCP dengan flag SYN AKTIF.
  • Juga disebutkan dalam paket ini adalah nomor urut Awal (yang merupakan nilai yang dihasilkan oleh TCP dari host A), port sumber, port tujuan, dll.
  • Ketika paket ini diterima pada lapisan TCP dari host B, host ini membalas dengan paket TCP dengan flag SYN dan ACK ON, nomor urut awal dan informasi lainnya.
  • Saat host A menerima paket ini, ia memeriksa beberapa informasi seperti flag SYN, Nomor Pengakuan (yang seharusnya merupakan nomor urut awal Host A + 1) dll untuk memverifikasi bahwa ini adalah paket yang diharapkan dari Host B.
  • Sebagai balasan, host A mengirimkan paket dengan flag ACK Aktif dan nomor Pengakuan diatur ke nomor urut Awal host B + 1.

Jadi kita melihat bahwa nomor urut memainkan peran penting dalam komunikasi TCP. Nomor urut adalah nomor yang diasosiasikan TCP dengan byte awal data dalam paket tertentu. Dengan cara ini TCP penerima melacak data yang diterima dan mengakuinya. Nomor pengakuan selalu merupakan nomor urut yang diharapkan berikutnya.

Serangan Prediksi Urutan TCP

Misalkan Host A dan Host B saling berkomunikasi. Sekarang, katakanlah penyerang yang duduk di antaranya entah bagaimana dapat memantau paket antara A dan B.

Mari kita lihat apa yang dilakukan penyerang :

  • Penyerang ingin menyerang Host A.
  • Ini membanjiri Host B dengan permintaan baru yang menyebabkan serangan Denial of service untuk menghentikan Host B berkomunikasi dengan A.
  • Sekarang, penyerang dapat memprediksi nomor urut paket yang diharapkan A dari B.
  • Penyerang menyiapkan paket semacam itu dan mengirimkannya ke Host A.
  • Karena kemasannya palsu, jadi tuan rumah A mengira itu berasal dari B.
  • Sekarang, paket ini dapat berupa paket yang mengakhiri koneksi atau meminta host A untuk menjalankan beberapa perintah/skrip berbahaya, dll.

Jadi dengan cara ini koneksi dapat dibajak oleh penyerang.

Cara lain bisa dengan prediksi ISN(initial sequence number).

Mari kita lihat kutipan dari RFC-793 :

Ketika koneksi baru dibuat, generator nomor urut awal (ISN) digunakan yang memilih ISN 32 bit baru. Generator terikat pada jam 32 bit (mungkin fiktif) yang bit orde rendahnya bertambah kira-kira setiap 4 mikrodetik. Jadi, siklus ISN kira-kira setiap 4,55 jam. Karena kami berasumsi bahwa segmen akan tetap berada di jaringan tidak lebih dari Maksimum Segment Lifetime (MSL) dan bahwa MSL kurang dari 4,55 jam, kami dapat mengasumsikan bahwa ISN akan unik.

Tumpukan BSD TCP/IP mengalihkan dari mekanisme di atas. Tumpukan BSD TCP/IP meningkatkan nomor urut 128.000 setiap detik dan 64.000 untuk setiap koneksi TCP baru. Ini seperti yang dapat Anda bayangkan lebih dapat diprediksi dan karenanya dapat dengan mudah dieksploitasi.

Serangan Reset TCP

Serangan ini cukup sederhana untuk dipahami setelah serangan di atas jelas bagi Anda. Dalam serangan ini :

  • Setelah penyerang dapat membajak sesi TCP (seperti yang dijelaskan di atas), serangan ini dapat diluncurkan.
  • Penyerang mengirimkan paket dengan RST Flag ON ke A dan B atau salah satu host.
  • Karena A dan B tidak mengetahui bahwa penyerang telah mengirim paket-paket ini, mereka memperlakukan paket-paket ini secara normal.
  • Karena paket-paket tersebut direset, maka koneksi antara A dan B dihentikan.

Jadi kita dapat melihat bahwa serangan reset TCP ditujukan untuk mengakhiri koneksi TCP yang valid antara dua host.


Linux
  1. Urutkan Dan Hitung Jumlah Terjadinya Garis?

  2. Linux – Bagikan File Antara Linux Host Dan Windows Guest?

  3. Bash .hushlogin, Pertahankan Waktu Login Terakhir Dan Host?

  1. Cara Menemukan Jumlah File dalam Direktori dan Subdirektori

  2. Cara Mengelola Inventaris Host Statis dan Dinamis yang Mungkin

  3. Dapatkan jumlah koneksi yang dibuat TCP

  1. Bagaimana Cara Mencetak Baris Nomor 15 Dan 25 Dari Setiap 50 Baris?

  2. Bagaimana cara mematikan satu koneksi TCP di Linux?

  3. Salin-tempel antara tamu Hyper-V dan tuan rumah