Chúng ta hiện đang sống trong một thời đại với công nghệ thông tin vô cùng phát triển. Cuộc cách mạng 4.0 đang biến đổi toàn thế giới nói chung và làm thay đổi từng thói quen, sinh hoạt sống của mỗi chúng ta nói riêng, đồng thời nó cũng tác động mạnh mẽ tới từng ngóc ngách của xã hội loài người. Những khái niệm mới được sinh ra có thể kể đến như công dân số, doanh nghiệp số, văn phòng điện tử, chính phủ điện tử, thành phố thông minh, … tất cả trở nên phổ biến, dẫn gần gũi và trở thành xu hướng tất yếu của loài người.
Các thông tin cá nhân, sở thích, thói quen sinh hoạt của mỗi con người, hay xa hơn nữa có thể kể đến như các dữ liệu trường học, y tế, doanh nghiệp, chính phủ, … đã trở thành một loại “tài sản” vô cùng giá trị và nhạy cảm. Đối với mỗi ứng dụng, sản phẩm web cũng vậy, chúng cũng chứa những thông tin “nhạy cảm” mà một khi bị tiết lộ cho kẻ xấu, có thể gây nên những tổn hại không thể lường trước.
Có nhiều cách tiếp cận và khai thác các thông tin, dữ liệu từ một trang web. Để bạn đọc dễ hình dung, chúng ta có thể chia chúng theo các dạng:
Một trong những nơi đầu tiên có thể tìm kiếm một số “thông tin thú vị” chính là mã nguồn các trang web. Tất nhiên đây chỉ là phần mã nguồn front-end cho phép hiển thị với người dùng chứ không phải toàn bộ mã nguồn. Tuy nhiên, chúng có thể chứa một số thông tin nhạy cảm của trang web như phiên bản công nghệ hiện đang sử dụng, hoặc một số lời nhắc, thông tin chú thích được các lập trình viên trao đổi với nhau mà … quên chưa xóa!
Ví dụ trường hợp sau, để tiện cho cả team developer sử dụng, tài khoản admin được comment trực tiếp trong source code nhưng chưa kịp xóa bỏ khi public sản phẩm tới người dùng:
Điều này hoàn toàn có thể xảy ra trong thực tế. Và để xem mã nguồn của một trang web, các bạn có thể sử dụng tổ hợp phím Ctrl + U, hoặc sử dụng DevTools với tổ hợp phím Ctrl + Shift + I, … Ngoài mã nguồn trang web, DevTools có thêm nhiều tùy chọn và thu được các thông tin khác.
Mỗi công nghệ web thường có những thư mục mặc định cũng như các thông báo lỗi riêng. Chẳng hạn, khi sử dụng công nghệ WordPress để xây dựng trang web thì mặc định đường dẫn tới trang đăng nhập admin có thể là:
Hoặc một số thông báo lỗi trong các công nghệ web sử dụng, ví dụ thông báo lỗi sau để lộ template được sử dụng là Handlebars, giúp kẻ tấn công thu hẹp phạm vi trong dạng tấn công Server-side Template Injection.
Một số thông báo trả về cho người dùng có thể chứa những thông tin nhạy cảm. Chẳng hạn việc một người dùng nhập sai tên đăng nhập hoặc mật khẩu, dòng thông báo trả về chính xác như “Bạn đã nhập sai tên đăng nhập”, “Bạn đã nhập sai mật khẩu”, giúp kẻ tấn công có thể suy luận chính xác thông tin đang tìm kiếm.
Các thông tin nhạy cảm tiết lộ thường sẽ tạo tiền đề để kẻ tấn công có thể thực hiện tấn công bằng những lỗ hổng khác. Chẳng hạn, một số thông tin nhạy cảm tiết lộ từ thông báo lỗi có thể là dấu hiệu cho những lổ hổng như SQL Injection, Server-side Template Injection, … Đối với một phần mã nguồn bị lộ giúp kẻ tấn công có thể tìm kiếm các cách khai thác trực tiếp trong source code, hoặc xây dựng một cuộc tấn công Deserialize, … Những phiên bản hệ điều hành, phiên bản công nghệ bị lộ có thể giúp kẻ tấn công tìm kiếm một số CVE (Common Vulnerabilities and Exposures) áp dụng với chính phiên bản đó.
Pentest, viết tắt của penetration testing (kiểm tra xâm nhập), là hình thức đánh giá 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ế. Người xưa có câu: “Biết người biết ta, trăm trận trăm thắng”. Giai đoạn thu thập thông tin đóng vai trò vô cùng quan trọng trong quá trình pentest (thường áp dụng với pentest blackbox khi chưa có thông tin gì về mục tiêu).
Trong giai đoạn này, các pentester sẽ thu thập tất cả những thông tin cần thiết về đối tượng. Khi lượng thông tin thu thập được càng nhiều, cũng đồng nghĩa rằng chúng ta càng hiểu rõ về mục tiêu. Từ đó có thể xây dựng một chiến thuật, kế hoạch tấn công hợp lí, toàn diện, giảm thời gian và tiết kiệm công sức.
Các lỗ hổng tiết lộ thông tin có thể xuất hiện ở bất kì đâu và rất đa dạng. Nếu chỉ tìm kiếm thủ công sẽ khó có thể thu thập đầy đủ các thông tin cần thiết. Bởi vậy, chúng ta có thể kết hợp tìm kiếm thủ công cùng với một số công cụ hỗ trợ, các công cụ tôi giới thiệu đều có ưu, nhược điểm riêng, tùy vào sở thích vào thói quen các bạn có thể lựa chọn những công cụ phù hợp với mình nhất!
Wappalyzer là một công cụ giúp phát hiện các công nghệ sử dụng bởi một trang web, ví dụ như: CMS trang web đang sử dụng, framework, nền tảng thương mại điện tử (ecommerce platform), các thư viện Javascript, …
Bên cạnh Wappalyzer còn có nhiều extension khác các bạn có thể tự mình khám phá thêm.
Một vài tính năng, công cụ giúp ích cho việc tìm kiếm các thông tin nhạy trong Burp Suite như:
Với các phần mềm, công cụ thu thập thông tin có Nessus, Nuclei, Screaming Frog, …
Với scan thư mục thì điển hình có thể kể đến như Dirsearch hoặc Gobuster scan dựa trên các list thư mục đa dạng, …
Tài liệu tham khảo:
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE