Giáo trình Bảo mật mạng - Chương 5: Scanning - Lưu Anh Kiệt
Bạn đang xem tài liệu "Giáo trình Bảo mật mạng - Chương 5: Scanning - Lưu Anh Kiệt", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- giao_trinh_bao_mat_mang_chuong_5_scanning_luu_anh_kiet.pdf
Nội dung text: Giáo trình Bảo mật mạng - Chương 5: Scanning - Lưu Anh Kiệt
- CHƯƠNG 5: SCANNING Lưu Anh Kiệt Quét (Scanning) là một bước tiếp theo trong tiến trình tấn công hệ thống. Gia đ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. 1. 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. Hình 5.1: Phân loại Scanning
- 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. Note : trên hệ thống windows, những cổng thông dụng nằm ở vị trí C:\windows\system32\drivers\etc\services file. Tập tin dịch vụ là một file ẩn. Mở tập tin bằng Notepad. 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. 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. 2. Đối tượng cần quét Scan là hoạt động tương tác trên hệ thống máy tính. Đối tượng mà chúng ta đang nhắm tới chính là hệ thống máy tính với những thành phần của nó. Khi tiến hành quét hệ thống, chúng ta chú ý đến các mục đích sau: Live System: Xác định xem hệ thống mà chúng ta đang nhắm tới có còn hoạt động hay không. Máy tính (host) đang quét có hoạt động trên internet hay không. Địa chỉ ip có đang trong trạng tháy public.
- Port: Mục tiêu tiếp theo là xác định các port đang mở. Việc xác định port này cho phép chúng ta biết máy tính đó đang mở các dịch vụ nào. Từ đó xác định được mục đích của cuộc tấn công. Operating System: Xác định hệ điều hành đang sử dụng trên máy tính mục tiêu sẽ giúp hacker tìm ra các lỗ hổng thông dụng. Các hệ điều hành không nhiều thì ít cũng tiềm ẩn những lỗ hổng tạo điều kiện cho kẻ tấn công đột nhập. Xác định hệ điều hành còn phải xác định phiên bản của nó. Service: Hiểu rõ những dịch vụ đang chạy và lắng nghe trên hệ thống đích. Phiên bản của dịch vụ nào cũng chứa những lỗi nhỏ, mà nếu biết khai thác lỗ nhỏ đó thì nó không còn nhỏ chút nào. IP Address: Không chỉ có một ip của một host, mà chúng ta cũng cẩn xác định dãy địa chỉ mạng, và những host khác có liên quan như Default gateway, DNS Server 3. Các phương pháp quét Quá trình Scan được mô tả trong hình 4.2. Phương pháp này là quá trình mà theo đó hacker tiến hành quét mạng. Nó đảm bảo rằng không có hệ thống hoặc lỗ hổng nào bị bỏ qua và các hacker tập hợp tất cả thông tin cần thiết để thực hiện một cuộc tấn công. Hình 5.2: Tiến trình scan
- Theo đó, tiến trình quét mạng có thể được mô tả vắn tắt qua các bước như sau: Kiểm tra xem hệ thống có tồn tại, có đang hoạt động hay không. Kiểm tra các port nào đang được mở mà chúng ta có thể tương tác được. Nhận biết các dịch vụ tương ứng với những port đang mở. Phát họa sơ đồ mạng, đặc biệt chú ý đến những host dễ bị tổn thương. Ghi dấu hệ điều hành và những thông tin có liên quan đến hệ điều hành. Chuẩn bị một proxy để tấn công. Tấn công: Tất nhiên ở đây chỉ mang tính minh họa, chứ thực chất việc tấn công còn nhiều công đoạn khác. 3.1. Kiểm tra sự tồn tại của hệ thống đích Chúng ta sẽ đi vào việc tìm hiểu vài kỹ thuật được áp dụng để kiểm tra sự tồn tại của hệ thống ngay sau đây. Tìm hiểu kỹ thuật Ping Sweep Các phương pháp quét bắt đầu với việc kiểm tra các hệ thống sống trên mạng, có nghĩa là hệ thống phản ứng với các yêu cầu thăm dò hoặc kết nối. Đơn giản nhất, mặc dù không phải là cách chính xác nhất, cách để xác định dù hệ thống có sống hay không là thực hiện ping sweep cho một dãy IP. Tất cả các hệ thống phản ứng với một tin trả lời ping được coi là sống trên mạng. Internet control message protocol (ICMP) scanning là quá trình gửi một yêu cầu ICMP hoặc ping cho tất cả các host trên mạng để xác định những host đang tồn tại và trả lời ping. Lợi ích của ICMP scanning là nó có thể chạy song song, có nghĩa là tất cả các hệ thống được quét đồng thời, do đó nó có thể chạy nhanh chóng trên toàn bộ mạng. Hầu hết các công cụ hack bao gồm một lựa chọn ping-sweep, mà chủ yếu là thực hiện một yêu cầu ICMP đến mỗi máy chủ trên mạng. Một vấn đề đáng kể với phương pháp này là phần mềm tường lửa cá nhân và tường lửa hệ thống mạng có thể chặn hệ thống từ trả lời ping sweeps. Một vấn đề khác là các máy tính phải được quét. Hacking Tools Pinger, Friendly Pinger, and WS_ping_Pro là tất cả những phần mềm có thể giúp chúng ta thực hiện quá trình Ping Sweep. Bạn sẽ được hướng dẫn sử dụng các công cụ này trong phần lab.
- Chống lại Ping Sweep Hầu như bất kỳ hệ thống phòng chống xâm nhập (IDS) hoặc hướng dẫn (IPS), sẽ phát hiện và cảnh báo cho quản trị viên bảo mật về một quá trình quét ping đang xảy ra trên mạng. Hầu hết các tường lửa và proxy server chặn trả lời ping vì vậy hacker không thể xác định chính xác xem liệu hệ thống có sẵn sàng bằng cách sử dụng một quá trình quét ping được. Quét cổng “dồn dập” được sử dụng nếu hệ thống không trả lời với một quá trình quét ping. Chỉ vì một quá trình quét ping không trả lại bất kỳ máy chủ nào hoạt động trên mạng không có nghĩa là chúng không có sẵn, bạn cần phải thử những phương pháp nhận dạng xen kẽ khác. Hãy nhớ hack mất thời gian, kiên nhẫn, và kiên trì. 3.2. Thăm dò cổng(port) và xác định dịch vụ (service) 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. Xác định các Service hoạt động là bước thứ ba trong tiến trình. Nó thường được thực hiện bằng cách sử dụng các công cụ tương tự như port scanning. Bằng cách xác định cổng mở, hacker thường xác định các dịch vụ liên kết với số cổng đó. Biện pháp đối phó Port-Scan Biện pháp đối phó là quá trình hoặc bộ công cụ được sử dụng bởi các quản trị viên an ninh để phát hiện và có thể ngăn chặn port-scanning các máy chủ trên mạng của họ. Danh sách các biện pháp đối phó cần được thực hiện để ngăn chặn một hacker thu thập thông tin từ quá trình quét cổng: Kiến trúc an ninh thích hợp, chẳng hạn như thực hiện các IDS và tường lửa nên được đi chung. Hacker chân chính sử dụng công cụ của họ thiết lập để kiểm tra việc Scanning, thực hiện các biện pháp đối phó. Khi tường lửa được đặt ra, công cụ aport-scanning nên được chạy cho các máy chủ trên mạng để cho phép tường lửa phát hiện chính xác và dừng các hoạt động của port-scanning. Tường lửa có thể phát hiện các hoạt động thăm dò được gửi bởi các công cụ port- scanning. Các tường lửa nên tiến hành lấy trạng thái kiểm tra (stateful inspections). Có nghĩa là nó sẽ kiểm tra không chỉ các tiêu đề TCP mà cả dữ liệu của gói tin để xác định liệu được phép đi qua tường lửa. Network IDS nên được sử dụng để phát hiện các phương pháp dò tìm hệ điều hành được sử dụng bởi một số công cụ hacker phổ biến như Nmap.
- Chỉ có các cổng cần thiết nên được giữ ở trạng thái mở. Phần còn lại sẽ được lọc hoặc bị chặn. Các nhân viên của tổ chức sử dụng các hệ thống cần được đào tạo thích hợp nhận thức về an ninh. Cũng nên biết chính sách bảo mật khác nhau mà họ đang cần làm theo. Tìm hiểu Nmap Command Switches Nmap là một công cụ miễn phí mã nguồn mở thực hiện nhanh chóng và hiệu quả ping sweeps, quét cổng, dịch vụ nhận dạng, xác định địa chỉ IP, và xác định hệ điều hành. Nmap có lợi khi quét số lượng lớn các máy trong một phiên duy nhất. Nó hỗ trợ nhiều hệ điều hành, bao gồm cả Unix, Windows, và Linux. Trạng thái của cổng được xác định bởi Nmap scan có thể ở ba trạng thái open, filtered, or unfiltered. Open có nghĩa là các máy tính mục tiêu chấp nhận yêu cầu gửi đến trên cổng đó. Filtered có nghĩa là một bức tường lửa hoặc bộ lọc mạng sàng lọc các cổng và ngăn ngừa Nmap phát hiện cho dù cổng đó là mở. Unfiltered có nghĩa cổng được xác định là đóng, và không có tường lửa can thiệp với các yêu cầu Nmap. Nmap hỗ trợ nhiều loại quét. Hình 4.3 mô tả một số phương pháp quét phổ biến Hình 5.3: Một số phương pháp scan hổ trợ bởi NMAP
- Loại Nmap Scan Mô tả TCP connect Kẻ tấn công tạo kết nối TCP(full TCP) tới hệ thống đích Những kẻ tấn công kiểm tra dịch vụ TCP bằng cách gửi gói dữ liệu XMAS tree scan XMAS-tree. XMAS-tree có nghĩa là FIN,URG and PSH flag (nghĩa của flag giải thích ở phần sau). Được gọi là quét nữa mở(haft-open scanning). Hacker gửi 1 gói SYN stealth scan SYN và nhận 1 gói SYN-ACK từ server. Đó là 1 cách “tàng hình” vì kết nối full TCP không được mở. Đây là một cách quét tiên tiến có thể đi qua tường lửa mà không bị phát hiện hay bị sửa đổi. Null (chữ được dùng để đánh lạc hướng Null scan trong mật mã) scan có tất cả cờ hay không thiết lập. Null scan chỉ hoạt động trên hệ thống UNIX. Đây là loại quét tương tự như ACK scan và cũng có phát hiện các Windows scan cổng mở. Loại quét được sử dụng để vạch ra các quy tắc tường lửa. Chỉ làm ACK scan việc trên UNIX. Nmap có rất nhiều lệnh chuyển đổi để thực hiện các loại hình quét khác nhau. Các lệnh quét phổ biến được liệt kê trong hình 4.4 Hình 5.4: Các tùy chọn chuyển đổi chế độ Scan Bạn sẽ đi vào tìm hiểu cách sử dụng công cụ Nmap cụ thể hơn trong phần thực hành.
- Tìm hiểu SYN, STEALTH,XMAS, NULL, ADLE, và FIN Scans Là hacker bạn cần quen thuộc với các thuật ngữ Scan sau : SYN : SYN hoặc stealth scan cũng được gọi là haft-open scan vì nó không thực hiện đầy đủ quy trình bắt tay ba bước của TCP (three-way hanshake). TCP/IP three-way handshake đề cập trong phần sau. Hacker gửi gói tin SYN đến đích, nếu nhận lại một SYN/ACK, sau đó nó giả định các mục tiêu sẽ hoàn thành việc kết nối và các cổng đang lắng nghe. Nếu nó nhận một 1 RST từ mục tiêu, nó giả định cổng không hoạt động hay bị đóng. Lợi thế của the SYN stealth scan là ít bị phát hiện hơn bởi các hệ thống IDS, hơn là đăng nhập như cố gắng tấn công hoặc kết nối. 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. Giao thức kết nối TCP Các loại TCP scan được xây trên TCP three-way handshake. Kết nối TCP yêu cầu three- way handshake trước khi kết nối được tạo và truyền dữ liệu giữa người gửi và người nhận. Hình 4.5 mô tả chi tiết các bước của TCP three-way handshake.
- Hình 5.5: Mô tả quy trình bắt tay ba bước của TCP Để hoàn thành three-way handshake và tạo một kết nối thành công giữa hai máy, người gửi phải gửi một gói tin TCP với các thiết lập bit đồng bộ (SYN). Sau đó, hệ thống nhận được trả lời bằng một gói tin TCP với các đồng bộ hóa (SYN) và thừa nhận bit thiết lập phản hồi (ACK) để cho biết máy chủ đã sẵn sàng để nhận dữ liệu. Hệ thống nguồn sẽ gửi một gói tin cuối cùng với các bit xác nhận thiết lập (ACK) để chỉ ra các kết nối được hoàn tất và dữ liệu đã sẵn sàng để được gửi đi. 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. Hacker có thể chống lại sự phát hiện bằng cách sử dụng cờ thay vì hoàn thành một kết nối TCP thông thường.
- Hacking Tool Một vài công cụ sau đây xin giới thiệu đến các bạn để thực hiện việc Scan Port và xác định dịch vụ. IPEye là máy quét cổng TCP có thể làm SYN, FIN,Null, và XMAS scans. Nó là công cụ command-line(dòng lệnh). IPEye thăm dò cổng trên máy đích và phản hồi lại các trạng thái closed, reject, drop, or open. Closed có nghĩa là có một máy ở đầu bên kia nhưng nó không lắng nghe tại cổng. Reject là tường lửa từ chối kết nối tại cổng. Drop có nghĩa là tường lửa hủy bỏ mọi thứ vào cổng hoặc không có máy tính ở đầu bên kia. Open có nghĩa một số loại dịch vụ đang lắng nghe tại cổng. Những phản hồi này giúp hacker xác định loại của hệ thống đang trả lời. IPSecScan là công cụ có thể quét một địa IP duy nhất hoặc một dãy địa chỉ IP tìm kiếm thông tin hệ thống. Netscan Tools Pro 2000, Hping2, KingPingicmpenum, và SNMP Scanner là tất cả các công cụ quét và cũng có thể sử dụng để lấy dấu hệ điều hành. Icmpenum không chỉ dùng gói ICMP Echo để thăm dò mạng, mà còn dùng gói ICMP Timestamp và ICMP Information. Hơn nữa, nó hỗ trợ gói trả lời giả mạo hoặc đánh hơi. Icmpenum thì tuyệt vời cho quét mạng khi tường lửa khóa ICMP Echo nhưng lỗi khi khóa Timestamp hoặc Information. Hping2 đáng chú ý vì nó bao gồm một loạt các tính năng khác ngoài OS fingerprinting như TCP, User Datagram Protocol (UDP),ICMP, và giao thức ping raw-IP, chế độ traceroute, và khả năng gửi nhiều files giữa hệ thống nguồn và đích. SNMP Scanner cho phép quét một dãy hoặc một danh sách các máy chủ thực hiện ping, DNS, và Simple Network Managerment Protocol (SNMP). Tìm hiểu về 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ộ. Hình 4.6 là mô hình hoạt động cơ bản của War-dialing. Tại đây chúng ta thấy hacker có thể sử dụng modem của mình để giả một kết nối vào hệ thống mạng của công. Hình 5.6: Mô hình hoạt động của War-dialing Hacking Tool THC-Scan, Phonesweep, war dialer, và telesweep là tất cả công cụ được sử dụng để xác định các số điện thoại và có thể quay số đến mục tiêu để tạo kết nối tới modem máy tính. Những công cụ thường làm việc bằng cách sử dụng một danh sách người dùng và mật khẩu đã được xác định trước để cố gắng truy cập hệ thống. Hầu hết các truy cập từ xa bằng kết nối quay số không được bảo vệ bằng mật khẩu hoặc sử dụng bảo mật rất thô sơ.
- 3.3. Tìm hiểu về 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. Hacking Tool Sử dụng telnet cũng có thề thu thập thông tin hệ điều hành, khi bạn kết nối đến host. POF, HTTPRINT, Mairn HTTP Header là những công cụ thực hiện thu thập thông tin hệ điều hành theo cơ chế Passive. Trong khi các công cụ như XPRobe2, Ring V2 Nercraft thì thu thập thông tin bằng cơ chế Active. Đối phó với thu thập thông tin hệ điều hành Thay đổi thông tin hệ điều hành trong phần banner header của webserver. Với Apache bạn có thể load module có tên là mod_headers lên, và chỉnh sửa cấu hình trong file httpd.conf Header set Server "New Server Name"
- Với IIS bạn có thể sử dụng các tool như IIS lockdown Tool, ServerMask. Cả hai công cụ này đều có chức năng thay đổi banner header của server hoặc khóa hẳn luôn, không hiển thị cho người dùng. 3.4. Vẽ sơ đồ mạng Vẽ sơ đồ mạng của máy chủ là cần thiết, đặc biệt chú ý đến những máy chủ dễ bị tổn thương. Công cụ quản lý mạng có thể hỗ trợ bước này. các công cụ như vậy thường được sử dụng để quản lý các thiết bị mạng nhưng có thể quay lưng lại với các quản trị viên bảo mật bởi các hacker có gan. SolarWinds Toolset, Queso, Harris Stat, và Cheops là các công cụ quản lý mạng sử dụng nhận biết hệ điều hành, lập bảng đồ, sơ đồ mạng, danh sách các dịch vụ đang chạy trên mạng, quét cổng thông thường và hơn nữa. Những công cụ này vẽ toàn bộ mạng trong giao diện GUI gồm routers, servers, hosts và firewalls. Hầu hết các công cụ này để có thể tìm ra IP, host names, services, hệ điều hành, và thông tin version. Hình 5.7: Giao diện làm việc của phần mềm LanState
- Netcraft và HTTrack là công cụ ghi dấu một hệ điều hành. Cả hai sử dụng để xác định hệ điều hành và số phiên bản phần mềm web-server. o Netcraft là website mà định kỳ thực hiện các cuộc thăm dò web server để xác định phiên bản hệ điều hành và phiên bản phần mềm web-server. Netcraft có thể cung cấp thông tin hữu ích cho hacker có thể sử dụng phát hiện những tổn thưởng trên phần mềm web server. Ngoài ra, Netcraft có thanh công cụ anti-phishing (chống lừa đảo) và công cụ xác nhận web-server, bạn có thể sử dụng để đảm bảo rằng đang sử web-server thật, không phải giả. o HTTrack sắp xếp cấu trúc liên kết tương đối, ban đầu của các trang web. Bạn mở một trang của website được nhân đôi trong trình duyệt,và sau đó bạn có thể duyệt các trang web từ liên kết để liên kết như thể bạn đang xem nó trực tuyến. HTTrack cũng có thể cập nhật một trang web hiện có được nhân đôi và phục hồi download bị gián đoạn. 3.5. 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. Hình 5.8: Mô hình tấn công của attacker
- Trong hình 4.8 là mô hình tấn công được các attacker áp dụng. Trong đó, tấn công trực tiếp (1) ít được sử dụng nhất, vì nguy cơ bị phát hiện rất cao. Hai phương pháp còn lại lại thông qua một proxy (2) và qua hàng loạt các máy tính trung gian (3) được áp dụng nhiều hơn. Tuy nhiên cách thứ 3 thì khó triển khai hơn, và thường áp dụng cho một cuộc tấn công trên quy mô lớn. Bạn có thể dễ dàng tìm thấy các proxy server miễn phí này trên mạng. Với từ khóa “free proxy server” trên google bạn có thể tìm thấy nhiều trang web cung cấp tính năng này. Hacking Tool SocksChain là công cụ cung cấp cho hacker khả năng tấn công thông qua một chuỗi proxy servers. Mục đích chính của việc này là ẩn IP thực và do đó sự phát hiện sẽ ở mức thấp nhất. Khi một hacker làm việc thông qua vài proxy servers trong series, thì khó khăn hơn nhiều để xác định vị trí hacker. Theo dõi địa chỉ IP của kẻ tấn công thông qua các bản ghi của máy chủ proxy là một số công việc phức tạp và tẻ nhạt. nếu một trong các tập tin đăng nhập của proxy server bị mất hoặc không đầy đủ, dây chuyền bị hỏng, và addess IP củahacker vẫn còn vô danh. SSL Proxy SSL Proxy là proxy trong suốt được sử dụng để chuyển đổi giữa hai hệ thống, một được mã hóa, và một không có mã hóa nào. Bạn sử dụng SSL Proxy trong các trường hợp sau: Tấn công vào một hệ thống có cài đặt dịch vụ SSL Khai thác những thông tin của một hệ thống thông qua IDS. Sử dụng SSL Proxy để tạo đường hầm (tunnel) kết nối đến hệ thống đích, chạy ngang qua một IDS, nơi mà có thể bị chặn đứng trong cuộc tấn công. Hình 5.9: Mô hình sử dụng SSL Proxy để thực hiện tấn công Hacking Tool SSL Proxy cũng chính là tên công cụ dòng lệnh cho phép chúng ta tạo một SSL Proxy Tunnel, phục vụ cho cuộc tấn công sắp tới. Trong hình bên dưới là hướng dẫn cơ bản dòng lệnh chúng ta sử dụng khi đã cài SSL Proxy.
- Hình 5.10: Hướng dẫn sử dụng SSL Proxy 4. Kỹ thuật Anonymously Anonymously (tạm gọi là ân danh) là dịch vụ cố gắng lướt web vô danh sử dụng một website mà hoạt động như một proxy server cho web client. Phần mềm ẩn danh đầu tiên phát triển bởi Anonymizer.com; nó được tạo ra năm 1997 bởi Lance Cottrell. Dịch vụ Anonymizers loại bỏ tất cả thông tin xác định từ máy tính người dùng trong khi họ lướt web trên Internet, theo cách đó đảm bảo sự riêng tư của người sử dụng. Để vào một website ẩn danh, hacker vào địa chỉ website qua phần mềm ẩn danh, và phần mềm ẩn danh tạo yêu cầu chọn trang web. Tất cả các trang web yêu cầu được chuyển tiếp qua các trang web ẩn danh, khó theo dõi các yêu cầu từ trang web. Trong hình 4.11 là một vi dụ, khi bạn muốn truy cập vào website www.target.com nhưng lại bị cấm bởi các chính sách bảo mật của web server. Bạn thực hiện truy cập bằng cách thông qua một trang web giúp bạn ẩn danh là www.proxify.com Hình 5.11: Ví dụ truy cập web thông qua Anonymizers
- Hacking Tool Vài trang web sau đây sẽ giúp chúng ta giả danh trong việc truy cập web 5. 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. Hình 5.12: Client kết nối về FTP thông qua HTTP Tunneling
- Hacking Tool HTTPort, Tunneld, và BackStealth là tất cả công cụ để đi qua đường hầm thông qua HTTP. Chúng cho phép bỏ qua một proxy của HTTP, mà khóa những phương pháp truy cập Internet nhất định. Những công cụ này cho phép các ứng dụng như Email, IRC, ICQ, AIM, FTP các phần mềm nguy hiểm được sử dụng từ phía sau một proxy HTTP. 6. Kỹ thuật giả mạo IP (Spoofing 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. Hình 5.13: Quá trình tấn công giả địa chỉ ip
- Hình 4.13 là một ví dụ vể quá trình giả IP. Bạn nhận thấy gói tin giả mạo có địa chỉ người gửi (from address) là 10.0.0.5 và gửi gói tin đến 10.0.0.25 Khi máy tính 10.0.0.25 gửi trả lời thì nó chuyển đến máy 10.0.0.5, mà đây không phải là máy tính của hacker. Chống lại việc giả IP Để phát hiện giả mạo địa chỉ IP, bạn có thể so sánh thời gian sống (TTL) các giá trị:TTL của kẻ tấn công sẽ khác với TTL của địa chỉ giả mạo. Hình 5.14: Phát hiện giả mạo ip 7. Các biện pháp đối phó với Scanning Trong bài viết, chúng ta cũng được giới thiệu vài phương pháp đối phó với các kỹ thuật của Scanning. Tuy nhiên, tôi muốn nói thêm với các bạn vài vấn để nữa để đối phó với Scanning. Firewall là một phần quan trọng của mạng. Như bạn thấy trong bài, các công cụ scan đều khó lòng vượt qua khỏi firewall. Hệ thống phát hiện xâm nhập (IDS) cũng là một phần không thể thiếu khi triển khai mạng, muốn chống lại việc scanning. Hệ thống này chỉ có khả năng phát hiện quá trình scan mà không thể chặn quá trình scan được. Chỉ nên mở những port cần thiết, và đóng những port không cần để tránh attacker lợi dụng. Những thông tin nhạy cảm không nên đưa ra internet. Ví dụ như thông tin về hệ điều hành, phiên bản phần mềm đang dùng
- 8. Tổng Kết Trong chương này bạn cần nắm rõ các vấn đề như sau: Có ba loại scanning chính là Port, network, and vulnerability scanning Làm sao để biết được một hệ thống còn sống hay không. Sử dụng ICMP để Ping Sweep như thế nào. Tìm hiểu về công cụ scanning port nổi tiếng là NMAP. Sự khác biệt của các loại scanning trong gia đình TCP như: TCP connect, SYN, NULL, IDLE, FIN, and XMAS và khi nào sử dụng loại nào. Tìm hiểu về quy trình bắt tay ba bước TCP. Điều này giúp chúng ta tấn công giảm độ rũi ro bị phát hiện. Hệ thống IDS, IPS được dùng để chống lại scanning. War dialing là gì? Nó được sử dụng trong tấn công vào hệ thống dial-in. Kỹ thuật fingerprinting có hai loại Active và Passive, Nó được dùng để thu thập thông tin hệ điều hành. Kỹ thuật anonymously để lướt web vô danh và cơ chế HTTP Tunneling cùng kỹ thuật IP Spoofing là những kỹ thuật giúp chúng ta ân danh trong hoạt động tấn công. Sử dụng nó giúp tránh bị phát hiện.