1
TÀI LIỆU HƯỚNG DẪN VÀ SỬ DỤNG
BACKTRACK 5 ĐỂ KHAI THÁC LỖ HỔNG
MẠNG TẠI TRUNG TÂM ATHENA 2 LỜI MỞ ĐẦU
Đầu tiên, xin gởi lời cảm ơn chân thành đến thầy Võ Đỗ Thắng – Giám đốc
Trung tâm đào tạo và quản trị mạng – an ninh mạng Athena và thầy Lê Đình Nhân đã
nhiệt tình giúp đỡ để hoàn thành tài liệu này.
Cho gửi lời cảm ơn đến các anh chị nhân viên tư vấn – nhân viên hỗ trợ kỹ
thuật tại Trung tâm đào tạo và quản trị mạng Athena đã hỗ trợ và tạo điều kiện để hoàn
thành dự án an nin mạng đúng thời hạn được giao.
Trân trọng!
Nhóm thực hiện
Nguyễn Sơn Khê
Đỗ Tấn Phát
1. Sam Spade 25
2. Super Email Spider 26
3. VitualRoute Trace 27
4. Maltego 27
Chương 3: SCANNING 28
4
I. Giới thiệu 28
II. Chứng năng 28
1. Xác định hệ thống có đang hoạt động hay không? 28
2. Xác định các dịch vụ đang chạy hoặc đang lắng nghe. 31
3. Xác định hệ điều hành 37
Chương 4: ENUMERATION 39
I. Enumeration là gì? 39
II. Banner Grabbing 39
III. Enumerating các dịch vụ mạng 39
1. Http fingerprinting 39
2. DNS Enumeration 42
3. Netbios name 44
Chương 5: PASSWORD CRACKING 45
I. Giới Thiệu 45
II. Các Kỹ Thuật Password Cracking 45
1. Dictionary Attacks/Hybrid Attacks 45
2. Brute Forcing Attacks 45
3. Syllable Attacks/Pre-Computed Hashes 45
III. Các Kiểu Tấn Công Thường Gặp 45
1. Active Password Cracking 45
2. Passive Password Cracking 46
3. Offline Password Cracking 46
2. Tải và cài đặt DVWA 88
III. Các kĩ thuật tấn công trên DVWA 92
1. XSS (Cross-Site Scripting) 92
2. SQL Injection 100
TÀI LIỆU THAM KHẢO 106
6
Chương Mở Đầu : GIỚI THIỆU VỀ BACKTRACK 5
I. Giới thiệu
Backtrack là một bản phân phối dạng Live DVD của Linux, được phát triển để thử
nghiệm thâm nhập. Trong các định dạng Live DVD, chúng ta sử dụng có thể
Backtrack trực tiếp từ đĩa DVD mà không cần cài nó vào máy của chúng ta. Backtrack
cũng có thể được cài đặt vào ổ cứng và sử dụng như một hệ điều hành. Backtrack là sự
hợp nhất giữa 3 bản phân phối khác nhau của Linux về thâm nhập thử nghiệm -
IWHAX, WHOPPIX, và Auditor. Trong phiên bản hiện tại của nó (5), Backtrack được
dựa trên phiên bản phân phối Linux Ubuntu 11.10. Tính đến ngày 19 tháng bảy năm
2010, Backtrack 5 đã được tải về của hơn 1,5 triệu người sử dụng. Phiên bản mới nhất
là Backtrack 5 R2
II. Mục đích
Công cụ Backtrack đã có lịch sử phát triển khá lâu qua nhiều bản linux khác
nhau. Phiên bản hiện nay sử dụng bản phân phối Slackware linux (Tomas M.
(www.slax.org)). Backtrack liên tục cập nhật các công cụ, drivers, hiện tại Backtrack
có trên 300 công cụ phục vụ cho việc nghiên cứu bảo mật. Backtrack là sự kết hợp
giữa 2 bộ công cụ kiểm thử bảo mật rất nổi tiếng là Whax và Auditor.
Backtrack 5 chứa một số công cụ có thể được sử dụng trong quá trình thử
nghiệm thâm nhập của chúng ta. Các công cụ kiểm tra thâm nhập trong Backtrack 5,0
Voice Over IP (VOIP): Để phân tích VOIP chúng ta có thể sử dụng các công
cụ trong thể loại này
Digital forensics: Trong loại này, chúng ta có thể tìm thấy một số công cụ có
thể được sử dụng để làm phân tích kỹ thuật như có được hình ảnh đĩa cứng,
cấu trúc các tập tin, và phân tích hình ảnh đĩa cứng. Để sử dụng các công cụ
cung cấp trong thể loại này, chúng ta có thể chọn Start Backtrack Forensics
trong trình đơn khởi động. Đôi khi sẽ đòi hỏi chúng ta phải gắn kết nội bộ đĩa
cứng và các tập tin trao đổi trong chế độ chỉ đọc để bảo tồn tính toàn vẹn.
Reverse engineering: Thể loại này chứa các công cụ có thể được sử dụng để
gỡ rối chương trình một hoặc tháo rời một tập tin thực thi.
III. Nguồn tải Backtrack : Chúng ta có thể tải bản Backtrack 5 tại địa chỉ: www.backtrack-linux.org/downloads/
Có bản cho Vmware và file ISO
8
IV. Cài đặt
1. Live DVD
Nếu chúng ta muốn sử dụng Backtrack mà không cần cài nó vào ổ cứng, chúng
ta có thể ghi tập tin ảnh ISO vào đĩa DVD, và khởi động máy tính của chúng ta với
DVD. Backtrack sau đó sẽ chạy từ đĩa DVD. Lợi thế của việc sử dụng Backtrack là
một DVD Live là nó là rất dễ dàng để làm và chúng ta không cần phải gây rối với cấu
hình máy hiện tại của chúng ta.
Tuy nhiên, phương pháp này cũng có một số nhược điểm. Backtrack có thể
không làm việc với phần cứng, và thay đổi cấu hình nào được thực hiện trên phần
cứng để làm việc sẽ không được lưu với đĩa DVD Live. Ngoài ra, nó là chậm, vì máy
Giao diện khởi động của BackTrack
11 Gõ startx để vào chế độ đồ họa trong BackTrack
Để cài đặt, click chọn vào file Install BackTrack trên màn hình Desktop
12 Chọn ngôn ngữ, chọn Forward để tiếp tục
Chọn nơi ở của chúng ta, chọn Forward để tiếp tục
13 Chọn ngôn ngữ bàn phím, chọn Forward để tiếp tục
Chọn phân vùng để cài.
14 Nhấn Install để bắt đầu cài
và phân tán về mặt địa lý nên việc bảo vệ tài nguyên (mất mát hoặc sử dụng không
hợp lệ) phức tạp hơn nhiều so với việc môi trường một máy tính đơn lẻ, hoặc
mộtngười sử dụng.Hoạt động của người quản trị hệ thống mạng phải đảm bảo các
thông tin trênmạng là tin cậy và sử dụng đúng mục đích, đối tượng đồng thời đảm bảo
mạng hoạtđộng ổn định không bị tấn công bởi những kẻ phá hoại. Nhưng trên thực tế
là không một mạng nào đảm bảo là an toàn tuyệt đối, mộthệ thống dù được bảo vệ
chắc chắn đến mức nào thì cũng có lúc bị vô hiệu hóa bởinhững kẻ có ý đồ xấu.
2. Một số khái niệm và lịch sử bảo mật hệ thống
a) Đối tượng tấn công mạng (intruder)
Đối tượng là những cá nhân hoặc tổ chức sử dụng những kiến thức về
mạngvà các công cụ phá hoại (gồm phần cứng hoặc phần mềm) để dò tìm các điểm
yếuvà các lỗ hổng bảo mật trên hệ thống, thực hiện các hoạt động xâm nhập và
chiếmđoạt tài nguyên trái phép.Một số đối tượng tấn công mạng như:Hacker: là những
kẻ xâm nhập vào mạng trái phép bằng cách sử dụng cáccông cụ phá mật khẩu hoặc
khai thác các điểm yếu của thành phần truy nhập trên hệthốngMasquerader : Là những
17
kẻ giả mạo thông tin trên mạng như giả mạo địa chỉIP, tên miền, định danh người
dùng…Eavesdropping: Là những đối tượng nghe trộm thông tin trên mạng, sử
dụngcác công cụ Sniffer, sau đó dùng các công cụ phân tích và debug để lấy được
cácthông tin có giá trị. Những đối tượng tấn công mạng có thể nhằm nhiều mục đích
khác nhau nhưăn cắp các thông tin có giá trị về kinh tế, phá hoại hệ thống mạng có chủ
định, hoặccó thể đó là những hành động vô ý thức…
b) Các lỗ hổng bảo mật
Các lỗ hổng bảo mật là những điểm yếu trên hệ thống hoặc ẩn chứa
trongmột dịch vụ mà dựa vào đó kẻ tấn công có thể xâm nhập trái phép vào hệ thống
đểthực hiện những hành động phá hoại chiếm đoạt tài nguyên bất hợp pháp.Có nhiều
nguyên nhân gây ra những lỗ hổng bảo mật: có thể do lỗi của bảnthân hệ thống, hoặc
phần mềm cung cấp hoặc người quản trị yếu kém không hiểusâu về các dịch vụ cung
Cho phép người sử dụng có thêm các quyền trên hệ thống mà không cần kiểm
tra tính hợp lệ dẫn đến mất mát thông tin yêu cầu cần bảo mật.Lỗ hổng này thường có
trong các ứng dụng trên hệ thống . Có mức độ nguy hiểm là trung bình.Lỗ hổng loại B
này có mức độ nguy hiểm hơn lỗ hổng loại C. Cho phépngười sử dụng nội bộ có thể
chiếm được quyền cao hơn hoặc truy nhậpkhônghợp pháp.
Những lỗ hổng loại này thường xuất hiện trong các dịch vụ trên hệ thống. Ngườ
sử dụng local được hiểu là người đã có quyền truy nhập vào hệ thống vớimột số quyền
hạn nhất định. Tìm hiểu vấn đề bảo mật mạng LAN. Một dạng khác của lỗ hổng loại B
xảy ra với các chương trình viết bằng mã nguồn C. Những chương trình viết bằng mã
nguồn C thường sử dụng một vùngđệm, một vùng trong bộ nhớ sử dụng để lưu trữ dữ
liệu trước khi xử lý. Người lậptrình thường sử dụng vùng đệm trong bộ nhớ trước khi
gán một khoảng không gian bộ nhớ cho từng khối dữ liệu. Ví dụ khi viết chương trình
nhập trường tên người sửdụng quy định trường này dài 20 ký tự bằng khai báo:Char
first_name [20]; Khai báo này cho phép người sử dụng nhập tối đa 20ký tự. Khi nhập
dữ liệu ban đầu dữ liệu được lưu ở vùng đệm. Khi người sử dụngnhập nhiều hơn 20 ký
tự sẽ tràn vùng đệm. Những ký tự nhập thừa sẽ nằm ngoàivùng đệm khiến ta không thể
kiểm soát được. Nhưng đối với những kẻ tấn côngchúng có thể lợi dụng những lỗ hổng
này để nhập vào những ký tự đặc biệt để thựcthi một số lệnh đặc biệt trên hệ thống.
Thông thường những lỗ hổng này được lợidụng bởi những người sử dụng trên hệ
thống để đạt được quyền root không hợp lệ.Để hạn chế được các lỗ hổng loại B phải
kiêm soát chặt chẽ cấu hình hệ thống vàcác chương trình.
Lỗ hổng loại A
Cho phép người ngoài hệ thống có thể truy cập bất hợp phápvào hệ thống. Có
thể làm phá huỷ toàn bộ hệ thống. Loại lỗ hổng này có mức độ rấtnguy hiểm đe dọa
tính toàn vẹn và bảo mật của hệ thống. Các lỗ hổng này thườngxuất hiện ở những hệ
thống quản trị yếu kém hoặc không kiểm soát được cấu hìnhmạng. Những lỗ hổng loại
này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phầnmềm sử dụng, người quản trị
nếu không hiểu sâu về dịch vụ và phần mềm sử dụngcó thể bỏ qua điểm yếu này. Vì
vậy thường xuyên phải kiểm tra các thông báo củacác nhóm tin về bảo mật trên mạng
để phát hiện những lỗ hổng loại này. Một loạtcác chương trình phiên bản cũ thường sử
các trường header rõ ràng, nên việc giải mã các gói tin này không khó khăn.
Mục đích của các chương trình sniffer đó là thiết lập chế độ promiscuous(mode
dùng chung) trên các card mạng ethernet - nơi các gói tin trao đổi trongmạng - từ đó
"bắt" được thông tin.Các thiết bị sniffer có thể bắt được toàn bộ thông tin trao đổi trên
mạng làdựa vào nguyên tắc broadcast (quảng bá) các gọi tin trong mạng Ethernet.Tuy
nhiên việc thiết lập một hệ thống sniffer không phải đơn giản vì cần phải xâm nhập
được vào hệ thống mạng đó và cài đặt các phần mềm sniffer.Đồng thời các chương
trình sniffer cũng yêu cầu người sử dụng phải hiểusâu về kiến trúc, các giao thức
mạng.Việc phát hiện hệ thống bị sniffer không phải đơn giản, vì sniffer hoạt độngở
tầng rất thấp, và không ảnh hưởng tới các ứng dụng cũng như các dịch vụ hệthống đó
20
cung cấp.Tuy nhiên việc xây dựng các biện pháp hạn chế sniffer cũng không quá
khókhăn nếu ta tuân thủ các nguyên tắc về bảo mật như:
Không cho người lạ truy nhập vào các thiết bị trên hệ thống
Quản lý cấu hình hệ thống chặt chẽ
Thiết lập các kết nối có tính bảo mật cao thông qua các cơ chế mã hoá.
Trojans
Trojans là một chương trình chạy không hợp lệ trên một hệ thống. Với vaitrò
như một chương trình hợp pháp. Trojans này có thể chạy được là do các chươngtrình
hợp pháp đã bị thay đổi mã của nó thành mã bất hợp pháp.Ví dụ như các chương trình
virus là loại điển hình của Trojans. Nhữngchương trình virus thường che dấu các đoạn
mã trong các chương trình sử dụng hợp pháp. Khi những chương trình này được kích
hoạt thì những đoạn mã ẩn dấu sẽthực thi và chúng thực hiện một số chức năng mà
người sử dụng không biết như: ăncắp mật khẩu hoặc copy file mà người sử dụng như
ta thường không hay biết.Một chương trình Trojans sẽ thực hiện một trong những công
việc sau:
Thực hiện một vài chức năng hoặc giúp người lập trình lên nó phát hiệnnhững
thông tin quan trọng hoặc những thông tin cá nhân trên một hệ thống hoặcchỉ trên một
Enumeration, ACLs, IDSes,…
Intranet
Remote access: Remote system type,…
Extranet: Connection origination and destination,…
II. Các bước thực hiện Footprinting
Bao gồm các bước sau:
1. Xác định vùng hoạt đông của chúng ta
Thứ đầu tiên trong kinh doanh là để xác định vùng hoạt động của các hoạt động
footprinting của chúng ta. Nó có thể là một nhiệm vụ nản lòng để xác định tất cả các
thực thể trong một tổ chức nào đó. Tuy nhiên, hacker chẳng thông cảm cho cuộc chiến
của chúng ta. Họ khai thác các điểm yếu trong bất cứ các biểu mẫu nào. Chúng ta
không muốn hacker biết nhiều về tình trạng bảo mật của chúng ta.
2. Các thông tin có sẵn công khai
Lượng thông tin mà nó sẵn sàng sẵn có cho chúng ta, tổ chức chúng ta và bất cứ
những gì chúng ta có thể hình dung thì chẳng là gì thiếu tính tuyệt vời.
Những thông tin có thể bao gồm: trang web của công ty; các tổ chức quan hệ; vị
trí tọa lạc; thông tin chi tiết vê nhân viên; các sự kiện hiện tại; các chính sách bảo mật
và sự riêng tư….
3. Whois và DNS Enumeration
Xem chi tiết thông tin về địa chỉ IP, name server, dns server… 22
4. Thăm dò DNS
Sau khi xác định tất cả các domain có liên quan, chúng ta bắt đầu truy vấn
DNS. DNS là một cơ sở dữ liệu phân tán dùng để ánh xạ các địa chỉ IP thành
hostname. Nếu DNS không được cấu hình một cách bảo mật, rất có khả năng lấy được
các thông tin bi lộ từ tổ chức.
5. Thăm dò mạng
Archive:
IV. Các công cụ thực hiện Footprinting:
Sam Spade, Super email spider, VitualRoute Trace, Google Earth, Whois, Site
Digger, Maltego,…
1. Sam Spade
Cho phép người sử dụng có thể thực hiện các hành động: Ping, Nslookup,
Whois, Traceroute,…