1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Xây dựng khung kiểm thử bảo mật tự động cho purple team

67 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng khung kiểm thử bảo mật cho Purple Team
Tác giả Tran Duc Hung
Người hướng dẫn TS. Pham Van Hau, THS. Phan The Duy
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Kỹ sư An toàn Thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 67
Dung lượng 34,86 MB

Nội dung

Kiểm tra thâm nhập thủ công hoặc đơn giản là kiểm tra thâm nhập là một đánh giá tỉ mỉ về cơ sở hạ tầng bảo mật của hệ thống, được thực hiện bởi các nhà nghiên cứubảo mật có năng lực, trả

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHI MINH

TRAN DUC HUNG

KHOA LUAN TOT NGHIEP

XAY DUNG KHUNG KIEM THU BAO MAT

CHO PURPLE TEAM

BUILDING AUTOMATIC PENETRATION TESTING

FRAMEWORK FOR PURPLE TEAMS

KY SU NGANH AN TOAN THONG TIN

TP HO CHi MINH, 2022

Trang 2

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG

TRAN ĐỨC HUNG - 18520810

KHOA LUAN TOT NGHIEP

XAY DUNG KHUNG KIEM THU BAO MAT CHO

PURPLE TEAM

BUILDING AUTOMATIC PENETRATION TESTING

FRAMEWORK FOR PURPLE TEAMS

KY SU AN TOAN THONG TIN

GIANG VIEN HUONG DAN

TS PHAM VAN HAU

THS PHAN THE DUY

TP HO CHi MINH, 2022

Trang 3

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng chấm khoá luận tốt nghiệp, thành lập theo quyết định số

Ngày của Hiệu trưởng trường Đại học Công Nghệ Thông Tin

Trang 4

LOI CAM ON

Nhóm thực hiện khóa luận chân thành cảm ơn thầy TS Pham Văn Hậu và thay

ThS Phan Thế Duy đã theo sát quá trình thực hiện đề tài, đóng góp những ý

kiến hữu ích để nhóm có thể hoàn thành đề tài khóa luận một cách hoàn chỉnh

nhất.

Nhóm xin gởi lời cảm ơn đến gia đình và bạn bè đã động viên, khuyến khích

nhóm hoàn thành khoá luận.

Nhóm cũng xin cảm ơn đến tất cả quý thầy cô trường Đại học Công nghệ Thông

tin - ĐHQG TP.HCM, đặt biệt là thầy cô ở phòng thí nghiệm an toàn thông tin và

khoa Mạng máy tính và Truyền Thông đã giúp đỡ và hỗ trợ nhóm

Xin chân thành cảm ơn!

TP.Hồ Chí Minh, ngày 1 tháng 07 năm 2022

Nhóm tác giả

Trang 5

Mục lục

1 Tổng quan đề tài

11 Ly dochọn để tai} eee

1.2 Mục tiêu nghiên ctu) 2 eee 1.3 Phạm vinghiêncứu| ẶẶẶẶ

15 Phương pháp thựchiện|

1.6 Câu trúc Khóa luận tốtnghiệp|

2_ Tổng quan tình hình nghiên cứu 2.1 Tinh hình nghiên cứu và các công trình liên quan|

2.2 Tính mới và tính khoa học của dé tài|

TÓM TẮT KHOÁ LUẬN 3.11 Tổng quan về Kiểm thử xâm nhập 3.1.2 Các hình thức thực hiện pentest|

3.1.3 Lý do cần phải thực hiện kiểm thử xâm nhập 3.1.5 Tự động hoá quá trình kiểm thử xâm nhập 3.2 Top 10 lỗ hổng OWASP| c

321 Tân công

injection| -3.2.2 Xác thực bi hong (Broken Authentication)|

3.2.3 Lộ dữ liệu nhạy cảm|

3.2.4 XML ExternalEntHHesl

3.2.5 Kiểm soát truy cập bị hỏng (Broken Access Control)|

Trang 6

326 Cấuhìnhsail

3.2.7 Insecure Deserialization|

3.2.11 Các lỗ hổng và sự phơi nhiễm phổ biến (CVE)

3.3 Các công cụ hỗ trợ kiểm thử xâm nhập

3.3.1 NMATPI|

¬

3.3.3 Các công cụ hỗ trợ tìm kiếm lỗ hổng bảo mat web]

3.3.4 Tường lửa ứng dụng web Mod Security|

¬ se ee eee ee

4 Phuong phap thuc hién

4.1 Xây dựng bộ khung tự động hóa quá trình kiểm thử xâm nhap) .

4.2 Tìm kiếm thông tin| cSSSSS

4.3 Tìm kiếm lỗ hổng bảo mật

Trang 8

Danh sách bảng

2.1 Bảng So sáng kiểm thử xâm nhập tự động và kiểm thử xâm nhập

ne 6

5.2 Bảng cau hình các công cu kiểm thử xâm nhập được sử dung}

5.3 Bảng so sánh kiểm thử xâm nhập tự động với các công cụ trên thị

trường trên nên tang DVWA| 51

5.4 Bảng so sánh kiểm thử xâm nhập tự động với các công cụ trên thị

trường trên nên tang bWAPP| 52

5.5 Bảng so sánh kiểm thử xâm nhập tự động với các công cụ trên thị

trường trên nẻ tang online testphp.vulnweb.com| 52

viii

Trang 9

Danh mục từ viết tắt

2FA Two-Factor Aauthentication CVE Common Vulnerabilities and Exposures DOM Document Object Model

JSON JavaScript Object Notation

LFI Local File Injection

OSI Operating System Injection

SQLI Structured Query Language Injection

WAF Wcb Application Firewall XML_ Xxtensible Markup Language

1x

Trang 10

Danh mục tu tạm dịch

Chứng chỉ Cert Khai thác Exploits

Kiểm thử xâm nhập Penetration testing

Lỗ hổng Vulnerabilities

May chu Server Tai trong Payload

Ma thông báo Token

Tan công tiêm tải trong Injection attack

Trinh sat Recon

Tường lửa Firewall

Uy quyén Authorization

Xác thực Indetity

Trang 11

TÓM TẮT KHOÁ LUẬN

Khi xây dựng ứng dụng công nghệ như web hay mobile, một trong những bước

không thể thiếu để gia tăng bảo mật cho sản phẩm là kiểm thử xâm nhập Kiểm

tra thâm nhập thủ công hoặc đơn giản là kiểm tra thâm nhập là một đánh giá tỉ

mỉ về cơ sở hạ tầng bảo mật của hệ thống, được thực hiện bởi các nhà nghiên cứubảo mật có năng lực, trải qua nhiều bước, có thể mất nhiều ngày sau đó để hoàn

thành các bản kiểm thử thủ công Trong nghiên cứu này, chúng tôi sẽ tự động hoá quá trình kiểm thử xâm nhập giúp phát hiện lỗ hổng có trong ứng dụng và xử lý

lỗ hổng vừa được phát hiện một cách tự động

Trang 12

gọi là các nhà kiểm thử bảo mật(penetration tester) Công việc kiểm thử bảo mật

đòi hỏi người thực hiện phải có một lượng lớn kiến thức về bảo mật, trải quanhiều bước kiểm thử, có thể mắt nhiều ngày để hoàn thành các bản kiểm thử thủcông, tuy nhiên quá trình này đòi hỏi sự kiên nhẫn cũng như tính tỉ mỉ để tránh

bỏ sót dữ liệu và lỗ hổng vì vậy sẽ gây ra sự nhàm chán cũng như dễ dàng bỏ sót

các thông tin quan trọng.

Hiện nay, rất nhiều công cụ được dựng lên để hỗ trợ công việc kiểm thử bảo mậtđược dễ dàng hơn, tự động hoá một số bước trong quá trình, được xem là mộtđịnh hướng chuyển đổi trong tương lai, khi các nhà kiểm thử bảo mật sẽ tự động

hoá hoàn toàn quá trình kiểm thử xâm nhập Tuy nhiên, các công cụ hiện có trên thị trường chỉ tập trung vào một bước hoặc một vài bước trong quá trình kiểm thử

bảo mật và hầu hết chi tập trung vào phát hiện lỗ hổng, không hề có hành độngtiếp theo sau khi phát hiện lỗ hổng Vì thé tôi quyến định xây dựng bộ khung tự

Trang 13

Chương 1 Tổng quan dé tài

động hoá quá trình kiểm thử bảo mật có khả năng xử lý các lỗ hổng sau khi phát

hiện.

Từ những ly do trên, tôi quyến định chon dé tài "Xây dung khung kiểm thử bảomật tự động cho purple team" để làm dé tài nghiên cứu cho khoá luận

1.2 Mục tiêu nghiên cứu

Xây dựng công cụ tự động hóa quá trình kiểm thử xâm nhập cho đội tím nhằmphát hiện sớm lỗ hổng và tự động hóa xử lý khẩn cấp lỗ hổng giúp giảm tải khối

lượng công việc cũng như tăng độ chính xác cho quá trình kiểm thử xâm nhập.

1.3 Pham vi nghiên cứu

- Các phương thức thực hiện và phát hiện lỗ hổng trong môi trường bảo mật web

- Các phương pháp xử lý lỗ hổng hậu phát hiện

- Nghiên cứu khả năng mở rộng và tối ưu hoá tài nguyên máy tính sử dụng chomục đích kiểm thử xâm nhập

1.4 Tính ứng dụng

Nghiên cứu của chúng tôi có thể áp dụng cho các doanh nghiệp đang có nhu cầu

cải thiện khả năng phát hiện lỗ hổng và xử lý lỗ hổng hậu phát hiện hoặc pentester

có như cầu tự động hoá quá trình kiểm thử xâm nhập, quá trình pentest được xâydựng chỉ tiết, dé dang mở rộng và phát triển theo như cầu

1.5 Phương pháp thực hiện

- Tìm hiểu các kiến thức nền tảng về các đối tượng nghiên cứu trong đề tài

- Tìm hiểu các công trình nghiên cứu đã được thực hiện trong và ngoài nước

- Đưa ra phương pháp xây dựng và triển khai hệ thống

Trang 14

Chương 1 Tổng quan dé tài

1.6 Cau trúc Khóa luận tốt nghiệp

Qua những gì đã giới thiệu về tổng quan của đề tài thực hiện trong khoá luận tốtnghiệp, tôi xin đưa ra nội dung của Khoá luận tốt nghiệp sẽ được tổ chức như

sau:

° Chương] Tổng quan đề tài.

° Chương Tổng quan vẻ tình hình nghiên cứu

° Chương] Cơ sở lý thuyết của khóa luận.

° Chương Phương pháp thực hiện trong khóa luận

° Chương] Hiện thực và thực nghiệm

e Chương |6| Kết luận và hướng phát triển của khóa luận.

Trang 15

Chương 2

Tổng quan tình hình nghiên cứu

2.1 Tình hình nghiên cứu và các công trình liên quan

Trong thời gian gần đây, van dé an toàn thông tin trong doanh nghiệp đang đượcchú trọng và dau tư, đặc biệt sau các vụ tan công mạng, các doanh nghiệp vừa

và nhỏ phải biết bảo vệ khỏi nguy cơ tân công vào cơ sở hạ tầng Năm 2021, phát

hiện 811.902 nguy cơ tắn công mạng, tăng 5,5% so với năm 2020, trong đó 757.064

là các tấn công mạng khai thác lỗ hổng bảo mật, nhắm vào các hệ thống cổngthông tin điện tử, các hệ thống chỉ đạo điều hành tác nghiệp Khoảng 31.013 là

các tan công mạng liên quan đến các hình thức truy cập trái phép] Do vậy, các

doanh nghiệp vừa và nhỏ phải có trang bị cần thiết để giảm thiểu nguy cơ tân

công mạng, nhưng đặc điểm ở các doanh nghiệp này thường không có đội ngũ

chuyên gia bảo mật Cho tới hiện tại, quy trình kiểm thử xâm nhập rất phức tạp

và phải thực hiện thủ công, chỉ có thể được thực hiện bởi chuyên gia với nhiều

năm kinh nghiệm Người kiểm thử phải viết bản khai thác của riêng họ , học các

làm chủ công cu khả dụng được công bố trên mang Internet, gây tẻ nhạt và tốn

thời gian Dưới đây là bảng so sánh quy trình kiểm thử tự động và thủ công.

TNguôn:

https://www.mic.gov.vn/mic_2020/Pages/TinIuc/153265/Nam-2021-phat-hien-gan-812-nghin-nguy-co-tan-cong-mang-vao-cac-mang-CNTT-trong-yeu.html

Trang 16

Chương 2 Tổng quan tình hình nghiên cứu

Thủ công Tự động

Quy trình | Quy trình thủ công, phi tiêu | nhanh, quy trình chuẩn, dễ dàng

kiểm thử | chuẩn và chi phí tùy chỉnh cao | lặp lại

Bảo trì cơ sở dữ liệu là thủ công, ¬ kk „

¬ x R nn Co so dữ liệu tan công được bao Quan lý cơ | can dựa vào co sở dữ liệu công Co - l

ae tee Ce VỀ a ố QÀ 2 thì và nâng cap tự động Mã khai

sở dữ liệu | khai, cân việt lại mã tân công l 1 à

thác hoạt động cho nhieu nên

tấn công để hoạt động trên các nền tảng

mm tảng khác nhau

khác nhau 5

Báo cáo Yêu cầu thu thập liệu thủ công | Báo cáo tự động và tùy chỉnh

BANG 2.1: Bảng So sáng kiểm thử xâm nhập tự động và kiểm thử

tác giả Ajmal [1| Cụ thể, trong nghiên cứu BÌ, nhóm tác giả Hu sử dụng công

cụ shodan để thu thập dữ liệu máy chủ có liên quan nhằm xây dựng cấu trúc liênkết mạng thực tế và sử dụng phân tích lỗ hổng đa tầng đa máy chủ (MulVAL) đểtạo cây tan công cho cấu trúc liên kết đó; các thuật toán tìm kiếm truyền thốngđược sử dụng để tìm tất cả các đường tấn công có thể có trong cây đó và để xây

dựng biểu diễn ma trận khi cần bằng các thuật toán học tăng cường sâu Ở giai

đoạn thứ hai, nhóm tác giả sử dụng phương pháp Deep Q-Learning Network

(DQN) để khám phá con đường tấn công dễ khai thác nhất từ các ứng viên cóthể Cách tiếp cận này được đánh giá bằng cách tạo ra hàng nghìn kịch bản đầuvào và DỌN có thể tìm ra đường dẫn tối ưu với độ chính xác 0,86, đồng thời cungcấp các giải pháp hợp lệ trong các trường hợp khác

Trang 17

Chương 2 Tổng quan tình hình nghiên cứu

DQN

Deep Reinforcement Learning Model

PenetrationTools

Environment

HÌNH 2.1: Cấu trúc của khung kiểm thử tu dộng

Với cách tiếp cận như Hình |2.1| của nhóm tác giả, giả định tấn công va tìm

ra con đường khai thác khả thi nhất, điều này có thể dẫn tới việc phát hiện cáctrường hợp dương tính giả, vì cách này không đánh giá khả năng tắn công dựavào điều kiện thực tế mà đánh giá dựa vào giả định, tìm tất cả khả năng và chọn

ra khả năng dễ bị tấn công nhất vậy nên trong thực tế việc máy chủ có thể có hoặckhông có lỗ hổng này, nên cách tiếp cận của nhóm tác giả không hiệu quả, tuynhiên việc đánh giá tat cả khả năng có thể tan công vào máy chủ giúp tránh đượcviệc bỏ sót trường hợp mà máy chủ có thể bị tấn công hơn

Trong nghiên cứu ùl, nhóm tác giả đưa ra giải pháp sử dụng hệ thống mỗi nhử

với nhiều node là các Honeynet, Nova, honeyd Khi kẻ tấn công gửi yêu cầu vàomạng, bộ điều khiển sẽ chuyển yêu cau tới node phù hợp Hành động của kẻ tâncông sẽ được ghi lại với hệ thống nhật ký và được phân tích để xác định kết nốiđộc hại hoặc mối đe dọa Nhóm tác giả đã đưa ra giải pháp tạo ra hệ thống mỗi

nhứ linh hoạt trong mạng SCADA Hệ thống SCADA như hình 2.2|là một mạng

lưới các thành phần khác nhau Hệ thống SCADA thu thập và phân tích dữ liệu

Trang 18

Chương 2 Tổng quan tình hình nghiên cứu

từ các thiết bị truyền động khác nhau để giám sát thời gian thực SCADA bao

gồm các thành phần, chẳng hạn như PLC (bộ điều khiển logic có thể lập trình),

HMI (tương tác giữa người và máy), MTU (Thiết bị đầu cuối chính) và RTU (Điềukhiển từ xa thiết bị đầu cuối) Chúng kết hợp và xây dựng một mạng lưới hoànchỉnh PLC giao tiếp với HMI thông qua RTU và MTU

Remote Controller

Mininet - 7 h

' xế Node 1 Node 2` Node 3 `

Í u }

Ovs sở L

ATTACK Engagement Need Based

le) i — Decoys Orchestrating

m win || required | | Conpot, Nova "> cuca”

{Siemens ge Artillery

| Isolated PLC's HML | | \ honeypots / ,

E Vai Modbus Modbus | | | 8 ;

— : A) | Admin Can control the

creation of new decoys

Threat hunters can

deeply monitor each

activity

HINH 2.2: Mạng mỗi nhử SCADA

Với cách tiếp cận này, nhóm tác giả đã xây dựng được một hệ thống mỗi nhửvới day đủ các giao thức phổ biến hiện nay như: HTTP, FTP, SSH, cơ chế hoạtđộng linh hoạt khi có thể thêm bớt các note trong mạng, dé dàng cau hình hệthống điều khiển mang đến khả năng mở rộng cao Thế nhưng mô hình này làmột mô hình bị động khi phải chờ tin tặc tấn công vào, rồi phân tích để xác địnhmối de doa với việc phân tích nhật ký, việc này có thể vượt qua bằng các kỹ thuậtcao như sử dụng mã hóa, ẩn kết nối phía sau kết nối hợp lệ, Sau khi hệ thốngxuất báo cáo cho người quản trị, người quản trị cần có rất nhiều kinh nghiệm đểxem xét, đánh giá và đưa ra quyết định đối với các hệ thống có chứa những lỗhổng tương tự trong mạng môi nhử Điều này dẫn tới việc để vận hành hệ thốngnày cần có một đội ngũ chuyên gia để phân tích mối đe dọa đã được thống kê Sựkhông chủ động, chờ đợi kẻ tan công vô tình tấn công vào hệ thống mỗi nhử để

8

Trang 19

Chương 2 Tổng quan tình hình nghiên cứu

biết được những lỗ hổng tiém tàng trong hệ thống là không an toàn khi nhữngtiêu chí về bảo mật càng ngày càng được nâng cao Ngoài ra, tôi còn tham khảo

các nghiên cứu của nhóm tác giả Al Shebli (ol, Stefinko [7] va Hakluke [2] dé xay

dựng công cu tự động hóa quá trình kiểm thử xâm nhập.

2.2 Tính mới và tính khoa học của đề tài

Theo các nghiên cứu đã trình bày ở mục trên, chưa có nhiều công trình nghiêncứu phát triển công cụ tự động hoàn toàn các bước trinh thám, tan công, đến xử

lý 16 hổng sau khi phát hiện, các nghiên cứu trên chi tập trung vào việc phát hiệnkhả năng xâm nhập vào máy chủ dựa vào trí tuệ nhân tạo, tạo ra nhiều kịch bảnnhất có thể và đánh giá con đường khả thi nhất, dẫn đến việc bỏ sót lỗ hổng vàtạo ra nhiều trường hợp dương tính giả Do đó, dé tài nghiên cứu nay sẽ xây dựng

một giải pháp giúp tự động hóa quy trình kiểm thử xâm nhập và xử lý lỗ hổng

hiệu quả hơn phương pháp sử dụng trí tuệ nhân tạo bằng cách xây xựng các tải

trọng tuỳ chỉnh, giảm thiểu các trường hợp dương tính giả.

Nghiên cứu này xoay quanh van dé tự động hóa các quy trình kiểm thử, giảmthời gian xử lý cũng như tăng hiệu năng của quá trình kiểm thử xâm nhập Bằngcách sử dụng mô hình phân tán để thực hiện các công việc của từng module, giúptăng năng suất của hệ thống Song song với việc tìm kiếm và phát hiện lỗ hổng,nghiên cứu này còn tập trung vào việc xử lý lỗ hổng ngay khi phát hiện bằngcách sử dụng tường lửa ứng dụng web và honeypot để bảo vệ hệ thống máy chủ

Ngoài ra, nghiên cứu cũng tập trung vào sự mở rộng dựa trên điện toán đám

mây, tự động mở rộng khi cần thiết, làm tăng khả năng bảo trì, và giám sát quá

trình một cách dé dàng.

Đề tài tập trung vào xây dựng một quá trình tự động hóa kiểm thử xâm nhập và

xử lý lỗ hổng, giúp hệ thống giảm thiểu rủi ro từ các cuộc tan công mang mộtcách triệt để nhưng không yêu cầu nhiều nhân lực để triển khai

Trang 20

Chương 3

Cơ sở lý thuyết

3.1 Kiểm thử xâm nhập và tự động hoá quá trình kiểm

thử xâm nhập

3.1.1 Tổng quan về Kiểm thử xâm nhập

Pentest, viết tắt của penetration testing (kiểm tra xâm nhập), là hình thức đánhgiá mức độ an toàn của một 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ị tan 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, sourcecode, 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)

Khi thực hiện xâm nhập, pentester cần có được sự cho phép của chủ hệ thốnghoặc phần mềm đó Nếu không, hành động xâm nhập sẽ được coi là hack tráiphép Thực tế, ranh giới giữa pentest và hack chỉ là sự cho phép của chủ đốitượng Vì thế, khái niệm pentest có ý nghĩa tương tự như ethical hacking (hack

10

Trang 21

Chương 3 Cơ sở lý thuyết

có đạo đức), pentester còn được gọi là hacker mũ trắng (white hat hacker).

Để hiểu rõ hơn về Pentest, ta cần hiểu rõ ba khái niệm cơ bản trong bảo mật là

"vulnerabilities", "exploits", va "payloads".

¢ Lỗ hổng (vulnerabilities) là những điểm yếu bảo mật của một phan mềm,

phần cứng, hệ điều hành, hay ứng dung web cho phép kẻ tấn công một cơ

sở để tấn công hệ thống Lỗ hổng có thể đơn giản như mật khẩu yếu, hay

phức tạp như lỗ hổng SQL hoặc tràn bộ nhớ đệm.

® Khai thác (exploits) là hành động lợi dụng một lỗ hổng, sự cố hay lỗi của

phần mềm, đoạn dir liệu hay một chuỗi các lệnh nhằm gây ra hành vi batthường không mong muốn xảy ra trên một hệ thống máy tính Những hành

vi đó bao gồm leo thang đặc quyền, đánh cắp thông tin nhạy cảm, tan công

thức sử dụng, hoặc source code Gray box Testing: Pentest gray box là hình thức

kiểm thử mà pentester nhận được một phần thông tin của đối tượng kiểm thử, ví

dụ URL, IP address, nhưng không có hiểu biết đầy đủ hay quyền truy cập vàođối tượng

Black box testing: Pentest black box, hay còn gọi la ‘blind testing’, là hình thức

pentest dưới góc độ của một hacker trong thực tế Với hình thức này, các chuyêngia kiểm thử không nhận được bắt kỳ thông tin nào về đối tượng trước khi tấncông Các pentester phải tự tìm kiếm và thu thập thông tin về đối tượng để tiếnhành kiểm thử Loại hình pentest này yêu cầu một lượng lớn thời gian tìm hiểu

và nỗ lực tấn công, nên chỉ phí không hề rẻ Ngoài ra còn các hình thức pentest

11

Trang 22

Chương 3 Cơ sở lý thuyết

khác như: double-blind testing, external testing, internal testing, targeted testing

tuy nhiên chúng không phổ biến tại Việt Nam và chỉ được sử dụng với nhu cầuđặc thù của một số doanh nghiệp

Ở đề tài này, tôi sẽ tập trung vào pentest blackbox trong thực tế.

3.1.3 Lý do cần phải thực hiện kiểm thử xâm nhập

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 toàn thông tin của nhiều doanh

nghiệp.

Penetration Testing (kiểm tra thâm nhập) [4] là giải pháp hiệu quả để bảo mật

cho web, mobile app, network, IOT, khỏi cuộc tan công của tin tặc Thông quacác cuộc tấn công mô phỏng thực tế, các kỹ sư kiểm thử có thể tìm ra những điểmyếu bảo mật của hệ thống Qua đó giúp doanh nghiệp vá lỗ hổng kịp thời, trướckhi tin tặc khai thác chúng và gây thiệt hại về tiền bạc, danh tiếng cho tổ chức

3.1.4 Các giai đoạn của kiểm thử xâm nhập

Quá trình kiểm thử xâm nhập có thể được chia làm 5 giai đoạn

Analysis and WAF configuration fos] 01) Planning and reconnaissance

Results are used to configure WAF Test goals are defined and intelligence

settings before testing is run again is gathered.

PENETRATION

Maintaining access TESTING STAGES Scanning

APTs are imitated to see if a vulnerability ® @ Scanning tools are used to understand

can be used to maintain access how a target responds to intrusions.

Gaining access

Web application attacks are staged to

uncover a target's vulnerabilities.

HÌNH 3.1: Hình ảnh quá trình kiểm thử xâm nhập

Giai đoạn đầu tiên bao gồm:

12

Trang 23

Chương 3 Cơ sở lý thuyết

© Xác định phạm vi và mục tiêu của thử nghiệm, bao gồm các hệ thống được

giải quyết và các phương pháp thử nghiệm sẽ được sử dụng

¢ Thu thập thông tin tinh báo (ví dụ: mang và tên miễn, máy chủ thu) để hiểu

rõ hơn cách thức hoạt động của mục tiêu và các lỗ hổng tiềm ẩn của nó

Bước tiếp theo là hiểu ứng dung đích sé phản ứng như thé nào với các nỗ lực xâmnhập khác nhau Điều này thường được thực hiện bằng cách sử dụng:

¢ Phân tích tĩnh - Kiểm tra mã của ứng dụng để ước tinh cách nó hoạt động

trong khi chạy Các công cụ này có thể quét toàn bộ mã trong một lầnchuyển

¢ Phân tích động - Kiểm tra mã của ứng dụng ở trang thái đang chạy Day là

một cách quét thực tế hơn, vì nó cung cấp một cái nhìn thời gian thực vềhiệu suất của ứng dụng

Giành quyền truy cập, giai đoạn này sử dung các cuộc tân công ứng dung web,chang hạn như chèn mã phía người dùng XSS (Cross-site scripting), chèn SQL

và cửa hậu, để phát hiện ra các lỗ hổng của mục tiêu Sau đó, người kiểm tra sẽ

thử và khai thác các lỗ hổng này, thường bằng cách nâng cao đặc quyền, đánh cắp

dữ liệu, chặn lưu lượng truy cập, v.v., để hiểu những thiệt hại mà họ có thể gây ra

Duy trì quyển truy cập, mục tiêu của giai đoạn nay là xem liệu lỗ hổng có thểđược sử dụng để đạt được sự hiện diện lâu dài trong hệ thống bị khai thác haykhông, có đủ lâu để kẻ xấu có thể truy cập chuyên sâu vào cơ sở hạ tầng hay

không Ý tưởng là bắt chước các mối de dọa thường tôn tại trong hệ thống để

đánh cap dữ liệu nhạy cảm nhất của tổ chức

Kết quả của thử nghiệm thâm nhập sau đó được tổng hợp thành một báo cáo chỉtiết:

© Các lỗ hổng cụ thể đã được khai thác

¢ Dữ liệu nhạy cảm đã được truy cập.

¢ Khoảng thời gian pentester có thể ở trong hệ thống mà không bị phát hiện

13

Trang 24

Chương 3 Cơ sở lý thuyết

Thông tin này được phân tích bởi nhân viên an ninh để giúp định câu hình càiđặt WAF của doanh nghiệp và các giải pháp bảo mật ứng dụng khác để vá các lỗhổng và bảo vệ khỏi các cuộc tấn công trong tương lai

3.1.5 Tự động hoá quá trình kiểm thử xâm nhập

Kiểm tra thâm nhập tự động (còn gọi là quét lỗ hổng bảo mật) là một quá trình

đánh giá rủi ro bảo mật trong hệ thống với sự trợ giúp của các công cụ bảo mật

Thực hiện kiểm tra thâm nhập và kiểm tra bảo mật bằng các phương pháp tựđộng nhanh hơn nhiều vì nó dựa vào học máy hoặc các thuật toán để phát hiệncác lỗ hổng Pentester có thể mong đợi kiểm tra thâm nhập tự động hiển thị kếtquả chỉ trong vòng vài giây đến vài phút.Trái ngược với kiểm tra thâm nhập thủ

công, kiểm tra bảo mật tự động không đào sâu hơn để tìm cách khai thác lỗ hổng

mà nó liệt kê các lỗ hổng theo điểm CVSS (điểm mức độ nghiêm trọng) của chúng.

Sau đó, một nhà nghiên cứu bảo mật sẽ xem xét kỹ lưỡng các kết quả để loại bỏcác kết quả dương tính giả Như vậy, đã hoàn thành chặng cuối cùng của kiểm

thử thâm nhập tự động.

3.2 Top 10 lỗ hổng OWASP

OWASP là viết tắt của Open Web Application Security Project là một tổ chức philợi nhuận quốc tế chuyên về bảo mật ứng dụng web Một trong những nguyêntắc cốt lõi của OWASP là tat cả các tài liệu của tổ chức đều miễn phí và dé dàng

truy cập trên trang web chính thức] giúp mọi người đặc biệt là ngành an ninh

mạng có thể cải thiện tính bảo mật của ứng dụng web Các tài liệu OWSAP cung

cấp bao gồm tài liệu, công cụ, video và diễn đàn OWASP được biết đến nhiềunhất qua OWASP Top 10

OWASP Top 10 là một báo cáo được cập nhật thường xuyên về các nguy cơ bảomật đối với bảo mật ứng dụng web, tập trung vào 10 rủi ro/lỗ hổng quan trọngnhất Báo cáo được tổng hợp bởi một nhóm các chuyên gia bảo mật từ khắp nơi

Thttp: / /owasp.org

14

Trang 25

Chương 3 Cơ sở lý thuyết

trên thế giới OWASP đề cập đến Top 10 như một “tài liệu nâng cao nhận thức”

và họ khuyến nghị tất cả các công ty nên kết hợp báo cáo này vào các quy trìnhcủa họ để giảm thiểu rủi ro bảo mật

Dưới đây là các rủi ro bảo mật được báo cáo trong OWASP Top 10:

3.21 Tấn công injection

Tấn công injection xảy ra khi dữ liệu không đáng tin cậy được gửi đến trìnhthông dịch mã (code interpreter) thông qua việc điển các form (biểu mẫu) hoặcmột số dữ liệu khác gửi đến ứng dụng web Ví dụ, kẻ tan công có thể nhập SQLdatabase code vào một biểu mẫu yêu cầu username ở dang plaintext Nếu việcđiển các biểu mẫu đó không được bảo mật đúng cách, điều này sẽ dẫn đến việc

mã SQL đó được thực thi Day được gọi là một cuộc tan công SQL injection

Các cuộc tân công injection có thể được ngăn chặn bằng cách xác minh hoặc “khửtring” dir liệu do người dùng gửi (Xác minh nghĩa là từ chối các dữ liệu đángngờ, trong khi “khử trùng” nghĩa là làm sạch các phan dữ liệu có vẻ đáng ngờ.).Ngoài ra, quản trị viên cơ sở đữ liệu có thể thiết lập các biện pháp kiểm soát để

giảm thiểu lượng thông tin bị lộ ra qua một cuộc tấn công injection.

3.2.2 Xác thực bi hong (Broken Authentication)

Các lỗ hổng trong hệ thống xác thực (login) có thể cho phép kẻ tan công truy cậpvào tài khoản người dùng và thậm chí có khả năng xâm nhập toàn bộ hệ thốngbằng tài khoản quản trị viên Ví dụ: kẻ tấn công có thể lay một danh sách chứa

hàng nghìn tổ hợp tên người dùng/mật khẩu đã biết có được trong một lần vi

phạm dir liệu và sử dụng tập lệnh để thử tat cả các tổ hợp đó trên hệ thống đăng

nhập để xem có tổ hợp nào hoạt động không.

Một số chiến lược để giảm thiểu lỗ hổng xác thực là sử dụng xác thực 2 yếu tốtwo-factor authentication (2FA) cũng như hạn chế hoặc trì hoãn các nỗ lực đăngnhập lặp lại bằng cách sử dụng giới hạn về số lần đăng nhập và thời gian giãncách giữa các lần đăng nhập sai

15

Trang 26

Chương 3 Cơ sở lý thuyết

3.2.3 Lộ dư liệu nhạy cam

Nếu các ứng dụng web không bảo vệ dữ liệu nhạy cảm như thông tin tài chính vàmật khẩu, hacker có thể giành quyền truy cập vào dữ liệu đó và sử dung cho cácmục đích bắt chính Một phương pháp phổ biến để lấy cắp thông tin nhạy cảm là

sử dụng một cuộc tân công on-path attack

Nguy cơ lộ dữ liệu có thể được giảm thiểu bang cách mã hóa (encypt) tất cả dữliệu nhạy cảm cũng như vô hiệu cache của bat kỳ thông tin nhạy cảm nào Ngoài

ra, các nhà phát triển ứng dụng web nên cẩn thận để đảm bảo rằng họ không lưutrữ bat kỳ dữ liệu nhạy cảm nào một cách không cần thiết

3.2.4 XML External Entities

Day là một cuộc tan công ứng dung web bang phân tích cú pháp đầu vào XML(parses XML input) Đầu vào này có thể tham chiếu đến một thực thể bên ngoài(external entity), đang cô gắng khai thác lỗ hổng trong trình phân tích cú pháp(parser) External entity có thể là một đơn vị lưu trữ, chẳng hạn như ổ cứng XMLparser có thể bị lừa để gửi dữ liệu đến một thực thể bên ngoài trái phép và chuyểntrực tiếp dữ liệu nhạy cảm cho kẻ tân công

Các cách tốt nhất để ngăn chặn các cuộc tấn công XXE là để các ứng dụng web

chấp nhận một loại dữ liệu ít phức tạp hơn, chẳng hạn như JSON , hoặc vô hiệuhóa việc sử dụng các thực thể bên ngoài trong một ứng dụng XML.

3.2.5 Kiểm soát truy cập bi hỏng (Broken Access Control)

Access Control hay kiểm soát truy cập dé cập đến một hệ thống kiểm soát quyển

truy cập vào thông tin hoặc chức năng Access Control chứa lỗ hổng cho phép

kẻ tấn công bỏ qua ủy quyền (authorization) và thực hiện các tác vụ như thể là

người dùng có đặc quyền, chẳng hạn như quản trị viên (admin) Ví dụ: một ứng

dụng web có thể cho phép người dùng thay đổi tài khoản mà họ đã đăng nhập

chỉ bằng cách thay đổi một phan của url mà không cần bat kỳ xác minh nào khác

16

Trang 27

Chương 3 Cơ sở lý thuyết

Kiểm soát truy cập có thể được bảo mật bằng cách đảm bảo rằng ứng dụng web

sử dung authorization tokens và đặt các kiểm soát chặt chẽ đối với các token này

3.2.6 Cấu hình sai

lỗi cấu hình sai bảo mật là lỗ hổng phổ biến nhất trong danh sách và thường làkết quả của việc sử dụng cấu hình mặc định hoặc thông báo hiển thị lỗi quá nhiềuthông tin Ví dụ: một ứng dụng có thể hiển thị lỗi mô tả quá nhiều thông tin cóthể tiết lộ các lỗ hổng trong ứng dụng Điều này có thể được giảm thiểu bằngcách loại bỏ bat kỳ tính năng không sử dung nào trong code và đảm bảo rằng các

thông báo lỗi sẽ mang tính tổng quát chung hơn.

3.2.7 Insecure Deserialization

Tan công này bao gồm Serialization & Deserialization

Serialization có nghĩa là lẫy các đối tượng (object) từ mã ứng dụng (applicationcode) và chuyển đổi chúng thành một định dạng có thể được sử dụng cho mụcđích khác, chẳng hạn như lưu trữ dữ liệu vào đĩa hoặc gửi trực tuyến dữ liệu

đó.Deserialization thì ngược lại với Serialization.

Serialization giống như đóng gói đồ đạc vào các hộp trước khi chuyển đi, vàđeserialization giống như mở hộp và lắp ráp đồ đạc sau khi chuyển đi Một cuộctan công deserialization giống như việc xáo trộn nội dung của các hộp trước khi

chúng được giải nén trong quá trình di chuyển.

3.2.8 Chen mã phía người dùng XSS (Cross-Site Scripting)

Cross-Site Scripting (XSS) xảy ra khi các ứng dụng web cho phép người dùng

thêm code tùy chỉnh vào đường dẫn url hoặc vào một trang web mà những người

dùng khác sẽ nhìn thấy Lỗ hổng này có thể bị khai thác để chạy mã JavaScriptđộc hại (malicious JavaScript code) trên trình duyệt của nạn nhân Ví dụ: kẻ tấn

công có thể gửi email cho nạn nhân có vẻ là từ một ngân hàng đáng tin cậy, với

một liên kết đến trang web của ngân hàng đó Tuy nhiên, liên kết này có thể cómột số mã JavaScript độc hại được gắn thẻ vào cuối url Nếu trang web của ngân

17

Trang 28

Chương 3 Cơ sở lý thuyết

hàng không được bảo vệ thích hợp chống lại Cross-Site Scripting, thì mã độc hại

đó sẽ được chạy trong trình duyệt web của nạn nhân khi họ nhấp vào liên kết

Các chiến lược giảm thiểu tấn công XSS bao gồm thoát các yêu cầu HTTP không

đáng tin cậy cũng như xác thực hoặc loại bỏ các nội dung do người dùng thêm vào Sử dụng các web development frameworks hiện đại như ReactJS và Ruby on

Rails cũng cung cấp một số tính năng bảo vệ khỏi các cuộc tấn công Cross-Site

Scripting.

3.2.9 Sử dụng các thành phan có lỗ hổng đã biết

Nhiều nhà phát triển (developer) web hiện nay sử dụng các thành phần như thưviện (libraries) và framework trong các ứng dụng web của họ Những thành phannày là những phần mềm giúp các nhà phát triển tránh công việc thừa và cung cấpchức năng cần thiết; ví dụ phổ biến bao gồm các framework front-end như React

và các thư viện nhỏ hơn được sử dụng để thêm các biểu tượng chia sẻ hoặc thửnghiệm Một số kẻ tấn công tìm kiếm các lỗ hổng trong các thành phần này màsau đó chúng có thể sử dụng để điều phối các cuộc tan công Một số thành phanphổ biến hơn được sử dụng trên hàng trăm nghìn trang web, kẻ tan công tìm thấy

lỗ hổng bảo mật trong những thành phần này có thể khiến hàng trăm nghìn trang

web bị khai thác.

Các nhà phát triển các thành phần này thường cung cấp các bản vá bảo mật vàcập nhật để bổ sung các lỗ hổng đã biết, nhưng các nhà phát triển ứng dụngweb không phải lúc nào cũng có các phiên bản được vá hoặc cập nhật mới nhất

Để giảm thiểu rủi ro khi chạy các thành phan có 16 hổng đã biết, các nhà pháttriển nên xóa các thành phần không sử dụng khỏi dự án, cũng như đảm bảo rằngđang nhận các thành phần từ một nguồn đáng tin cậy và đảm bảo chúng được

cập nhật.

3.2.10 Kiểm tra log và giám sát không hiệu quả

Nhiều ứng dụng web không thực hiện đủ các bước để phát hiện vi phạm dit liệu

Thời gian phát hiện trung bình cho một vi phạm là khoảng 200 ngày sau khi đã

xảy ra Điều này cho phép những kẻ tan công có nhiều thời gian để gây ra thiệt

18

Trang 29

Chương 3 Cơ sở lý thuyết

hại trước khi có bất kỳ phản ứng nào OWASP khuyến nghị rằng các nhà pháttriển web nên thực hiện ghi log và giám sát (monitor) cũng như lên các kế hoạchứng phó sự có để đảm bảo rằng họ nhận thức được các cuộc tan công vào các ứng

dụng.

3.2.11 Cac lỗ hổng và sự phơi nhiễm phổ biến (CVE)

CVE bản chất đây là thuật ngữ được viết tắt từ cụm tiếng anh Common

Vulner-abilities and Exposures Có thể hiểu đây là danh sách các lỗi bảo mật máy tính

công khai Một khi nhắc đến CVE có nghĩa là đang nói về một lỗ hổng bảo mật

đã được gắn một số CVE ID Về cơ bản chương trình này được MITRE tiến hànhkhởi tạo vào năm 1999 Mục đích chính là nhằm xác định và phân loại các lỗ hổngthường gặp Trong đó mỗi CVE sẽ có một bản mô tả thông tin chỉ tiết và cụ thể

Các chuyên gia an ninh mạng chuyên nghiệp sẽ sử dụng bản mô phỏng này để

thảo luận và đưa ra hướng khắc phục lỗ hổng triệt để nhất

CVE phải được giải quyết một cách độc lập và được thừa nhận bởi nhà cung cấpdịch vụ Những lỗ hổng có tác động liên quan tới nhiều sản phẩm khác nhau sẽ

có có CVE riêng biệt.

3.3 Các công cụ hỗ trợ kiểm thử xâm nhập

3.3.1 NMAP

Trong khi hiện nay có rất nhiều công cụ giám sát tiên tiến đóng vai trò là nhữngtrợ thủ đắc lực giúp đỡ các nhà quản trị mạng trong việc quét cổng và phát hiện

các lỗ hổng mạng nhưng Nmap vẫn được coi là một công cụ chuẩn mực.

Các nhà quản trị mạng, quản lý công nghệ thông tin và chuyên gia bảo mật đã,

đang, và sẽ phải đối mặt với một trận chiến không bao giờ kết thúc trên chiếntrường mang tên an ninh mạng Họ sẽ phải liên tục kiểm tra rà soát hệ thốngmạng của của mình để tìm ra các tác nhân gây hại cũng như những lỗ hổng bảo

mật ẩn chứa bên trong Trong khi hiện nay có không ít các tiện ích giám sát có sẵn

hỗ trợ cho các chuyên gia trong việc việc lập bản đồ hệ thống mang và kiểm soátbảo mật, Nmap là sự lựa chọn số một về tính linh hoạt và khả năng vận hành, và

19

Trang 30

Chương 3 Cơ sở lý thuyết

cũng chính những ưu điểm này đã làm cho nó trở thành một công cụ quét cổng

và lỗ hổng bảo mật tiêu chuẩn được thừa nhận rộng rãi trên toàn thế giới

Nmap (tên day đủ Network Mapper) [5] là một công cụ bảo mật được phát triểnbởi Floydor Vaskovitch Nmap có mã nguồn mở, miễn phí, dùng để quét cổng va

lỗ hổng bảo mật Các chuyên gia quản trị mạng sử dụng Nmap để xác định xemthiết bị nào đang chạy trên hệ thống của họ, cũng như tìm kiếm ra các máy chủ cósẵn và các dịch vụ mà các máy chủ này cung cấp, đồng thời dò tìm các cổng mở

và phát hiện các nguy cơ về bảo mật Nmap có thể được sử dụng để giám sát cácmáy chủ đơn lẻ cũng như các cụm mạng lớn bao gồm hàng trăm nghìn thiết bị

và nhiều mạng con hợp thành Mặc dù Nmap đã không ngừng được phát triển,cải tiến qua nhiều năm và cực kỳ linh hoạt, nhưng nên tang của nó vẫn là mộtcông cụ quét cổng, thu thập thông tin bằng cách gửi các gói dữ liệu thô đến cáccổng hệ thống Sau đó nó lắng nghe và phân tích các phản hồi và xác định xemcác cổng đó được mở, đóng hoặc lọc theo một cách nào đó, ví dụ như tường lửa.Các thuật ngữ khác được sử dụng để chỉ hoạt động quét cổng (port scanning) baogồm do tìm cổng (discovery) hoặc liệt kê cổng (enumeration)

20

Trang 31

Chương 3 Cơ sở lý thuyết

i

# nmap -A -Ï4 scanme.nmap.org dÔze

Starting Nmap 4.01 ( http://www.insecure.org/nmap/ ) at 2006-03-20 15:53 PST

Interesting ports on scanme.nmap.org (205.217.153.62):

(The 1667 ports scanned but not shown below are in state: filtered)

PORT STATE SERVICE VERSION

22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99)

Uptime 26.177 days (since Wed Feb 22 11:39:16 2006)

Interesting ports on đÔze.internal (192.168.12.3):

(The 1664 ports scanned but not shown below are in state: closed)

PORT STATE SERVICE VERSION

21/tcp open ftp Serv-U ftpd 4.0

25/tcp open smtp IMail NI-ESMTP 7.15 2015-2

80/tcp open_ http Microsoft IIS webserver 5.0

110/tcp open pop3 IMail pop3d 7.15 931-1

135/tcp open mstask Microsoft mstask (task server c:\winnt\system32\

139/tcp open netbios-ssn

445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds

1025/tcp open msrpe Microsoft Windows RPC

5800/tcp open vne-http Ultr@VNC (Resolution 1024x800; VNC ICP port: 5900)

MAC Address: 00:AQ:CC:51:72:7E (Lite-on Communications)

Device type: general purpose

Running: Microsoft Windows NI /2K/XP

OS details: Microsoft Windows 2000 Professional

Service Info: OS: Windows

HÌNH 3.2: Hình anh thực hiện quá trình quét cổng

Các gói dữ liệu mà Nmap gửi đi sẽ trả về các địa chỉ IP và nhiều dữ liệu liênquan khác, cho phép xác định các loại thuộc tính mạng, cung cấp cho người dùng

hồ sơ hoặc sơ đồ hệ thống mạng và cho phép tạo một bảng liệt kê, đánh giá vềphần cứng và phần mềm trong hệ thống mạng đó

Các giao thức mạng khác nhau sử dụng các loại cầu trúc gói khác nhau Nmap sửdụng các giao thức tang bao gồm TCP (giao thức điều khiển truyền), UDP (giaothức truy vấn người dùng), va SCTP (giao thức truyền dẫn điều khiển luồng),cũng như các giao thức hỗ trợ như ICMP (giao thức tin nhắn điều khiển Internet,

được sử dụng để gửi thông báo lỗi).

21

Trang 32

Chương 3 Cơ sở lý thuyết

Các giao thức khác nhau phục vụ cho các các mục đích và các cổng hệ thống khácnhau Ví dụ, chi phí tài nguyên thấp của UDP rất phù hợp với hoạt động streamvideo trực tuyến theo thời gian thực, sẽ hy sinh một số gói dữ liệu bị mat để đổilây tốc độ, trong khi đó, các video được stream không theo thời gian thực trên

YouTube sẽ được lưu vào bộ đệm và sử dụng TCP chậm hơn, mặc dù giao thức

này đáng tin cậy hơn.

Cùng với nhiều tính năng khác, chức năng quét cổng cơ bản và khả năng chụpgói (packet-capture - tính năng chặn gói dữ liệu đang truyền qua hoặc di chuyểnqua một mạng máy tính cụ thể) của Nmap cũng liên tục được nâng nâng cấp, cải

thiện.

3.32 Shodan

Shodan #|là một công cu tìm kiếm được thiết kế bởi nhà phát triển web JohnMatherly Shodan là một công cụ tìm kiếm khác nhiều so với các công cụ tìmkiếm nội dung như Google, Yahoo hoặc Bing Shodan là một công cụ tìm kiếm đểtìm các thiết bị trực tuyến trên internet như: máy tính, server, webcam, các thiết

bị routers Nó hoạt động bằng cách quét toàn bộ các các thiết bị trên internet có

mở cổng public ra internet và thực hiện phân tích các dấu hiệu được phản hồi

về từ các thiết bị Sử dụng thông tin đó, Shodan có thể cho biết những thứ nhưmáy chủ web (và phiên bản) nào phổ biến nhất hoặc có bao nhiêu máy chủ FTP

ẩn danh tổn tại ở một vị trí cụ thể, hay trả về danh sách các camera có thể truycập trực tuyến qua internet Nói chung, với shodan pentester có thể tìm kiếm bắt

cứ thiết bị nào trên internet miễn là chúng đang có kết nối internet và mở cổng

Hyper-Optimized Data Access Network) hoạt động theo thuật toán sau:

® Tạo một địa chỉ IPv4 (IPV4 là gì) một cách ngẫu nhiên.

“https: / /www.shodan.io/

22

Trang 33

Chương 3 Cơ sở lý thuyết

* Chọn port (cổng dich vụ) ngẫu nhiên và thực hiện gửi câu lệnh kiểm tra.

* Xem nội dung phản hồi của thiết bị (Service Banner) từ đó xác định xem đó

là loại thiết bị gì và chạy cổng gì

® Lap lại quá trình trên nhưng với ip va port mới

Điều này giúp tạo ra sự ngẫu nhiên cũng như đảm bảo tránh gây ra lượng kết nốiquá lớn tới một thiết bị một cách liên tục Các cổng dịch vụ mà shodan thường

xuyên rà quét: (Port 554 — Real Time Streaming Protocol, Port 5060 — SIP, Port 25 — SMTP, Port 161 — SNMP, Port 23 — Telnet, Port 993 - IMAP, Port 22 — SSH, Port 21

- FTP, Ports 8443, 443, 8080, and 80 - HTTPS/HTTP)

3.3.3 Các công cụ hỗ trợ tìm kiếm lỗ hổng bao mật web

Trong khóa luận này, tôi sử dụng một số công cụ như nuclei} dirsearch[f] det] Subfindey|va crt.sH’|dé hỗ trợ cho việc tự động hóa quá trình kiểm thử xâm

Crt.sh là một trang web nơi người dùng có thể tìm thấy tất cả các chứng chỉ SSLhoặc TLS của một tên miễn cụ thể, có thể lợi dụng điều này để tìm kiếm tất cả tênmiễn phụ sử dụng chứng chỉ đó

Nuclei là một ứng dụng mã nguồn mở viết bằng ngôn ngữ golang được phát triểnbởi projectdiscovery, Nuclei cho phát tìm kiếm các lỗ hổng dựa vào template củacác lỗ hổng đã được công bồ trên mạng internet Nuclei cũng cấp khả năng mạnh

Ngày đăng: 03/11/2024, 18:17