Tải bản đầy đủ (.docx) (6 trang)

Các kỹ thuật quét cổng cơ bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (131.61 KB, 6 trang )

Các kỹ thuật quét cổng cơ bản
Truyền thông với TCP – UDP
Trong phạm vi bài viết tôi chỉ xin phép chỉ trình bày về các thiết lập flag (cờ)
trong gói tin TCP. Bạn có thể tìm hiểu thêm các kiến thức về TCP/IP tại
đây: Các thông số Flag trong TCP
• Thông số SYNchronize: Yêu cầu kết nối giữa 2 máy.
• Thông số ACKnowledgement: Trả lời kết nối giữa 2 máy có thể bắt đầu
thực hiện
• Thông số FINal: Kết thúc quá trình kết nối giữa 2 máy.
• Thông số RST (reset): Khởi động lại kết nối.
• Thông số 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.
• Thông số 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 thông số 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.
1. Thực hiện bắt tay 3 bước
• Bước 1: Host A gửi một gói tin SYN. Host B
nhận gói tin SYN
• Bước 2: Host B gửi về Host Amột gói
tin SYN/ACK. Host A nhận gói
tin SYN/ACK
• Bước 3: Host A gửi gói tin ACK tới Host B.
Host B nhận gói tin ACK
• Kết nối TCP được thiết lập.
2. Kết thúc một kết nối
• Bước 1: Client gửi đến
Server một gói tin FIN ACK
• Bước 2: Server gửi lại cho
Client một gói tin ACK
• Bước 3: Server lại gửi cho


Client một gói FIN ACK
• Bước 4: Client gửi lại cho
Server gói ACK và quá trình
ngắt kết nối giữa Server và
Client được thực hiện.
3. UDP
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ỏ.

Nguyên tắc quét cổng dịch vụ trên hệ thống
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. Sau đây tôi sẽ
trình bày các kỹ thuật quét cổng cơ bản đi kèm với các ví dụ sẽ được thực
hiện cùng với công cụ Nmap, bạn có thể thực hành để hiểu rõ hơn. Chúng ta
sẽ sử dụng 2 khái niệm chính là kẻ tấn công (người scan, máy scan) và mục
tiêu (máy mục tiêu).
Download Nmap tại đây:
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
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
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
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
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 -sX 192.168.1.22
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
Một số kỹ thuật quét cổng 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.
[root@localhost ~]# nmap -sS 192.168.1.22 -D 1.2.3.4, 5.6.7.8
Sau tham số “-D” là các giá trị IP cụ thể, với mỗi cổng khi scan mục tiêu sẽ
nhận đồng thời 3 gói tin (một từ kẻ tấn công, một từ IP: 1.2.3.4, và một từ IP:
5.6.7.8). Kết quả là mục tiêu sẽ phản hồi với cả 3 địa chỉ IP và có sẽ nghĩ rằng
cả 3 IP đang scan mình. Tuy nhiên, khi ta tăng giá trị IP lên hàng trăm IP thì
việc tìm ra kẻ tấn công thực sự là rất khó khăn.
Idle Scan
Idel Scan là một kỹ thuật phức tạp cho phép ẩn hoàn toàn kẻ tấn công. trong
Scan này sẽ có 3 thành phần: 1 là kẻ tấn công, một Zombie (một máy bị kẻ tấn
công lợi dụng) và một là mục tiêu cần quét cổng. Điều kiện là máy Zombie
không thực hiện các hoạt động khác ngoại trừ việc giao tiếp với Kẻ tấn công.
IPID: Mỗi IP packet được gửi trên mạng có một số duy nhất được gọi là
fragment identification (hay gọi là IPID)
Bước 1 của Idle Scan Bước 2 của Idle Scan
1. Kẻ tấn công sẽ gửi một gói tin SYN|ACK đến một cổng của Zombie và
sẽ phản hồi một gói tin RST chứa 1 IP ID
2. Kẻ tấn công tiếp tục gửi một gói tin SYN giả mạo IP của Zombie đến
cổng của mục tiêu.
3. Nếu cổng đó đóng mục tiêu sẽ phản hồi đến Zombie một RST
packet và zombie sẽ không tăng giá trị IP ID, nếu cổng là mở, mục
tiêu sẽ gửi một gói tin SYN|ACK đến zombie và zombie sẽ tăng giá trị
IP ID lên 1.
4. Kẻ tấn công sẽ gửi một gói tin SYN|ACK khác tới Zombie và kiểm tra
nếu IP ID tăng hoặc không tăng tương ứng với cổng được mở hoặc

đóng trên Mục tiêu.

×