Tất tần tật về Nmap

28/05/2018

Trong khi hiện nay có rất nhiều công cụ giám sát tiên tiến đóng vai trò là những trợ thủ đắc lực giúp đỡ các nhà quản trị mạng trong việc quét cổng và phát hiện các lỗ hổng mạng nhưng Nmap vẫn được coi là một công cụ chuẩn mực. Tại sao lại như vậy?

Các nhà quản trị mạng, quản lý công nghệ thông tin và chuyên gia bảo mật đã, đang, và sẽ phải đối mặt với một trận chiến không bao giờ kết thúc trên chiến trường mang tên an ninh mạng. Họ sẽ phải liên tục kiểm tra rà soát hệ thống mạng của của mình để tìm ra các tác nhân gây hại cũng như những lỗ hổng bảo mật ẩn chứa bên trong. Trong khi hiện nay có không ít các tiện ích giám sát có sẵn hỗ trợ cho các chuyên gia trong việc việc lập bản đồ hệ thống mạng và kiểm soát bảo mật, Nmap là sự lựa chọn số một về tính linh hoạt và khả năng vận hành, và cũng chính những ưu điểm này đã làm cho nó trở thành một công cụ quét cổng và lỗ hổng bảo mật tiêu chuẩn được thừa nhận rộng rãi trên toàn thế giới.
Nmap là gì?

Nmap-la-gi1.jpg
Nmap (tên đầy đủ Network Mapper) là một công cụ bảo mật được phát triển bởi Floydor Vaskovitch. Nmap có mã nguồn mở, miễn phí, dùng để quét quét cổng và lỗ hổng bảo mật. Các chuyên gia quản trị mạng sử dụng Nmap để xác định xem thiết bị nào đang chạy trên hệ thống của họ, cũng như tìm kiếm ra các máy chủ có sẵn và các dịch vụ mà các máy chủ này cung cấp, đồng thời dò tìm các cổng mở và phát hiện các nguy cơ về bảo mật.
Nmap có thể được sử dụng để giám sát các máy chủ đơn lẻ cũng như các cụm mạng lớn bao gồm hàng trăm nghìn thiết bị và nhiều mạng con hợp thành.
Mặc dù Nmap đã không ngừng được phát triển, cải tiến qua nhiều năm và cực kỳ linh hoạt, nhưng nền tảng của nó vẫn là một công cụ quét cổng, thu thập thông tin bằng cách gửi các gói dữ liệu thô đến các cổng hệ thống. Sau đó nó lắng nghe và phân tích các phản hồi và xác định xem các cổng đó được mở, đóng hoặc lọc theo một cách nào đó, ví dụ như tường lửa. Các thuật ngữ khác được sử dụng để chỉ hoạt động quét cổng (port scanning) bao gồm dò tìm cổng (discovery) hoặc liệt kê cổng (enumeration).
Nmap-la-gi2.jpg
Nmap trong quét cổng
Các gói dữ liệu mà Nmap gửi đi sẽ trả về các địa chỉ IP và nhiều dữ liệu liên quan khác, cho phép bạn xác định các loại thuộc tính mạng, cung cấp cho bạn hồ sơ hoặc sơ đồ hệ thống mạng và cho phép bạn tạo một bảng liệt kê đánh giá về phần cứng và phần mềm trong hệ thống mạng đó.
Các giao thức mạng khác nhau sử dụng các loại cấu trúc gói khác nhau. Nmap sử dụng các giao thức tầng bao gồm TCP (giao thức điều khiển truyền), UDP (giao thức truy vấn người dùng), và SCTP (giao thức truyền dẫn điều khiển luồng), cũng như các giao thức hỗ trợ như ICMP (giao thức tin nhắn điều khiển Internet, được sử dụng để gửi thông báo lỗi).
Các giao thức khác nhau phục vụ cho các các mục đích và các cổng hệ thống khác nhau. Ví dụ, chi phí tài nguyên thấp của UDP rất phù hợp với hoạt động stream video trực tuyến theo thời gian thực, nơi bạn sẽ hy sinh một số gói dữ liệu bị mất để đổi lấy tốc độ, trong khi đó, các video được stream không theo thời gian thực trên YouTube sẽ được lưu vào bộ đệm và sử dụng TCP chậm hơn, mặc dù giao thức này đáng tin cậy hơn.
Cùng với nhiều tính năng khác, chức năng quét cổng cơ bản và khả năng chụp gói (packet-capture - tính năng chặn gói dữ liệu đang truyền qua hoặc di chuyển qua một mạng máy tính cụ thể) của Nmap cũng liên tục được nâng nâng cấp, cải thiện.
Ông Gordon Lyon, tác giả của Nmap đã chia sẻ trong một phản hồi email cho các truy vấn về phần mềm rằng hiện nay công ty của ông đang tập trung vào việc nâng cấp trình điều khiển tính năng chụp gói Npcap và thư viện cho Windows. "Nó làm cho Nmap nhanh hơn và mạnh hơn trên Windows và hiện cũng đang được sử dụng bởi nhiều ứng dụng khác nữa. Chúng tôi đã tung ra tám bản phát hành của Npcap trong năm nay", ông Gordon Lyon cho biết.
Nmap và con đường chạm tới những thành công
Nmap được viết trên nền tảng C ++ và được giới thiệu lần đầu tiên cùng với mã nguồn trong tạp chí Phrack vào tháng 9 năm 1997. Sau đó nó được mở rộng với C, Perl và Python. Tác giả Gordon Lyon đã sử dụng bút danh Fyodor Vaskovitch. Fyodor Vaskovitch cho biết sở dĩ ông lựa chọn bút danh này là do ông đã bị ấn tượng mạnh sau khi đọc những dòng ghi chú của Fyodor Dostoevsky từ Underground.
Nmap-la-gi3-(1).jpg
Trong suốt những năm qua kể từ khi ra mắt, Nmap đã được hưởng lợi từ sự đóng góp lớn của cộng đồng người hâm mộ và các nhà phát triển đang không ngừng tăng và giờ đây ứng dụng này sở hữu số lượt tải xuống lên tới hàng ngàn lần mỗi ngày. Cùng với sự ủng hộ từ giới công nghệ, Nmap cùng đã được đông đảo công chúng, những người không có nhiều chuyên môn về an ninh mạng biết đến thông qua những bộ phim điện ảnh. Trong những bộ phim này Nmap đã trở thành một công cụ đột phá cho các đạo diễn cùng với sự diễn xuất của các ngôi sao như Rihanna và Kate Mara. Nmap xuất hiện lần đầu trong bộ phim The Matrix Reloaded, trong đó nhân vật Trinity do Carrie-Anne Moss thủ vai đã cho thấy khả năng bẻ khóa bảo mật ấn tượng của cô bằng cách sử dụng phần mềm Nmap một cách chính xác.
Nmap chạy được trên những hệ điều hành nào?
Một trong những lý do dẫn đến sự phổ biến rộng rãi của Nmap là nó có thể được sử dụng được trên rất nhiều hệ điều hành khác nhau. Nó chạy được trên Windows và macOScũng như được hỗ trợ trên các bản phân phối của Linux bao gồm Red Hat, Mandrake, SUSE và Fedora. Nó cũng hoạt động tốt trên các hệ điều hành khác bao gồm BSD, Solaris, AIX và AmigaOS.
Cách sử dụng Nmap
Không khó để tìm thấy một loạt các tiện ích giám sát mạng miễn phí cũng như các công cụ quét lỗ hổng nguồn mở miễn phí có sẵn cho các nhà quản trị mạng và kiểm soát viên an ninh mang. Tuy nhiên, điều làm cho Nmap nổi bật như một công cụ công nghệ thông tin mà bất cứ các nhà quản lý mạng nào cũng cần phải biết tới chính là ở tính linh hoạt và sức mạnh của nó. Ngoài chức năng cơ bản của Nmap là quét cổng, nó cũng cung cấp cho người dùng một loạt các tính năng liên quan bao gồm:
Lập bản đồ mạng (Network mapping): Nmap có thể xác định các thiết bị đang hoạt động trên mạng (còn được gọi là phát hiện máy chủ), bao gồm máy chủ, bộ định tuyến và cách chúng được kết nối vật lý như thế nào.
Phát hiện hệ điều hành(OS detection): Nmap có thể xác định được các hệ điều hành của các thiết bị đang chạy trên mạng (còn gọi là OS fingerprinting), đồng thời cung cấp thông tin về nhà cung cấp, hệ điều hành cơ sở, phiên bản phần mềm và thậm chí ước tính được cả thời gian hoạt động của thiết bị.
Dò tìm dịch vụ (Service discovery): Nmap không chỉ có thể xác định được các máy chủ đang hoạt động trên mạng, mà còn xác định được chúng đang cung cấp loại hình dịch vụ nào. Có thể là các máy chủ mail, web hoặc tên. Cũng như xác định được các ứng dụng và phiên bản cụ thể của những phần mềm liên quan mà chúng đang chạy.
Kiểm tra bảo mật (Security auditing): Nmap có thể tìm ra phiên bản hệ điều hành và ứng dụng nào đang chạy trên các máy chủ mạng, từ đó cho phép các nhà quản trị mạng xác định những vị trí yếu điểm tướng ứng với các lỗ hổng cụ thể. Ví dụ, nếu quản trị viên mạng nhận được những cảnh báo về lỗ hổng trong từng phiên bản cụ thể của ứng dụng, anh ta có thể tiến hành quét mạng của mình để xác định xem phiên bản phần mềm đó có đang chạy trên mạng không và thực hiện các bước để vá hoặc cập nhật các máy chủ có liên quan. Ngoài ra, các tập lệnh cũng có thể tự động hóa các tác vụ như phát hiện các lỗ hổng cụ thể.
Nmap-la-gi4.jpg
Các lệnh trong Nmap cho người mới bắt đầu
Một trong những cái hay khi dùng Nmap là những người mới sử dụng, có ít kiến thức về hệ thống hoặc mạng vẫn có thể bắt đầu với các lệnh đơn giản để tiến hành các quá trình quét cơ bản, trong khi các chuyên gia có thể tận dụng các lệnh phức tạp hơn để có những cái nhìn chi tiết hơn về toàn bộ hệ thống mạng.
Những gì bạn nhận được khi bạn sử dụng Nmap về cơ bản là danh sách các mục tiêu bạn đã quét, cùng với thông tin liên qua được liên kết với các mục tiêu đó. Thông tin bạn nhận được sẽ tùy thuộc vào cách thức bạn thực hiện quét. Nói cách khác, nó tùy thuộc vào các lệnh mà bạn đã sử dụng.
Quá trình quét không nhất thiết tạo ra nhiều lưu lượng truy cập mà tùy thuộc vào các lệnh được sử dụng. Việc quét tất cả các cổng trên tất cả các hệ thống sẽ không mang lại nhiều hiệu quả, chủ yếu vì chỉ có một phần nhỏ các cổng có sẵn sẽ được sử dụng cùng một lúc (một hệ thống có thể có 65.535 cổng TCP và 65.535 cổng UDP). Các tùy chọn khác nhau cho phép finetuning hoặc mở rộng quét. Ví dụ: trong việc xác định các phiên bản dịch vụ, các tùy chọn có sẵn bao gồm:
sV (cho phép phát hiện phiên bản)
version-intensity <intensity> (đặt cường độ quét)

Cường độ quét dao động từ 0 đến 9. Quét cường độ thấp hơn sẽ thăm dò các dịch vụ phổ biến, trong khi quét cường độ cao hơn có thể xác định được chính xác các dịch vụ được sử dụng ít hơn nhưng sẽ mất nhiều thời gian quét hơn.
Các lệnh khác nhau cũng có thể cho phép bạn chỉ định cổng hoặc mạng thành phần nào cần quét hoặc bỏ qua.
Nmap Scripting Engine (NSE)
Nmap Scripting Engine (NSE) bao gồm một công cụ lệnh được viết trên ngôn ngữ lập trình Lua để viết, lưu và chia sẻ các tập lệnh có nhiệm vụ tự động hóa các kiểu quét khác nhau. Mặc dù thường được sử dụng để kiểm tra các lỗ hổng điển hình, các cơ sở hạ tầng mạng, nhưng tất cả các nhiệm vụ đều có thể được tự động hóa.
Zenmap - giao diện của Nmap
Zenmap là giao diện đồ họa của máy quét bảo mật Nmap. Giao diện này cung cấp cho người dùng hàng trăm tùy chọn khác nhau. Nó cho phép người dùng thực hiện những việc như lưu trữ thông tinh về các lượt quét và sau đó so sánh chúng, xem bản đồ cấu trúc liên kết mạng, xem hiển thị các cổng đang chạy trên máy chủ hoặc tất cả máy chủ trên mạng và lưu trữ, quét trong cơ sở dữ liệu để phục vụ cho quá trình tìm kiếm sau này.
Có gì mới trong Nmap
Phiên bản Nmap 7.70, phát hành vào tháng 3 năm 2018, đã cung cấp 9 tập lệnh NSE mới và cung cấp hàng trăm mã hệ điều hành và dịch vụ mới cho hệ điều hành và ứng dụng phát hiện phiên bản ứng dụng, bao gồm mã hỗ trợ IPv6 và IPv4. Các cải tiến trong phiên bản 7.70 cũng giúp phát hiện phiên bản dịch vụ nhanh hơn và chính xác hơn. Do việc sử dụng Windows rộng rãi, việc đưa các cải tiến đối với thư viện chụp gói Npcap Windows cũng được đưa ra nhằm tăng cường hiệu suất và tính ổn định là những bước đi đặc biệt quan trọng từ nhà phát hành.
Bản phát hành tiếp theo của Nmap được dự kiến sẽ ra mắt vào cuối quý 3 hoặc đầu quý 4 năm nay, nhưng ông Lyon cũng lưu ý rằng giữa các bản phát hành, các tập lệnh và các giao thức mới đang được hãng trau chuốt và có sẵn để người dùng thử nghiệm.
"Việc chuyển đổi từ trình điều khiển Winpcap lỗi thời, sang hệ thống Npcap mới của chúng tôi thực sự là một bước tiến lớn chưa từng có cho người dùng Windows Nmap. Chúng tôi cũng sẽ tiếp tục mở rộng và cải thiện Nmap Scripting Engine. Bây giờ chúng tôi có 591 tập lệnh và 133 thư viện giao thức, các bạn có thể tìm thấy tại https://nmap.org/nsedoc/. Tôi cảm thấy dường như đứa con tinh thần của mình giờ đây đã thực sự đã khôn lớn trưởng thành. Quả thật vậy, Nmap sẽ bước sang tuổi 21 vào ngày 1 tháng 9 này!”, ông Lyon chia sẻ.
Nmap có đang được sử dụng cho các hành vi trái phép không?
Mặc dù tính năng quét cổng không phải là tính năng bất hợp pháp, ít nhất là theo luật liên bang của Hoa Kỳ, các tính năng của Nmap chắc chắn rất hữu ích đối với các tin tặc có mục đích xấu đang tìm kiếm những lỗ hổng bảo mật để khai thác. Một số ứng dụng nhất định của phần mềm, không được phép truy cập, nếu vẫn phớt lờ, có thể bạn sẽ bị sa thải hoặc gặp rắc rối về pháp lý, ngay cả khi bạn đang thực hiện quét các lỗ hổng không vì những mục đích xấu.
Trong khi một số bản quét Nmap khá nhẹ và không thể tắt cảnh báo, tốt nhất bạn nên tiến các bản quét được cho phép của mình với những cá nhân thích hợp trong tổ chức của bạn. Lưu ý rằng nhiều tùy chọn Nmap, chẳng hạn như OS fingerprinting, yêu cầu quyền truy cập vào các dữ liệu gốc. Do đó, khi nghi ngờ về tính hợp pháp của những những điều bạn muốn làm, đặc biệt là khi bạn làm việc một mình và không có đội ngũ pháp lý của tổ chức để tham khảo ý kiến, hãy nói chuyện với một luật sư có chuyên môn về gian lận và lạm dụng máy tính.
Tài nguyên Nmap
Nếu muốn tìm hiểu sâu hơn về Nmap, nguồn thông tin duy nhất và tốt nhất bạn nên tham khảo là Nmap.org. Trang web này được duy trì và quả lý bởi chính tác giả Fyodor Vaskovitch. Tài nguyên thiết yếu trên Nmap.org và các trang web khác bao gồm:
Tài liệu.
Hướng dẫn tham khảo Nmap, mô tả chi tiết về Nmap và cách thức nó hoạt động.
Hướng dẫn sử dụng Zenmap.
Người dùng Nmap có thể tham gia vào danh sách gửi thư Nmap-hacker để theo dõi các bản cập nhật. Các nhà phát triển quan tâm đến việc thử nghiệm hoặc đóng góp mã cũng như các ý kiến đề xuất có thể đăng ký vào danh sách Nmap-dev.
100 công cụ bảo mật mạng hàng đầu được bình chọn bởi người dùng Nmap.
Download Nmap ở đâu?
Để tải xuống Nmap, hãy truy cập vào 
https://nmap.org/download.html và làm theo hướng dẫn.
( Theo Phòng Nghiệp Vụ )