Lệnh nmap trong Linux là một công cụ quét mạng mạnh mẽ, giúp bạn khám phá các thiết bị và dịch vụ đang hoạt động. Nó cho phép bạn xác định cổng mở, hệ điều hành và các thông tin quan trọng khác về mục tiêu. Với lệnh nmap, việc kiểm tra bảo mật và khắc phục sự cố mạng trở nên dễ dàng hơn bao giờ hết.
Lệnh nmap trong linux là gì?
Nmap, viết tắt của Network Mapper, là một công cụ quét mạng mạnh mẽ và phổ biến trong Linux. Command nmap in linux cho phép bạn khám phá các thiết bị và dịch vụ đang chạy trên một mạng cụ thể. Nó giúp xác định hệ điều hành, phiên bản phần mềm và các lỗ hổng bảo mật tiềm ẩn của mục tiêu. Nmap hoạt động bằng cách gửi các gói tin đến mục tiêu và phân tích phản hồi để thu thập thông tin. Với giao diện dòng lệnh linh hoạt, nmap là công cụ không thể thiếu cho quản trị viên mạng và chuyên gia bảo mật.
Tìm hiểu các kiến thức cơ bản về nmap
Trong bước này, chúng ta sẽ tìm hiểu về nmap (Network Mapper), một công cụ mạnh mẽ để khám phá mạng và kiểm tra bảo mật.
Nmap là một tiện ích mã nguồn mở miễn phí, dùng để quét mạng, xác định dịch vụ đang chạy và phát hiện lỗ hổng tiềm ẩn.
Đầu tiên, hãy bắt đầu bằng cách cài đặt nmap trên container Ubuntu 22.04 Docker của chúng ta:
sudo apt-get update
sudo apt-get install -y nmap
Ví dụ về đầu ra:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
liblinear6 libpcap0.8 libpcre2-8-0 libsqlite3-0 libssl-dev libssl1.1 zlib1g
Suggested packages:
nmap-frontend
The following NEW packages will be installed:
liblinear6 libpcap0.8 libpcre2-8-0 libsqlite3-0 libssl-dev libssl1.1 nmap zlib1g
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Sau khi cài đặt nmap, hãy khám phá một số cách sử dụng cơ bản của nó:
- Thực hiện quét TCP connect đơn giản trên một host mục tiêu:
nmap 192.168.1.100
Ví dụ về đầu ra:
Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
- Thực hiện quét chi tiết hơn với phát hiện phiên bản và fingerprint hệ điều hành:
nmap -sV -O 192.168.1.100
Ví dụ về đầu ra:
Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4.1 (protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
443/tcp open ssl/http Apache httpd 2.4.41 ((Ubuntu))
OS CPE: cpe:/o:linux:linux_kernel
OS details: Linux 5.4.0 - 5.15.0
Trong bước này, chúng ta đã học cách sử dụng cơ bản của lệnh nmap, bao gồm quét TCP connect đơn giản và quét chi tiết hơn với phát hiện phiên bản và OS fingerprinting.
Ở bước tiếp theo, chúng ta sẽ khám phá các tính năng và kỹ thuật nâng cao hơn của nmap.
Thực hiện Quét Mạng với nmap
Trong bước này, chúng ta sẽ tìm hiểu sâu hơn về quét mạng bằng nmap và khám phá các tính năng nâng cao của nó.
Đầu tiên, hãy thử quét SYN, đây là một cách bí mật để quét một mạng:
sudo nmap -sS 192.168.1.1-254
Ví dụ về kết quả:
Starting Nmap scan on 192.168.1.0/24
Nmap scan report for 192.168.1.1
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
Nmap scan report for 192.168.1.100
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
Tiếp theo, hãy thực hiện quét UDP để xác định các cổng UDP đang mở:
sudo nmap -sU 192.168.1.100
Ví dụ về kết quả:
Starting Nmap UDP scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT STATE SERVICE
123/udp open ntp
Chúng ta cũng có thể sử dụng nmap để quét một phạm vi cổng cụ thể:
sudo nmap -p 1-1000 192.168.1.100
Ví dụ về kết quả:
Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
Cuối cùng, hãy thử quét TCP SYN với dò tìm phiên bản và nhận dạng hệ điều hành (OS fingerprinting):
sudo nmap -sS -sV -O 192.168.1.100
Ví dụ về kết quả:
Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4.1 (protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
443/tcp open ssl/http Apache httpd 2.4.41 ((Ubuntu))
OS CPE: cpe:/o:linux:linux_kernel
OS details: Linux 5.4.0 - 5.15.0
Trong bước này, chúng ta đã học cách thực hiện các loại quét mạng khác nhau bằng nmap. Các loại quét bao gồm SYN scans, UDP scans, port range scans, và quét với version detection và OS fingerprinting. Những kỹ thuật này có thể hữu ích cho việc khám phá mạng, kiểm tra bảo mật và khắc phục sự cố.
Sử Dụng Các Tính Năng Nâng Cao của nmap
Trong bước cuối cùng này, chúng ta sẽ khám phá các tính năng nâng cao của nmap.
Chúng ta sẽ tìm hiểu cách chúng có thể được sử dụng để phân tích và quét mạng phức tạp hơn.
Hãy bắt đầu bằng cách thực hiện quét script để phát hiện các lỗ hổng tiềm ẩn trên máy chủ mục tiêu:
sudo nmap -sV --script=vuln 192.168.1.100
Ví dụ về đầu ra:
Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4.1 (protocol 2.0)
| ssh-hostkey:
| 3072 c4:f8:9c:0c:cb:8a:d0:95:87:04:a9:44:b2:2e:ac:e5 (RSA)
| 256 ac:00:66:17:63:c0:80:9d:43:bd:ee:e9:a6:ca:e5:84 (ECDSA)
|_ 256 f5:90:d8:9e:6b:b3:19:e5:7c:ab:02:5a:c1:4b:08:e4 (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
| http-slowloris-check:
| VULNERABLE:
| Slowloris DOS attack
| State: VULNERABLE
| IDs: CVE-2007-6750, CWE-476
| Slowloris tries to keep many connections to the target web server open and hold
| them for as long as possible. This can effectively starve the web server of
| resources, slowing it down or causing it to crash.
|
| Disclosure date: 2009-09-03
| References:
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_ http://ha.ckers.org/slowloris/
443/tcp open ssl/http Apache httpd 2.4.41 ((Ubuntu))
| http-slowloris-check:
| VULNERABLE:
| Slowloris DOS attack
| State: VULNERABLE
| IDs: CVE-2007-6750, CWE-476
| Slowloris tries to keep many connections to the target web server open and hold
| them for as long as possible. This can effectively starve the web server of
| resources, slowing it down or causing it to crash.
|
| Disclosure date: 2009-09-03
| References:
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
|_ http://ha.ckers.org/slowloris/
Chúng ta cũng có thể sử dụng nmap để thực hiện quét TCP connect và lưu kết quả vào một file:
sudo nmap -oA nmap_results 192.168.1.100
Ví dụ về đầu ra:
Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
Kết quả được lưu trong các file sau:
- nmap_results.nmap
- nmap_results.gnmap
- nmap_results.xml
Cuối cùng, hãy thử quét TCP SYN với dò tìm service và version, OS fingerprinting và quét script:
sudo nmap -sS -sV -O -sC 192.168.1.100
Ví dụ về đầu ra:
Starting Nmap scan on 192.168.1.100
Nmap scan report for 192.168.1.100
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4.1 (protocol 2.0)
| ssh-hostkey:
| 3072 c4:f8:9c:0c:cb:8a:d0:95:87:04:a9:44:b2:2e:ac:e5 (RSA)
| 256 ac:00:66:17:63:c0:80:9d:43:bd:ee:e9:a6:ca:e5:84 (ECDSA)
|_ 256 f5:90:d8:9e:6b:b3:19:e5:7c:ab:02:5a:c1:4b:08:e4 (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
| http-server-header:
| Apache/2.4.41 (Ubuntu)
|_ Server: Apache/2.4.41 (Ubuntu)
443/tcp open ssl/http Apache httpd 2.4.41 ((Ubuntu))
| http-server-header:
| Apache/2.4.41 (Ubuntu)
|_ Server: Apache/2.4.41 (Ubuntu)
OS CPE: cpe:/o:linux:linux_kernel
OS details: Linux 5.4.0 - 5.15.0
Trong bước cuối cùng này, chúng ta đã khám phá một số tính năng nâng cao của nmap.
Chúng bao gồm quét script để phát hiện lỗ hổng, lưu kết quả quét vào file.
Chúng ta cũng đã thực hiện quét toàn diện với dò tìm service và version, OS fingerprinting và quét script.
Các kỹ thuật này có thể vô giá để đánh giá và khắc phục sự cố bảo mật mạng.
Kết luận cho linux nmap command
Vậy là chúng ta đã cùng nhau khám phá những điều thú vị về nmap trên Linux rồi! Hy vọng qua bài viết này, bạn đã có cái nhìn tổng quan và biết cách sử dụng nmap để quét mạng một cách hiệu quả. Linux nmap command là một công cụ mạnh mẽ, giúp bạn kiểm tra bảo mật và tìm hiểu thông tin về các thiết bị trong mạng. Đừng ngại thử nghiệm các tùy chọn khác nhau để làm quen với cách thức hoạt động của nó nhé. Hãy nhớ rằng, việc sử dụng nmap cần tuân thủ các quy tắc và đạo đức, tránh xâm phạm trái phép vào hệ thống của người khác. Chúc bạn thành công trên con đường khám phá thế giới mạng với nmap!