Nmap untuk Ethical Hackers. Di sini Anda akan mengetahui tentang nmap dari dasar hingga lanjutan. Dalam tulisan ini. Ditulisan ini kita akan membahas:
- TCP, UDP, FIN, TCP SYN, Idle, Pindai Ping
- Deteksi Versi
- Pindai port tertentu
- Pindai host dan alamat IP
- Deteksi CVE
- Spoofing Alamat Mac
- Meluncurkan DDOS dengan nmap
- Meluncurkan serangan bruteforce
- Pindai + deteksi layanan OS
- Pemindaian idle zombie
- Mendeteksi infeksi malware
Dan parameter serta teknik pemindaian & metodologi yang jauh lebih penting.
Pemindaian UDP (-sU)
Teknik ini digunakan untuk memindai port UDP yang terbuka dari IP/host target. Di sini, pemindaian UDP mengirimkan Paket UDP ke setiap port target dan menunggu hingga mendapat respons. Jika, ia menerima pesan kesalahan yang menyatakan bahwa ICMP tidak dapat dijangkau, ini berarti port tersebut ditutup. Namun, jika mendapat respons yang dapat didekati, berarti port tersebut terbuka.
Command: nmap -sU <target>
Pindai FIN (-sF)
Dalam teknik Fin Scan, paket dikirim dengan Fin Flag. Terkadang, karena firewall, Paket SYN mungkin diblokir. Dalam kasus seperti itu, FIN Scan bekerja dengan melewati firewall. Paket FIN dikirim ke port tertutup, jika tidak ada tanggapan yang diterima, itu karena paket dijatuhkan oleh firewall atau port terbuka.
Command: nmap -sF <target>
Pindai Ping (-sP)
Teknik ini hanya digunakan untuk mengetahui apakah host tersedia atau tidak. Ping Scan tidak digunakan untuk mendeteksi port terbuka. Ini mengirimkan permintaan gema ICMP dan sebagai gantinya mendapat balasan gema ICMP jika tuan rumah masih hidup.
Command: nmap -sP <target>
Pemindaian TCP SYN (-sS)
Dalam teknik ini, Nmap mengirim paket SYN ke tujuan, tetapi tidak membuat sesi apa pun. Akibatnya, komputer target tidak akan dapat membuat log interaksi apa pun karena tidak ada sesi yang dimulai.
Command: nmap -sS <target>
TCP Connect() Pindai (-sT)
Soket UNIX menggunakan panggilan sistem bernama connect() untuk memulai koneksi TCP dan jika berhasil, koneksi dapat dibuat dan jika gagal, koneksi tidak dapat dibuat, pada dasarnya karena port mungkin ditutup.
Command: nmap -sT <target>
Deteksi Versi (-sV)
Teknik ini digunakan untuk mencari tahu tentang layanan tertentu yang berjalan pada port terbuka, yaitu versi dan nama produk. Itu tidak digunakan untuk mendeteksi port terbuka. Namun, pemindaian ini memerlukan port terbuka untuk mendeteksi versinya. Ini menggunakan pemindaian TCP SYN untuk mengetahui tentang port terbuka.
Command: nmap -sV <target>
Pemindaian idle/Diam (-sI)
Pemindaian diam adalah pemindaian lanjutan yang tidak mengirim paket apa pun dari alamat IP Anda, melainkan menggunakan host lain dari jaringan target untuk mengirim paket.
Command: nmap -sI <target>
Pemindaian Nmap Dasar terhadap ip atau host:
nmap <target>
Sekarang, jika Anda ingin memindai nama host, cukup ganti IP untuk host tersebut, seperti yang Anda lihat di bawah:
nmap domain.com
Pemindaian semacam ini, seperti host pemindaian Nmap, sempurna untuk langkah pertama Anda saat memulai dengan Nmap.
Nmap (pemindaian ping)
nmap -sp 192.168.5.0/24
Jenis pemindaian yang paling terkenal adalah pemindaian ping Nmap (disebut demikian karena sering digunakan untuk melakukan sapuan ping Nmap), dan ini merupakan cara termudah untuk mendeteksi host di jaringan apa pun.
Kelemahan dari jenis pemindaian khusus ICMP ini adalah bahwa host jarak jauh sering memblokir paket ping berbasis IP, jadi jika Anda tidak bisa mendapatkan hasil yang solid, sebaiknya beralih ke permintaan berbasis ARP untuk pemindaian Anda.
Pindai port tertentu atau pindai seluruh rentang port host:
nmap -p 1-65535 <target>
Dalam contoh ini, kami memindai semua port 65535 untuk target kami.
Nmap dapat memindai semua kemungkinan port, tetapi Anda juga dapat memindai port tertentu, yang akan melaporkan hasil lebih cepat. Lihat di bawah:
nmap -p 80,443 192.168.1.1
Pindai host dan pembacaan alamat ip dari file teks:
Dalam hal ini, Nmap juga berguna untuk membaca file yang berisi host dan IP didalamnya. Misalkan Anda membuat file list.txt yang berisi baris-baris berikut di dalamnya:
192.168.1.106
cloudflare.com
microsoft.com
google.com
Parameter "-iL" memungkinkan Anda membaca dari file itu, dan memindai semua host tersebut untuk Anda:
nmap -iL list.txt
Simpan hasil pemindaian nmap Anda dalam file teks:
Di sisi lain, dalam contoh berikut kita tidak akan membaca dari file, tetapi mengekspor/menyimpan hasil kita ke dalam file teks:
nmap -oN output.txt google.com
Nmap juga memiliki kemampuan untuk mengekspor file ke dalam format XML, lihat contoh berikut:
nmap -oX output.xml google.com
Menonaktifkan resolusi nama DNS:
Jika Anda perlu sedikit mempercepat pemindaian, Anda selalu dapat memilih untuk menonaktifkan resolusi DNS terbalik untuk semua pemindaian Anda. Cukup tambahkan parameter "-n" dan -Pn untuk menghindari penemuan host.
nmap -p 80 -n -Pn 192.168.1.1
Lihat perbedaannya dengan pemindaian yang mengaktifkan resolusi DNS normal:
nmap -p 80 192.168.1.1
Pindai OS dan deteksi layanan:
Menggunakan parameter "-A" memungkinkan Anda melakukan deteksi OS dan layanan, dan pada saat yang sama kami menggabungkannya dengan "-T4" untuk eksekusi yang lebih cepat. Lihat contoh di bawah ini:
nmap -A -T4 cloudflare.com
Pindai menggunakan protokol TCP atau UDP:
Salah satu hal yang paling kami sukai dari Nmap adalah fakta bahwa Nmap berfungsi untuk protokol TCP dan UDP. Dan sementara sebagian besar layanan berjalan di TCP, Anda juga bisa mendapatkan keuntungan besar dengan memindai layanan berbasis UDP. Mari kita lihat beberapa contoh.
Hasil pemindaian TCP menggunakan parameter “-sT”:
nmap -sT 192.168.1.1
Hasil pemindaian UDP menggunakan parameter “-sU”:
nmap -sU 192.168.1.1
Mesin Skrip Nmap (NSE)
Apa itu NSE?
Nmap Scripting Engine (NSE) adalah salah satu fitur Nmap yang paling kuat dan fleksibel. Hal ini memungkinkan pengguna untuk menulis (dan berbagi) skrip sederhana untuk mengotomatiskan berbagai tugas jaringan. Skrip tersebut kemudian dieksekusi secara paralel dengan kecepatan dan efisiensi yang Anda harapkan dari Nmap. Pengguna dapat mengandalkan kumpulan skrip yang tumbuh dan beragam yang didistribusikan dengan Nmap, atau menulis skrip mereka sendiri untuk memenuhi kebutuhan khusus.
NSE dirancang agar serbaguna, dengan mempertimbangkan tugas-tugas berikut:
1. Penemuan jaringan
Ini adalah roti dan mentega Nmap. Contohnya termasuk mencari data whois berdasarkan domain target, menanyakan ARIN, RIPE, atau APNIC untuk IP target guna menentukan kepemilikan, melakukan pencarian identitas pada port terbuka, kueri SNMP, dan mencantumkan berbagi dan layanan NFS/SMB/RPC yang tersedia.
2. Deteksi versi yang lebih canggih
Sistem deteksi versi Nmap mampu mengenali ribuan layanan yang berbeda melalui sistem pencocokan tanda tangan berbasis probe dan ekspresi reguler, tetapi tidak dapat mengenali semuanya. Misalnya, mengidentifikasi layanan Skype v2 memerlukan dua pemeriksaan independen, yang deteksi versinya tidak cukup fleksibel untuk ditangani. Nmap juga dapat mengenali lebih banyak layanan SNMP jika mencoba beberapa ratus nama komunitas yang berbeda dengan kekerasan. Tak satu pun dari tugas-tugas ini cocok untuk deteksi versi Nmap tradisional, tetapi keduanya mudah diselesaikan dengan NSE. Untuk alasan ini, deteksi versi sekarang memanggil NSE secara default untuk menangani beberapa layanan rumit.
3. Deteksi kerentanan
Ketika kerentanan baru ditemukan, Anda sering ingin memindai jaringan Anda dengan cepat untuk mengidentifikasi sistem yang rentan sebelum orang jahat melakukannya. Meskipun Nmap bukan pemindai kerentanan yang komprehensif, NSE cukup kuat untuk menangani bahkan pemeriksaan kerentanan yang menuntut. Saat bug Heartbleed memengaruhi ratusan ribu sistem di seluruh dunia, pengembang Nmap merespons dengan skrip deteksi ssl-heartbleed dalam waktu 2 hari. Banyak skrip deteksi kerentanan sudah tersedia dan kami berencana untuk mendistribusikan lebih banyak lagi saat ditulis.
4. Deteksi backdoor
Banyak penyerang dan beberapa worm otomatis meninggalkan pintu belakang untuk memungkinkan masuk kembali nanti. Beberapa di antaranya dapat dideteksi oleh deteksi versi berbasis ekspresi reguler Nmap, tetapi worm dan backdoor yang lebih kompleks membutuhkan kemampuan canggih NSE untuk mendeteksi secara andal. NSE telah digunakan untuk mendeteksi backdoor Double Pulsar NSA di SMB dan versi backdoor dari UnrealIRCd, vsftpd, dan ProFTPd.
5. Eksploitasi kerentanan
Sebagai bahasa skrip umum, NSE bahkan dapat digunakan untuk mengeksploitasi kerentanan daripada hanya menemukannya. Kemampuan untuk menambahkan skrip eksploitasi khusus mungkin bermanfaat bagi sebagian orang (khususnya penguji penetrasi), meskipun kami tidak berencana mengubah Nmap menjadi kerangka kerja eksploitasi seperti Metasploit.
Item yang terdaftar ini adalah tujuan awal kami, dan kami mengharapkan pengguna Nmap untuk menghasilkan penggunaan NSE yang lebih inventif.
Skrip ditulis dalam bahasa pemrograman Lua tersemat, versi 5.3. Bahasa itu sendiri didokumentasikan dengan baik dalam buku Pemrograman di Lua, Edisi Keempat dan Manual Referensi Lua 5.2. Manual referensi, diperbarui untuk Lua 5.3, juga tersedia secara online.
NSE diaktifkan dengan opsi -sC (atau --script jika Anda ingin menentukan sekumpulan skrip khusus) dan hasilnya diintegrasikan ke dalam keluaran Nmap normal dan XML.
6. Deteksi CVE menggunakan Nmap
Salah satu fitur terhebat Nmap yang tidak semua administrator jaringan dan sistem ketahui adalah sesuatu yang disebut “Nmap Scripting Engine” (dikenal sebagai NSE). Mesin skrip ini memungkinkan pengguna untuk menggunakan serangkaian skrip yang telah ditentukan sebelumnya, atau menulis sendiri menggunakan bahasa pemrograman Lua.
Menggunakan skrip Nmap sangat penting untuk mengotomatiskan pemindaian sistem dan kerentanan. Misalnya, jika Anda ingin menjalankan pengujian kerentanan penuh terhadap target, Anda dapat menggunakan parameter berikut:
nmap -Pn --script vuln 192.168.1.105
7. Meluncurkan serangan DOS dengan nmap
Fitur Nmap sepertinya tidak pernah berakhir, dan berkat NSE, itu bahkan memungkinkan kami meluncurkan serangan DOS terhadap pengujian jaringan kami.
misalnya kita dapat mencoba mengeksploitasi kerentanan slowloris dengan meluncurkan serangan DOS dalam loop selamanya:
nmap 192.168.1.105 -max-parallelism 8
00 -Pn --script http-slowloris --script-args http-slowloris.runforever=true
nmap -sV --script http-wordpress-brute --script-args 'userdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=domain.com, http-wordpress-brute.threads=3 ,brute.firstonly=true' 192.168.1.105
nmap -p 1433 --script ms-sql-brute --script-args userdb=customuser.txt,passdb=custompass.txt 192.168.1.105
nmap --script ftp-brute -p 21 192.168.1.105
9. Mendeteksi infeksi malware pada remote host
Nmap mampu mendeteksi malware dan backdoors dengan menjalankan pengujian ekstensif pada beberapa layanan OS populer seperti pada Identd, Proftpd, Vsftpd, IRC, SMB, dan SMTP. Ini juga memiliki modul untuk memeriksa tanda-tanda malware populer di dalam server jarak jauh dan juga mengintegrasikan database Safe Browsing dan VirusTotal Google.
Pemindaian malware umum dapat dilakukan dengan menggunakan:
nmap -sV --script=http-malware-host 192.168.1.105
Atau menggunakan cek Malware Google:
nmap -p80 --script http-google-malware infectedsite.com
Mendeteksi infeksi malware pada remote host
1. Paket Fragmen
Teknik ini sangat efektif terutama di masa lalu namun Anda masih dapat menggunakannya jika menemukan firewall yang tidak dikonfigurasi dengan benar. Nmap menawarkan kemampuan untuk memecah-mecah paket saat memindai dengan opsi -f sehingga dapat melewati pemeriksaan paket firewall.
2. Tentukan MTU tertentu
Nmap memberikan opsi kepada pengguna untuk mengatur MTU (Maximum Transmission Unit) tertentu ke paket. Ini mirip dengan teknik fragmentasi paket yang telah kami jelaskan di atas. Selama pemindaian, ukuran nmap akan membuat paket berdasarkan ukuran pada nomor yang akan kami berikan. Pada contoh ini kami memberikan nomor 24 sehingga nmap akan membuat paket 24 byte yang menyebabkan kebingungan pada firewall.
Perlu diingat bahwa nomor MTU harus kelipatan 8 (8,16,24,32 dst). Anda dapat menentukan MTU pilihan Anda dengan perintah –mtu target nomor.
3. Gunakan alamat Decoy
Dalam jenis pemindaian ini Anda dapat menginstruksikan Nmap untuk memalsukan paket dari host lain. Dalam log firewall tidak hanya alamat IP kami tetapi juga alamat IP umpan sehingga akan lebih sulit untuk menentukan dari sistem mana pemindaian dimulai.
Ada dua opsi yang dapat Anda gunakan dalam jenis pemindaian ini:
- nmap -D RND:10 [target] (Menghasilkan umpan dalam jumlah acak)
- nmap -D decoy1,decoy2,decoy3 dll. (Tentukan alamat IP umpan secara manual)
4. Pemindaian Zombie Menganggur
Teknik ini memungkinkan Anda untuk menggunakan host lain di jaringan yang tidak aktif untuk melakukan pemindaian port ke host lain. Keuntungan utama dari metode ini adalah sangat tersembunyi karena file log firewall akan mencatat alamat IP Zombie dan bukan IP kami.
Namun untuk mendapatkan hasil yang tepat kita harus menemukan host yang menganggur di jaringan.
Kerangka kerja Metasploit memiliki pemindai yang dapat membantu kami menemukan host yang menganggur di jaringan dan dapat digunakan saat mengimplementasikan jenis pemindaian ini.
nmap -sI [Zombie IP] [IP Target]
5. Spesifikasi nomor port sumber
Kesalahan umum yang dilakukan banyak administrator saat mengonfigurasi firewall adalah menyiapkan aturan untuk mengizinkan semua lalu lintas masuk yang berasal dari nomor port tertentu.
Opsi –source-port dari Nmap dapat digunakan untuk mengeksploitasi kesalahan konfigurasi ini. Port umum yang dapat Anda gunakan untuk jenis pemindaian ini adalah: 20,53 dan 67.
6. Tambahkan Data acak
Banyak firewall memeriksa paket dengan melihat ukurannya untuk mengidentifikasi potensi pemindaian port. Ini karena banyak pemindai mengirimkan paket yang memiliki ukuran tertentu.
Untuk menghindari deteksi semacam itu, Anda dapat menggunakan perintah –data-length untuk menambahkan data tambahan dan mengirim paket dengan ukuran yang berbeda dari default.
7. Pindai dengan Urutan Acak
Dalam teknik ini Anda dapat memindai sejumlah host dalam urutan acak dan tidak berurutan. Perintah yang Anda gunakan untuk menginstruksikan Nmap untuk memindai host dalam urutan acak adalah –randomize-hosts.
Teknik ini dikombinasikan dengan opsi pengaturan waktu yang lambat dalam perintah nmap bisa sangat efektif ketika Anda tidak ingin memperingatkan firewall.
8. Spoofing Alamat Mac
Metode lain untuk melewati batasan firewall saat melakukan pemindaian port adalah dengan memalsukan alamat MAC host Anda. Teknik ini bisa sangat efektif terutama jika ada aturan penyaringan MAC yang hanya mengizinkan lalu lintas dari alamat MAC tertentu sehingga Anda perlu menemukan yang mana Alamat MAC yang perlu Anda atur untuk mendapatkan hasil.
Secara khusus opsi –spoof-mac memberi Anda kemampuan untuk memilih alamat MAC dari vendor tertentu, untuk memilih alamat MAC acak atau untuk mengatur alamat MAC tertentu pilihan Anda.
Keuntungan lain dari spoofing alamat MAC adalah Anda membuat pemindaian Anda lebih tersembunyi karena alamat MAC asli Anda tidak akan muncul di file log firewall.
Tentukan alamat MAC dari Vendor —-> –spoof-mac Dell/Apple/3Com
Hasilkan alamat MAC acak —-> —spoof-mac 0
Tentukan alamat MAC Anda sendiri —-> —spoof-mac 00:01:02:25:56:AE
9. Kirim Checksum Buruk
Checksum digunakan oleh protokol TCP/IP untuk memastikan integritas data. Namun pengiriman paket dengan checksum yang salah dapat membantu Anda menemukan informasi dari sistem yang tidak dikonfigurasi dengan benar atau saat Anda mencoba menghindari firewall.
Anda dapat menggunakan perintah nmap –badsum IP untuk mengirim paket dengan checksum buruk ke target Anda.
Jika tidak mendapatkan hasil apa pun. Ini berarti bahwa sistem telah dikonfigurasi dengan benar.
Saya harap Anda telah mempelajari sesuatu yang baru dari tulisan ini.