Đề tài Tìm hiểu một số phần mềm phá hoại và các giải pháp xâm nhập mạng dùng riêng

Mục tiêu của việc người ta nối mạng là để nhiều người có thể dùng chung tài nguyên từ những vị trí địa lý khác nhau, chính vì thế mà các tài nguyên sẽ rất phân tán, dẫn đến một diều tất yếu là dễ bị xâm phạm gây mất mát dữ liệu, thông tin. Càng giao thiệp rộng thì càng dễ bị tấn công, đó là quy luật. Mọi nguy cơ trên mạng đều có thể nguy hiểm: Một lỗi nhỏ của các hệ thống sẽ được lợi dụng với tần suất cao, lỗi lớn thì thiệt hại lớn ngay lập tức, tóm lại trên một quy mô rộng lớn như Internet thì mọi khe hở hay lỗi hệ thống đều có nguy cơ gây ra thiệt hại như nhau. Theo CERT (Computer Emegency Response Team): 1989: có 200 vụ tấn công, truy nhập trái phép trên mạng được báo cáo. 1991: 400 vụ. 1993: 1400vụ. 1994: 2241 vụ. 1998: 3734 vụ. 1999: 9589 vụ 2000: 21756 vụ 2003: 137529 vụ 2005: 535000 vụ Như vậy số vụ tấn công ngày càng gia tăng, mặt khác các kỹ thuật ngày càng mới. Điều này cũng dễ hiểu, một vấn đề luôn luôn có hai mặt đối lập. Công nghệ thông tin, mạng Internet phát triển như vũ bão thì tất yếu cũng kéo theo nạn trộm cắp, tấn công, phá hoại thông tin trên mạng. Vì vậy vấn đề tìm hiểu các cách thức mà bọn tội phạm thường sử dụng để tấn công, phá hoại các mạng máy tính dùng riêng khi được kết nối Internet quốc tế là điều quan trọng và cần thiết. Trên cơ sở đó người ta có được biện pháp đề phòng có hiệu quả. Đề tài: “Tìm hiểu một số phần mềm phá hoại và các giải pháp xâm nhập mạng dùng riêng” được đề xuất và thực hiện nhằm mục đích tìm hiểu một số phần mềm phá hoại và nghiên cứu một số giải pháp xâm nhập mạng dùng riêng hiện đang được ứng dụng rộng rãi. Kết quả nghiên cứu của em gồm 4 chương và phần kết luận. Chương 1: Một số phương pháp tấn công và kỹ thuật xâm nhập mạng máy tính Chương 2: Một số nguyên tắc tấn công trên mạng máy tính Chương 3: Phân tích một số phần mềm mẫu Chương 4: Một số giải pháp cụ thể tấn công trên mạng máy tính Trong đó em đã tập trung đi sâu vào 2 chương là chương 3 và chương 4. Việc tìm hiểu phân tích các giải pháp tấn công trên mạng là vấn đề rất khó khăn, đặc biệt đối với em. Do đó, dù em đã có nhiều cố gắng nhưng một mặt do thời gian và kiến thức của em còn nhiều hạn chế, mặt khác các tài liệu tham khảo lại chủ yếu bằng tiếng Anh và tiếng Pháp cho nên kết quả tìm hiểu, nghiên cứu của em chưa sâu sắc và toàn diện. Em rất mong được sự chỉ bảo của các thầy, cô và các bạn đồng nghiệp. Em xin chân thành cảm ơn.

doc30 trang | Chia sẻ: oanhnt | Lượt xem: 1370 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu một số phần mềm phá hoại và các giải pháp xâm nhập mạng dùng riêng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC Lời mở đầu Mục tiêu của việc người ta nối mạng là để nhiều người có thể dùng chung tài nguyên từ những vị trí địa lý khác nhau, chính vì thế mà các tài nguyên sẽ rất phân tán, dẫn đến một diều tất yếu là dễ bị xâm phạm gây mất mát dữ liệu, thông tin. Càng giao thiệp rộng thì càng dễ bị tấn công, đó là quy luật. Mọi nguy cơ trên mạng đều có thể nguy hiểm: Một lỗi nhỏ của các hệ thống sẽ được lợi dụng với tần suất cao, lỗi lớn thì thiệt hại lớn ngay lập tức, tóm lại trên một quy mô rộng lớn như Internet thì mọi khe hở hay lỗi hệ thống đều có nguy cơ gây ra thiệt hại như nhau. Theo CERT (Computer Emegency Response Team): 1989: có 200 vụ tấn công, truy nhập trái phép trên mạng được báo cáo. 1991: 400 vụ. 1993: 1400vụ. 1994: 2241 vụ. 1998: 3734 vụ. 1999: 9589 vụ 2000: 21756 vụ 2003: 137529 vụ 2005: 535000 vụ Như vậy số vụ tấn công ngày càng gia tăng, mặt khác các kỹ thuật ngày càng mới. Điều này cũng dễ hiểu, một vấn đề luôn luôn có hai mặt đối lập. Công nghệ thông tin, mạng Internet phát triển như vũ bão thì tất yếu cũng kéo theo nạn trộm cắp, tấn công, phá hoại thông tin trên mạng. Vì vậy vấn đề tìm hiểu các cách thức mà bọn tội phạm thường sử dụng để tấn công, phá hoại các mạng máy tính dùng riêng khi được kết nối Internet quốc tế là điều quan trọng và cần thiết. Trên cơ sở đó người ta có được biện pháp đề phòng có hiệu quả. Đề tài: “Tìm hiểu một số phần mềm phá hoại và các giải pháp xâm nhập mạng dùng riêng” được đề xuất và thực hiện nhằm mục đích tìm hiểu một số phần mềm phá hoại và nghiên cứu một số giải pháp xâm nhập mạng dùng riêng hiện đang được ứng dụng rộng rãi. Kết quả nghiên cứu của em gồm 4 chương và phần kết luận. Chương 1: Một số phương pháp tấn công và kỹ thuật xâm nhập mạng máy tính Chương 2: Một số nguyên tắc tấn công trên mạng máy tính Chương 3: Phân tích một số phần mềm mẫu Chương 4: Một số giải pháp cụ thể tấn công trên mạng máy tính Trong đó em đã tập trung đi sâu vào 2 chương là chương 3 và chương 4. Việc tìm hiểu phân tích các giải pháp tấn công trên mạng là vấn đề rất khó khăn, đặc biệt đối với em. Do đó, dù em đã có nhiều cố gắng nhưng một mặt do thời gian và kiến thức của em còn nhiều hạn chế, mặt khác các tài liệu tham khảo lại chủ yếu bằng tiếng Anh và tiếng Pháp cho nên kết quả tìm hiểu, nghiên cứu của em chưa sâu sắc và toàn diện. Em rất mong được sự chỉ bảo của các thầy, cô và các bạn đồng nghiệp. Em xin chân thành cảm ơn. Sinh viên Vũ Thị Thu Hằng Chương 1 MỘT SỐ PHƯƠNG PHÁP TẤN CÔNG VÀ KỸ THUẬT XÂM NHẬP MẠNG 1.1 Thực trạng tấn công của tội phạm trên mạng Với sự phát triển mạnh mẽ và sự ảnh hưởng rộng rãi của Internet khiến cho mạng máy tính sinh ra một tầng lớp mới - những tay hacker (là những người có niềm đam mê rất lớn đối với máy tính,với công nghệ thông tin). Hacker được chia làm hai phái: hacker “mũ trắng”(white-hat hacker) và hacker “mũ đen” (black-hat hacker). Phần lớn các cuộc tấn công trên mạng được thực hiện thông qua việc sử dụng một hoặc nhiều công cụ phần mềm. Trong đồ án này em nghiên cứu các phần mềm phá hoại. Phần mềm phá hoại là những phần mềm được thiết kế, xây dựng nhằm mục đích tấn công gây tổn thất hay chiếm dụng bất hợp pháp tài nguyên của máy tính mục tiêu( máy tinh bị tấn công ). Những phần mềm này thường được che dấu hay ngụy trang như là phần mềm hợp lệ, công khai hoặc bí mật thâm nhập vào máy tính mục tiêu. Những phần mềm phá hoại khác nhau có phương thức và nguy cơ gây hại khác nhau. Các vụ tấn công trên mạng ngày càng gia tăng cả về quy mô và tính chất nguy hiểm. Trong tương lai, những kẻ viết virus có thể gia tăng khả năng điều khiển lên virus của mình sau khi đã phát tán chúng trên mạng. Ngày càng nhiều sâu máy tính có chứa backdoor và tác giả của chúng có thể “nâng cấp” một cách trực tiếp để vượt qua các phần mềm diệt virus hay bổ sung thêm tính năng. Hơn nữa, sâu máy tính còn có khả năng tự thiết lập các kênh liên lạc riêng giữa chúng để tập hợp lại và nâng cấp. Điều này không chỉ giúp chúng tránh khỏi sự phát hiện của các chương trình diệt virus mà còn gia tăng đáng kể sức tàn phá. Ngày nay, vấn đề tấn công trên mạng đã không còn chỉ là “trò chơi” của giới hacker mà nhiều quốc gia đã tận dụng khả năng này phục vụ các vụ đích chính trị, quân sự. Ở nhiều quốc gia, nhất là các quốc gia phát triển, máy tính được ứng dụng ở mọi nơi, mọi lĩnh vực, trong an ninh quốc phòng, vì vậy những khả năng gây phương hại cho đối phương bằng các hoạt động tấn công trên mạng viễn thông - tin học là vô cùng to lớn. Hiện nay các nước đều có các: “Cục tác chiến điện tử” trên mạng. Hàng năm các nước này đã chi ra hàng trăm triệu USD phục vụ cho việc nghiên cứu này như Trung Quốc, Đài Loan, Hàn Quốc, Thái Lan, v.v… (Theo tạp chí khoa học Australia, số 9 năm 2005 ) Tấn công trên mạng nhằm vào một hệ thống máy tính ở đây là những hành động nhằm làm ảnh hưởng đến sự ổn định của hệ thống, truy nhập bất hợp pháp đến các tài nguyên của hệ thống, làm sai lệch hoặc lấy hoặc lấy cắp thông tin… Tấn công trên mạng là vấn đề khó. Việc tấn công có thể thực hiện được hay không có đảm bảo thành công hay không phụ thuộc vào rất nhiều yếu tố. - Về khách quan, nó phụ thuộc vào hệ thống người ta định tấn công. - Về mặt chủ quan, nó phụ thuộc vào khả năng của người tấn công. Các công cụ sử dụng để tấn công là một thành phần hết sức quan trọng. Người ta có thể sử dụng các công cụ có sẵn (vốn đã có khá nhiều ) hay tự tạo ra công cụ mới tuỳ theo mục đích, độ phức tạp và hiệu quả mong muốn. Để giành thắng lợi trong một cuộc tấn công có rất nhiều khó khăn. Nhưng điều đó là hợp lý bởi đối phương, khi bảo vệ hệ thống của họ, cũng như người ta luôn cố gắng cao nhất để đảm bảo an toàn cho mình. Và khó có thể thành công nếu thiếu đi việc tìm hiểu đối phương và chuẩn bị chu đáo từ phía người ta. Thường phải sử dụng nhiều phương pháp tổng hợp, kể cả các biện pháp tổ chức lẫn các giải pháp công nghệ. Một số phương pháp tấn công và kỹ thuật xâm nhập mạng quan trọng như sau: 1.2 Các phương pháp tấn công 1.2.1 Tấn công trực tiếp 1.2.2 Nghe trộm 1.2.3 Giả mạo địa chỉ Hai dạng tấn công dựa trên việc giả mạo địa chỉ là: - Giả mạo địa chỉ máy gửi (Source addres). - Kẻ trung gian (Man in the middle). Vô hiệu hoá các chức năng của hệ thống mục tiêu Từ chối dịch vụ (DOS – Denial of Service). - Từ chối dịch vụ mạng (Network denial of service). 1.2.5 Sử dụng lỗi của người quản trị hệ thống 1.3 Các kỹ thuật xâm nhập mạng 1.3.1 Rình mò (Snooping) 1.3.2 Đánh lừa (Spoofing) 1.3.3 Điệp viên (Agent) Chương 2. MỘT SỐ NGUYÊN TẮC TẤN CÔNG TRÊN MẠNG 2.1 Phát hiện điểm yếu trong cơ chế bảo mật của đối phương. Muốn thực hiện tấn công thành công một mục tiêu phải tìm hiểu, nghiên cứu rất kỹ mục tiêu đó. Một hệ thống đảm bảo an ninh an toàn máy tính thường bao gồm một số yếu tố chính sau đây: - Yếu tố tổ chức. - Yếu tố kỹ thuật, công nghệ. Mục đích của công tác dò tìm mục tiêu là bằng các biện pháp khác nhau để phát hiện những điểm yếu trong hệ thống bảo mật (về mặt tổ chức và kỹ thuật công nghệ) để quyết định sử dụng giải pháp tấn công hợp lý, để cài cắm “điệp viên” vào máy đối phương. Mỗi hệ thống máy tính đều có các điểm yếu - các lỗ hổng bảo mật. Dò tìm được các lỗ hổng bảo mật này đã là một bảo đảm quan trọng cho việc thắng lợi của việc tấn công. Tuy nhiên vấn đề rất quan trọng và thiết yếu đặt ra là tìm ở đâu các lỗ hổng đó và bằng cách nào. Có hai hướng tiếp cận, một là về góc độ chiến thuật và hai là từ góc độ kỹ thuật. Một số diễn đàn trao đổi vầ lỗi bảo mật: diễn đàn Bugtraq ( diễn đàn Tlsecurity ( diễn đàn hackerVN ( … 2.2 Triệt để lợi dụng cửa sau để tấn công. Cửa sau (Backdoor) là một công cụ phổ biến trong giới hacker. Việc đột nhập vào một hệ thống máy tính nào đó nói chung là rất khó khăn, vì thế sau khi đột nhập người ta muốn để lại một công cụ nào đó giúp dễ dàng xâm nhập trong những lần sau. Backdoor sinh ra là để đáp ứng yêu cầu đó. Tóm lại Backdoor / Trojan được hiểu như là: - Một chương trình trái phép (thường núp dưới tên của một chương trình hợp lệ) thực hiện các chức năng mà người sử dụng không biết đến cũng như không mong muốn. - Một chương trình hợp lệ nhưng bị cài một số đoạn mã bất hợp pháp, các đoạn mã này thực hiện các chức năng mà người sử dụng không biết đến cũng như không mong muốn. Nguyên tắc hoạt động của Backdoor khá đơn giản: Khi chạy trên máy đích nó cố gắng không gây bất kỳ điều gì khả nghi và âm thầm thường trực trên bộ nhớ, mở một “cổng hậu” cho phép người tấn công kết nối và điều khiển máy đó. Với nguyên lý hoạt động như vậy Backdoor còn được gọi là công cụ quán trị từ xa (RAT Remote Administrastor Tool). Như vậy một Backdoor điển hình gồm hai thành phần: Thành phần Server nằm trên máy đích. Thành phần Client nằm trên máy tấn công Máy tấn công Máy đích Giao tiếp bình thường Back Back Giao tiếp cửa sau Hình 3.1.1:Mô hình hoạt động của backdoor Tấn công bằng Backdoor cần đặc biệt chú ý hai vấn đề: Backdoor mạnh phải có thành phần Server nhỏ, gọn, có khả năng thực thi nhiều chức năng với tốc độ cao để tránh gây nghi ngờ. Server cần có khả năng ngụy trang ẩn nấp kín đáo để không bị phát hiện. Có vài giải pháp thông dụng để thực hiện: Thiết kế Backdoor có chức năng sửa những tham số dòng lệnh của chính nó để khi chạy mang một tên (hợp lệ) khác. Backdoor có chức năng sửa một số thường trình trong các thư viện hệ thống để nó không thực hiện mọi tiến trình đang thực thi, trong đó có tiến trình của Backdoor server. Backdoor được gắn với thường trình điều khiển ngắt khiến nó không hiện trong bảng tiến trình. Người tấn công có thể sửa nhân hệ điều hành đích để ẩn đi những tiến trình nhất định (trong trường hợp này là tiến trình Backdoor server). Chức năng của một Backdoor được qui định trong thành phần server. Các chức năng thường gặp là: Keylogging (bắt trộm phím). Screen capturing (chụp ảnh màn hình). Password stealing: Lấy trộm các loại password . File downloading: Cho phép download một hay nhiều file từ máy mục tiêu. File uploading: Cho phép upload một hay nhiều file lên máy đích. Running application (thực thi ứng dụng). File managing (quản lý file). Post redirecting (định hướng lại cổng). Hiện nay trên mạng có rất nhiều loại Backdoor khác nhau và ngày càng được nâng cấp. Một sô danh sách Backdoor điển hình: Netbus. Back Orfice. Ngoài ra còn có các Backdoor khác cũng nguy hiểm không kém như Hack attack, Girlfriend, Netthief, Netspy, NetMonitor, Socket de Trojen (Pháp)… Tóm lại Backdoor là một công cụ tấn công hữu hiệu có thể khai thác triệt để phục vụ những yêu cầu chiến lược của người ta và cũng là vũ khí nguy hiểm người ta cần đế phòng không để người khác lợi dụng tấn công mình. 2.3 Tận dụng các công cụ sẵn có. Sử dụng tối đa khả năng của các công cụ là nguyên tắc thiết yếu trong quá trình thực hiện tấn công trên mạng. Các công cụ thường được sử dụng để đơn giản hóa những tác vụ nhất định trong quá trình chung nhằm nâng cao tốc độ, đảm bảo hiệu quả công việc tấn công. Từ các công cụ do chính hệ điều hành cung cấp tới những công cụ do hãng thứ hai, các nhóm chuyên về bảo mật, các hacker hoặc các tổ chức hacker quảng bá, tất cả đều có thể sử dụng vào cuộc tấn công, miễn là cách khai thác hợp lý, kết hợp các công cụ một cách hiệu quả. Cách sử dụng các công cụ để cấy Trojan lên một máy khác thông qua chia sẻ tài nguyên trên máy đó. Người ta muốn có một tài liệu quan trọng được lưu ở ổ đĩa D: và không share full ổ đĩa C: ở máy mục tiêu. Tuy nhiên, để thực hiện trao đổi thông tin với các máy khác, ổ đĩa C: được share với mật khẩu, mật khẩu này được thay đổi thường xuyên. Có thể chiếm đoạt các văn bản trên bằng cách trước tiên sử dụng một công cụ bẻ khóa chia sẻ Passware Kit ( Công cụ này bẻ khóa làm việc rất nhanh và hiệu quả, trong phần lớn trường hợp nó sẽ tìm ra mật khẩu chia sẻ tài nguyên trong vòng một vài phút tùy thuộc vào độ phức tạp của mật khẩu. Sau đó, ta chỉ việc copy file server của Netbus 1.7 (patch.exe) vào thư mục bất kỳ ở ổ C:, giả sử C:\windows\. Tiếp theo để kích hoạt Netbus, ta phải dùng đến dịch vụ Remote Registry Service của Windows để sửa đổi Registry máy đích làm cho file patch.exe tự đông chạy từ lần khởi động tiếp theo. Khi dịch vụ này được cài đặt trên máy đích, ta có thể sử dụng regedit.exe của Windows để nạp và sửa đổi Registry máy đó. Thêm vào đó một khóa ở HKEY_CURRENT_USER\Software\Microsoft\Windows\Current\Version\Run hoặc HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current\Version\Run để chạy patch.exe: Value type: String Value name: Patch Value đặt C:\windows\patch.exe Lần sau khi máy mục tiêu hoạt động, chúng ta chạy Netbus client trên máy mình, connect vào và làm được rất nhiều điều theo khả năng của Netbus server. 2.4 Khai thác tối đa điểm yếu của mục tiêu tấn công đặc biệt các lỗ hổng của hệ thống và các dịch vụ. Lỗ hổng bảo mật là những lỗi trong một hệ thống mà người khác có thể tận dụng để thực hiện những công việc vốn không được hệ thống đó cung cấp và thường là dùng vào mục đích tấn công. Trên thực tế, từ hệ điều hành, trình duyệt Web, các hệ cơ sở dữ liệu, thậm chí ngay cả chương trình diệt virus, tất cả ít nhiều đều có lỗi. Bảng liệt kê một số sản phẩm có nhiều lỗ hổng nhất. STT Tên sản phẩm Số lỗ hổng bảo mật 1 Microsoft Internet Explore 69 2 Microsoft Windows 98 35 3 Microsoft Windows 95 30 4 Microsoft Outlook 28 5 Netscape Navigator 22 6 Microsoft Outlook Express 16 7 Microsoft Windows ME 10 8 Microsoft Excel 10 9 Microsoft Word 9 10 Qualcomm Eudora 8 11 Symantec Norton Anti Virus 7 12 AOL instanl Messenger 6 13 Mirabilis ICQ 6 14 Sun Java 5 15 Microsoft Powerpoint 5 Hình 2.3.1: Danh sách một số phần mềm nhiều lỗ hổng bảo mật nhất (Nguồn: www.securityfocus.com tháng 11/2001) Trong đồ án này em xin trình bày cụ thể phương pháp tấn công IIS server bằng cách lợi dụng lỗi Unicode: Có thể xem nội dung ổ đĩa C: trên đó cài IIS server 5.0 bằng URL sau khi gõ ở thanh address của trình duyệt, giả thiết rằng địa chỉ trang web đó là mặc dù vẫn có một thông báo lỗi CGI: Cũng như rất nhiều loại web server trước đây như Compaq insight Manager 4.x, MS Index Server 2.0, HP JetAdmin 5.6,… IIS server bị mắc một lỗi gọi là “dot dot directory traversal attack” (tấn công bằng cách lần ngược thư mục do lỗi “dot dot”). Khi một trong các loại server trên nhận một xâu URL có chứa các xâu con “../” (hoặc “..\” tùy loại server) thì mỗi xâu con này chuyển đường dẫn hiện thời ở server lên mức cha của nó (tương đương với câu lệnh “cd..” của DOS) và dần dần ra ngoài thư mục web - điều này vốn không hợp lệ. Kết hợp với một đường dẫn thích hợp phía cuối URL, nó cho phép người tấn công thực thi lệnh nào đó trên máy chủ web. IIS server và một số web server sửa lỗi bằng cách kiểm tra URL ở thanh địa chỉ của trình duyệt và từ chối, không cho phép thực thi nếu như trong đó chứa xâu con “../” hay “..\”. Tuy vậy, hacker đã sáng tạo ra thủ thuật dùng unicode để lọt qua chế độ phòng vệ này. Chuẩn unicode từ Ver. 2.0 trở lên cho phép một ký tự có nhiều mã hóa khác nhau, đây chính là nơi để lợi dụng. Cách mã hóa như vậy được gọi là mã hóa unicode rất dài (unicode very long representation). Khi nhận một URL, một server tốt phải ngăn chặn các cách mã hóa dài này mà chỉ cho phép một cách mã hóa chuẩn. Tuy nhiên, IIS lại không làm như vậy, khi nhận một URL trước tiên nó kiểm tra sự tồn tại trực tiếp của các xâu con “/”, “\” và các mã hóa Unicode thông thường (ứng với một biểu diễn unicode ngắn nhất) của các xâu con ấy. Nếu tồn tại các xâu như vậy, IIS sẽ từ chối truy nhập đó – đây chính là cách mà IIS tự bảo vệ trước kiểu tấn công “dot dot directory traversal attack”. Ngược lại, IIS sẽ thực hiện yêu cầu trong URL đó và lúc này IIS mới giải mã các mã hóa dài của ký tự gạch chéo (slash “/” và backslash “\”) trong URL và tất nhiên, chúng trở thành các ký tự “/” và “\” mà IIS không kiểm tra được nữa. Do vậy, thay vì đưa xâu con “../”, “..\” vào thanh địa chỉ, người ta thay nó bởi xâu unicode chứa một đoạn mã hóa rất dài của ký tự “/” “\” như “%c1%1c”, “..c0%f9”, “..e0%80%af%”, “..%fc%80%80%80%80%af”,…thì IIS sẽ bị đánh lừa và cho rằng đó là một URL hợp lệ, được quyền thực thi. Kết hợp với những thiết lập cài đặt ngầm định trên máy đích, đây chính là cách thức thi hành những lệnh của người ta mà server vẫn cho là hợp lệ. Do “%c1%1c” là một biểu thức unicode rất dài của ký tự “/” mà IIS không nhận ra, dòng lệnh trên giành được quyền thực thi. Khi thực thi, xâu “%c1%1c” được dịch trở lại nguyên dạng ký tự “/” (nhưng IIS đã qua khâu kiểm tra nên không thực hiện kiểm tra lại ) và địa chỉ truy cập thực chất trở thành: Đến đây, lỗi kinh điển “dot dot directory traversal attack” xuất hiện và nằm ngoài khả năng tự bảo vệ của IIS. URL trên với hai xâu con “../” điều chỉnh thư mục chứa URL ( theo ngầm định là: C:\inetpub\scripts) lên hai mức thư mục cao hơn, tức là ra ngoài thư mục giành cho web (vốn không được phép), trở về thư mục gốc C:. Phần tiếp theo trong URL gắn tiếp vào đường dẫn đến trình thông dịch lệnh của Windows NT theo chế độ ngầm định (winnt/system32/cmd.exe) và thực hiện lệnh “dir C:\” liệt kê nội dung ổ đĩa C:. Do có nhiều cách biểu diễn dạng Unicode rất dài của ký tự “/” và “\” cũng như có khá nhiều thiết lập ngầm định khi cài đặt Windows NT và IIS nên tổ hợp chúng lại sẽ tạo nên nhiều URL khác nhau dùng để xâm nhập. Bảng dưới đây liệt kê một số URL phổ biến: STT URL 1 /scripts/..%0%af../winnt/system32/cmd.exe?/c+ 2 /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+ 3 /scripts/..%c1%fc../winnt/system32/cmd.exe?/c+ 4 /scripts/..%c0%9c../winnt/system32/cmd.exe?/c+ 5 /scripts/..%c0%9f../winnt/system32/cmd.exe?/c+ 6 /scripts/..%c1%9a../winnt/system32/cmd.exe?/c+ 7 /scripts/..%c1%1c../winnt/system32/cmd.exe?/c+ 8 /scripts/..%c1%af../winnt/system32/cmd.exe?/c+ 9 /scripts/..%e0%af../winnt/system32/cmd.exe?/c+ Hình 2.3.2. Một số URL dùng khai thác lỗi Unicode trên IIS Bằng cách trên, người ta đang nắm rất nhiều quyền đối với hệ thống. Người ta có thể xem nội dung đĩa, nội dung một số file quan trọng, xóa dữ liệu trên đĩa cững và thậm chí format lại ổ đĩa chỉ bằng các lệnh của DOS. Tiếp tục sử dụng URL trên, để xem nội dung một file, giả sử autoexec.bat ta gõ ở trình duyệt: .bat Để format lại ổ đĩa C:, ta gõ: Ta cũng có thể chiếm quyền ghi đĩa và thực hiện sửa đổi, tạo mới file trên server. Truy cập trực tiếp bằng cmd.exe không cho phép điều này nhưng nếu ta tạo một bản sao khác của trình thông dịch và sử dụng bản sao này thì điều đó lại được cho là hợp lệ. Thực hiện chiến thuật này thông qua các lệnh sau : + Bước 1: Tạo một bản sao mới cmd1.exe của trình thông dịch lệnh DOS: + Bước 2: Ghi thêm một số lệnh vào file autoexec.bat: >>+c:\autoexec.bat+@echo+Hihihi,KO Đến đây, người ta đã hiểu bản chất của lỗi unicode trên IIS và phương pháp cụ thể để khai thác lỗi này. Cần phải nhấn mạnh rằng đây là một lỗi bảo mật rất nghiêm trọng vì các lý do sau: + Dễ dàng khai thác. + Tiềm ẩn nguy cơ người tấn công có toàn quyền điểu khiển hệ thống. Hiện nay Microsoft đã đưa ra các bản patch sửa lỗi trên. Với IIS server 4.0, bản sửa lỗi được phân phối qua địa chỉ: Còn với IIS server 5.0, địa chỉ sửa lỗi là: Nguyên tắc an toàn. Nhiệm vụ của người ta khi tấn công là không để đối phương biết được gói tin gốc, hay địa chỉ nguồn gói tin không phải địa chỉ máy của người ta. Một phương pháp đơn giản và hiệu quả là sử dụng các procxy vô danh (Anonymous Proxy Server). Hình 3.5.1: Mô hình giao tiếp giữa hai máy thông qua proxy. Máy của ta Proxy Máy đối phương Gửi yêu cầu Trả lời Gửi yêu cầu Trả lời Để luôn có những thông tin về các proxy miễn phí, có thể thường xuyên truy cập các trang web hoặc Ngoài ra, có thể sử dụng một số chương trình nhằm tạo ra các proxy ảo ngay trên máy của mình. Một chương trình tiêu biểu trong số đó là chương trình Anomity 4 proxy. Nguyên tắc phối hợp tấn công Khám phá điểm yếu, lỗ hổng bảo mật trong hệ thống mục tiêu Sử dụng các công cụ để khai thác các điểm yếu của hệ thống mục tiêu Tiến hành các biện pháp tấn công,