Trong bước đầu tiên của tiến trình tấn công các hacker thường tiến hành quét mạng mà chúng ta sẽ gọi bằng thuật ngữ scanning để kiểm tra các cổng đang mở hay những dịch vụ mà mục tiêu đang sử dụng. Bên cạnh đó scanning còn cho biết các thông tin quan trọng như hệ điều hành đang sử dụng hay hệ thống máy chủ mà trang web đang dùng là IIS, Apache …

Scanning bao gồm các thao tác để xác định các host (máy trạm) và những port (cổng) đang hoạt động hay những dịch vụ đang chạy trên hệ thống của mục tiêu cần tấn công và khai thác. Đây là một trong những bước quan trọng của tiến trình thu thập thông tin thông minh (intelligence gathering) mà các hacker sử dụng để lập sơ đồ của các tổ chức hay mạng mục tiêu. Trong tiến trình scanning những kẻ tấn công sẽ gởi các gói tin TCP/IP đến mục tiêu như hình và phân tích các kết quả trả về nhằm xác định các thông tin giá trị mà họ quan tâm.

Các Kiểu Scanning

Có ba dạng scanning khác nhau đó là Port Scanning, Vulnerability Scanning và Network Scanning.

  • Port Scanning : Kẻ tấn công sẽ gởi một loạt các thông điệp đến mục tiêu nhằm xác định các cổng đang mở, và thông qua các cổng này họ sẽ biết được có những dịch vụ nào đang chạy trên máy tính mục tiêu. Một trong các ứng dụng port scanning phổ biên là Nmap.Vulnerability Scanning : Là quá trình quét lỗi nhằm xác định ra các lỗ hổng bảo mật hay những điểm yếu mà thường gọi là các điểm “nhạy cảm” của các ứng dụng hay máy chủ, máy trạm đê từ đó đưa ra các phương án tấn công thích hợp. Tiến trình quét lỗi có thể xác định được các bản cập nhật hệ thống bị thiếu, hay những lỗi hệ thống chưa được vá các chuyên gia bảo mật cũng thường tiến hành vulnerability scanning trong công tác bảo vệ hệ thống mạng của mình.
  • Network Scanning : Quá trình này dùng để xác định các máy đang hoạt động trên hệ thống mạng thường được các hacker, chuyên gia bảo mật hay những quản trị hệ thống thực hiện.

Quy Trình Scanning

Kiểm Tra Các Hệ Thống Đang Hoạt Động

Để kiểm tra tình trạng hoạt động của hệ thống các hacker có thể sử dụng nhiều công cụ và những hình thức khác nhau để thu được kết qua mong muốn như ICMP Scanning hay Ping Sweep.

ICMP Scanning

Hacker sẽ gởi các tín hiệu ICMP ECHO Request đến mục tiêu (host) và nếu một host đang tồn tại nghĩa là đang hoạt động thì sẽ phản hồi lại thông qua ICMP ECHO Reply như Hình. Tuy nhiên, quá trình này có thể thất bại nếu như giao thức ICMP bị chặn bởi firewall.

Kết quả của ICMP Scanning thực hiện bằng công cụ Nmap

Trong hình minh họa trên hacker từ máy 192.168.168.3 sẽ tiến hành ICMP Scanning bằng công cụ Nmap để gởi các tín hiệu ICMP ECHO Request thông qua tùy chọn –sP đến mục tiêu có địa chỉ 192.168.168.5 và các bạn có thể thất kết quả trả về cho biết mục tiêu có địa chỉ 192.168.168.5 đang hoạt động với các thông số phần cứng như địa chỉ MAC, nhà sản xuất.

Ping Sweep

Trong ví dụ trên chúng ta sử dụng ICMP Scanning để xác định tình trạng hoạt động của một máy trạm, nếu như các bạn muốn kiểm tra trên một dãy các địa chỉ IP thì Ping Sweep là giải pháp thích hợp thông qua hình thức gởi các tín hiệu ICMP ECHO Request đến nhiều máy tính cùng lúc như Hình để nhận các kết quả trả về thích hợp.

Sau đây là kết quả của Ping Sweep với Nmap :

Theo Hình 3.6 thì chúng ta thấy kết quả trả về khá chi tiết với các máy tính có địa chỉ IP 192.168.168.1, 192.168.168.2, 192.168.168.4 và 192.168.168.6 đang hoạt động. Các công cụ Ping Sweep khác thường được sử dụng là Angry IP Scanner và Solarwinds Engineer’s Toolset. Trong Hình là danh sách các công cụ Ping Sweep:

Phòng Chống Ping Sweep

Hầu hết các hệ thống IDS – Instruction Detect System (hệ thống phát hiện xâm nhập trái phép) đều có thể nhận biết được dạng tấn công Ping Sweep và gởi cảnh báo về cho quản trị hệ thống mạng. IDS có thể là những thiết bị phần cứng của Cisco 4250/4235 Appliance Sensor, Juniper Networks Intrusion Detection với các dòng IDP75, IDP250 hay các ứng dụng IDS phần mềm nguồn mở như SNORT hoạt động dưới cả hai dạng Network-base IDS và Host-based IDS. Ngoài ra, phần lớn các firewalll và proxy server được cấu hình để chặn ICMP mặc định, giúp phòng chống Ping Sweep hiệu quả.

Xác Định Những Cổng Mở Và Dịch Vụ Đang Hoạt Động

Các cổng (hay port) đang mở có nghĩa là các dịch vụ liên quan đến những cổng này đang hoạt động và thông qua kết quả đó hacker sẽ xác định phương án tấn công thích hợp với những dịch vụ. Để có thể nắm vững kỹ thuật này các bạn cần hiểu rõ quá trình bắt tay 3 bước hay thường được gọi là Three-Way Handshake khi các máy tính sử dụng giao thức truyền thông TCP tại tầng vận chuyển như Hình :

Trong hình trên, máy tính của Bill có địa chỉ 10.0.0.2 cần khởi tạo một phiên làm việc truyền file qua giao thức FTP (số hiệu port là 21) đến máy tính của Sheela có địa chỉ là 10.0.0.3. Vì vậy Bill Computer sẽ gởi các tín hiệu SYN=1 và SEQ# 10 đến Sheela Computer, sau đó ta thấy máy tính 10.0.0.3 trả về thông báo chấp nhận kết nối với tín hiệu SYN=1 và ACK=1 (thông báo chấp nhận kết nối), cùng với ACK# 11. Khi tiếp nhận những tín hiệu này, máy tính của Bill (10.0.0.2) đáp ứng lại thông báo báo nhận bằng cách gởi những tín hiệu ACK=1 với số hiệu SEQ# 11 (tăng 1 giá trị). Lúc này phiên làm việc sẽ được kết nối giữa 2 máy tính 10.0.0.2 và 10.0.0.3 trên port 21.

Sau đây là một số tín hiệu (còn gọi là các cờ) được dùng trong các quá trình khởi tạo phiên làm việc này :

  • SYN (Synchronize) : Dùng khi khởi tạo kết nối giữa hai máy.
  • ACK (Acknowledgement) : Dùng để gởi thông báo chấp nhận khi nhận được tín hiệu từ máy gởi.
  • PSH (Push) : Yêu cầu xử lý các dữ liệu trong bộ nhớ đệm ngay lập tức.
  • RST (Reset) : Yêu cầu reset lại kết nối, các bạn lưu ý là khi nhận được tín hiệu này cũng có nghĩa là mục tiêu hay máy tính đang không hoạt động (Offline)
  • FIN (Finish) : Yêu cầu kết thúc liên kết
  • URG (Urgent) : Tín hiệu khẩn, có mức ưu tiên cao nhất. Khi nhận được dữ liệu cùng cờ này thì phải xử lý ngay.

Phòng Chống Port-Scan

Để phòng chống tấn công quét cổng các hệ thống cần triển khai firewall và thiết lập các chính sách ngăn chặn những tín hiệu dò tìm hay khởi tạo kết nối không hợp lệ. Che dấu các cổng mở như hệ thống tường lữa ISA Server Firewall có chức năng hidden port. Đặc biệt chỉ mở các cổng cần thiết cho quá trình vận hành, đối với các dịch vụ không hoạt động hãy đóng những cổng liên quan.

Ngoài ra, hệ thống mạng cần được thiết kế khoa học theo các nguyên tắc phòng thủ theo chiều sâu với thiết bị firewall bảo vệ lớp ngoài và có IDS để phát hiện khi bị quét cổng.

Nmap

Đây là ứng dụng miễn phí có khả năng mạnh mẽ trong việc quét cổng, ping sweep, xác định dịch vụ, hệ điều hành. Nmap chạy được trên nền Windows hay Linux, Unix và có thể tiến hành quét cùng lúc nhiều máy tính. Nmap có thể tìm kiếm các cổng mở và những cổng được che dấu với các chức năng lọc. Ví dụ khi firewall chặn các ứng dụng quét cổng thông thường bằng cách ngắt những tín hiệu hồi đáp trong quá trình three-way handshake, hay ngăn ngừa việc tiếp nhận tín hiệu trên nhiều cổng trong thời gian ngắn thì nmap vẫn có thể vượt qua bằng phương pháp half-path scan hay tiến hành quét các cổng với thời gian cách xa nhau.

Sau đây là một phương pháp quét mạng với Nmap mà các bạn cần ghi nhớ :

  • TCP connect : Hacker khởi tạo kết nối TCP đầy đủ với mục tiêu.
  • XMAS tree scan : Kiểm tra các dịch vụ TCP bằng cách gởi các gói tin XMAStree (các gói tin được đặc cờ FIN, URG và PSH. SYN stealth scan : Còn được gọi là half-open scanning. Hacker hởi các gói tin SYN và nhận gói tin đáp ứng SYN-ACK từ server. Trong trường hợp này máy tính của hacker và server không thiết lập kết nối TCP đầy đủ nên được gọi là stealth.
  • Null scan : Đây là phương pháp quét mạng nâng cao và có thể vượt qua cờ chế dò tìm của firewall. Null scan chỉ hoạt động trên các hệ thống Unix với tất cả các cờ được tắt.
  • Windows scan : Tương tự như ACK scan và có thể phát hiển các cổng mở.
  • ACK scan : Được dùng để dò tìm các quy tắt của firewall, dạng này chỉ hoạt động trên hệ thống UNIX.

Ngoài ra, Nmap còn có nhiều tùy chọn thích hợp với những nhu cầu quét cổng hay dò tìm dịch vụ khác nhau như trong danh sách sau :

Ví dụ dùng Nmap để scan một máy có địa chỉ IP là 192.168.0.1 sủng dụng TCP connect scan ta thực hiện lệnh sau :

C:\nmap 192.168.0.1 –sT

SYN, STEALTH,XMAS, NULL, ADLE, và FIN Scan

SYN : SYN hoặc stealth scan cũng được gọi là haft-open scan vì nó không thực hiện đầy đủ quy trình bắt tay ba bước của TCP (three-way hanshake Hacker gửi gói tin SYN đến đích, nếu nhận lại một SYN/ACK, sau đó nó giả định các mục tiêu sẽ hoàn thành việc kết nối và các cổng đang lắng nghe. Nếu nó nhận một 1 RST từ mục tiêu, nó giả định cổng không hoạt động hay bị đóng. SYN stealth scan là ít bị phát hiện hơn bởi các hệ thống IDS.

XMAS: XMAS scan gửi một gói với cờ FIN,URG, và PSH được thiết lập. Nếu cổng mở, không đáp lại; nếu đóng mục tiêu gửi lại gói RST/ACK. XMAS scan chỉ làm việc trên hệ thống máy đích theo RFC 793 của TCP/IP.

FIN: FIN scan tương tự XMAS scan nhưng gửi gói dữ liệu chỉ với cờ FIN được thiết lập.

NULL: NULL scan cũng tương tự như XMAS và FIN trong giới hạn và trả lời, nhưng nó chỉ gửi một packet mà không có thiết lập cờ.

IDLE: IDLE scan sử dụng địa chỉ IP giả mạo để gửi một gói SYN đến mục tiêu. Phụ thuộc vào trả lời, cổng có thể được xác định là mở hoặc đóng. IDLE scan xác định phản ứng quét cổng bằng cách theo dõi số thứ tự IP header.

Công Cụ

Sau đây là một số công cụ có thể dùng để tiến hành quét cổng, xác định dịch vụ hay các máy đang hoạt động trên mạng :

  • IPEye là máy quét cổng TCP có thể làm SYN, FIN,Null, và XMAS scans. Nó là công cụ command-line(dòng lệnh). IPEye thăm dò cổng trên máy đích và phản hồi lại các trạng thái closed, reject, drop, or open. Closed có nghĩa là có một máy ở đầu bên kia nhưng nó không lắng nghe tại cổng. Reject là tường lửa từ chối kết nối tại cổng. Drop có nghĩa là tường lửa hủy bỏ mọi thứ vào cổng hoặc không có máy tính ở đầu bên kia. Open có nghĩa một số loại dịch vụ đang lắng nghe tại cổng. Những phản hồi này giúp hacker xác định loại của hệ thống đang trả lời.
  • IPSecScan là công cụ có thể quét một địa IP duy nhất hoặc một dãy địa chỉ IP tìm kiếm thông tin hệ thống.
  • Netscan Tools Pro 2000, Hping2, KingPingicmpenum, và SNMP Scanner là tất cả các công cụ quét và cũng có thể sử dụng để lấy dấu hệ điều hành.
  • Icmpenum không chỉ dùng gói ICMP Echo để thăm dò mạng, mà còn dùng gói ICMP Timestamp và ICMP Information. Hơn nữa, nó hỗ trợ gói trả lời giả mạo hoặc đánh hơi. Icmpenum rất hữu ích khi quét mạng mà tường lửa khóa ICMP.
  • Hping2 đáng chú ý vì nó bao gồm một loạt các tính năng khác ngoài OS fingerprinting như TCP, User Datagram Protocol (UDP),ICMP, và giao thức ping raw-IP, hping2 có thể tiến hàng gởi tín hiệu ICMP đến nhiều máy cùng lúc.SNMP Scanner cho phép quét một dãy hoặc một danh sách các máy chủ thực hiện ping, DNS, và Simple Network Managerment Protocol (SNMP).