it-swarm-id.com

Bagaimana peretas memanfaatkan port terbuka sebagai vektor serangan?

Ini adalah pengetahuan luas, dan karena itu merupakan praktik umum, untuk menutup port terbuka pada mesin apa pun yang terhubung ke internet.

Jika misalnya, program tipikal menggunakan port xyz sebagai saluran komunikasinya, dan ada kerentanan dalam program itu, yang dapat dieksploitasi melalui port itu, mengapa serangan yang sama tidak akan berhasil melalui, katakanlah, port 80?

Mengingat program semu kami menggunakan port 888 TCP, dan ia memiliki kerentanan yang dapat dieksploitasi, mengapa kerentanan itu tidak dapat dieksploitasi melalui port 80 TCP (yang merupakan HTTP, dan terbuka pada hampir mesin apa saja)?

Apakah port 80 di server web hanya mendengarkan jenis UNIK dari paket TCP? Apakah hanya menerima paket jenis tertentu?

Mengapa seorang hacker tidak dapat mencoba membuat paket TCP dengan string berbahaya, merangkumnya di dalam paket HTTP dan karenanya menyerang server web?

16
Franko

Layanan mendengarkan port. Server web (layanan) mendengarkan port 80, tapi itu hanya standar, bukan aturan keras. Anda dapat mengonfigurasi layanan apa pun untuk mendengarkan di sembarang port. Ini bukan tentang 'paket khusus' ini tentang 'panggilan nomor port yang tepat' untuk mendapatkan layanan yang Anda inginkan.

Jika program pseudo Anda memiliki kerentanan, maka ia dapat diserang pada port tempat ia ditugaskan. Anda tidak dapat menyerang program pada port yang tidak didengarnya. Jika Anda mencoba menyerang di port lain (seperti port 80 pada contoh Anda), program Anda tidak akan tercapai.

Pertanyaan terakhir Anda, kemudian, sedikit aneh: "Mengapa seorang hacker tidak dapat mencoba membuat paket TCP dengan string berbahaya, merangkumnya di dalam paket HTTP dan karenanya menyerang server web ? "Itu IS apa yang dilakukan peretas. Tetapi mereka menargetkan port layanan yang ingin mereka tekan. Tapi mungkin Anda dapat memperbaiki pertanyaan itu berdasarkan informasi yang saya berikan.

Jadi, mengapa menutup port? Karena Anda ingin mengurangi jumlah layanan yang berpotensi rentan yang Anda paparkan ke Internet.

11
schroeder

"Memblokir port" hanyalah cara perkiraan untuk menyatakan apa yang benar-benar ingin kita lakukan, yaitu memblokir akses ke beberapa layanan.

Sistem operasi yang baru diinstal sering memiliki sejumlah hal yang berjalan secara otomatis, beberapa di antaranya adalah layanan yang memiliki bagian jaringan. Kerentanan yang dapat dieksploitasi jaringan dalam layanan semacam itu adalah pintu akses potensial bagi penyerang. Namun, jarang relevan bahwa semua layanan tersebut dapat diakses oleh semua orang di seluruh Internet yang luas. Misalnya, untuk mesin yang seharusnya merupakan server Web, adalah normal bahwa siapa pun di Bumi dapat mencoba mengakses layanan "Web" tertentu (itu fungsinya), dan biasanya layanan SSH juga terbuka ( sehingga administrator server dapat mengatur server); tidak ada gunanya, bagaimanapun, layanan file-sharing untuk server itu juga terbuka lebar.

Memblokir akses ke port tertentu dapat dilakukan pada firewall dan dianggap lebih efisien waktu daripada mencoba meyakinkan OS untuk tidak menjalankan layanan yang diberikan, dan menahan diri untuk tidak meluncurkannya kembali, atau menciptakan layanan baru, pada kesempatan perangkat lunak memperbarui. Jadi biasanya memblokir semua port kecuali yang diketahui berhubungan dengan layanan yang harus dapat diakses di seluruh dunia (mis. 80 dan 22, untuk Web dan SSH, masing-masing).

5
Tom Leek