Pentest là gì? Tìm hiểu về Penetration Testing (kiểm thử thâm nhập)

Penetration Testing là một cuộc tấn công mạng mô phỏng được ủy quyền trên máy tính, nhằm đánh giá tính bảo mật của hệ thống. Quá trình thử nghiệm được thực hiện để xác định tất cả điểm yếu (còn được gọi là lỗ hổng), bao gồm khả năng các bên không được phép truy cập vào những tính năng và dữ liệu hệ thống, cũng như điểm mạnh là cho phép đánh giá rủi ro trên toàn hệ thống.

Penetration Testing là gì?

Penetration Testing, còn được gọi tắt là pen test, pentest hay ethical hacking, là cuộc tấn công mô phỏng nhắm vào hệ thống máy tính để kiểm tra những lỗ hổng có thể được khai thác. Trong bảo mật ứng dụng web, Penetration Testing (kiểm thử thâm nhập) thường được sử dụng để tăng cường tường lửa ứng dụng web (Web Application Firewall - WAF).

Penetration Testing là gì?

Pen testing có thể liên quan đến việc cố gắng vi phạm bất kỳ số lượng hệ thống ứng dụng nào, (ví dụ các interface giao thức ứng dụng - Application Protocol Interface - API, máy chủ frontend/backend) để phát hiện ra các lỗ hổng, chẳng hạn như đầu vào không được xác nhận dễ bị tấn công bằng cách truyền mã độc.

Thông tin chi tiết được cung cấp bởi quá trình kiểm thử thâm nhập có thể được sử dụng để tinh chỉnh các chính sách bảo mật WAF và vá các lỗ hổng được phát hiện.

Những giai đoạn trong Penetration Testing

Quá trình pen test có thể được chia thành 5 giai đoạn.

Những giai đoạn trong Penetration Testing

1. Thu thập và theo dõi thông tin thụ động

Trong giai đoạn đầu tiên của kiểm thử thâm nhập và săn lỗi nhận thưởng, tester phải thu thập thông tin về hệ thống mục tiêu. Vì có khá nhiều phương pháp tấn công và thử nghiệm nên người kiểm thử thâm nhập phải ưu tiên dựa trên thông tin thu thập được để xác định phương pháp phù hợp nhất.

Bước này liên quan đến việc trích xuất các chi tiết có giá trị về cơ sở hạ tầng của hệ thống đích, chẳng hạn như tên miền, block mạng, router và địa chỉ IP trong phạm vi của nó. Ngoài ra, mọi thông tin liên quan có thể nâng cao sự thành công của cuộc tấn công, chẳng hạn như dữ liệu nhân viên và số điện thoại, đều phải được thu thập.

Dữ liệu thu được từ các nguồn mở trong giai đoạn này có thể mang lại những chi tiết quan trọng một cách đáng ngạc nhiên. Để đạt được điều này, hacker mũ trắng phải tận dụng nhiều nguồn khác nhau, đặc biệt chú trọng đến trang web và nền tảng mạng xã hội của tổ chức mục tiêu. Bằng cách thu thập tỉ mỉ thông tin này, tester sẽ đặt nền móng cho nỗ lực trao thưởng lỗi thành công.

Tuy nhiên, hầu hết các tổ chức đều áp đặt các quy tắc khác nhau đối với người kiểm thử thâm nhập trong quá trình trao thưởng lỗi. Điều cần thiết từ quan điểm pháp lý là không đi chệch khỏi các quy tắc này.

2. Thu thập và quét thông tin chủ động

Hai người kiểm thử thâm nhập thực hiện bước thu thập thông tin chủ động

Người kiểm thử thâm nhập sẽ phát hiện thiết bị chủ động và thụ động nào đang hoạt động trong phạm vi IP, thường được thực hiện bằng cách thu thập thụ động trong quá trình trao thưởng cho việc phát hiện lỗi. Với sự trợ giúp của thông tin thu được trong quá trình thu thập thụ động này, người thực hiện pentest cần xác định đường đi của mình - họ cần ưu tiên và xác định chính xác những thử nghiệm nào là cần thiết.

Trong giai đoạn này, tin tặc không thể tránh khỏi việc lấy được thông tin về hệ điều hành, các cổng và service đang mở cũng như thông tin phiên bản của chúng trên những hệ thống live.

Ngoài ra, nếu tổ chức yêu cầu cho phép người kiểm thử thâm nhập giám sát lưu lượng mạng một cách hợp pháp thì thông tin quan trọng về cơ sở hạ tầng hệ thống có thể được thu thập, ít nhất là càng nhiều càng tốt. Tuy nhiên, hầu hết các tổ chức không muốn cấp quyền này. Trong tình huống như vậy, người kiểm thử thâm nhập không được vượt quá các quy tắc.

3. Bước phân tích và kiểm tra

Ở giai đoạn này, người kiểm thử thâm nhập, sau khi tìm ra cách ứng dụng mục tiêu sẽ phản ứng với các nỗ lực xâm nhập khác nhau, sẽ cố gắng thiết lập những kết nối hoạt động với các hệ thống mà nó phát hiện là còn hoạt động và cố gắng thực hiện các yêu cầu trực tiếp. Nói cách khác, đây là giai đoạn mà hacker mũ trắng tương tác với hệ thống mục tiêu bằng cách sử dụng hiệu quả các dịch vụ như FTP, Netcat và Telnet.

Mặc dù thất bại ở giai đoạn này nhưng mục đích chính ở đây là kiểm tra dữ liệu thu được trong các bước thu thập thông tin và ghi chú lại.

4. Nỗ lực thao túng và khai thác

Giai đoạn tấn công của thử nghiệm thâm nhập

Người kiểm thử thâm nhập thu thập tất cả dữ liệu được thu thập trong các quy trình trước đó cho một mục tiêu: Cố gắng giành quyền truy cập vào hệ thống mục tiêu giống như cách mà một hacker thực sự, độc hại sẽ làm. Đây là lý do tại sao bước này rất quan trọng. Bởi vì khi tham gia chương trình săn lỗi nhận thưởng, người kiểm thử thâm nhập nên suy nghĩ giống như những tin tặc thực sự.

Ở giai đoạn này, người kiểm thử thâm nhập cố gắng xâm nhập vào hệ thống, sử dụng hệ điều hành chạy trên hệ thống đích, các cổng mở và những dịch vụ phục vụ trên các cổng này cũng như những phương thức khai thác có thể được áp dụng tùy theo phiên bản của chúng. Vì các cổng và ứng dụng dựa trên web bao gồm rất nhiều code và rất nhiều thư viện, nên tin tặc có ác ý sẽ có phạm vi tiếp cận lớn hơn để tấn công. Về mặt này, người kiểm thử thâm nhập tốt nên xem xét tất cả các khả năng và triển khai tất cả mọi vectơ tấn công có thể được phép trong những quy tắc.

Việc này đòi hỏi chuyên môn và kinh nghiệm nghiêm túc để có thể sử dụng thành công và linh hoạt các phương thức khai thác hiện có, không làm hỏng hệ thống và không để lại bất kỳ dấu vết nào trong quá trình tiếp quản hệ thống. Do đó, giai đoạn kiểm thử thâm nhập này là bước quan trọng nhất.

5. Nỗ lực nâng cao đặc quyền

Sức mạnh của một hệ thống được quyết định ở mắt xích yếu nhất của nó. Nếu một hacker mũ trắng truy cập được vào hệ thống, họ thường đăng nhập vào hệ thống với tư cách là người dùng có thẩm quyền thấp. Ở giai đoạn này, người kiểm thử thâm nhập cần có quyền admin, khai thác các lỗ hổng trong hệ điều hành hoặc môi trường.

Sau đó, họ sẽ nhắm đến việc chiếm giữ các thiết bị khác trong môi trường mạng bằng các đặc quyền bổ sung mà họ đã đạt được và cuối cùng là những đặc quyền người dùng cấp cao nhất như quản trị viên domain hoặc quản trị viên cơ sở dữ liệu.

6. Báo cáo và trình bày

Người kiểm thử thâm nhập báo cáo kết quả săn lỗi nhận thưởng
Người kiểm thử thâm nhập báo cáo kết quả săn lỗi nhận thưởng

Khi quá trình kiểm thử thâm nhập và các bước săn lỗi nhận thưởng được hoàn thành, người kiểm thử thâm nhập hoặc người săn lỗi phải trình bày các lỗ hổng bảo mật mà họ đã phát hiện trong hệ thống đích, những bước tiếp theo và cách họ có thể khai thác các lỗ hổng này cho tổ chức bằng một báo cáo chi tiết. Điều này phải bao gồm các thông tin như ảnh chụp màn hình, code mẫu, giai đoạn tấn công và nguyên nhân lỗ hổng này có thể xảy ra.

Báo cáo cuối cùng cũng phải bao gồm đề xuất giải pháp về cách thu hẹp từng lỗ hổng bảo mật. Độ nhạy và tính độc lập của các thử nghiệm thâm nhập vẫn còn là một bí ẩn. Hacker mũ trắng không bao giờ được chia sẻ thông tin bí mật thu được ở giai đoạn này và không bao giờ được lạm dụng thông tin này bằng cách cung cấp thông tin sai lệch, vì điều đó thường là bất hợp pháp.

Những phương pháp Penetration Testing

Những phương pháp Penetration Testing

External test (Thử nghiệm thâm nhập từ bên ngoài)

Thử nghiệm thâm nhập từ bên ngoài nhắm vào “tài sản” của một công ty có thể nhìn thấy trên Internet, ví dụ chính bản thân ứng dụng web, trang web của công ty, email và domain name server (DNS). Mục tiêu là để có được quyền truy cập và trích xuất dữ liệu có giá trị.

Internal test (Thử nghiệm thâm nhập từ bên trong)

Trong thử nghiệm thâm nhập từ bên trong, người thử nghiệm có quyền truy cập vào một ứng dụng đằng sau tường lửa sẽ mô phỏng một cuộc tấn công do chính người trong nội bộ tiến hành. Cuộc tấn công này không chỉ cảnh báo viễn cảnh một nhân viên nào đó trong nội bộ có thể chính là hacker, mà còn nhắc nhở quản trị viên đề phòng việc một nhân viên trong tổ chức bị đánh cắp thông tin đăng nhập, sau một cuộc tấn công phishing.

Blind test (Thử nghiệm “mù”)

Trong thử nghiệm blind test, người thử nghiệm chỉ được cung cấp tên của doanh nghiệp đang nhắm mục tiêu. Điều này cung cấp cho nhân viên phụ trách bảo mật cái nhìn thời gian thực về cách thức một cuộc tấn công ứng dụng sẽ diễn ra trong thực tế.

Double blind test

Trong thử nghiệm double blind test, nhân viên phụ trách bảo mật không biết gì trước về cuộc tấn công được mô phỏng. Giống như trong thế giới thực, không phải lúc nào cũng biết trước các cuộc tấn công để nâng cao khả năng phòng thủ.

Targeted test

Trong kịch bản này, cả người kiểm tra và nhân viên phụ trách bảo mật sẽ làm việc cùng nhau và liên tục đánh giá hành động của nhau. Đây là một bài tập huấn luyện có giá trị, cung cấp cho đội ngũ bảo mật thông tin phản hồi thời gian thực theo quan điểm của hacker.

Penetration testing và tường lửa ứng dụng web

Penetration testing và tường lửa ứng dụng web

Penetration testing và WAF là các biện pháp bảo mật độc lập, nhưng cùng mang lại lợi ích hỗ trợ nhau.

Đối với nhiều loại pen test (ngoại trừ thử nghiệm blind và double blind test), người thử nghiệm có thể sử dụng dữ liệu WAF, chẳng hạn như nhật ký, để xác định vị trí và khai thác điểm yếu của ứng dụng.

Đổi lại, quản trị viên WAF có thể hưởng lợi từ dữ liệu pen test. Sau khi hoàn thành thử nghiệm, cấu hình WAF có thể được cập nhật để bảo vệ chống lại các điểm yếu được phát hiện trong quá trình test.

Cuối cùng, pen test đáp ứng một số yêu cầu về việc tuân thủ quy trình kiểm tra bảo mật, bao gồm cả PCI DSS và SOC 2. Một số tiêu chuẩn, như PCI-DSS 6.6, chỉ có thể được thỏa mãn thông qua việc sử dụng WAF được chứng nhận.

Bộ công cụ của hacker mũ trắng

Hacker mũ trắng sử dụng pen test để tìm ra các lỗi và lỗ hổng
Hacker mũ trắng sử dụng pen test để tìm ra các lỗi và lỗ hổng

Ethical hacking không phải là một công việc chỉ cần có kỹ năng. Hầu hết các hacker mũ trắng (ethical hacker) đều sử dụng hệ điều hành và phần mềm chuyên dụng để giúp công việc của họ dễ dàng hơn, tránh những sai lầm thủ công.

Vậy các hacker này sử dụng pen test để làm gì? Dưới đây là một vài ví dụ.

Parrot Security OS

Parrot Security là một hệ điều hành dựa trên Linux được thiết kế để kiểm tra thâm nhập và đánh giá lỗ hổng. Nó thân thiện với đám mây, dễ sử dụng và hỗ trợ nhiều phần mềm mã nguồn mở khác nhau.

Live Hacking OS

Cũng là một hệ điều hành Linux, Live Hacking là một lựa chọn thích hợp cho những người làm công việc pentest, vì nó nhẹ và không yêu cầu phần cứng cao. Live Hacking được đóng gói sẵn với các công cụ và phần mềm để kiểm tra thâm nhập và ethical hacking.

Nmap

Nmap là một công cụ thông minh mã nguồn mở (OSINT) giám sát mạng, thu thập và phân tích dữ liệu về host và server của thiết bị, làm cho nó có giá trị đối với các hacker mũ đen, xám và trắng.

Nmap cũng đa nền tảng và hoạt động với cả Linux, Windows và macOS, vì vậy nó rất lý tưởng cho những ethical hacker mới bắt đầu.

WebShag

WebShag cũng là một công cụ OSINT. Đây là một công cụ kiểm tra hệ thống, quét các giao thức HTTPS và HTTP, đồng thời thu thập dữ liệu và thông tin tương đối. Nó được sử dụng bởi các ethical hacker, nhằm thực hiện các cuộc thử nghiệm thâm nhập từ bên ngoài thông qua các trang web công cộng.

Đi đâu để kiểm thử thâm nhập?

Pen test mạng của chính mình không phải là lựa chọn tốt nhất, vì bạn có thể chưa tích lũy đủ kiến ​​thức sâu rộng về việc này, khiến bạn khó có những suy nghĩ sáng tạo và tìm ra các lỗ hổng ẩn. Bạn nên thuê một hacker mũ trắng độc lập hoặc dịch vụ của một công ty cung cấp dịch vụ pen test.

Tuy nhiên, thuê người ngoài xâm nhập vào mạng của bạn có thể rất rủi ro, đặc biệt nếu bạn đang cung cấp cho họ thông tin bảo mật hoặc quyền truy cập nội bộ. Đây là lý do tại sao bạn nên sử dụng các nhà cung cấp bên thứ 3 đáng tin cậy. Đây là một số gợi ý để bạn tham khảo:

HackerOne.com

HackerOne là một công ty có trụ sở tại San Francisco, cung cấp các dịch vụ kiểm tra thâm nhập, đánh giá lỗ hổng và kiểm tra việc tuân thủ giao thức.

ScienceSoft.com

Tọa lạc tại Texas, ScienceSoft cung cấp các dịch vụ đánh giá lỗ hổng, pen test, kiểm tra việc tuân thủ và cơ sở hạ tầng.

Raxis.com

Có trụ sở tại Atlanta, Georgia, Raxis cung cấp các dịch vụ có giá trị từ pen test và đánh giá mã bảo mật đến đào tạo ứng phó sự cố, đánh giá lỗ hổng và đào tạo phòng ngừa tấn công social engineering.

Thứ Hai, 13/11/2023 11:56
4,39 👨 16.396
0 Bình luận
Sắp xếp theo
    ❖ Giải pháp bảo mật