An ninh mạng Lập bản đồ mạng & Quét cổng
Muốn phòng thủ thì trước tiên chúng ta phải biết phải phòng thủ cái gì. Quản lý tài sản thường dựa vào Bản đồ mạng để xác định hệ thống nào đang hoạt động trên mạng.
Quản lý tài sản và biết những gì bạn hiển thị trên mạng, bao gồm cả dịch vụ nào được lưu trữ là rất quan trọng đối với bất kỳ ai muốn bảo vệ mạng của họ.
Nmap - Trình ánh xạ mạng
Nmap từ lâu đã được coi là công cụ quét cổng tiêu chuẩn cho cả kỹ sư mạng và chuyên gia bảo mật. Chúng ta có thể sử dụng nó để khám phá tài sản để tấn công hoặc phòng thủ.
Bản đồ mạng
Một cách để xác định các máy chủ đang hoạt động trên mạng là gửi ping, tức là Yêu cầu tiếng vang ICMP, tới tất cả các địa chỉ IP trong mạng. Điều này thường được gọi là Ping Sweep.
Cách tiếp cận này không tốt lắm trong việc khám phá tài sản. Có khả năng các hệ thống trên mạng sẽ bỏ qua các ping đến, có thể do Tường lửa chặn chúng hoặc do Tường lửa dựa trên máy chủ. Tường lửa dựa trên máy chủ chỉ đơn giản là tường lửa được triển khai trên hệ thống thay vì trên mạng.
Một cách tiếp cận tốt hơn bao gồm việc gửi các loại gói khác nhau đến một hệ thống để thử yêu cầu bất kỳ loại câu trả lời nào nhằm xác định xem hệ thống có còn hoạt động hay không. Ví dụ: Nmap sẽ gửi các gói sau đến hệ thống để thử phản hồi:
- Yêu cầu tiếng vang ICMP
- Gói TCP SYN tới cổng 443
- Gói TCP ACK tới cổng 80
- Yêu cầu dấu thời gian ICMP
Dựa trên các thông số kỹ thuật của TCP, tức là các quy tắc liên lạc, một hệ thống phải luôn thực hiện bắt tay ba bước trước khi bắt đầu liên lạc. Nmap dường như đang cố tình phá vỡ quy tắc với các gói tin trên. Bạn có thể phát hiện gói nào không hoạt động như hệ thống mong đợi không?
Gửi gói TCP ACK tới cổng 80 không tuân theo các quy tắc của tiêu chuẩn TCP. Nmap thực hiện điều này một cách cụ thể để thử khiến hệ thống đích đưa ra phản hồi. Để gửi các gói không tuân theo quy tắc, Nmap phải chạy với mức đặc quyền cao nhất, ví dụ: quản trị viên root hoặc cục bộ. Hầu hết các máy quét cổng sẽ chính xác hơn vì điều này.
Việc tắt Bản đồ mạng có thể được thực hiện bằng Nmap với cờ -Pn. Bây giờ Nmap sẽ coi tất cả IP/hệ thống đã hoạt động và chuyển trực tiếp đến quá trình quét cổng.
Hãy thử điều này ở nhà bây giờ nếu bạn muốn. Hãy cẩn thận, nếu bạn đang ở môi trường công ty, hãy luôn xin phép trước khi bắt đầu chạy máy quét vì bạn không muốn vi phạm bất kỳ quy tắc nào trong không gian làm việc của mình. Để dùng thử Nmap ngay bây giờ, hãy làm theo các bước đơn giản sau:
- Hãy tải Nmap tại https://nmap.org . Đảm bảo bạn tải xuống phiên bản phù hợp với hệ điều hành của bạn
- Cài đặt Nmap và khởi chạy công cụ từ thiết bị đầu cuối dòng lệnh
- Tìm địa chỉ IP và mạng con cục bộ của bạn
- Chạy Nmap để quét nó để xem nó có thể khám phá những loại hệ thống nào: nmap -vv IP/netmask
Chúng tôi đang thêm hai cờ -v để cho Nmap biết rằng chúng tôi muốn đầu ra dài dòng, điều này làm cho quá trình quét trở nên thú vị hơn khi xem khi quá trình hoàn tất.
Quét ARP
Giao thức ARP được chứa trong mạng LAN, nhưng nếu máy chủ bạn cần khám phá nằm trong mạng LAN, chúng tôi có thể sử dụng giao thức này để thử phát hiện các hệ thống trên mạng. Chỉ cần lặp lại tất cả các địa chỉ IP có sẵn trên mạng LAN bằng giao thức ARP, chúng tôi đang cố gắng buộc các hệ thống phản hồi.
Quá trình quét trông như thế này:
Eve: Please Provide Mac Address of system 192.168.0.1
Eve: Please Provide Mac Address of system 192.168.0.2
Eve: Please Provide Mac Address of system 192.168.0.3
Eve: Please Provide Mac Address of system 192.168.0.4
Eve: Please Provide Mac Address of system 192.168.0.5-254
Default Gateway: 192.168.0.1 is me and my MAC Address is AA:BB:CC:12:34:56
Bob: 192.168.0.3 is me and my MAC Address is: BB:CC:DD:12:34:56
Alice: 192.168.0.4 is me and my MAC Address is: CC:DD:EE:12:34:56
Quét cổng
Quét cổng được thực hiện để thử xác định những dịch vụ nào chúng tôi có thể kết nối. Mỗi dịch vụ nghe cung cấp bề mặt tấn công có khả năng bị kẻ tấn công lạm dụng. Vì vậy, điều quan trọng là phải tìm hiểu cổng nào đang mở.
Những kẻ tấn công quan tâm đến việc biết ứng dụng nào đang nghe trên mạng. Những ứng dụng này tạo cơ hội cho những kẻ tấn công. Có thể có những lỗ hổng cho phép chúng tấn công thành công vào tổ chức.
Quét cổng hoạt động bằng cách gửi các gói đến một ứng dụng và tìm kiếm bất kỳ phản hồi nào. Điều này cực kỳ dễ dàng đối với TCP, vì nếu có sẵn dịch vụ TCP, nó sẽ luôn trả lời bằng gói SYN/ACK. Tuy nhiên, đối với UDP thì khó khăn hơn. Để phát hiện xem dịch vụ có khả dụng hay không, trong hầu hết các trường hợp, kẻ tấn công phải gửi đầu vào cụ thể để buộc ứng dụng phải phản hồi. Hầu hết các ứng dụng được lưu trữ trong UDP sẽ không phản hồi trừ khi Khách hàng gửi chính xác thông tin đầu vào cần thiết để tham gia liên lạc.
Quét cổng TCP
TCP là một giao thức dễ quét vì tiêu chuẩn TCP quy định rằng các hệ thống phải trả lời bằng SYN/ACK khi nhận được SYN. Chúng tôi có thể gửi gói SYN tới tất cả 65536 cổng và ghi lại tất cả các SYN/ACK quay trở lại và kết luận các cổng được mở dựa trên phản hồi của SYN/ACK. Khi không nhận được phản hồi, chúng ta có thể cho rằng cổng đã bị đóng hoặc được lọc bởi Tường lửa chẳng hạn.
Với SYN/ACK trên cổng 445, chúng tôi đã xác định được cổng đang mở.
Quét cổng UDP
Với UDP, việc xác định xem một cổng có hoạt động hay không sẽ khó hơn. Đối với cổng UDP, máy quét không thể dựa vào SYN/ACK. Trên thực tế, máy quét hầu như luôn phải dựa vào việc khiến dịch vụ lắng nghe đưa ra một số phản hồi.
Với rất nhiều cổng có khả năng mở và các dịch vụ khác nhau chỉ phản hồi đúng loại dữ liệu, việc quét tất cả các cổng trong thời gian hợp lý sẽ trở nên tốn thời gian và khó khăn.
Hãy xem xét cuộc trò chuyện sau đây trong đó Eve cố gắng tìm hiểu xem cổng CẬP NHẬT có mở hay không:
Eve cần nói đúng giao thức và đảm bảo các gói đến được đích, ví dụ như không bị mất gói. Nếu không thì Eve có thể không phát hiện ra cổng đang mở.
Bởi vì việc quét UDP này có thể rất tốn thời gian nếu chúng ta muốn quét tất cả các cổng.
Các kiểu và tùy chọn quét Nmap hữu ích
Có rất nhiều máy quét, tuy nhiên trong phần này chúng tôi tập trung vào cách sử dụng Nmap một cách tối đa.
Nmap có thể được yêu cầu quét các cổng phổ biến nhất bằng đối số --top-ports.
nmap --top-ports 100 <target>
Máy quét có thể thử xác định các phiên bản của ứng dụng đang nghe sau một cổng. Điều này được gọi là quét dịch vụ và có thể được kích hoạt bằng cờ -sV.
nmap -sV <target>
Nmap có nhiều tập lệnh dựng sẵn được thiết kế để nhắm mục tiêu một dịch vụ cụ thể và tương tác với nó. Các tập lệnh có thể thực hiện tất cả các loại việc như lấy thông tin từ dịch vụ hoặc cố gắng khai thác nó. Chúng tôi có thể kích hoạt trình quét tập lệnh bằng cờ -sC. Điều này chỉ cho phép kiểm tra an toàn, do đó không có nỗ lực từ chối dịch vụ hoặc khai thác.
nmap -sC <target>
Việc phát hiện Hệ điều hành có thể được thực hiện bằng máy quét, cho phép nó thử xác định hệ điều hành nào đang chạy. Nó sử dụng nhiều thông số khác nhau để thử đo lường và ước tính khả năng xảy ra của hệ điều hành đó. Điều này có thể được kích hoạt bằng đối số -O.
nmap -O <target>
Chế độ tích cực của Nmap cho phép nhiều cờ cùng một lúc. Máy quét sẽ thực hiện phát hiện phiên bản và hệ điều hành, kích hoạt trình quét tập lệnh và quét 1000 cổng phổ biến nhất. Nó có thể được kích hoạt bằng tùy chọn -A.
nmap -A <target>
Nmap cũng có thể quét IPv6 qua tất cả các cờ trên. Nó được kích hoạt bằng cách thêm cờ -6.
nmap -6 <target>
Tùy chọn thời gian Nmap
Quét có thể được thực hiện với tốc độ khác nhau. Tốc độ chậm hơn ít có khả năng bị hệ thống IDS phát hiện hơn, trong khi tốc độ quét nhanh có thể khiến hệ thống bị quá tải. Nmap hỗ trợ các tùy chọn sau:
- T0 - Hoang tưởng. Tùy chọn này dành cho những kẻ tấn công không muốn bị phát hiện. Hệ thống IDS có thể tương quan với nhiều yêu cầu trong một khoảng thời gian nhất định. Tùy chọn hoang tưởng sẽ cố gắng phá vỡ điều này bằng cách chỉ gửi rất ít gói mỗi giây.
- T1 - Lén lút. Nhanh hơn nhưng được thiết kế để tránh hệ thống IDS.
- T2 – Lịch sự. Quét chậm thực hiện công việc tốt nhất để không làm hỏng hệ thống.
- T3 - Bình thường. Nó đơn giản là mặc định.
- T4 - Hung hăng. Quét nhanh cho kết quả nhanh. Hầu hết các hệ thống có thể đối phó với điều này.
- T5 - Điên rồi. Chúng tôi đang gửi hết công suất và hiệu suất.
Zenmap
Nmap có GUI tích hợp ("Giao diện người dùng đồ họa") cùng với các công cụ khác. GUI có thể hữu ích để trực quan hóa mạng và duyệt các cổng mở trên các máy chủ khác nhau. GUI trông như thế này: