Đề tài: Tìm hiểu cơng cụ Sparta
MỤC LỤC
LỜI MỞ ĐẦU ........................................................................................................................ 4
CHƯƠNG 1: TỔNG QUAN................................................................................................. 5
1.
Một số khái niệm liên quan đến an ninh mạng ....................................................... 5
2.
Một số khái niệm liên quan đến lỗ hổng bảo mật ................................................... 5
3.
Phân loại lỗ hổng bảo mật ......................................................................................... 6
4.
Một số phương thức tấn công mạng ......................................................................... 7
4.1. Browser Attacks (Tấn cơng vào trình duyệt) .......................................................... 7
4.2
Malware Attacks (Tấn cơng mã độc) ....................................................................... 8
4.3
DoS Attacks (Tấn công từ chối dịch vụ)................................................................... 8
4.4
SQL Injection (Tấn công chèn mã SQL) ................................................................. 8
4.5
Kiểu tấn công mạng khác .......................................................................................... 9
CHƯƠNG 2: TỔNG QUAN VỀ THU THẬP THÔNG TIN VÀ LỖ HỔNG BẢO MẬT
............................................................................................................................................... 10
1. Giới thiệu nhóm các cơng cụ thu thập thơng tin (Information Gathering) .............. 10
2. Giới thiệu nhóm các cơng cụ phân tích lỗ hổng (Vulnerability Analysis) ................ 12
CHƯƠNG 3: GIỚI THIỆU CÔNG CỤ SPARTA ......................................................... 16
1.
Cài đặt ....................................................................................................................... 17
2.
Hướng dẫn sử dụng công cụ LEGION ................................................................... 18
CHƯƠNG 4: THỬ NGHIỆM CÔNG CỤ LEGION ....................................................... 25
1. Cơ sở lý thuyết ................................................................................................................ 25
1.1Nikto ................................................................................................................................ 25
1.2 Hydra .............................................................................................................................. 27
1.3 Nmap .............................................................................................................................. 28
2.Thử nghiệm ....................................................................................................................... 30
2.1 Rà quét các lỗ hổng của Metasploitable 2 bằng công cụ LEGION .................... 30
2.2 Leo thang đặc quyền bằng cách khai thác lỗ hổng DistCC và Udev
(CVE-2004-2687 và CVE-2009-1185) .......................................................................... 37
2.3 Leo thang đặc quyền bằng cách khai thác lỗ hổng VSFTPD (CVE2011-2523) ...................................................................................................................... 44
2.4 Thực hiện tấn công DOS bằng cách khai thác lỗ hổng MSF:
AUXILIARY/DOS/HTTP/SLOWLORIS ............................................................... 45
CHƯƠNG 5: SO SÁNH VÀ KẾT LUẬN ......................................................................... 48
1.
So sánh với công cụ SPARTA ................................................................................. 48
2.
Kết luận ..................................................................................................................... 49
CHƯƠNG 6: TÀI LIỆU THAM KHẢO .......................................................................... 50
LỜI MỞ ĐẦU
Với nhu cầu trao đổi thông tin như ngày nay, bắt buộc các cơ quan, tổ chức phải
hoà vào mạng tồn cầu Internet. An tồn bảo mật thơng tin là vấn đề quan trọng hàng
đầu trong việc kết nối mạng nội quan, doanh nghiệp, tổ chức với Internet hay chí nhân
với. Ngày nay, biện pháp an tồn thơng tin cho máy tính cá nhân trong mạng nội bộ đã
được nghiên cứu và triển khai. Tuy nhiên, thường xuyên xảy tình trạng như: hệ thống
mạng bị tấn cơng, các tổ chức bị đánh cắp thông tin gây nên hậu quả vô cùng nghiêm
trọng. Những vụ tấn công nhằm vào các hệ thống thuộc công ty lớn như AT&T, IBM,
trường đại học, cơ quan nhà nước, tổ chức quân sự, ngân hàng, … xảy ra rất thường
xuyên, đôi lúc xảy ra một số vụ tấn công với quy mô khổng lồ (có tới 100.000 máy tính
bị cơng). Hơn nữa những con số này chỉ là phần nổi của tảng băng trôi. Một phần rất
lớn các vụ tấn công không được thơng báo vì nhiều lý do, trong số đó có thể kể đến nỗi
lo mất uy tín hoặc đơn giản người quản trị dự án không hay biết vụ tấn công nhằm vào
hệ thống của họ.
Kiểm thử xâm nhập hay Pentest, viết tắt của “Penetration Testing” là hình thức
đánh giá mức độ an toàn của hệ thống IT bằng các cuộc tấn công mô phỏng thực tế.
Hiểu đơn giản, Pentest cố gắng xâm nhập vào hệ thống để phát hiện ra những điểm yếu
tiềm tàng của hệ thống mà tin tặc có thể khai thác và gây thiệt hại.
Mục tiêu của Pentest là giúp tổ chức phát hiện càng nhiều lỗ hổng càng tốt, từ
đó khắc phục chúng để loại trừ khả năng bị tấn công trong tương lai. Người làm công
việc kiểm tra xâm nhập được gọi là pentester Pentest có thể được thực hiện trên hệ thống
máy tính, web app, mobile app, hạ tầng mạng, IoT, ứng dụng và hạ tầng cloud, phần
mềm dịch vụ SaaS, API, source code, hoặc một đối tượng IT có kết nối với internet và
có khả năng bị tấn cơng … nhưng phổ biến nhất là pentest web app và mobile app.
Những thành phần trên được gọi là đối tượng kiểm thử (pentest target).
Ngày nay, dưới sự phát triển của công nghệ, kiểm tra thâm nhập đã trở thành một
mô-đun không thể thiếu trong hệ thống an tồn thơng tin của nhiều doanh nghiệp.
Bài báo cáo dưới đây chúng em xin phép trình bày những thông tin mà chúng
em thu thập được về công cụ Sparta trong Kali Linux
4
CHƯƠNG 1: TỔNG QUAN
1. Một số khái niệm liên quan đến an ninh mạng
An ninh mạng là sự bảo đảm hoạt động trên không gian mạng không gây hại đến
an ninh quốc gia, trật tự, an toàn xã hội, quyền và lợi ích hợp pháp của cơ quan, tổ chức,
cá nhân.
Bảo vệ an ninh mạng là phòng ngừa, phát hiện, ngăn chặn và xử lý hành vi xâm
phạm an ninh mạng.
Không gian mạng là mạng lưới kết nối của cơ sở hạ tầng công nghệ thông tin,
bao gồm mạng viễn thơng, mạng Internet, mạng máy tính, hệ thống thơng tin, hệ thống
xử lý và điều khiển thông tin, cơ sở dữ liệu: là nơi con người thực hiện các hành vi xã
hội không bị giới hạn bởi không gian và thời gian.
Tội phạm mạng là hành vi sử dụng không gian mạng, công nghệ thông tin hoặc
phương tiện điện tử để thực hiện tội phạm được quy định tại Bộ luật Hình sự.
Tấn cơng mạng là hành vi sử dụng không gian mạng, công nghệ thông tin hoặc
phương tiện điện tử để phá hoại, gây gián đoạn hoạt động của mạng viễn thơng, mạng
Internet, mạng máy tính, hệ thống thơng tin, hệ thống xử lý và điều khiển thông tin, cơ
sở dữ liệu, phương tiện điện tử.
2. Một số khái niệm liên quan đến lỗ hổng bảo mật
Trong an ninh mạng, lổ hổng bảo mật là điểm yếu có thể bị tội phạm mạng lợi
dụng để truy cập trái phép vào hệ thống máy tính. Theo định nghĩa được Tổ chức Tiêu
chuẩn hóa Quốc tế và Ủy ban Kỹ thuật Điện Quốc Tế (ISO/IEC) cơng bố trong ISO
27005 thì lỗ hổng bảo mật là “Điểm yếu của tài sản hoặc nhóm tài sản có thể bị khai
thác bởi một hoặc nhiều mỗi đe dọa, trong đó tài sản là bất cứ thứ gì có giá trị đối với
tổ chức, hoạt động kinh doanh và tính liên tục của chúng, bao gồm các nguồn thông tin
hỗ trợ sứ mệnh của tổ chức”. Lực lượng chuyên trách kỹ thuật Internet (IETF) cũngđã
đưa ra định nghĩa về lỗ hổng bảo mật trong RFC 4949 như sau: “Một lỗ hổng hoặc điểm
yếu trong thiết kế, triển khai hoặc vận hành và quản lý của hệ thống có thể bị lợi dụng
để vi phạm chính sách bảo mật của hệ thống” [3]. Nhìn chung, các định nghĩa vềlỗ hổng
bảo mật của các tổ chức đưa ra đều xoay quanh việc một khiếm khuyết của hệthống bao
gồm cả phần cứng và phần mềm tồn tại và có thể bị kẻ xấu lợi dụng để khaithác gây tổn
hại cho tổ chức, cá nhân sở hữu.
Có nhiều nguyên nhân gây ra lỗ hổng bảo mật: có thể do lỗi của bản thân hệ
thống, hoặc do người quản trị hệ thống không hiểu sâu sắc các dịch vụ cung cấp hoặc
5
do người sử dụng có ý thức bảo mật kém click vào các đường link lạ hoặc tải về các
ứng dụng độc hại.
Lỗ hổng bảo mật có mức độ ảnh hưởng khác nhau. Có những lỗ hổng chỉ ảnh
hưởng đến chất lượng dịch vụ cung cấp nhưng cũng có những lổ hổng ảnh hưởng tới cả
hệ thống hoặc làm ngưng trệ dịch vụ.
3. Phân loại lỗ hổng bảo mật
Có nhiều tổ chức khác nhau phân loại các lỗ hổng đặc biệt. Theo Bộ Quốc phòng
Mĩ, các loại lỗ hổng bảo mật trên một hệ thống gồm:
Các lỗ hổng loại A:
-
Rất nguy hiểm.
-
Đe dọa tính tồn vẹn và bảo mật của hệ thống.
-
Cho phép người sử dụng bên ngoài truy cập bất hợp pháp vào hệ thống.
-
Gây ra việc phá hỏng toàn bộ hệ thống.
-
Xuất hiện ở các hệ thống quản trị yếu kém hoặc khơng kiểm sốt được cấu
hình mạng.
Các lỗ hổng loại B:
-
Có mức độ nguy hiểm trung bình.
-
Cho phép người sử dụng có thêm tác quyền trên hệ thống mà khơng cần thực
hiện bước kiểm tra tính hợp lệ.
-
Thường có trong các ứng dụng, dịch vụ trên hệ thống.
-
Có thể dẫn đến việc mất hay rị rỉ thơng tin yêu cầu bảo mật.
Các lỗ hổng loại C:
-
Có mức độ nguy hiểm thấp, chỉ ảnh hưởng đến chất lượng dịch vụ và làm
gián đoạn hệ thống.
-
Cho phép thực hiện các phương thức tấn công từ chối dịch vụ (Dinal of
Services) gọi tắt là DoS.
-
Ít phá hỏng dữ liệu hay cho phép quyền truy cập bất hợp pháp vào máy
tính.
-
DoS là hình thức tấn cơng sử dụng các giao thức ở tầng Internet trong bộ
giao thức TCP/IP để làm hệ thống ngưng trệ dẫn đến tình trạng hệ thống đó
từ chối người sử dụng truy cập vào hệ thống một cách hợp pháp.
6
4. Một số phương thức tấn công mạng
Tấn công mạng hay cịn gọi là chiến tranh trên khơng gian mạng (Cyber-war).
Có thể hiểu tấn cơng mạng là hình thức tấn cơng xâm nhập vào một hệ thống mạng máy
tính, cơ sở dữ liệu, hạ tầng mạng, website, thiết bị của một cá nhân hoặc một tổ chức
nào đó.
Cụm từ “tấn cơng mạng” có 2 nghĩa hiểu:
-
Hiểu theo cách tích cực: Tấn công mạng (Penetration Testing) là phương pháp
Hacker mũ trắng xâm nhập vào một hệ thống mạng, thiết bị, website để tìm ra
những lỗ hổng, các nguy cơ tấn cơng nhằm bảo vệ cá nhân hoặc tổchức.
-
Hiểu theo cách tiêu cực: Tấn cơng mạng (Network Attacks) là hình thức, kỹ
thuật hacker mũ đen tấn công vào một hệ thống để thay đổi đối tượng hoặc
tống tiền.
Đối tượng bị tấn công có thể là cá nhân, doanh nghiệp, tổ chức hoặc nhà nước.
Hacker sẽ tiếp cận thông qua mạng nội bộ gồm máy tính, thiết bị, con người. Trong yếu
tố con người, hacker có thể tiếp cận thơng qua thiết bị mobile, mạng xã hội, ứng dụng
phần mềm.
Tóm lại, một cuộc tấn cơng khơng gian mạng có thể nhằm vào cá nhân, doanh
nghiệp, quốc gia, xâm nhập vào trong hệ thống, cơ sở hạ tầng mạng, thiết bị, con người
dưới nhiều cách khách nhau và mục tiêu khác nhau.
4.1. Browser Attacks (Tấn cơng vào trình duyệt)
Một trong các kiểu tấn cơng mạng điển hình nhất năm 2017 phải kể đến là tấn
cơng vào trình duyệt. Các cuộc tấn cơng vào trình duyệt thường được bắt đầu bằng
những trang web hợp pháp nhưng dễ bị tổn thương. Kẻ tấn cơng có thể xâm nhập vào
website và gây hại cho đối tượng bằng phần mềm độc hại.
Cụ thể, khi có khách truy cập mới thơng qua trình duyệt web, trang web đó sẽ
lập tức bị nhiễm mã độc. Từ đó, mã độc sẽ xâm nhập vào hệ thống của nạn nhân thông
qua lỗ hổng của trình duyệt. Các trình duyệt web bị tin tặc tấn công chủ yếu năm 2017
là Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, Apple Safari, Opera.
7
4.2 Malware Attacks (Tấn công mã độc)
Tấn công malware là hình thức phổ biến nhất. Malware bao gồm spyware (phần
mềm gián điệp), ransomware (mã độc tống tiền), virus và worm (phần mềm độc hại có
khả năng lây lan nhanh). Thơng thường, tin tặc sẽ tấn công người dùng thông qua các
lỗ hổng bảo mật, cũng có thể là dụ dỗ người dùng click vào một đường link hoặc email
để phần mềm độc hại tự động cài đặt vào máy tính. Một khi được cài đặt thành công,
malware sẽ gây ra:
Mã hóa tồn bộ dữ liệu người dùng và u cầu tiền chuộc để giải mã file
(Ransomware)
Cài đặt thêm các phần mềm độc hại khác
Lén lút theo dõi người dùng và đánh cắp dữ liệu (Spyware)
Làm hư hại phần mềm, phần cứng, làm gián đoạn hệ thống
4.3 DoS Attacks (Tấn công từ chối dịch vụ)
DoS (Denial of Service) là hình thức tán cơng mà tin tặc “đánh sập tạm thời”
một hệ thống, máy chủ, hoặc mạng nội bộ. Để thực hiện được điều này, chúng thường
tạo ra một lượng traffic/request khổng lồ ở cùng một thời điểm, khiến cho hệ thống bị
quá tải, từ đó người dùng không thể truy cập vào dịch vụ trong khoảng thời gian mà
cuộc tấn cơng DoS diễn ra.
Một hình thức biến thể của DoS là DDoS (Distributed Denial of Service): tin tặc
sử dụng một mạng lưới các máy tính ma (botnet) để tấn cơng nạn nhân. Điều nguy hiểm
là chính các máy tính thuộc mạng lưới botnet cũng khơng biết bản thân đang bị lợi dụng
để làm công cụ tấn công.
4.4 SQL Injection (Tấn công chèn mã SQL)
Các cuộc tấn công SQLi được thực hiện bằng cách gửi lệnh SQL độc hại đến các
máy chủ cơ sở dữ liệu thông qua các yêu cầu của người dùng mà website cho phép. Bất
kì kênh input nào cũng có thể được sử dụng đẻ gửi các lệnh độc hại …
Với SQLi, các hacker có thể truy cập một phần hoặc tồn bộ dữ liệu trong hệ
thống, có thể gây ra những thiệt hại khổng lồ.
Với việc SQLi dễ tấn công, phổ biến, gây ra hậu quả nghiêm trọng. Đó là lý do
mà SQLi đứng đầu trong 10 lỗ hổng bảo mật của OWASP
8
Tấn cơng chèn mã SQL
4.5 Kiểu tấn cơng mạng khác
Ngồi các kiểu tấn cơng nêu trên, Hacker cịn có thể xâm nhập vào hệ thống bằng
cách
-
Tấn công vật lý (Physical Attacks): Tin tặc sẽ cố gắng phá hủy, ăn
cắp dữ liệu kiến trúc trong cùng một hệ thống mạng
-
Tấn công nội bội (Insider Attacks): Các cuộc tấn công nội bộ thường liên
quan tới người trong cuộc. Chẳng hạn như tỏng một cơng ty, một nhân
viên nào đó “căm ghét” người khác, … Các cuộc tấn cơng hệ thống mạng
nội bộcó thể gây hại hoặc vơ hại. Khi có tấn cơng mạng nội bộ xảy ra,
thong tin dữ liệu của công ty có thể bị truy cập trái phép, thay đổi hoặc rao
bán.
9
CHƯƠNG 2: TỔNG QUAN VỀ THU THẬP THÔNG
TIN VÀ LỖ HỔNG BẢO MẬT
1. Giới thiệu nhóm các cơng cụ thu thập thơng tin (Information Gathering)
Nếu ví rằng cơng việc Pentesting như là một cuộc chiến, thì Information
Gathering có lẽ được coi là một q trình trinh sát. Nó đại diện cho một triết lý vô cùng
quan trọng "Biết địch biết ta, trăm trận trăm thắng". Thành công cũng ở đây, thất bại
cũng ở đây. Càng nắm vững được thông tin của mục tiêu, bạn càng tăng cơ hội chiếm
quyền điều khiển mục tiêu.
Information gathering là một hành động thu thập thu thập các loại thông tin khác
nhau về nạn nhân mục tiêu hoặc là hệ thống mục tiêu. Đây là bước đầu tiên hay còn gọi
là giai đoạn đầu của quá trình Penetration Testing. Penetration Testing là quá trình xâm
nhập hệ thống hoặc mạng để đánh giá tính bảo mật của một tổ chức bằng cách khai thác
các lỗ hổng theo cách mà những kẻ tấn cơng có thể khai thác chúng.
Đây cũng là nơi mà các penetration tester hoặc các hacker thực hiện giai đoạn
này. Đây là một bước cần thiết và quan trọng cần phải được thực hiện. Càng thu thập
được nhiều thông tin về mục tiêu, chúng ta càng có nhiều xác suất để thu được các kết
quả phù hợp.
Information Gathering không chỉ là một giai đoạn kiểm tra việc bảo mật, nó cịn
là một q trình mà mọi penetration tester và hacker nên nắm vững để có những kinh
nghiệm tốt hơn trong q trình kiểm thử xâm nhập. Information gathering có rất nhiều
các cơng cụ khác nhau.
Bước này rất quan trọng bởi vì bạn có thể cần bất kỳ thơng tin nào ví dụ như tên
tuổi, ngày tháng năm sinh, số điện thoại, email để thực hiện việc tấn cơng đốn mật
khẩu hoặc bất cứ loại hình tấn cơng nào khác. Hầu như các Pen Tester đều bắt đầu công
việc của họ bằng cách thu thập thơng tin và điều này địi hỏi rất nhiều sự nỗ lực và kiên
nhẫn.
Information gathering có thể được phân thành ba loại chính: Footprinting,
Scanning, Enumeration:
Footprinting: là q trình thu thập thông tin về mục tiêu từ các dữ liệu mà
đối tượng hay tổ chức công khai trên internet. Mục tiêu của phần
footprinting là thu thập càng nhiều thông tin về đối tượng càng tốt, đối
với mục đích của Footprinting thì cần phải thu thập được các thơng tin
như: Domain Name, IP Address, Email Address, Google Hack và từ các
nguồn thông tin khác
1
0
Scanning: là q trình thu thập thơng tin chi tiết bổ sung về mục tiêu bằng
cách sử dụng các kỹ thuật trinh sát tích cực và phức tạp. Đây là một trong
những giai đoạn quan trọng nhất của việc thu thập thơng tin tình báo đối
với kẻ tấn cơng, cho phép hắn tạo hồ sơ về tổ chức mục tiêu. Trong q
trình qt, kẻ tấn cơng cố gắng thu thập thông tin, bao gồm các địa chỉ IP
cụ thể có thể được truy cập qua mạng, hệ điều hành và kiến trúc hệ thống
của mục tiêu và các cổng cùng với các dịch vụ tương ứng của chúng đang
chạy trên mỗi máy tính. Mục tiêu của Scanning: Càng nhiều thông tin về
tổ chức mục tiêu, cơ hội nắm được lỗ hổng bảo mật của hệ thống càng
cao, từ đó tận dụng để có được quyền truy cập trái phép.
Enumeration: là bước tiếp theo trong quá trình tìm kiếm thông tin của tổ
chức, xảy ra sau khi đã scanning và là q trình tập hợp và phân tích tên
người dùng, tên máy, tài nguyên chia sẻ và các dịch vụ. Nó cũng chủ động
truy vấn hoặc kết nối tới mục tiêu để có được những thơng tin hợp lý hơn.
Nó có thể được định nghĩa là q trinh trích xuất những thơng tin có được
trong phần scan ra thành một hệ thống có trật tự. Những thơng tin được
trích xuất bao gồm những thứ có liên quan đến mục tiêu cần tấn cơng, như
username, hostname, service, share.
Information gathering đóng một phần quan trọng trong việc chuẩn bị cho bất kỳ
quá trình kiểm thử xâm nhập nào. Việc này được coi là tốn thời gian nhất và là giai đoạn
khó khăn của quá trình kiểm thử xâm nhập. Tuy nhiên lại là yếu tố quyết định đến sự
thành công hoặc thất bại của tồn bộ q trình.
Có rất nhiều cách để có thể chiếm được quyền truy cập thơng tin về một tổ chức
hoặc một cá nhân. Một số cách yêu cầu kỹ thuật công nghệ, trong khi một số cách khác
yêu cầu kỹ năng mềm của người thực hiện việc hack. Một số cách có thể được sử dụng
cho bất kỳ vị trí nào có truy cập internet. Trong khi một số cách khác chỉ có thể thực
hiện tại một địa điểm cụ thể.
1
1
Danh mục Information Gathering bao gồm rất nhiều công cụ với các chức năng
khác nhau nhưng mục đích duy nhất vẫn là nhằm phục vụ cho việc thu thập thông tin.
Các cơng cụ chính bao gồm: dnsenum, dnsrecon, fierce, lbd, wafw00f, arping, fping,
hping3, masscan, thcping6, nmap, maltego, spiderfoot, spiderfoot-cli, theharvester,
netdiscover, netmask, enum4linux, nbtscan, smbmap, swaks, onesixtyone, snmp-check,
ssldump, sslh, sslscan, sslyze, dmitry, ike-scan, legion, maltego, netdiscover, recon-ng.
2. Giới thiệu nhóm các cơng cụ phân tích lỗ hổng (Vulnerability Analysis)
Vulnerability Analysis là q trình kiểm tra, tìm tịi, nhận diện các biện pháp an
toàn cũng như lỗ hổng của hệ thống và ứng dụng. Các hệ thống và ứng dụng được kiểm
tra để nhận định tính hiệu quả của các tầng bảo mật hiện thời trong việc chống lại các
tấn công và lạm dụng. Đánh giá lỗ hổng bảo mật cũng giúp nhận diện những lỗ hổng có
thể khai thác, sự thiếu tầng bảo mật và những thơng tin máy qt có thể phát hiện.
Đây là một phần của công đoạn quét, đóng vai trị trọng yếu trong quy trình
hacking. Vulnerability Analysis là nhiệm vụ cơ bản penetration tester phải thực hiện để
tìm ra các lỗ hổng bảo mật trong một mơi trường hệ thống. Việc đánh giá lỗ hổng bảo
mật bao gồm tìm ra những điểm yếu, lỗi thiết kế hay bất cứ vấn đề bảo mật nào có thể
khai thác để sử dụng hệ điều hành, ứng dụng hay website sai mục đích. Những lỗ hổng
gồm có sai sót cấu hình, cấu hình mặc định, lỗi tràn bộ đệm (buffer overflow), lỗi hệ
điều hành, dịch vụ mở (open services) và các lỗ hổng khác.
Hiện nay quản trị viên hệ thống và pentester có nhiều cơng cụ khác nhau để qt
lỗ hổng bảo mật trong một hệ thống mạng. Những lỗ hổng được tìm thấy chia thành ba
loại khác nhau dựa trên mức độ an ninh của nó, ví dụ thấp, trung bình hay cao. Bên cạnh
đó, chúng cũng được phân loại dựa trên quy mô khai thác như gần hay xa.
Hình 2. 3. Vulnerability Analysis
Các loại Vulnerability Analysis:
1
2
Đánh giá chủ động: Đánh giá chủ động bao gồm việc trực tiếp gửi yêu
cầu đến live network và kiểm tra các phản hồi. Nói ngắn gọn, q trình
đánh giá này yêu cầu thăm dò máy chủ mục tiêu.
Đánh giá thụ động: Đánh giá thụ động bao gồm việc nghe trộm gói tin
(packet sniffing) để tìm ra lỗ hổng, running services, open ports và các
thông tin khác. Đây là q trình đánh giá khơng can thiệp vào máy chủ
mục tiêu.
Đánh giá từ bên ngoài: Đây là quá trình đánh giá mà mục tiêu hacking
là tìm ra lỗ hổng để khai thác từ bên ngoài.
Đánh giá từ bên trong: Đánh giá từ bên trong bao gồm việc tìm ra lỗ
hổng bảo mật bằng cách quét hệ thống mạng nội bộ và cơ sở hạ tầng mạng.
Chu trình Vulnerability Analysis bao gồm các công đoạn sau đây:
Tạo đường cơ sở: Tạo đường cơ sở là một công đoạn phải thực hiện trước
trong chu trình đánh giá lỗ hổng bảo mật. Ở công đoạn này, pentester hay
quản trị viên hệ thống phải nhận diện bản chất của hệ thống, ứng dụng và
dịch vụ. Người đang thực hiện đánh giá sẽ tạo một bản kiểm nghiệm tất
cả các tài nguyên và tài sản để dễ dàng quản lí và dành ưu tiên đánh giá.
Bên cạnh đó, anh ta cũng lập bản vẽ cơ sở hạ tầng mạng, tìm hiểu kiểm
sốt an ninh, chính sách cũng như tiêu chuẩn mà tổ chức phải tuân thủ.
Tóm lại, đường cơ sở giúp lên kế hoạch đánh giá một cách hiệu quả, lập
thời gian biểu cho các công đoạn cũng như quản lý chúng theo thứ tự ưu
tiên.
Đánh giá lỗ hổng bảo mật: Đánh giá lỗ hổng bảo mật tập trung vào đánh
giá mục tiêu. Quá trình đánh giá bao gồm thăm dị và điều tra các biện
pháp an tồn như physical security hay các chính sách an ninh. Cơng đoạn
này đánh giá mục tiêu về các phần sai sót cấu hình, cấu hình mặc định, lỗi
hay các lỗ hổng bằng cách thăm dị từng thành phần riêng biệt hoặc sửdụng
các cơng cụ đánh giá. Khi quét xong, các dữ liệu tìm thấy được xếphạng
dựa trên mức độ ưu tiên. Cuối công đoạn, báo cáo đánh giá lỗ hổng bảo
mật sẽ cho thấy tất cả các lỗ hổng được phát hiện, phạm vi cũng như mức
độ ưu tiên của chúng.
Đánh giá rủi ro: Đánh giá rủi ro bao gồm việc kiểm tra các lỗ hổng bảo
mật và đánh giá ảnh hưởng của chúng lên hệ thống mạng hay tổ chức.
Giảm thiểu rủi ro: Công đoạn này bao gồm việc giảm thiểu rủi ro của
những lỗ hổng bảo mật đã tìm thấy. Những lỗ hổng có mức độ ưu tiên
1
3
được tiếp cận đầu tiên vì chúng có thể gây ra những ảnh hưởng nghiêm
trọng.
Xác thực: Công đoạn xác thực để bảo đảm rằng tất cả các lỗ hổng bảo
mật đã được loại bỏ.
Quan sát: Quan sát network traffic và system behaviors để phát hiện kịp
thời nếu có xâm nhập.
Các giải pháp tiếp cận Vulnerability Analysis khác nhau:
Giải pháp dựa trên sản phẩm: được áp dụng cho mạng nội bộ của một
tổ chức hoặc một hệ thống mạng riêng, nhưng thường là hệ thống mạng
riêng.
Giải pháp dựa trên dịch vụ: là bên thứ ba, cung cấp an ninh và kiểm
nghiệm cho hệ thống mạng. Những giải pháp này có thể được áp dụng ở
bên trong hoặc bên ngoài hệ thống. Trong trường hợp giải pháp này tiếp
cận với mạng nội bộ thì có thể dẫn đến rủi ro về an toàn.
Đánh giá dạng cây: là phương pháp mà người kiểm nghiệm áp dụng
những chiến lược khác nhau cho mỗi thành phần của môi trường hệ thống.
Ví dụ, xem xét một hệ thống mạng của tổ chức trong đó có những máy
móc riêng biệt, kiểm nghiệm viên có thể tiếp cận máy móc dùng hệ điều
hành Windows khác với cách tiếp cận máy chủ dùng hệ điều hành Linux.
Đánh giá hệ quả: là một phương pháp khác dựa vào bản kiểm kê của giao
thức mạng trong mơi trường hệ thống. Ví dụ, nếu kiểm nghiệm viên tìm
được một giao thức, người này sẽ thăm dị các port và services liên quan
đến giao thức đó dựa trên đánh giá hệ quả.
Sau đây là một số bước cần thực hiện để việc đánh giá lỗ hổng bảo mật đạt hiệu
quả. Quản trị viên hệ thống hay kiểm nghiệm viên cần áp dụng những bước sau:
Trước khi sử dụng bất cứ công cụ nào để đánh giá lỗ hổng bảo mật, kiểm
nghiệm viên phải hiểu rõ mọi chức năng của cơng cụ, từ đó tìm được cơng
cụ phù hợp nhất để thu thập thông tin cần thiết.
Đảm bảo công cụ sử dụng không gây tổn hại hoặc vơ hiệu hóa những dịch
vụ đang chạy của hệ thống mạng.
Xác định rõ source location của máy quét để thu hẹp phạm vi focus.
Quét thường xuyên để xác định các lỗ hổng
1
4
Hệ thống đánh giá lỗ hổng chung (CVSS): là một cách để nhận biết những tính
chất cơ bản của lỗ hổng và đưa ra con số cụ thể cho mức độ nghiêm trọng của nó. Những
con số này được sắp xếp vào các nhóm với một số đại diện định tính (ví dụ như low,
medium, high và critical). Điều này giúp tổ chức đánh giá và dành thứ tự ưu tiên xử lý
lỗ hổng một cách đúng đắn nhất
Hệ thống lỗ hổng và phơi nhiễm thông thường (CVE): CVE là một nền tảng
khác mà bạn có thể tìm kiếm thơng tin về lỗ hổng ở đó. CVE cung cấp danh sách các lỗ
hổng an minh mạng đã phát hiện cùng với số nhận dạng và mô tả. Dữ liệu lỗ hổng quốc
gia Mĩ (NVD) vừa được thành lập bởi Viện Tiêu chuẩn và Kỹ thuật quốc gia (NIST).
NVD dựa trên những thông tin thu được từ dữ liệu đầu vào CVE để cung cấp
thêm các thông tin nâng cao cho mỗi đầu vào, ví dụ như thơng tin sửa chữa, điểm nghiêm
trọng và đánh giá ảnh hưởng. Bên cạnh đó, NVD cũng cung cấp những cơng cụ tìm
kiếm nâng cao, ví dụ như tìm bằng OS, bằng tên nhà cung cấp, tên sản phẩm, hoặc/ và
số hiệu version; hay bằng kiểu lỗ hổng, độ nghiêm trọng, quy mô khai thác và ảnh
hưởng.
Trong thời đại công nghệ phát triển như hiện nay, việc tìm kiếm các lỗ hổng bảo
mật trong một môi trường hệ thống nhất định đã trở nên dễ dàng hơn nhờ các công cụ
khác nhau. Các công cụ từ tự động đến thủ cơng đều sẵn có để giúp đỡ việc tìm kiếm.
Máy qt lỗ hổng là cơng cụ tự động được thiết kế chuyên dụng cho tìm kiếm lỗ
hổng, điểm yếu, vấn đề cần giải quyết trong một hệ điều hành, mạng, phần mềm hay
ứng dụng. Những cơng cụ qt này có thể thăm dị kỹ lưỡng scripts, open ports, banners,
running services, configuration errors (lỗi cấu hình) và các khu vực khác.
Ta có thể thực hiện việc phân tích lỗ hổng bảo mật bằng một loạt các tool có sẵn
trong Kali Linux. Danh sách này có một số các danh mục phụ như là fuzzing tools,
nessus scanner, voIP tools. Các cơng cụ chính là Sparta, BED, BBQSQL, cisco-globalexploiter, cisco-auditing-tool, cisco-ocs, cisco-torch, copy-router-config, DBPwAudit,
jSQL Injection, Nmap, Oscanner, openvas, Powerfuzzer, sfuzz, SidGuesser,
SIPArmyKnife, sqlmap, Sqlninja, sqlsus, THC-IPV6, Yersinia, Legion.
1
5
CHƯƠNG 3: GIỚI THIỆU CÔNG CỤ SPARTA
Hiện tại từ phiên bản Kali Linux 2020.1 trở lên, thì Kali Linuxsẽ khơng hỗ trợ
cơng cụ Sparta nữa, mà thay vào đó chúng ta sẽ dùng công cụ Legion.
LEGION là một công cụ nằm trong Kali Linux, là một mã nguồn mở, rất dễ dàng
để sử dụng, hỗ trợ người dùng trong việc khám phá, trinh sát và khai thác hệ thống
thông tin. LEGION còn là một penetration testing framework network siêu mở rộng và
bán tự động, bao gồm nhiều các tính năng vượt trội. Legion được phát triển và duy trì
bởi GoVanguard
Các tính năng của LEGION bao gồm:
-
Giao diện dễ sử dụng cùng với menu phong phú đa dạng và bảng điều khiển cho
phép các pentester có thể nhanh chóng tìm kiếm và khai thác các mục tiêu tấn
công.
-
Các chức năng modular của cơng cụ Legion cho phép người dùng có thểdễ dàng
customize lại Legion và tự động gọi đến những cái script/tool củahọ.
-
Liên kết CVEs để khai thác thông tin chi tiết trong Exploit-Database.
-
Legion có tính năng real-time tự động lưu các kết quả và task của project.
-
Legion cũng cung cấp các dịch vụ như Automatic recon và quét với Nmap,
whataweb, sslyzer, Vulners, webslayer, SMBenum, dirbuster,nikto, Hydra …
-
Tự động phát hiện CVEs (Common Vulnerabilities and Exposures) và CPEs
(Common Platform Enumeration).
Lộ trình phát triển trong tương lai:
-
Tích hợp các cơng cụ: OpenVAS, Shodan.io, Maltego, MetaSploit, Dradis,
theHarvester và một số các công cụ nữa.
-
Thay thế PyQT cùng với giao diện Web để làm cho Legion trở thành mộtmôi
trường kiểm thử đa người dùng.
-
Tạo dòng lệnh interface
Tăng khả năng thu thập dữ liệu và khả năng tạo các báo cáo đánh dấu.
-
Bổ sung thêm Machine Learning để tăng cường chất lượng của các hoạtđộng
khám phá, trinh sát và khai thác hệ thống thông tin.
1
6
1. Cài đặt
Hiện nay trong Kali Linux đã tích hợp sẵn cơng cụ Legion, chúng ta có thể mở
cơng cụ Legion một cách đơn giản theo các bước như sau:
Bước 1: Click vào icon Kali Linux góc trên cùng bên trái
Bước 2: chọn Information Gathering và chọn “legion”
1
7
Bước 3: nhập mật khẩu và khởi chạy phần mềm
2. Hướng dẫn sử dụng công cụ LEGION
Giao diện công cụ gồm 3 phần chính:
1
8
a. Phần phía bên trái là phần input với Scan và Brute là hai chức năng chínhcủa
cơng cụ LEGION.
b. Phần output nằm ở phía bên phải của giao diện cơng cụ.
c. Phần dưới cùng là tồn bộ thơng tin về các tiến trình đang chạy và
logs.
1
9
Tab Scan trong phần input thực hiện công việc khám phá host, thu thập thông tin
và rà quét các lỗ hổng bảo mật.
Tab Brute trong phần input có thể được sử dụng để brute force một máy chủ mục
tiêu. Các tham số của tùy chọn Brute có thể chỉnh sửa được.
Tab Brute
Muốn thực hiện việc quét bất cứ IP riêng lẻ hoặc 1 danh sách các IP, hoặc
là cáchostname thì ta click vào icon ở góc phải dưới cùng.
2
0
Màn thêm mới IP để quét hiện lên
Đây chính là nơi mà ta nhập vào 1 IP riêng lẻ, hoặc 1 danh sách các IP, hoặc là
các hostname để thực hiện việc rà quét. Để thêm nhiều IP mục tiêu, ta chỉ cần tách
chúng ra với nhau bằng dấu chấm phẩy.
Nơi nhập IP vào
2
1
Sau đó ở phần Mode Selection, cơng cụ sẽ cho phép ta chọn các chế độ khác
nhau để quét. Ở đây thì ta có hai chế độ là Easy Mode và Hard Mode.
Mode Selection
Khi ta chọn Easy Mode, ta các tùy chọn quét Nmap và các tính năng điều chỉnh
hiệu suất. Hiện tại đang có 6 tùy chọn hiệu suất bao gồm: Paranoid, Sneaky, Polite,
Normal, Aggressive, Insane. Tùy chọn mức độ hiệu suất cao sẽ mất nhiều thời gian để
thực hiện hơn so với tùy chọn thông thường.
Easy Mode
Khi ta chọn Hard Mode thì chế độ này cung cấp các tính năng bổ sung như chỉnh
sửa tùy chọn quét cổng, tùy chọn khám phá host và chỉnh sửa đối số tùy chỉnh
2
2
Phần Additional Arguments cho phép ta thêm các đối số phục vụ cho việc rà
quét. Ở đây thì sẽ mặc định có 2 đối số là –sV và –O. –sV là version của các dịch vụ
mục tiêu. –O là thông tin về hệ điều hành mục tiêu.
Khi đã hoàn tất việc chỉnh sửa cấu hình thì ta sẽ click nút Submit để công cụ
Legion bắt đầu việc quét. Khi quá trình quét được khởi tạo, Legion bắt đầu tập hợp các
host trực tiếp trong phần bên trái giao diện, các kết quả qt được sẽ nằm phía bên phải.
Ta có thể phân tích các kết quả quét được bằng cách click các tab bên phần
output.
2
3
. Các tab phần output
Và ta có thể mở rộng kết quả quét bằng cách sử dụng thêm các công cụ và scripts
thông qua tùy chọn Services và Tool ở trong phần input
Các tab phần input
2
4
CHƯƠNG 4: THỬ NGHIỆM CÔNG CỤ LEGION
Sau đây, em sẽ thực hiện thử nghiệm rà quét và khai thác các lỗ hổng của máy
ảo Metasploitable 2 bằng công cụ LEGION kết hợp với Metasploit Framework
1. Cơ sở lý thuyết
Công cụ LEGION là cơng cụ được tích hợp bởi nhiều tính năng của các công cụ
khác bao gồm Nikto, Hydra, Nmap. Do vậy ở đây chúng ta sẽ đi tìm hiểu sơ qua về các
công cụ này.
1.1Nikto
Nikto là một phần mềm miễn phí qt lỗ hổng với giao diện dịng lệnh – CLI.
Khả năng quét các máy chủ web để tìm các tệp, CGI nguy hiểm, phần mềm đã cũ và
các vấn đề khác. Nó thực hiện kiểm tra chung cũng như các loại máy chủ với hệ điều
hành khác nhau. Nó cũng chụp và in bất kỳ cookie nào nhận được trong q trình dị
qt. Nikto là phần mềm mã nguồn mở miễn phí.
Nikto khơng được thiết kế như một cơng cụ rà qt ẩn danh. Nó sẽ kiểm tra máy
chủ web trong thời gian nhanh nhất có thể và các tệp trong log hoặc IPS / IDS. Tuy
nhiên, có hỗ trợ cho các phương pháp chống IDS của LibWhisker.
Không phải mọi kết quả đều là vấn đề bảo mật, mặc dù hầu hết đều là như vậy.
Có một số mục là kiểm tra kiểu "chỉ thơng tin" nhằm tìm kiếm những thứ có thể khơng
có lỗ hổng bảo mật, nhưng quản trị viên web hoặc kỹ sư bảo mật có thể khơng biết là
có trên máy chủ. Những mục này thường được đánh dấu thích hợp trong thơng tin được
in. Ngồi ra cịn có một số kiểm tra cho các mục không xác định đã được quét trong các
tệp nhật ký.
Công cụ quét lỗ hổng Nikto là công cụ hiệu quả thường xuyên được cập nhật các
lỗ hổng mới. Điều này cho phép người sử dụng quét các máy chủ web hiệu quả vì tính
thuận tiện và dễ sử dụng của nó.
Những tính năng nổi bật của cơng cụ bao gồm:
-
Nikto được cung cấp miễn phí, mã nguồn mở và được cập nhật thườngxuyên.
-
Có thể được sử dụng để quét bất kỳ máy chủ web nào (Apache, Nginx,Lighttpd,
Litespeed, v.v.)
-
Quét hơn 6.700 lỗ hổng đã biết và kiểm tra phiên bản cho hơn 1.250 máychủ web
(và đang tiếp tục phát triển)
2
5