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.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.
1. 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
2. Máy bị tấn công sẽ trả lời bằng một gói tin
với cờ SYN và ACK
3. 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.
Sưu tầm và tổng hợp từ internet
Đăng nhận xét Blogger Facebook