Các giai đoạn của quá trình Pentest Website

whooshgoo

W-------
14/09/2013
0
6 bài viết
Các giai đoạn của quá trình Pentest Website
I – Giới thiệu

Ở một bài viết trước, chúng ta đã tìm hiểu về khái niệm Pentest hay còn gọi là Penetration testing. Còn bài viết này mình sẽ trình bày về một mảng nhỏ của Pentest đó là Pentest Website và các giai đoạn cơ bản của quá trình đó.

audit_Pentest.png


II – Các giai đoạn

Sau đây là các giai đoạn cơ bản được thực hiện trong quá trình đánh giá Pentest một Website:

001.jpg

1. Planning phase (giai đoạn lập kế hoạch)

Giai đoạn này bao gồm:
  • Xác định phạm vi và kế hoạch để “tấn công” website mục tiêu.
  • Đưa ra các chính sách, tiêu chuẩn đánh giá cho website mục tiêu.
2. Discovery phase (giai đoạn thăm dò)

Khi đã có kế hoạch ta sẽ bắt tay vào giai đoạn tiếp theo, bao gồm các bước:
  • Thu thập càng nhiều thông tin về website mục tiêu càng tốt về hệ thống, thông tin về tài khoản gồm tên và mật khẩu (nếu tìm được). Bước này thường được gọi là “Fingerpinting”.
  • Sử dụng công cụ để quét và dò tìm các lỗ hổng trong hệ thống website.
3. Attack phase (giai đoạn khai thác)

Sau khi đã có được đầy đủ các kết quả từ gian đoạn 2, chúng ta bước qua qua trình “khai thác” mục tiêu.
Với việc biết được chính xác port nào đang mở, dịch vụ nào đang chạy, điểm yếu hay lỗ hổng nào mà các dịch vụ này đang dính, chúng ta có thể tiến hành khai thác, đây chính là bước gần giống với một cuộc tấn công thực sự nhất. Tuy nhiên khác với attacker, mục đích của pentester chỉ là xác thực lỗ hổng có tồn tại hay không chứ không nhằm mục đích gây ảnh hưởng đến doanh nghiệp như lấy các thông tin nhạy cảm hay thậm chí là chiếm quyền điều khiển hệ thống.
4. Reporting phase (giai đoạn báo cáo)

Đây là giai đoạn cuối cùng của quá trình pentest website, giai đoạn này bao gồm việc tạo báo cáo đánh giá chi tiết về những lỗ hổng, nguy cơ mất an toàn thông tin và trình bày với khách hàng để thẩm định. Sau đó, cả hai bên sẽ cùng tiến hành thảo luận các giải pháp khắc phục các lỗ hổng đã phát hiện.
III- Demo

Đây là một ví dụ cho quá trình pentest website, với mục tiêu là website: http://testphp.vulnweb.com/
GĐ 1: Planning Phase
  • Đây là một website test lỗi của tổ chức Acunetix thường được biết đến với công cụ kiểm thử an ninh website “Acunetix web vulnerability scanner”
GĐ 2: Discovery Phase
  • Thu thập một số thông tin cần thiết trên website mục tiêu:
+ Phiên bản Server, ngôn ngữ website sử dụng (độ chính xác những thông tin này chỉ là tương đối):​
1.jpg


+ Ip của website: 176.28.50.165​
2.jpg
  • Sử dụng một số công cụ như Nessus, Acunetix, Nmap, … để tiến hành dò quét và tìm lỗ hổng website
GĐ 3: Attack Phase
  • Giai đoạn này ta sẽ sử dụng những thông tin thu thập được ở trên cùng với kinh nghiệm “đục lỗ” của mình để tiến hành dò tìm và xác thực các lỗ hổng tồn tại trên hệ thống website:
+ Dưới đây là một lỗi SQL injection tìm được trên website mục tiêu: http://testphp.vulnweb.com/artists.php?artist=1’​

3.jpg
+ Ta tiến hành thử khai thác lỗ hổng này và được kết quả là version của database và hệ điều hành chứa webserver:​

4.jpg
+ Đến đây, ta đã có thể xác định chắc chắn website đã bị lỗi SQL injection nên ta sẽ không tiếp tục khai thác vào sâu nữa.​
+ Các lỗ hổng khác, việc dò tìm và khai thác cũng được tiến hành tương tự như trên.​

GĐ 4: Reporting Phase
  • Việc lập báo cáo thì sẽ tùy vào từng thỏa thuận hợp đồng giữa phía bên khách hàng và bên đánh giá để tạo nên form mẫu báo cáo riêng. Tuy nhiên, nhìn chung một mẫu báo cáo sẽ thường bao gồm các mục cơ bản sau:
+ Tên lỗ hổng​
+ Mô tả nguy cơ của lỗ hổng​
+ Minh chứng về lỗ hổng​
+ Khuyến cáo khắc phục (có thể có hoặc không)​

Đến đây, mình xin tạm dừng bài viết khái quát về quá trình pentest website ở trên, hi vọng rằng bài viết sẽ giúp ích được chút nào cho các bạn :)
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
pentest website qua trình pentest web
Bên trên