GNU/Linux >> Belajar Linux >  >> Linux

Menemukan perangkat jahat di jaringan Anda menggunakan Nmap

Nmap adalah alat penemuan jaringan sumber terbuka populer yang digunakan untuk menemukan dan mengaudit perangkat di jaringan komputer. Ini dapat dengan cepat memindai satu host hingga jaringan komputer besar, memberikan informasi yang berguna tentang setiap host dan perangkat lunaknya.

Penyusup dalam jaringan… Tunggu, apa?

Setiap hari, produk IoT seperti jam tangan pintar, pelacak kebugaran, printer, kamera pintar, dan lainnya menjadi bagian dari kehidupan kita sehari-hari. Banyak dari perangkat ini disinkronkan dengan smartphone pribadi atau kantor kita. Disengaja atau tidak, perangkat ini mungkin terhubung ke jaringan perusahaan Anda. Setidaknya setengah dari organisasi telah mengalami hal ini dalam setahun terakhir, menurut Infoblox.

Tapi apa risikonya? Sebagian besar perangkat IoT tidak memiliki keamanan bawaan dan, dalam banyak kasus, tidak memiliki pembaruan firmware dan keamanan. Kurangnya keamanan ini adalah tambang emas bagi penjahat dunia maya yang mencoba menembus keamanan jaringan Anda. Namun, berkat fitur penemuan dan audit Nmap, Anda dapat dengan cepat menemukan dan mengidentifikasi host atau perangkat jahat di jaringan Anda dan perangkat lunak yang berjalan di dalamnya. Mari kita jelajahi beberapa skenario.

[ Pembaca juga menyukai: Menjalankan pemindaian NMAP cepat untuk menginventarisasi jaringan saya ]

Penemuan jaringan umum

Mengetahui port yang terbuka saja tidak cukup, karena sering kali, layanan ini mungkin mendengarkan pada port non-standar. Anda juga ingin mengetahui perangkat lunak dan versi apa yang ada di balik port dari perspektif keamanan. Berkat kemampuan Layanan dan Deteksi Versi Nmap, dimungkinkan untuk melakukan inventaris jaringan lengkap dan host dan penemuan perangkat, memeriksa setiap port tunggal per perangkat atau host dan menentukan perangkat lunak apa yang ada di balik masing-masing.

Nmap terhubung ke dan menginterogasi setiap port yang terbuka, menggunakan probe deteksi yang mungkin dipahami oleh perangkat lunak. Dengan melakukan ini, Nmap dapat memberikan penilaian rinci tentang apa yang ada di luar sana daripada hanya port terbuka yang tidak berarti.

Untuk memanfaatkan fitur canggih ini, Anda harus:

  1. Aktifkan Deteksi Layanan dan Versi menggunakan parameter -sV .
  2. Tambahkan opsi --allports untuk memindai setiap port tunggal. Secara default, Nmap tidak memeriksa port 9100. Banyak printer menggunakan port ini, dan dalam beberapa kasus yang jarang terjadi, Nmap menyebabkan mereka mencetak.
  3. Gunakan -T4 untuk eksekusi yang lebih cepat, karena penemuan ini mungkin memakan waktu.
$ nmap -sV --allports -T4 10.1.0.0/24
Nmap scan report for 10.1.0.1
Host is up (0.0038s latency).
Not shown: 995 filtered ports
PORT     STATE SERVICE        VERSION
53/tcp   open  domain         Unbound
80/tcp   open  http           nginx
2022/tcp open  ssh            OpenSSH 7.5 (protocol 2.0)
5000/tcp open  ssl/http-proxy HAProxy http proxy 1.3.1 or later
8443/tcp open  ssl/http       nginx
Service Info: Device: load balancer

Nmap scan report for 10.1.0.2
Host is up (0.82s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE  VERSION
22/tcp   open  ssh      OpenSSH 8.3p1 Debian 1 (protocol 2.0)
80/tcp   open  http     nginx
111/tcp  open  rpcbind  2-4 (RPC #100000)
443/tcp  open  ssl/http nginx
2049/tcp open  nfs      3-4 (RPC #100003)
3260/tcp open  iscsi?
6000/tcp open  http     aiohttp 3.6.2 (Python 3.8)
8080/tcp open  http     Apache httpd 2.4.46 ((Debian) mpm-itk/2.4.7-04 OpenSSL/1.1.1g)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Dari output di atas, Nmap menemukan dua host:10.1.0.1 dan 10.1.0.2 .

Host pertama terdeteksi sebagai penyeimbang beban—cukup dekat, karena ini adalah router saya yang menjalankan pfSense. Itu juga melihat beberapa port terbuka dan perangkat lunak mendengarkan masing-masing. Ini dengan benar mendeteksi server DNS sebagai Tidak Terikat; Nginx sebagai server web di belakang port 80 (diharapkan) dan 8443 (port non-standar); itu juga menangkap port 2022 terbuka, dengan OpenSSH 7.5 di belakangnya; dan di port 5000, Nmap mendeteksi HAProxy, dengan versi minimal 1.3.1.

Host kedua menjalankan Linux, dan setiap perangkat lunak diidentifikasi dengan benar, kecuali server iSCSI di belakang port 3260.

Apa yang Anda lakukan dengan informasi ini? Simpan itu! Anda akan memerlukan garis dasar untuk dibandingkan dengan waktu berikutnya Anda memindai jaringan untuk mencari host dan layanan baru. Periksa kerentanan keamanan untuk setiap perangkat lunak yang terdeteksi. Pastikan Anda mengenali setiap perangkat!

Server DHCP jahat

Server DHCP adalah komponen mendasar dari setiap jaringan. Intinya, seharusnya hanya ada satu server DHCP per jaringan, yang menyediakan semua informasi yang diperlukan untuk mengkonfigurasi jaringan dengan benar.

Server DHCP nakal sama seperti server DHCP biasa, tetapi tidak dikelola oleh staf TI atau jaringan. Server jahat ini biasanya muncul ketika pengguna secara sadar atau tidak sadar menghubungkan router ke jaringan. Kemungkinan lain adalah perangkat IoT yang disusupi seperti ponsel, printer, kamera, tablet, jam tangan pintar, atau sesuatu yang lebih buruk, seperti aplikasi atau sumber daya TI yang disusupi.

Server DHCP nakal membuat frustrasi, terutama jika Anda mencoba menggunakan armada server menggunakan PXE, karena PXE sangat bergantung pada DHCP. Tidak hanya itu, ini merupakan risiko keamanan, dan Anda dapat mulai mengalami gangguan jaringan karena server DHCP yang jahat dapat memberikan pengaturan dan rute jaringan yang salah.

Untuk melakukan penemuan DHCP, Nmap menyertakan skrip yang disebut broadcast-dhcp-discover . Skrip ini akan mengirimkan permintaan DHCP ke alamat broadcast menggunakan alamat MAC DE:AD:CO:DE:CA:FE dan laporkan hasilnya.

Dalam contoh berikut, skrip broadcast-dhcp-discover dijalankan pada antarmuka bond0 dan menemukan server DHCP jahat:

$ sudo nmap --script broadcast-dhcp-discover -e bond0
Starting Nmap 7.70 ( https://nmap.org ) at 2020-10-28 19:24 CDT
Pre-scan script results:
| dhcp:
|   Response 1 of 2:
|     Interface: bond0
|     IP Offered: 10.1.0.78
|     DHCP Message Type: DHCPOFFER
|     Server Identifier: 10.1.0.1
|     IP Address Lease Time: 5m00s
|     Subnet Mask: 255.255.255.0
|     Router: 10.1.0.1
|     Domain Name Server: 10.1.0.1
|     Domain Name: lab.opencloud.io
|   Response 2 of 2:
|     Interface: bond0
|     IP Offered: 10.1.0.27
|     DHCP Message Type: DHCPOFFER
|     Server Identifier: 10.1.0.3
|     IP Address Lease Time: 2m00s
|     Renewal Time Value: 1m00s
|     Rebinding Time Value: 1m45s
|     Subnet Mask: 255.255.255.0
|     Broadcast Address: 10.1.0.255
|     Router: 10.1.0.3
|_    Domain Name Server: 10.1.0.3
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 10.31 seconds

Dari output di atas, Anda dapat melihat dua respons berbeda yang terkait dengan balasan dari setiap server DHCP di jaringan.

Bidang yang paling penting untuk diperhatikan adalah Server Identifier , karena ini akan menunjukkan kepada Anda IP server DHCP, termasuk yang berpotensi nakal.

Apa yang Anda lakukan dengan informasi ini? Kebijakan keamanan setiap organisasi berbeda. Namun, dalam banyak kasus, DHCP jahat harus dihentikan dan dihapus dari jaringan.

Perangkat UPnP

UPnP, juga dikenal sebagai Universal Plug and Play, adalah kumpulan beberapa protokol untuk memungkinkan aplikasi apa pun meneruskan port pada router Anda, menghemat banyak waktu dalam konfigurasi penerusan port manual.

Namun, UPnP berbahaya dan, jika mungkin, harus dinonaktifkan di jaringan. Bayangkan memiliki perangkat jahat di jaringan yang menjalankan aplikasi berbahaya. Aplikasi ini dapat dengan mudah menggunakan UPnP untuk meneruskan port ke dunia luar dan menggunakannya untuk tujuan jahat.

UPnP telah dieksploitasi berkali-kali. Dua dari kasus yang paling menonjol adalah Mirai , menargetkan kamera IP dan router rumah, dan Pinkslipbot , yang menggunakan mesin yang terinfeksi sebagai proxy berbasis HTTPS untuk server kontrol yang sebenarnya.

Sayangnya, banyak perangkat rumah yang menggunakan UPnP saat ini, termasuk konsol video game atau perangkat streaming seperti Google Chromecast.

Untuk memindai jaringan 10.1.0.0/24 dan menemukan perangkat yang menggunakan UPnP, perintah berikut harus dijalankan untuk menjalankan plugin broadcast-upnp-info . Gunakan -T4 untuk mempercepat penemuan:

% nmap -sV --script=broadcast-upnp-info -T4 10.1.0.0/24
Starting Nmap 7.91 ( https://nmap.org ) at 2020-11-02 18:59 CST
Pre-scan script results:
| broadcast-upnp-info:
|   239.255.255.250
|       Server: Linux/2.6.12, UPnP/1.0, NETGEAR-UPNP/1.0
|       Location: http://192.168.1.204:80/Public_UPNP_gatedesc.xml
|         Manufacturer: NETGEAR, Inc.
|         Name: WAN Device
|         Manufacturer: NETGEAR, Inc.
|         Name: WAN Connection Device
|         Manufacturer: NETGEAR, Inc.

Skrip Nmap mendeteksi hanya satu perangkat yang menggunakan UPnP, memberikan informasi yang diperlukan seperti pabrikan, sistem operasi, dan versi perangkat lunak.

Apa yang Anda lakukan dengan informasi ini? Jika Anda tidak membutuhkan UPnP, lebih baik untuk menonaktifkannya. Jika tidak memungkinkan, pastikan Anda mengenali perangkat dan telah diupgrade ke versi firmware terbaru.

[ Ingin mempelajari lebih lanjut tentang keamanan? Lihat daftar periksa keamanan dan kepatuhan TI. ] 

Kesimpulan

Dalam artikel ini, kami menjelajahi cara menggunakan Nmap untuk menemukan perangkat jahat potensial di jaringan kami. Dengan munculnya dan meningkatnya popularitas perangkat IoT (banyak tanpa mekanisme keamanan), sekarang sangat penting untuk melacak semua perangkat yang terhubung ke jaringan. Nmap adalah alat yang berguna untuk digunakan dalam kasus ini dan banyak lagi.


Linux
  1. Memecahkan masalah jaringan Anda dengan tcpdump

  2. Menggunakan alat SS untuk pemecahan masalah jaringan

  3. Memeriksa Koneksi Jaringan Anda di Linux

  1. Menghitung jaringan baru dengan Nmap

  2. Apakah Anda mengizinkan protokol X di jaringan Anda?

  3. Menemukan Item Terakhir Dalam Baris Menggunakan Grep?

  1. Kirim pindaian Anda ke mesin Linux melalui jaringan Anda

  2. Temukan Perangkat yang Terhubung ke Wifi Anda Di Linux

  3. Menemukan Paket untuk Kali Linux