Nmap là một trình quét bảo mật mạng được nhiều người ưa thích. Nó được sử dụng để phát hiện các máy tính và các dịch vụ trên mạng máy tính, sau đó sẽ tạo một “bản đồ” mạng. Cũng giống như các bộ quét cổng đơn giản, Nmap có khả năng phát hiện các dịch vụ thụ động (passive) trên một mạng dù các dịch vụ như vậy không tự khuyếch trương bản thân chúng bằng một giao thức phát hiện dịch vụ. Thêm vào đó, Nmap có thể phát hiện các thông tin chi tiết khác nhau về các máy tính từ xa. Chúng có thể phát hiện ra hệ điều hành, kiểu thiết bị, thời gian và sản phẩm phần mềm chạy dịch vụ, số phiên bản chính xác của sản phẩm đó, sự hiện diện của một số công nghệ tường lửa trên một mạng nội bộ hoặc thậm chí cả hãng sản xuất card mạng từ xa.
Tải về: [Download] Link dự phòng: Tại đây
1. Scan một mục tiêu
Giả sử IP mục tiêu là 192.168.0.1 (bạn hoàn toàn có thể thay thế IP này bằng một IP public) ta thực hiện như sau:
Sau khi chúng ta thực hiện một câu lệnh, thông thường sẽ có cảm giác như nmap không thực hiện gì cả (vì ko có kết quả nào hiện lên rõ ràng) nhưng thực tế thì nmap đang thực thi rất nhiều công viêc. Để theo dõi tiến trình này, ta dùng tùy chọn "-vv"
Có nhiều cách để scan nhiều mục tiêu. Sau đây chỉ là một ví dụ trong những cách đó. Chúng ta sẽ scan 192.168.0.1 192.168.0.2 và 192.168.0.3
Bạn cũng có thể scan tất cả 254 máy bằng câu lệnh
Để scan 1 port xác định, ta dùng tùy chọn -p
Nó cũng là kỹ thuật scan mặc định nếu bạn dùng quền root. Đây là một kỹ thuật phổ biến nhất về scan bởi vì nó có thể làm việc trong tất cả networks, cũng như tất cả các hệ điều hành.
Điểm mạnh: Một TCP SYN scan không bao giờ tạo ra một phiên truy vấn TCP hoàn chỉnh, do đó nó không bị log lại tại mục tiêu. Đây được xem như một cách scan trong im lằng.
Điểm yếu: Bạn cần có quyền tại hệ thống chạy nmap (trong trường hợp này là quyền root)
Điểm mạnh : Bạn không cần quyền tại hệ thống chạy nmap
Điểm yếu : Kết nói của bạn sẽ bị log tại máy đích, do đó không nên sử dụng kỹ thuật này
Các kỹ thuật này được thực hiện bằng cách làm giả các bit tại TCP header. Nmap tạo ra các TCP headers mà chúng không có trong thực tế. Việc tạo ra các TCp header khác thường này giúp nmap lắng nghe trả lời của máy đích khi gửi chúng tới đó.
Một hệ thống Window sẽ trả lời bằng một RST cho tất cả truy vấn này.
Điểm mạnh: Không có phiên TCP sessions được tạo ra.
Điểm yếu: Không thể sử dụng để chống lại hệ thống Windows
Tùy chọn này được dùng để xác định ứng dụng RPC. Nó chạy tự động và mặc định trong version scan (được đề cập tiếp theo)
Điểm yếu: RPC scan mở phiên của ứng dụng, do đó nó được log lại.
Scan này sẽ cho ta biết trạng thái của port và dịch vụ đang chạy trên chúng. Để khai thác dịch vụ bạn cần biết chính xác version của dịch vụ đang chạy trên máy đích.
Điểm yếu: Nó mở phiên với máy đích nên sẽ bị log.
Điểm yếu: Nó chỉ có thể xác định port bị chặn hoặc không chặn chứ không xác định đc port mở hay không.
Ping scan sẽ check xem host đó đang up hay down
Được dùng để phát hiện các host đang hoạt động trong subnet.
Điểm yếu: Ping scan không thể kết hợp được với các tùy chọn khác
5. O/S fingerprinting and version detection
Chúng cả có thể sử dụng nhiều kỹ thuật scan để xem hệ điều hành nào đang chạy trên máy đích
Nó sẽ cho bạn biết ít hệ điều hành và version đang chạy ở mục tiêu. Nó cần ít nhất một port đóng và một port mở để xác định chính xác, nếu không có điều kiện này nó không thể đưa ra một kết quả chính xác nhất được. Trong trường hợp đó bạn nên dùng các ứng dụng thứ 3 bổ xung.
Điểm yếu : Một tool theo dõi sẽ nhanh chóng phát hiện ra có ai đó đang nhòm ngó hệ thống
Ping Scan
Nmap cung cấp rất nhiều lựa chọn Ping và lưu ý rằng tất cả chúng bắt đầu với ' P'. Sự kết hợp khác nhau của các tùy chọn này có thể được dùng để tăng cơ hội vượt qua các bộ lọc gói và tường lửa.
Ở đây trong ví dụ này, nmap sẽ ping cổng 23 và 110 của máy đích với các gói ACK. Nếu máy đích up hoặc không có bộ lọc, nó sẽ trả lời với các gói RST. Nhưng trong trường hợp nó down hoặc có bộ lọc, sẽ không có trả lời và do đó quá trình quét sẽ dừng lại. Vì vậy để qua được tường lửa, ta phải thử cổng khác.
Nếu không có cổng được chỉ định, cổng số 80 sẽ được chọn (thông thường các bộ lọc gói cho phép traffic qua cổng 80).
-PU[port number] TCP UDP Ping
Theo mặc định nó sẽ gửi các frame UDP tại cổng 31338. Các frame UDP được gửi đến cổng đóng sẽ nhận được thông điệp "ICMP port unreachable". Nếu cổng mở , nó có thể hoặc không trả lời, vì nhiều ứng dụng UDP không gửi trả lời với bất kỳ khung đến ngẫu nhiên. Vì vậy cần cố gắng để gửi khung UDP đến cổng đóng. Do cách ping này dựa rất nhiều vào các gói ICMP, vì thế nếu ICMP bị lọc có thể không trả lời.
# nmap-vv-n 192.168.0.1-PU (cổng mặc định là 31338)
# nmap-vv-n 192.168.0.1-PU
-PP ICMP Timestamp Ping
ICMP Timestamp Ping được sử dụng để cho phép hai hệ thống riêng biệt để điều phối thời gian. Nó không hữu ích khi có tường lửa vì nó dựa chủ yếu vào ICMP.
-PM ICMP Address Mask Ping
Nó hoạt động bằng cách gửi một yêu cầu ICMP Address Mask đến một thiết bị đích. Hầu hết các hệ điều hành hiện đại và các router sẽ không đáp ứng yêu cầu này, do đó loại ping ICMP này không hoạt động trên hầu hết hệ thống hiện đại.
Do đó hãy quên nó đi.
Kết luận:
Nếu có một số bức tường lửa hoặc bộ lọc gói tin trên thiết bị đích, tốt nhất là không lựa chọn kiểu ping ICMP.
-PO Don’t Ping
Nếu bạn biết rằng các máy đích up và đang chạy, bạn có thể sử dụng tùy chọn này để duy trì một chút âm thầm. Do đó trực tiếp quét các mục tiêu sẽ mà không ping máy.
Tuy nhiên, như đã nói với "Ping là một giao thức vô cùng hữu dụng", Nmap thu thập một số thông tin quan trọng từ quá trình ping, nên vô hiệu hóa quá trình ping sẽ đặt nmap vào thế bất lợi khi bắt đầu quét.
Tải về: [Download] Link dự phòng: Tại đây
1. Scan một mục tiêu
Giả sử IP mục tiêu là 192.168.0.1 (bạn hoàn toàn có thể thay thế IP này bằng một IP public) ta thực hiện như sau:
# nmap 192.168.0.1
Đối với câu lệnh này, một số tùy chọn đã được mặc định. Câu lệnh trên sẽ tương đương với: #nmap –R –sS 192.168.0.1
- R: truy vấn đến DNS server để thực hiện reverse DNS name lookup. Tùy chọn này được sử dụng khi mục tiêu là một server.
- sS: sẽ nói đến trong phần sau
#nmap –n 192.168.0.1 hoặc #nmap –n –sS 192.168.0.1 (cả 2 đều như nhau)
- n: bỏ đi chức năng DNS reverse. Một số DNS server thực hiện ghi lại các bản log của các truy vấn, điều này có thể dẫn đến việc máy trạm nmap sẽ xuất hiện tại các bản log này.
Sau khi chúng ta thực hiện một câu lệnh, thông thường sẽ có cảm giác như nmap không thực hiện gì cả (vì ko có kết quả nào hiện lên rõ ràng) nhưng thực tế thì nmap đang thực thi rất nhiều công viêc. Để theo dõi tiến trình này, ta dùng tùy chọn "-vv"
#nmap –vv –n 192.168.0.1
2. Scan nhiều mục tiêuCó nhiều cách để scan nhiều mục tiêu. Sau đây chỉ là một ví dụ trong những cách đó. Chúng ta sẽ scan 192.168.0.1 192.168.0.2 và 192.168.0.3
# nmap -vv –n 192.168.0.1,2,3 hoặc # nmap –vv –n 192.168.0.1-3
#nmap –vv –n 192.168.0.1-3,6,12-20
Câu lệnh trên sẽ scan các host 1,2,3,6 và từ 12 đến 20Bạn cũng có thể scan tất cả 254 máy bằng câu lệnh
# nmap –vv –n 192.168.0.1-254 hoặc # nmap –vv –n 192.168.0.* hoặc
# nmap –vv –n 192.168.0.1/24
3. Scan portĐể scan 1 port xác định, ta dùng tùy chọn -p
# nmap –vv –p 80 192.168.0.1 sẽ scan port 80
# nmap –vv –p 21,23,25,80-100 192.168.0.1sẽ scan các port 21,23,25 và từ 80 đến 100
# nmap –vv –n –p 21,23,25 192.168.1-2.*
bao gồm:- Hiện các công việc nmap đang thực hiện
- Loại bỏ chức năng DNS reverse (tăng tốc độ và không để DNS server ghi lại bất cứ điều gì)
- Scanning port
- Scanning các IP từ 192.168.1.0 đến 192.168.2.254
- -sS: SYN scanning
Nó cũng là kỹ thuật scan mặc định nếu bạn dùng quền root. Đây là một kỹ thuật phổ biến nhất về scan bởi vì nó có thể làm việc trong tất cả networks, cũng như tất cả các hệ điều hành.
Điểm mạnh: Một TCP SYN scan không bao giờ tạo ra một phiên truy vấn TCP hoàn chỉnh, do đó nó không bị log lại tại mục tiêu. Đây được xem như một cách scan trong im lằng.
Điểm yếu: Bạn cần có quyền tại hệ thống chạy nmap (trong trường hợp này là quyền root)
# nmap –vv –n –sS 192.168.0.1
- -sT: TCP connect scanning
Điểm mạnh : Bạn không cần quyền tại hệ thống chạy nmap
Điểm yếu : Kết nói của bạn sẽ bị log tại máy đích, do đó không nên sử dụng kỹ thuật này
# nmap –vv –n –sT 192.168.0.1
- -sF, -sX, -sN: FIN scan, Xmas tree scan, NULL scan.
Các kỹ thuật này được thực hiện bằng cách làm giả các bit tại TCP header. Nmap tạo ra các TCP headers mà chúng không có trong thực tế. Việc tạo ra các TCp header khác thường này giúp nmap lắng nghe trả lời của máy đích khi gửi chúng tới đó.
Một hệ thống Window sẽ trả lời bằng một RST cho tất cả truy vấn này.
Điểm mạnh: Không có phiên TCP sessions được tạo ra.
Điểm yếu: Không thể sử dụng để chống lại hệ thống Windows
# nmap –vv –n –sF 192.168.0.1
# nmap –vv –n –sX 192.168.0.1
# nmap –vv –n –sN 192.168.0.1
- -sU: UDP scan.
# nmap –vv –n –sU 192.168.0.1
-sR: RPC scan.
Tùy chọn này được dùng để xác định ứng dụng RPC. Nó chạy tự động và mặc định trong version scan (được đề cập tiếp theo)
Điểm yếu: RPC scan mở phiên của ứng dụng, do đó nó được log lại.
# nmap –vv –sR 192.168.0.1
-sV: Version scan
Scan này sẽ cho ta biết trạng thái của port và dịch vụ đang chạy trên chúng. Để khai thác dịch vụ bạn cần biết chính xác version của dịch vụ đang chạy trên máy đích.
Điểm yếu: Nó mở phiên với máy đích nên sẽ bị log.
# nmap –vv –sV 192.168.0.1
- -sA: ACK scan
Điểm yếu: Nó chỉ có thể xác định port bị chặn hoặc không chặn chứ không xác định đc port mở hay không.
# nmap –vv –sA 192.168.0.1
- -sP: Ping scan:
# nmap –vv –sP 192.168.0.10
Ping scan sẽ check xem host đó đang up hay down
# nmap –vv –sP 192.168.0.*
Được dùng để phát hiện các host đang hoạt động trong subnet.
Điểm yếu: Ping scan không thể kết hợp được với các tùy chọn khác
5. O/S fingerprinting and version detection
Chúng cả có thể sử dụng nhiều kỹ thuật scan để xem hệ điều hành nào đang chạy trên máy đích
- -O: Operating system fingerprinting.
# nmap –vv –O 192.168.0.1
Nó sẽ cho bạn biết ít hệ điều hành và version đang chạy ở mục tiêu. Nó cần ít nhất một port đóng và một port mở để xác định chính xác, nếu không có điều kiện này nó không thể đưa ra một kết quả chính xác nhất được. Trong trường hợp đó bạn nên dùng các ứng dụng thứ 3 bổ xung.
Điểm yếu : Một tool theo dõi sẽ nhanh chóng phát hiện ra có ai đó đang nhòm ngó hệ thống
- -sV: Version detection
# nmap –vv –sV 192.168.0.1
- -A: thêm
# nmap –vv –sV –O 192.168.0.1
# nmap –vv –A 192.168.01.
# nmap 192.168.0.1
Ping Scan
Nmap cung cấp rất nhiều lựa chọn Ping và lưu ý rằng tất cả chúng bắt đầu với ' P'. Sự kết hợp khác nhau của các tùy chọn này có thể được dùng để tăng cơ hội vượt qua các bộ lọc gói và tường lửa.
- -PE ICMP Echo Request
- -PA[port number] TCP ACK Ping
# nmap-vv 192.168.0.1-PA23, 110
Ở đây trong ví dụ này, nmap sẽ ping cổng 23 và 110 của máy đích với các gói ACK. Nếu máy đích up hoặc không có bộ lọc, nó sẽ trả lời với các gói RST. Nhưng trong trường hợp nó down hoặc có bộ lọc, sẽ không có trả lời và do đó quá trình quét sẽ dừng lại. Vì vậy để qua được tường lửa, ta phải thử cổng khác.
Nếu không có cổng được chỉ định, cổng số 80 sẽ được chọn (thông thường các bộ lọc gói cho phép traffic qua cổng 80).
- -PS[port number] TCP SYN Ping
# nmap-vv-n 192.168.0.1-PS (sẽ ping cổng 80)
# nmap-vv-n 192.168.0.1-PS23, 110 (sẽ ping cổng 23 và 110 )
-PU[port number] TCP UDP Ping
Theo mặc định nó sẽ gửi các frame UDP tại cổng 31338. Các frame UDP được gửi đến cổng đóng sẽ nhận được thông điệp "ICMP port unreachable". Nếu cổng mở , nó có thể hoặc không trả lời, vì nhiều ứng dụng UDP không gửi trả lời với bất kỳ khung đến ngẫu nhiên. Vì vậy cần cố gắng để gửi khung UDP đến cổng đóng. Do cách ping này dựa rất nhiều vào các gói ICMP, vì thế nếu ICMP bị lọc có thể không trả lời.
# nmap-vv-n 192.168.0.1-PU (cổng mặc định là 31338)
# nmap-vv-n 192.168.0.1-PU
-PP ICMP Timestamp Ping
ICMP Timestamp Ping được sử dụng để cho phép hai hệ thống riêng biệt để điều phối thời gian. Nó không hữu ích khi có tường lửa vì nó dựa chủ yếu vào ICMP.
-PM ICMP Address Mask Ping
Nó hoạt động bằng cách gửi một yêu cầu ICMP Address Mask đến một thiết bị đích. Hầu hết các hệ điều hành hiện đại và các router sẽ không đáp ứng yêu cầu này, do đó loại ping ICMP này không hoạt động trên hầu hết hệ thống hiện đại.
Do đó hãy quên nó đi.
Kết luận:
Nếu có một số bức tường lửa hoặc bộ lọc gói tin trên thiết bị đích, tốt nhất là không lựa chọn kiểu ping ICMP.
-PO Don’t Ping
Nếu bạn biết rằng các máy đích up và đang chạy, bạn có thể sử dụng tùy chọn này để duy trì một chút âm thầm. Do đó trực tiếp quét các mục tiêu sẽ mà không ping máy.
Tuy nhiên, như đã nói với "Ping là một giao thức vô cùng hữu dụng", Nmap thu thập một số thông tin quan trọng từ quá trình ping, nên vô hiệu hóa quá trình ping sẽ đặt nmap vào thế bất lợi khi bắt đầu quét.
0 nhận xét: