Trao đổi với tôi

http://www.buidao.com

10/15/09

[Hacking] Công cụ thăm dò mã nguồn mở Nmap

19/09/2008
ImageCuối năm 2007, nhân dịp kỷ niệm 10 năm kể từ ngày phát hành phiên bản đầu tiên, tác giả của phần mềm mã nguồn mở Nmap đã giới thiệu phiên bản Nmap 4.50 với nhiều tính năng nổi bật.

Trải qua thời gian dài phát triển, Nmap đã hội tụ được những chức năng và ưu điểm đủ để trở thành công cụ thăm dò phổ biến nhất của cộng đồng mã nguồn mở. Đến nay, phiên bản mới nhất của Nmap là 4.76 có thể download tại http://nmap.org/download.html

Công cụ Nmap có rất nhiều ưu điểm hấp dẫn người sử dụng:

- Linh hoạt: Nmap hỗ trợ nhiều công nghệ khác nhau để thực hiện việc thăm dò mạng, bao gồm hỗ trợ nhiều cơ chế quét khác nhau (cả TCP & UDP), phát hiện hệ điều hành, tìm kiếm thông tin về phiên bản của dịch vụ,...
- Mạnh mẽ: có thể sử dụng để quét những mạng có tới hàng trăm ngàn máy tính
- Khả chuyển: Có thể sử dụng trong hầu hết các hệ điều hành, bao gồm Linux, MS Windows, FreeBSD, OpenBSD, Solaris, IRIX, MacOSX, HP-UX, NetBSD, SunOS, Amiga,...
- Dễ dùng: Mặc dù Nmap có rất nhiều tùy chọn cho người biết sử dụng, nhưng đối với những người mới bắt đầu đơn giản chỉ cần xác định đối tượng muốn thăm dò là đủ. Chương trình được cung cấp sẵn cho những ai không muốn phải biên dịch Nmap từ mã nguồn.
- Miễn phí: Với mục đích góp phần giúp Internet an toàn hơn và cung cấp một công cụ hữu ích cho những người hoạt động trong lĩnh vực mạng máy tính, Nmap được cung cấp miễn phí, bao gồm cả mã nguồn để người dùng có thể sửa đổi và phân phối lại theo quy định.
- Tài liệu đầy đủ: Nmap được cộng đồng đóng góp bằng rất nhiều tài liệu, trợ giúp, hướng dẫn với nhiều ngôn ngữ khác nhau.
- Hỗ trợ: Là phần mềm mã nguồn mở, Nmap được hỗ trợ trực tiếp từ chính đội ngũ phát triển và những người sử dụng. Hầu hết các hoạt động này diễn ra trên maillist.
- Nmap đã đạt được nhiều giải thưởng, trong đó có giải "Sản phẩm bảo mật thông tin trong năm" của Linux Journal, Info World và Codetalker Digest. Nmap cũng xuất hiện trong hàng trăm bài báo, một số bộ phim, rất nhiều sách và một bộ truyện tranh.
- Mức độ phổ dụng: Mỗi ngày có hàng ngàn người tải Nmap, bao gồm nhiều hệ điều hành khác nhau (Redhat Linux, Debian Linux, Gentoo, FreeBSD, OpenBSD,...). Nmap cũng nằm trong Top 10 chương trình trên kho phần mêm nguồn mở Freshmeat.net

Theo những thông tin giới thiệu của Nmap, phiên bản 4.76 có rất nhiều thay đổi so với phiên bản 4.00. Đáng nói đến đầu tiên là giao diện đồ họa người dùng mới Zenmap, ngoài ra còn có cơ chế cho phép người dùng sử dụng các kịch bản tự viết hoặc có sẵn để tăng hiệu quả hoạt động thăm dò. Chức năng phát hiện hệ điều hành cũng được cập nhật với hơn 1000 dấu hiệu nhận biết các hệ điều hành mới cũng như gần 1500 dấu hiệu nhận biết các phiên bản dịch vụ hệ thống.

Zenmap
Zenmap là giao diện đồ họa của Nmap có thể chạy được trên nhiều nền tảng (đã thử nghiệm trên Linux, Windows, MacOSX) và hỗ trợ mọi tùy chọn của Nmap. Zenmap cho phép người dùng dễ dàng duyệt, tìm kiếm, sắp xếp và lưu giữ kết quả tìm kiếm của Nmap. Zenmap được giới thiệu thay thế cho giao diện đồ họa người sử dụng đã lỗi thời là NmapFE - giao điện đồ họa mặc định của Nmap trong 8 năm trước.
zenmap-hd-648x700chim.jpg

Giao diện đồ họa Zenmap

Cơ chế phát hiện hệ điều hành
Chức năng phát hiện hệ điều hành được giới thiệu lần đầu tiên vào tháng 10 năm 1998, và đã hoạt động tốt hơn 9 năm vừa qua với cơ sở dữ liệu lên tới 1684 dấu hiệu nhận dạng. Cơ chế phát hiện hệ điều hành mới thế hệ thứ 2 bao gồm tất cả các dấu hiệu nhận dạng trước kia và được cải tiến về hiệu năng và tốc độ. Ngoài ra CSDL còn được bổ sung dấu hiệu nhận dạng của nhiều hệ điều hành phổ dụng của những thiết bị mạng khác nhau như bộ điều hướng, máy in, điện thoại di động... trong đó còn có dấu hiệu của 1 máy ATM và 2 máy chơi game.

Lập kịch bản hoạt động
Nmap đưa ra rất nhiều cải tiến, nhưng không có sự mở rộng. Chức năng sử dụng kịch bản cho phép người sử dụng có thể viết những kịch bản đơn giản để tự động hóa các tác vụ mạng. Các kịch bản này được thực thi song song cho tốc độ và hiệu quả cao nhất. Người dùng có thể dựa trên những kịch bản có sẵn đi kèm theo Nmap để sửa đổi cho phù hợp với nhu cầu cá nhân. Trong phiên bản Nmap 4.76 có kèm theo 40 kịch bản thực hiện những tác vụ từ đơn giản (hiển thị tiêu đề website) cho đến phức tạp (tấn công SQL Inject...). Hệ thống thư viện NSELib cung cấp các hàm chức năng để lập trình với LUA và C. Các kịch bản có thể xử lý kết nối TCP hay UDP, hoặc đọc và sinh ra các gói tin sử dụng thư viện Libpcap.

Tăng cường hiệu năng
Phiên bản mới của Nmap được tăng cường đáng kể về hiệu quả và tốc độ hoạt động. Không chỉ thay thế hoàn toàn chức năng phát hiện hệ điều hành, Nmap còn được cải tiến về thuật toán thực hiện quét cổng. Mặc dù có rất nhiều thay đổi nhưng gói cài đặt của phiên bản 4.75 chỉ có dung lượng 3MB so với phiên bản 4.00 là 2MB. Trong thời kỳ dung lượng lưu trữ lên đến Terabyte và dung lượng RAM lên đến Gigabyte nhưng Nmap vẫn được giữ gọn gàng nhất để có thể hoạt động tốt trên những hệ thống hạn chế về tài nguyên như laptop OLPC hoặc PDA. Một cải tiến khác là xóa bỏ giới hạn (của hệ thống) số thông điệp ICMP báo lỗi nhận được trong quá trình quét.

Phát hiện thông tin về dịch vụ
Cơ chế phát hiện thông tin về các dịch vụ trên hệ thống tiếp tục được cải tiến. Cơ chế này cho phép Nmap xác định dịch vụ lắng trên trên các cổng dựa trên những giao tiếp mạng thực tế chứ không chỉ dựa vào số hiệu cổng. Bên cạnh đó, Nmap còn có thể tìm kiếm thêm những thông tin cụ thể hơn về dịch vụ như tên dịch vụ, phiên bản, kiểu thiết bị, hệ điều hành... CSDL dấu hiệu nhận biết tăng thêm 40% so với phiên bản Nmap 4.00, tổng cộng là 4542 dấu hiệu của 449 dịch vụ. Các dịch vụ có nhiều dấu hiệu nhất là http (1473), telnet (459, ftp (423), smtp (327), pop3 (188),...

Ngoài ra Nmap phiên bản 4.76 còn rất nhiều những thay đổi khác:
- Cơ chế phát hiện host được viết lại, ổn định hơn và nhanh hơn trong một số trường hợp
- Lịch sự hơn: Những cảnh báo của chương trình trước đây ví dụ như "TCP/IP fingerprinting (for OS scan) requires root privileges. Sorry, dude" (Dấu hiệu TCP/IP (để phát hiện HĐH) cần đặc quyền root. Xin lỗi nhé ông bạn) được thay thế khi một phụ nữ than phiền về điều này. Cô ta cho biết "thời thế đã thay đổi và giờ có nhiều phụ nữ cũng sử dụng chương trình này"
- Đưa thêm giải thích vì sao một port được phát hiện là mở/đóng/bị lọc
- Người dùng có thể đưa thêm tùy chọn --ip-options để thiết lập trường option cho gói tin IP

Với những gì Nmap mang lại, chúng ta không ngạc nhiên khi Nmap xuất hiện trong hầu hết các bản phân phối của Linux như một phần mềm thiết yếu được cài sẵn. Nmap luôn là công cụ được ưa thích cho mọi đối tượng người sử dụng từ cơ bản đến chuyên sâu bởi tính dễ dùng và có những chức năng mạnh mẽ.

Nguồn:www.nmap.org
Kiều Minh Thắng (Tổng hợp)