CHI TIẾT BÀI VIẾT
NETWORK SCANNING
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ủ hosting 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 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.
2. TRUYỀN THÔNG VỚI TCP & UDP
Trong gói tin TCP/IP có các thông số Flag của giao tiếp TCP như sau:
- Cờ SYNchronize: Yêu cầu kết nối giữa 2 máy.
- Cờ ACKnowledgement: Trả lời kết nối giữa 2 máy có thể bắt đầu thực hiện
- Cờ FINal: Kết thúc quá trình kết nối giữa 2 máy.
- Cờ RST (reset): Khởi động lại kết nối.
- Cờ PSH ( push): Thực hiện chức năng đẩy trong bộ đệm trong TCP – thường sử dụng cho các gói tin ưu tiên.
- Cờ URG (Urgent): Thông số nhằm thiết lập độ ưu tiên cần xử lý ngay cho gói tin.
Các cờ này trong TCP Header có giá trị là 0 (Không thiết lập) hoặc 1(Được thiết lập) và nằm trong 8 bít trong phần Flag của TCP Header.
Nếu như gói tin truyền bằng TCP để đảm bảo sự toàn vẹn của gói tin sẽ luôn được truyền tới đích. Gói tin truyền bằng UDP sẽ đáp ứng nhu cầu truyền tải dữ liệu nhanh với các gói tin nhỏ.
3. CÁC CƠ CHẾ PORT SCANNING
Trên gói TCP/UDP có 16 bit dành cho Port Number điều đó có nghĩa nó sẽ có từ 1 – 65535 cổng. Các cổng cổng thường chia thành 3 phạm vi
- Well Known Ports (0 – 1023): các cổng phổ biến, đã biết, nó thường đi kèm với các chuẩn dịch vụ trên hệ thống. Ví dụ: telnet (23/tcp), www-http (80/tcp), ftp (21), ssh (22/tcp)…
- Registered Ports (1024 – 49151): Các cổng được sử dụng riêng cho từng chương trình, dịch vụ cụ thể. Radius – RADIUS Authentication Protocol (1812), Microsoft Internet Name Server
- Dynamic and/or Private Ports (49152 – 65535): Các cổng động hoặc không công khai.
Kỹ thuật đơn giản nhất của quét các cổng từ 1 --> 65535 và lấy ra các cổng đã mở. Thông thường chúng ta sẽ không quét toàn bộ 65535 mà chỉ tập trung vào các cổng phổ biến hoặc các phạm vi quét cổng hẹp hơn.
Ứng Dụng nmap trong TCP Connect() Scan
Trong kiểu scan này, kẻ tấn công sẽ gửi một gói tin SYN đến tất cả các cổng của máy mục tiêu.nếu một hoặc nhiều cổng được mở nó sẽ trả về một gói tin SYN|ACK, và kẻ tấn công sẽ hoàn thành một quá trình bắt tay bằng việc gửi lại gói tin ACK, Nếu các cổng đều đóng thì mục tiêu sẽ trả về gói tin RST để khởi động lại kết nối.
[root@localhost ~]# nmap -sT 192.168.1.22
Ứng Dụng nmap trong SYN Scan
Đây là một kiểu scan khác với TCP Connect() Scan vì quá trình bắt tay 3 bước sẽ không được hoàn thành. Kẻ tấn công sẽ gửi một gói tin SYN đến tất cả các cổng của mục tiêu. Trong trường hợp các cổng tương ứng mở nó sẽ gửi trả lại một gói tin SYN | ACK. Tại điểm này kẻ tấn công sẽ kết thúc bằng một gói tin RST. Nếu cổng đóng mục tiêu sẽ gửi trở lại một gói tin RST. Trong cả 2 trường hợp quá trình bắt tay 3 bước đều sẽ không được hoàn thành.
[root@localhost ~]# nmap -sS 192.168.1.22
Ứng Dụng nmap trong FIN Scan
Kẻ tấn công sẽ gửi một gói tin với cờ FIN tới tất cả các cổng của mục tiêu. Với các cổng được mở, mục tiêu sẽ bỏ qua gói tin và không phản hồi về cho kẻ tấn công. Các cổng đóng sẽ gửi về gói tin RST để khởi tạo kết nối.
[root@localhost ~]# nmap -sF 192.168.1.22
Ứng Dụng nmap trong XMAS Scan
Gần giống như FIN scan nhưng trong kiểu scan này kẻ tấn công sẽ gửi một gói tin FIN|URG|PSH.
[root@localhost ~]# nmap -sX 192.168.1.22
Ứng Dụng nmap trong NULL Scan
Kiểu scan này tương tự như FIN scan và XMAS scan nhưng kẻ tấn công sẽ gửi một gói tin mà không thiết lập bất cứ cờ nào trong Header của TCP.
[root@localhost ~]# nmap -sN 192.168.1.22
Ứng Dụng nmap trong UDP Scan
Đây là kiểu scan để phát hiện một cổng UDP đang mở. Gói tin UDP sẽ được gửi tới tất cả các cổng của mục tiêu, nếu cổng mở mục tiêu sẽ không gửi lại gì, nếu cổng là đóng mục tiêu sẽ gửi lại một gói tin ICMP Port Unreachable.
[root@localhost ~]# nmap -sU 192.168.1.22
Kỹ thuật quét Port nâng cao Decoy Scan
Decoy Scan là một kỹ thuật thực hiện một IP Spoofing (giả mạo). Mục đích nhằm ấn địa chỉ thực sự của kẻ tấn công (scanner). Ta xét ví dụ sau.