Kiến thức an ninh mạng - P9



Ở phần 9 này mình sẽ giới thiệu cho các bạn về “Scanning Network” trong An Ninh Mạng

1.Giới thiệu về Scanning

Quét (Scanning) là một bước tiếp theo trong tiến trình tấn công hệ thống. Giai đoạn này giúp chúng ta xác định được nhiều thông tin của mục tiêu cần tấn công. Chương trước, bạn đã tìm hiểu các vấn đề về Footprinting và Social Engineering, là công việc liên quan đến con người. Có nghĩa là chúng ta đã tiến hành thu thập thông tin về tổ chức mà chúng ta tấn công, như vị trí địa lý, thói quen sinh hoạt của nhân viên…Đến phần này, Scanning, chúng ta sẽ làm việc với máy móc. Tức là sau khi chúng ta tìm được vài thông tin có liên quan đến máy tính cần tấn công, công đoạn tiếp theo là thu thập thông tin về máy tính đó. Những thông tin cần thu thập như tên máy (computer name), địa chỉ ip, cấu hình máy tính, hệ điều hành, dịch vụ đang chạy, port đang mở…Những thông tin này sẽ giúp cho hacker có kế hoạch tấn công hợp lý, cũng như việc chọn kỹ thuật tấn công nào. Quét giúp định vị hệ thống còn hoạt động trên mạng hay không. Một hacker chân chính sử dụng cách này đề tìm kiếm thông tin của hệ thống đích.

2. Phân loại Scanning


Sau khi các giai đoạn hoạt động thăm dò chủ động và bị động của hệ thống mục tiêu hoàn tất, chúng ta tiến hành quét. Quét được sử dụng để xác định một hệ thống có trên mạng hay không và có đang sẵn sàng hoạt động. Công cụ quét được sử dụng để thu thập thông tin về một hệ thống như địa chỉ IP, hệ điều hành, và các dịch vụ chạy trên các máy tính mục tiêu. Hình sau liệt kê ba loại quét chủ yêu mà chúng ta nhắm tới.

2.1. Port Scanning


Port scanning là quá trình xác định cổng TCP/IP mở và có sẵn trên một hệ thống. Công cụ Port scanning cho phép một hacker tìm hiểu về các dịch vụ có sẵn trên một hệ thống nhất định. Mỗi dịch vụ hay ứng dụng máy tính được kết hợp với một số cổng thông dụng. Ví dụ, một công cụ quét đó là xác định cổng 80 mở cho một web sever đang chạy trên đó. Hacker cần phải biết rõ với số cổng thông dụng.

2.2. Network Scanning


Network scanning là một quy trình để xác định máy chủ đang hoạt động trên mạng, hoặc để tấn công chúng hoặc là đánh giá an ninh mạng. Máy chủ được xác định bởi IP cá nhân của chúng. Các công cụ network-scanning cố gắng xác định tất cả các máy chủ trực tiếp hoặc trả lời trên mạng và địa chỉ IP tương ứng của chúng.

2.3. Vulnerability scanning

Vulnerability scanning là quá trình chủ động xác định các lỗ hổng của hệ thống máy tính trên mạng. Thông thường, một máy quét lỗ hổng đầu tiên xác định các hệ điều hành và số phiên bản, bao gồm các gói dịch vụ có thể được cài đặt. Sau đó, máy quét lỗ hổng xác định các điểm yếu, lỗ hổng trong hệ điều hành.Trong giai đoạn tấn công sau đó, một hacker có thể khai thác những điểm yếu để đạt được quyền truy cập vào hệ thống.


Một hệ thống phát hiện xâm nhập (IDS) hay một mạng an ninh tinh vi chuyên nghiệp với các công cụ thích hợp có thể phát hiện các hoạt động port-scanning. Các công cụ dò quét cổng TCP/IP tìm kiếm các cổng mở và địa chỉ IP, và lỗ hổng thường có thể bị phát hiện, vì các máy quét phải tương tác với hệ thống đích trên mạng.


3.Các phương pháp Scanning

3.1. Kiểm tra hệ thống.


* Quét ICMP


Bản chất của quá trình này là gửi một gói ICMP Echo Request đến máy chủ đang muốn tấn công


Việc quét này rất hữu ích để định vị các thiết bị hoạt động hoặc xác định hệ thống có tường lửa hay không


* Ping Sweep


Ping Sweep được sử dụng để xác định các máy chủ còn “sống” từ một loạt các địa chỉ IP bằng cách gửi các gói ICMP Echo Request đến tất cả các IP đó. Nếu một máy chủ còn “sống” nó sẽ trả lại một gói tin ICMP Reply.

3.2. Kiểm tra các cổng mở


Kiểm tra các cổng đang mở là bước thứ hai trong tiến trình quét. Port scanning là phương pháp được sử dụng để kiểm tra các cổng đang mở. Quá trình quét bao gồm việc thăm dò mỗi cổng trên máy chủ để xác định các cổng đang mở. Thông thường Ports scanning có giá trị hơn một quá trình quét ping về máy chủ và các lỗ hổng trên hệ thống.


Để thực hiện quét port máy khách phải thực hiện thiết lập kết nối với máy bị tấn công qua giao thức TCP sử dụng cơ chế bắt tay 3 bước.
Máy tính A khởi tạo một kết nối đến máy bị tấn công bằng một gói tin với cờ SYN
Máy bị tấn công sẽ trả lời bằng một gói tin với cờ SYN và ACK
Cuối cùng, máy khách sẽ gởi lại cho máy chủ một gói tin ACK


Nếu 3 bước trên được hoàn thành mà không có biến chứng thì sau đó một kết nối TCP sẽ được thiết lập


Bởi vì TCP là một giao thức hướng kết nối, một quy trình để thiết lập kết nối (three-way handshake), khởi động lại một kết nối không thành công và kết thúc một kết nối là một phần của giao thức. Những giao thức dùng để thông báo được gọi là Flags. TCP chứa các flasg như ACK, RST, SYN, URG, PSH và FIN. Danh sách dưới đây xác định các chức năng của các cờ TCP:


* SYN (Synchronize): Khởi tạo kết nối giữa các máy


* ACK (acknowledge): Thiết lập kết nối giữa các máy.


* PSH (Push): Hệ thống chuyển tiếp dữ liệu đệm.


* URG (Urgent): Dữ liệu trong các gói phải được sử lý nhanh chóng.


* FIN(Finish): Hoàn tất giao tiếp, không truyền thêm.


* RST (Reset): Thiết lập lại kết nối.


+ Các kĩ thuật quét :


* XMAS: XMAS scans 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 và không chống lại bất cứ version nào của Windows.


* 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. FIN scan nhận trả lời và có giới hạn giống như XMAS scan.


* 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ó flag set.


* 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 scans xác định phản ứng quét cổng bằng cách theo dõi số thứ tự IP header.

3.3. Kỹ thuật War DiaLing


War-Dialing là quá trình quay số modem để tìm một kết nối modem đang mở, kết nối này cung cấp truy cập từ xa vào mạng, để tấn công vào hệ thống đích. Thuật ngữ War dialing bắt nguồn từ những ngày đầu của Internet khi hầu hết các công ty đã được kết nối với Internet thông qua kết nối dial-up modem. War dialing được xem như là một phương pháp quét bởi vì nó tìm thấy một kết nối mạng mà có thể có bảo mật yếu hơn so với các kết nối Internet chính. Nhiều tổ chức thiết lập truy cập từ xa qua modem, mà bây giờ đã cổ nhưng đã không thể loại bỏ các máy chủ truy cập từ xa này. Điều này cho phép tin tặc dễ dàng xâm nhập vào mạng với cơ chế bảo mật yếu hơn nhiều. Ví dụ, nhiều hệ thống truy cập từ xa sử dụng phương thức xác nhận PAP (Password Authentication Protocol), gửi mật khẩu ở dạng clear text,hay hơn nữa là dùng công nghệ VPN mới hơn với mật khẩu được.


War-dialing là công cụ làm việc trên tiền đề rằng: các công ty không kiểm soát quay số tại cổng chặt chẽ như tường lửa, và máy tính với modem gắn liền có mặt ở khắp mọi nơi, ngay cả khi những modem không còn sử dụng. Nhiều máy chủ vẫn còn có modem với đường dây điện thoại được kết nối như là một sao lưu dự phòng trong trường hợp kết nối Internet chính gặp xự cố. Những kết nối modem có thể được sử dụng bởi một chương war-dialing để truy cập từ xa vào hệ thống và mạng nội bộ.

3.4. Công nghệ Banner Grabing và Operating System Fingerprint

Banner Grabbing và đồng nhất hệ điều hành – cũng có thể định nghĩa là Fingerprinting TCP/IP stack – là bước thứ 4 trong phương pháp quét của CEH. Quá trình fingerprinting cho phép hacker xác định vùng đặc biệt dế bị tổn thương của mục tiêu trên mạng. Banner grabbing là quá trình tạo kết nối và đọc biểu ngữ được gửi trả lời bởi ứng dụng. Nhiều server (mail, web, ftp…) sẽ trả lời đến một kết nối telnet với tên và version của software. Hacker có thể tìm thấy nhiều mối liên hệ giữa hệ điều hành và phần mềm ứng dụng. Ví dụ, Microsoft Exchange e-mail server chỉ cài được trên HĐH Windows.

OS Fingerprint là kỹ thuật xác định thông tin hệ điều hành chạy trên host đích. Có hai phương thức để thực hiện OS Fingerprint như sau:

Active stack fingerprinting là hình thức phổ biến nhất của fingerprinting. Nó bao gồm việc gửi dữ liệu đến hệ thống để xem cách hệ thống trả lời. Nó dựa trên thực tế là các nhà cung cấp hệ điều hành thực hiện các TCP stack khác nhau, và khác nhau dựa trên hệ điều hành. Các phản ứng này sau đó được so sánh với cơ sở dữ liệu để xác định hệ điều hành. Active stack fingerprinting bị phát hiện bởi vì nó cố gắng nhiều lần để kết nối với hệ thống mục tiêu.

Passive stack fingerprinting thì “tàng hình” hơn và bao gồm sự kiểm tra lưu lượng trên mạng để xác định hệ điều hành. Nó sử dụng kỹ thuật Sniffing thay vì kỹ thuật Scanning. Passive stack fingerprinting thường không phát hiện ra bởi IDS hoặc hệ thống bảo mật khác nhưng ít chính xác hơn Active fingerprinting.

3.5. Quét lỗ hổng

Quét lỗ hổng là để xác định lỗ hổng và điểm yếu của một hệ thống mạng và mạng lưới để xác định xem hệ thống đó có thể khai thác được như thế nào.

Thực hiện quét lỗ hổng sẽ được các kết quả :

– Cấu trúc liên kết mạng và các lỗ hổng hệ điều hành

– Các cổng mở và các dịch vụ đang chạy

– Ứng dụng và các lỗi cấu hình các dịch vụ

– Ứng dụng và các lỗ hổng dịch vụ


3.6. Triển khai Proxy Server để tấn công

Chuẩn bị máy chủ proxy là bước cuối cùng trong phương pháp quét CEH. Một proxy server là một máy tính hoạt động trung gian giữa hacker và máy tính đích.

Sử dụng một proxy server có thể cho phép hacker trở thành vô danh trên mạng. Hacker trước tiên kết nối tới máy proxy server rồi yêu cầu kết nối tới máy đích thông qua kết nối có sẵn đến proxy. Cơ bản, proxy yêu cầu truy cập đến mục tiêu mà không phải là máy tính của hacker. Điều này làm hacker lướt web vô danh hoặc ẩn trong cuộc tấn công.


4. Một số kỹ thuật hỗ trợ tấn công


4.1. Kỹ thuật HTTP TUNNELING

Một phương pháp phổ biến của vòng qua tường lửa hoặc IDS là một tạo một đường hầm (như SMTP) thông qua một giao thức cho phép (như HTTP). Hầu hết các IDS và tường lửa hoạt động như một proxy giữa máy tính của khách hàng và Internet, và chỉ cho phép truy cập với những host được định nghĩa là được phép. Hầu hết các công ty cho phép HTTP giao thông bởi vì nó thường truy cập web lành tính. Tuy nhiên, hacker có thể tạo ra một đường hầm bằng giao thức HTTP để truy cập vào mạng bên trong với giao thức không được phép.

HTTP Tunneling không hẳn là chỉ dành cho hacker. Bạn có thể áp dụng nó để tạo ra một hệ thống kết nối hai chi nhánh an toàn bằng giao thức HTTP. Trong hình 4.12 là một ví dụ về việc kết nối hai chi nhánh để trao đổi dữ liệu qua giao thức FTP, trong khi giao thức này bị chặn bởi tường lửa. Bằng cách này, client có thể kết nối về máy chủ FTP để lấy dữ liệu thông qua HTTP Tunneling.

4.2. Kỹ thuật giả mạo IP

Một hacker có thể giả mạo địa chỉ IP khi quét máy hệ thống để hạn chế thấp nhất khả năng bị phát hiện. Khi nạn nhân (Victim) gửi trả lời về địa chỉ IP, nó sẽ không gửi đến địa chỉ giả mạo được. Một nhược điểm của giả mạo IP là một phiên TCP không thể hoàn thành được, do không thể gửi hồi đáp ACK.

Source routing cho phép kẻ tấn công chỉ định việc định tuyến một gói tin có thông qua Internet. Điều này cũng có thể giảm thiểu cơ hội phát hiện bằng cách bỏ qua IDS và tường lửa. Source routing được cài đặt trong giao thức TCP/IP với hai hình thức:

– Loose Source routing (LSR): Routing không chính xác. Người gửi gửi một danh sách ip trong đó bao gồm ip của mình.

– Strict Source routing (SSR): Routing chính xác. Người gửi chỉ ra một phần của đường dẫn để chuyển gói tin. Gói tin trả lời sẽ đi qua đường dẫn đó.

Source routing sử dụng trường địa chỉ của gói tin IP Header lên đến 39-byte tức là sẽ có tối đa 8 địa chỉ ip được thêm vào trường đỉa chỉ. Khi đó máy gửi sẽ gửi qua một loạt ip giả, trong số đó có ip thật của kẽ tấn công.

HCC

 
biz.