Skip to main content

Google Hacking - Kiến thức cơ bản mà Pentester thường bỏ qua!

Mình để ý thấy có nhiều bạn đang bị lu mờ giữa 2 khái niệm Pentest và Hacking. Thực sự thì cũng sẽ khó có thể phân biệt rõ ràng nhưng "Hacking" là cụ từ bạn sẽ sử dụng khi bạn tìm thấy lổ hổng ( cả về lổ hổng logic và lổ hổng đến từ tech ) và khai thác được lổ hổng đó. Còn Pentest theo mình thì chỉ là kiểm tra đánh giá tính bảo mật của một hệ thống hoặc một server nào đó thôi.

OK! Bắt đầu với chủ đề mà mình đề cập tới sau đây. Có nhiều bạn trẻ hỏi mình: "Làm sao để có thể nhanh chóng tìm được lỗi từ ứng dụng web?". Câu trả lời của mình là:"Hãy bắt đầu với Google Hacking."



Google Hacking là một thuật ngữ mà gói gọn một loạt các kĩ thuật cho phép truy vấn trên công cụ tìm kiếm Google.com, đôi khi được dùng để xác định các lổ hổng trong các ứng dụng web cụ thể.(Cụ thể như thế nào thì mình sẽ cố gắng giải thích tiếp trong giới hạn kiến thức mà mình biết). Bên cạnh việc truy vấn từ google có thể tiết lộ các lỗ hổng trong các ứng dụng web, Google Hacking cho phép bạn tìm các dữ liệu nhạy cảm, có ích cho giai đoạn Reconnaissance để attack ứng dụng, chẳng hạn như email liên kết với một trang web nào đó, cơ sở dữ liệu hoặc các file khác với tên người dùng và mật khẩu, các thư mục không được bảo vệ với các tập tin nhạy cảm, URL để đăng nhập cổng thông tin, các loại khác nhau của các bản ghi hệ thống như tường lửa và truy cập các bản ghi....etc.

Nâng cao hơn cho truy vấn Google.

Việc truy vấn cao cấp cho phép bạn có được kết quả tìm kiếm cụ thể hơn từ các truy vấn của bạn, hầu hết đều là các kết quả có liên quan và hữu ích nhât.(*Mình phải công nhận Google đã xây dựng nên một bộ công cụ tìm kiếm không chỉ giúp ích cho người dùng cuối ).

Ví dụ bạn có thể sử dụng các truy vấn để có được các tập tin mà bạn cần chỉ xuất phát từ một hoặc một vài trang web nào đó. Điều này có thể được thể hiện bằng cách truy vấn trên Google cho một tên miền sử dụng Operator:SITE.

Ví dụ bạn có thể sử dụng: site:whitehat.vn filetypedf


Click image for larger version

Name: Capture.PNG
Views: 1
Size: 24,8 KB
ID: 61901



Google Hacking Database
Google hacking database chia thành nhiều loại khác nhau như: thông tin các file bị tổn thương, các file chứa mật khẩu, thông tin về máy chủ và phần mềm trên đó, tìm kiếm các thiết bị trực tuyến...etc. Một Dork chỉ là một truy vấn Google đã tìm ra kết quả hữu ích như khai thác dữ liệu nhạy cảm. Khi duyệt qua các kết quả, bạn nên tham khảo đến thời gian update hoặc thời gian được lữu trữ, Google hỗ trợ điều đó rất tốt từ các kết quả mà nó mang lại cho bạn. Một vài kết quả từ lâu sẽ bao gồm là các thông tin phiên bản ứng dụng gặp lỗi, lỗi ứng dụng code,...everything.

Kiểm tra thâm nhập cơ bản thông qua Google Hacking

Có nhiều cách để tìm kiếm username và password người dùng thông qua các truy vấn của Google. Ví dụ bạn có thể tìm kiếm các file sql có chứa các dữ liệu của các trang web.


Click image for larger version

Name: Capture1.PNG
Views: 1
Size: 36,0 KB
ID: 61902


And....

Click image for larger version

Name: Capture2.PNG
Views: 1
Size: 49,5 KB
ID: 61903


Wowwwwww....Oops!. Che đại phòng trường hợp bất trắc thoai nhá .

Điều này sẽ tìm kiếm cơ sở dữ liệu đã lưu vào các trang web có URL chứa các từ sao lưu và wp-content.Wp-content là thư mục mà người sử dụng và một số plugin tải lên tập tin của họ trong các CMS WordPress phổ biến mà nhiều trang web đang được xây dựng, và backup có khả năng có thể lọc kết quả cho người dùng.

Có rất nhiều các tập tin được sử dụng bởi các loại khác nhau của phần mềm có chứa danh sách tên người dùng và mật khẩu. Ví dụ, htpasswd có thể được sử dụng trong các trang web để thực hiện Basic Authentication. Bạn có thể tìm kiếm htpasswd.bak, filetype: htpasswd và như vậy. Như đã thấy ở đây, tìm kiếm một loại thông tin thường xuyên có thể phơi bày dữ liệu khác có thể được sử dụng trong quá trình thử nghiệm.

Click image for larger version

Name: Capture3.PNG
Views: 1
Size: 26,5 KB
ID: 61904


Xác định thông tin phiên bản!

Truy vấn như intitle:index.of server.at có thể xác định danh sách thư mục với một số thông tin máy chủ được thể hiện trong danh sách này bởi mặc định trong các máy chủ web như Apache. Ví dụ, một tìm kiếm cho intitle:index.of server.at site:somewebsite.edu tiết lộ các phần mềm đặc biệt server (Apache), phiên bản của nó và hệ điều hành của máy nó là như đã thấy trong hình dưới đây.

Click image for larger version

Name: Capture4.PNG
Views: 1
Size: 20,8 KB
ID: 61905
Truy vấn để lấy thông tin máy chủ.
Qua đó, ta có thể thấy rằng có thể tìm kiếm các trang web đang sử dụng các phần mềm, ứng dụng bị lỗi. Công việc này tưởng chừng như vô nghĩa và thường bị các newbie bỏ qua. Sau đó bạn sẽ thấy rằng một phiên bản PHP 5.2 và phiên bản PHP 5.6 nó lỗi tè le như thế nào. :3.(Sắp tới mình cũng sẽ theo dõi để viết một vài bài về PHPMailler cho các bạn theo dõi và sẽ nhấn mạnh về điểm này..version!)

Mong các bạn cảm thấy bài viết hữu ích !

Nguồn: Whitehat.vn

Comments

Popular posts from this blog

Cách sử dụng Nmap để scan Port trên Kali Linux

Port là gì ? Có rất nhiều lớp trong mô hình mạng nói chung, lớp vận chuyển đóng vai trò cung cấp các thông tin liên lạc giữa các ứng dụng hệ thống với nhau, và lớp này thì được kết nối với Port (Cổng). Một số điều lưu ý mà bạn cần biết về port - Port là một số hiệu ID cho 1 ứng dụng nào đó. - Mỗi ứng dụng chỉ có thể chạy trên một hoặc nhiều port và mang tính độc quyền, không có ứng dụng khác được chạy chung. - Chính vì tính độc quyền nên các ứng dụng có thể chỉnh sửa để cho phép chạy với một port khác. - Port cũng có phân chia làm Internal và External . - Số hiệu từ 1->65535. Một số thuật ngữ mà bạn cần nắm rõ Port: Là một địa chỉ mạng thực hiện bên trong hệ điều hành giúp phân biệt các traffic khác nhau của từng ứng dụng riêng lẻ Internet Sockets: Là một tập tin xác định địa chỉ IP gắn kết với port, nhằm để xử lý dữ liệu như các giao thức. Binding: Là quá trình mà một ứng dụng hoặc dịch vụ (service) sử dụng Internet Sockets để xử lý nhập và xuất các dữ liệu ...

Sử dụng react-bootstrap-table trong ReactJS

Xin chào các bạn ! Hôm nay mình xin giới thiệu các bạn về một library của JS đó chính là react-bootstrap-table. Như cái tên đã nói lên tất cả công việc của nó là gì rồi nhỉ, haha. Về mặt cá nhân mình thì thấy nó khá hay trong việc xây dựng lên 1 hệ thống các table với tốc độ phải nói là "Quá nhanh quá nguy hiểm".  Không nói nhiều nữa bắt đầu thôi nào ! Các bạn có thể xem qua nó tại địa chỉ của nó tại github:  https://github.com/AllenFang/react-bootstrap-table Về cơ bản tài liệu của nó cũng rất dễ để sử dụng, các bạn chỉ cần làm theo hướng dẫn của nó là đã có thể tự mình tạo ra được rồi. :) Để sử dụng library này kết hợp với ReactJS   thì tất nhiên các bạn phải install React trước rồi, sau đó các bạn download library react-bootstrap-table về bằng cách download file zip hoặc sử dụng git như sau: $ git clone https://github.com/AllenFang/react-bootstrap-table.git $ cd react-bootstrap-table $ npm install Sau đó chỉ cần npm start là đã có thể xem được các ví dụ củ...