Thứ Năm, 5 tháng 8, 2010

Hướng dẫn căn bản về Nmap

I/ NMAP là cái gì nhỉ ?(Dowload Here )
NMAP là chữ viết tắt của "Network Mapper" , một công cụ quét cổng rất hay và thông dụng . NMAP được Attacker ứng dụng rất nhiều trong kỹ thuật quét hệ thống mục tiêu , đặc biệt là quét cổng . Mục đích của việc quét thăm dò là để tìm xem các cổng (port) được mở trên hệ thống mục tiêu và các dịch vụ đang được khởi chạy đồng thời giúp ta phần nào đoán được HDH đang được sử dụng.
II/ Các khái niệm cơ bản :
1.Các cờ TCP :
Các kỹ thuật truyền thông chuẩn TCP điều khiển bởi các cờ trong Header của gói TCP. Gồm có các cờ sau :
-Synchronine : Cờ này thường được gọi là SYN , sử dụng khởi động kết nối giữa các hosts.
-Acknowlegement (ACK) : sử dụng để thiết lập kết nối giữa các hosts.
-Push (PSH) : chỉ dẫn hệ thống gửi tất cả các dữ liệu trong bộ đệm.
-Urgent (URG) : thông báo tình trạng dữ liệu các gói sắp gửi.
-Finish (FIN) : thông báo cho hệ thống ở xa biết quá trình kết nối kết thúc.
-Reset (RST) : sử dụng để Reset lại kết nối.

2.Thuật toán "Ba cái bắt tay" (3-way HandShake) :
Thuật toán này thường được các hệ thống sử dụng kiểm tra và thiết lập kết nối . Nội dung thuật toán như sau :

+Bước I: Client khởi tạo 1 kết nối đến Server theo một gói TCP và chỉ có cờ SYN thiết lập.
+Bước II: Server hồi đáp bằng một gói TCP với cả hai cờ SYN và ACK được thiết lập.
+Bước III: Client kết nối đến Server và chỉ có cờ ACK được thiết lập.
Nếu ba bước trên hoàn thành mà không có lỗi xảy ra thì kết nối giữa Client và Server được thiết lập.
3.Khi Client muốn kết thúc một phiên làm việc với Server :



+ Bước I: Client gửi đến Server một gói tin FIN ACK
+ Bước II: Server gửi lại cho Client một gói tin ACK
+ Bước III: Server lại gửi cho Client một gói FIN ACK
+ Bước IV: 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.

III/ Các kỹ thuật quét:
Trong bài viết này , mình chỉ sử dụng NMAP ở chế độ command line thôi nhé ^^.
Cú pháp : nmap [Scan Type(s)] {host mục tiêu} [Options]
nmap : tên chương trình.
Scan Type(s) : loại quét , có thể kết hợp nhiều loại quét trong một lần quét.
Một số kỹ thuật quét :
-sT connect Scan : là phương thức quét TCP đáng tin cậy , hệ thống gọi hàm connect() (hàm được hệ điều hành cung cấp sẵn) để kết nối đến cổng đang mở trên một máy . Nếu cổng mở , hàm connect() sẽ thực hiện thành công , ngược lại hàm sẽ thất bại. Điểm mạnh mẽ của kiểu kết nối này là không cần bất cứ đặc quyền nào cả , mỗi ngừoi dùng của UNIX hoặc Windows đều có thể sử dụng kỹ thuật này .
Cú pháp: nmap -sT www.site.com
-sS SYN Scan : thường được gọi là kỹ thuật quét 1 nửa (Haft Open Scan) vì nó không tạo ra kết nối TCP đầy đủ . Nghĩa là :
->Đầu tiên Client gửi một gói TCP đến 1 cổng của máy Server với cờ SYN được bật và chờ Server trả lời.
->Nếu Server gửi lại một gói SYN/ACK thì cổng đó mở . Nếu nhận được RST thì cổng vừa quét không hoạt động . Khi Client nhận được gói SYN/ACK nó sẽ gửi ngay cho Server 1 gói RST để ngắt kết nối (thay vì gửi ACK như thuật toán "3 cái bắt tay" ở trên để thiêt lập kết nối) <~~~ hiểu tại sao là Half Open rồi phải hok ^^!
-sF -sX -sN FIN Scan , Xmas Tree Scan , Null Scan : một vài firewall và bộ lọc Packet có thể phát hiện ra hành động scan của bạn , lợi thế của kiểu quét này là có thể scan xuyên qua Firewall và bộ lọc Packet mà ít bị cản trở , ngăn cản .Ý tuởng của lệnh này là đóng các cổng và yeu cầu trả lời các packets thăm dò với một RST , trong khi cổng mở thì phải bỏ qua các yêu cầu.
-sU UDP Scan : xác định các cổng UDP đang mở.
-sP Ping Scan : kiểm tra xem có bao nhiêu host hiện đang online trên cùng 1 Network nào đó .
-O : quét xem hệ thống mục tiêu có khả năng sử dụng hệ điều hành nào .
-v : tăng số lần gửi yêu cầu để cho kết quả được chính xác hơn.
... (còn nhiều lắm , nhưng nhiêu đây thôi cũng đủ chiến đấu sơ bộ rồi )

IV/ Ví dụ cụ thể :
1.Quét cổng :
-Sử dụng SYN Scan (-sS) :




-Sử dụng TCP Scan và ghi kết quả Scan ra đĩa cứng :




2.Scan OS :


Không có nhận xét nào:

Đăng nhận xét