Penetration: loại này chứa các công cụ có thể được sử dụng để khai tháccác lỗ hổng tìm thấy trong các máy tnh mục tiêu Privilege escalation: Sau khi khai thác các lỗ hổng và được tru
Trang 1Contents
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 3………
NGÀY… THÁNG… NĂM
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 4………
………
………
………
………
………
………
………
………
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
Trang 5(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à
Information gathering: loại này có chứa một số công cụ có thể được sử dụng để có được thông tin liên quan đến một mục tiêu DNS, định tuyến, địachỉ e-mail, trang web, máy chủ mail, và như vậy Thông tin này được thu thập từ các thông tin có sẵn trên Internet, mà không cần chạm vàomôi trường mục tiêu
Network mapping: loại này chứa các công cụ có thể được sử dụng để kiểm tra các host đang tồn tại, thông tin về OS, ứng dụng được sử dụng bởi mục tiêu, và cũng làm portscanning
Vulnerability identification: Trong thể loại này, chúng ta có thể tìm thấy các công cụ để quét các lỗ hổng (tổng hợp) và trong các thiết bị Cisco Nó cũng chứa các công cụ để thực hiện và phân tích Server Message Block (SMB) và Simple Network Management Protocol (SNMP)
Web application analysis: loại này chứa các công cụ có thể được sử dụng trong theo dõi, giám sát các ứng dụng web
Radio network analysis: Để kiểm tra mạng không dây, bluetooth vànhận dạng tần số vô tuyến (RFID), chúng ta có thể sử dụng các công cụtrong thể loại này
Penetration: loại này chứa các công cụ có thể được sử dụng để khai tháccác lỗ hổng tìm thấy trong các máy tnh mục tiêu
Privilege escalation: Sau khi khai thác các lỗ hổng và được truy cập vàocác máy tính mục tiêu, chúng ta có thể sử dụng các công cụ trong loạinày để nâng cao đặc quyền của chúng ta cho các đặc quyền cao nhất
Maintaining access: Công cụ trong loại này sẽ có thể giúp chúng tatrong việc duy trì quyền truy cập vào các máy tnh mục tiêu Chúng ta cóthể cần để có được những đặc quyền cao nhất trước khi các chúng ta cóthể cài đặt công cụ để duy trì quyền truy cập
Trang 6 Voice Over IP (VOIP): Để phân tch 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 tch kỹ thuật như có được hình ảnh đĩa cứng, cấu trúc các tập tin, và phân tch 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 tnh 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
CHƯƠNG 2 TÌNH HÌNH BẢO MẬT MẠNG LAN HIỆN NAY
I Giới thiệu
An ninh an toàn mạng máy tính hoàn toàn là vấn đề con người, do đó việc đưa ra một hành lang pháp lý và các quy nguyên tắc làm việc cụ thể là cần thiết Ở đây, hành lang pháp lý có thể gồm: các điều khoản trong bộ luật của nhà nước, các văn bản dưới luật, Còn các quy định có thể do từng tổ chức đặt ra cho phù hợp với từng đặc điểm riêng Các quy định có thể như: quy định về nhân sự, việc sử dụng máy,sử dụng phần mềm, Và như vậy, sẽ hiệu quả nhất trong việc đảm bảo an ninh
an toàn cho hệ thống mạng máy tnh một khi ta thực hiện triệt để giải pháp
về chính sách con người.Tóm lại, vấn đề an ninh an toàn mạng máy tính là một vấn
đề lớn, nó yêu cầu cần phải có một giải pháp tổng thể, không chỉ phần mềm, phần cứng máy tnh mà nó đòi hỏi cả vấn đề chính sách về con người Và vấn đề này cần phải được thực hiện một cách thường xuyên liên tục, không bao giờ triệt để được vì
nó luôn nảy sinh theo thời gian Tuy nhiên, bằng các giải pháp tổng thể hợp lý, đặc biệt là giải quyết tốt vấn đề chính sách về con người ta có thể tạo ra cho mình
Trang 7dụ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ạngphải đảm bảo các thông tin trên mạng là tin cậy và sử dụng đúng mục đích, đốitượ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ột hệ 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óabởi nhữ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ạng và 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ếu và 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ác cô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ống
Masquerader : Là những
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ác thô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ặc có 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 trong mộtdị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ản thân hệ thống, hoặcphần mềm cung cấp hoặc người quản trị yếu kém không hiểu sâu về các dịch vụ cungcấp…Mức độ ảnh hưởng của các lỗ hổng tới hệ thống là khác nhau Có lỗ hổngchỉ ảnh hưởng tới chất lượng dịch vụ cung cấp, có lỗ hổng ảnh hưởng tới toàn bộ hệ thốnghoặc phá hủy hệ thống
c) Chính sách bảo mật
Trang 8Chính sách bảo mật là tập hợp các quy tắc áp dụng cho những người tham gia quản trị mạng, có sử dụng các tài nguyên và các dịch vụ mạng.
Đối với từng trường hợp phải có chính sách bảo mật khác nhau Chính sách bảo mật giúp người sử dụng biết trách nhiệm của mình trong việc bảo vệ các tài nguyên trên mạng, đồng thời còn giúp cho nhà quản trị mạng thiết lập các biên pháp đảm bảo hữu hiệu trong quá trình trang bị, cấu hình và kiểm soát hoạt động của hệ thống và mạng
3. Các loại lỗ hổng bảo mật và phương thức tấn công mạng chủ yếu
Lỗ hổng loại B:
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ép người sử dụng nội bộ có thể chiếm được quyền cao hơn hoặc truy nhập không hợp pháp
Trang 9Nhữ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ới mộ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ập trì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ụng nhậ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ực thi 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áp và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ất nguy 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ình mạ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ần mề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ủa cá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ạt các chương trình phiên bản
cũ thường sử dụng có những lỗ hổng loại A như: FTP,Gopher, Telnet, Sendmail, ARP, finger
b) Các hình thức tấn công mạng phổ biến
ScannerScanner là một chương trình tự động rà soát và phát hiện những điểm yếu
về bảo mật trên một trạm làm việc cục bộ hoặc một trạm ở xa Một kẻ phá hoại sử dụng chương trình Scanner có thể phát hiện ra những lỗ hổng về bảo mật trên một
Trang 10Server dù ở xa.Cơ chế hoạt động là rà soát và phát hiện những cổng TCP/UDP được
sử dụng trên hệ thống cần tấn công và các dịch vụ sử dụng trên hệ thống đó Scannerghi lại những đáp ứng trên hệ thống từ xa tương ứng với dịch vụ mà nó phát hiện ra
Từ đó nó có thể tìm ra điêm yếu của hệ thống Những yếu tố để một Scanner hoạt động như sau : Yêu cầu thiết bị và hệ thống: Môi trường có hỗ trợ TCP/IP Hệ thống phải kết nối vào mạng Internet.Các chương trình Scanner có vai trò quan trọng trong một hệ thống bảo mật,vì chúng có khả năng phát hiện ra những điểm yếu kém trên một hệ thống mạng
Password Cracker
Là một chương trình có khả năng giải mã một mật khẩu đã được mã hoá hoặc
có thể vô hiệu hoá chức năng bảo vệ mật khẩu của một hệ thống.Một số chương trìnhphá khoá có nguyên tắc hoạt động khác nhau Một số chương trình tạo ra danh sách các từ giới hạn, áp dụng một số thuật toán mã hoá từ kết quả so sánh với Password đã
mã hoá cần bẻ khoá để tạo ra một danh sách khác theo một logic của chương trình.Khi thấy phù hợp với mật khẩu đã mã hoá, kẻ phá hoại đã có được mật khẩudưới dạng text Mật khẩu text thông thường sẽ được ghi vào một file.Biện pháp khắc phục đối với
cách thức phá hoại này là cần xây dựng mộtchính sách bảo vệ mật khẩu đúng đắ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 trong mạ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 đơngiả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ểu sâ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 đơngiả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 đó cung cấp.Tuy nhiên việc xây dựng các biện
Trang 11phá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
chương trình virus là loại điển hình của Trojans Những chươ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ư: ăn cắ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ện nhữ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 vài thành phần của hệ thống đó
Che dấu một vài chức năng hoặc là giúp người lập trình phát hiện nhữ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ặc chỉ trên một vài thành phần của hệ thống Ngoài ra còn có các chương trình Trojan có thể thực hiện đựợc cả hai chức năng này Có chương trình Trojan còn có thể phá hủy hệ thống bằng cách phá hoại các thông tin trên ổ cứng Nhưng ngày nay các Trojans kiểu này dễ dàng bị phát hiện và khó phát huy được tác dụng.Tuy nhiên có những trường hợp nghiêm trọng hơn những kẻ tấn công tạo ra những lỗ hổng bảo mật thôngqua Trojans và kẻ tấn công lấy được quyền root trên hệ thống và lợi dụng quyền
đó để phá hủy một phần hoặc toàn bộ hệ thống hoặc dùng quyền root để thay đổi logfile, cài đặt các chương trình trojans khác mà ngườiquản trị không thể phát hiện được gây ra mức độ ảnh hưởng rất nghiêm trọng và người quản trị chỉ còn cách cài đặt lại toàn bộ hệ thống
Trang 12CHƯƠNG 3 Tấn Công Hệ Thống –System Hacking
I. Giới Thiệu Về Metasploit
1. Giới Thiệu
Metasploit là một dự án bảo mật máy tính cung cấp các thông tin
về vấn đề lỗ hổng bảo mật cũng như giúp đỡ về kiểm tra thâm
nhập và phát triển hệ thống phát hiện tấn công mạng Một dự án
con rất nổi tiếng của Metasploit là Metasploit Framework.
Metasploit Framework là một môi trường dùng để kiểm tra ,tấn
công và khai thác lỗi của các service Metasploit được xây dựng
từ ngôn ngữ hướng đối tượng Perl, với những components được
viết bằng C, assembler, và Python.Metasploit có thể chạy trên
hầu hết các hệ điều hành: Linux, Windows, MacOS
2. Các Thành Phần Của Metasploit
Metasploit hỗ trợ nhiều giao diện với người dùng:
Console interface: dùng lệnh msfconsole
Msfconsole interface sử dụng các dòng lệnh để cấu hình, kiểm tra nên nhanh hơn và mềm dẻo hơn
Web interface: dùng msfweb, giao tiếp với
người dùng thông qua giao diện web
Command line interface: dùng msfcli
Enviroment:
Global Enviroment:được thực thi thông qua 2
câu lệnh setg và unsetg, những options được gán ở đây sẽ mang tính toàn cục, được đưa vào tất cả các module exploits
Trang 13 Temporary Enviroment: được thực thi thông
qua 2 câu lệnh set và unset, enviroment này chỉ được đưa vào module exploit đang load hiện tại, không ảnh hưởng đến các module exploit khác
Chúng có thể lưu lại enviroment mình đã cấu hình thông qua lệnh save Môi trường đó sẽ được lưu trong /msf/config và sẽ được load trở lại khi user interface được thực hiện
use exploit_name: chọn module exploit
info exploit_name: xem thông tin về module
exploit Chúng ta nên cập nhật thường xuyên các lỗi dịch vụ cũng như các module trên www.metasploit.com hoặc qua lệnh msfupdate hoặc svn update
/opt/metasploit/msf3/
b) Cấu hình module exploit đã chọn
show options: Xác định những options nào cần
cấu hình.
set : cấu hình cho những option của module đó
Trang 14Một vài module còn có những advanced options,
chúng ta có thể xem bằng cách gõ dòng lệnh show
advanceds
c) Verify những options vừa cấu hình
check: kiểm tra xem những option đã được set
chính xác chưa.
d) Lựa chọn target
Lựa chọn hệ diều hành nào để thực hiện
show targets: những target được cung cấp bởi
module đó
set: xác định target nào
vd: msf> use auxiliary/dos/windows/rdp/ms12_020_maxchannelid s
e) Lựa chọn payload
Payload là đoạn code mà sẽ chạy trên hệ thống remote machine, là một phần của virus máy tính để thực thi mã độc.
show payloads: liệt kê ra những payload của
module exploit hiện tại
info payload_name: xem thông tin chi tiết về
payload đó
Set payload payload_name: xác định payload
module name.Sau khi lựa chọn payload nào, dùng lệnh show options để xem những options của payload đó
Trang 15 show advanced: xem những advanced options
của payload đó
f) Thực thi exploit
exploit: lệnh dùng để thực thi payload code Payload sau đó sẽ cung cấp cho chúng ta những thông tin về hệ thống được khai thác
4. Giới thiệu Payload Meterpreter
Meterpreter viết tắt từ Meta-Interpreter là một payload nâng
cao có trong Metasploit Framework Mục đích của nó là để
cung cấp những tập lệnh để khai thác tấn câng các máy remote
computers.Nó được viết từ các developers dưới dạng shared
object (DLL) files Meterpreter và các thành phần mở rộng được
thực thi trong bộ nhớ, hoàn toàn không được ghi lên đĩa nên có
thể tránh được sự phát hiện từ các phần mềm chống virus.
Meterpreter cung cấp một tập lệnh để chúng ta có thể khai thác trên cách remote computers:
Fs(Filesystem): cung cấp quá trình tương tác
với filesystem
Net: cho phép xem thông tin mạng của remote
machine như IP, route table
Process:cho phép tạo tương tác với các tiến trình trên remote machine
Sys: cho phép xem thông tin hệ thống, môi
trường của remote machine
a) Sử dụng module Fs
cd directory:giống lệnh cd của commandline,
chuyển thư mục làm việc
Trang 16 getcwd: cho biết thư mục đang làm việc hiện
tại
ls: liệt kê các thư mục và tập tin
upload src1 [src2 ] dst: upload file từ src tới
execute -f file [ -a args ] [ -Hc ]:Câu lệnh
execute cho phép tạo ra một process mới trên remote machine và sử dụng process đó
để khai thác dữ liệu
kill pid1 pid2 pid3:huỷ hoặc tắt các process
đang chạy trên máy remote machine
ps: liệt kê những process của remote
machine
d) Sử dụng module Sys
getuid: cho biết username hiện tại của remote
machine
Trang 17 sysinfo: cho biết thông tin về máy tính nạn
nhân: hệ điều hành, phiên bản, nền tản 32bits hay 64bits
5. Cách phòng chống
Thường xuyên cập nhật các bản vá lỗi của Microsofts Ví dụ như
để Metasploit không thể khai thác được lỗi Lsass_ms04_011,
chúng ta phải cập nhật bản vá lỗi của Microsoft Theo Microsoft đánh giá, đây là một lỗi nghiêm trọng, có trên hầu hết tất cả các
hệ điều hành windows Chúng ta nên sử dụng hotfix có number là
835732 để vá lỗi trên.
II. Lỗi MS10-046 (2286198)
1. Giới thiệu
Đây là một lỗi rất nghiêm trọng liên quan đến Windows Shell
cho tất cả các hệ điều hành bị ảnh hưởng, cho phép kẻ tấn công chiếm lấy toàn quyền điều khiển Windows và thực thi mã nguồn
từ xa Lỗi này được phát hiện vào tháng 06/2010 và đến tháng
08/2010, Microsoft tung ba bản vá lỗi.
Lỗi nguy hiểm này nằm trong các tập tin "shortcut" (*.lnk) của
Windows, các tập tin này thường nằm ở giao diện desktop hay
trình đơn Start Bằng cách tạo ra một tập tin shortcut nhúng mã độc, tin tặc có thể tự động thực thi mã độc khi người dùng xem
tập tin shortcut hay nội dung của một thư mục chứa tập tin
shortcut nhúng mã độc.
Các bản Windows bị ảnh hưởng bao gồm
Trang 182. Các bước tấn công
a (mạng LAN)
Khởi động Kali Linux và đăng nhập thành công ,
mở terminal ta được