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 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.
Google Hacking
Google Hacking là một thuật ngữ ám chỉ các kĩ thuật truy vấn nâng cao 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. Việc truy vấn từ google cũng 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, 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 hoặc truy cập các bản ghi…
Google advanced search
Tìm kiếm nâng cao 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: SQL Injection filetype: pdf
Dưới đây mình chia sẻ một vài method Google Query mà mình biết
Operator | Explain | Example |
intile: | tìm kiếm trong phần title của trang web | intitle:admin intitle:index.of inurl:hits intitle:index.of inurl:wp-content intitle:index.of inurl:wp-content/uploads |
inurl: | tìm kiếm với url | inurl:wp-content/uploads filetype:sql inurl:.ssh intitle:index.of authorized_keys |
intext: | tìm kiếm với phần nội dụng của web(Phần nội dung thường được truy cập bởi người dùng) | intext:”whitehat.vn″ intext:”Tòa nhà Bkav, Khu đô thị mới Yên Hòa, Cầu Giấy, Hà Nội” inurl:ftp inurl:”server-status” intext:”Apache Server Status” |
allintext:/allinurl:/allintitle: | cái này hơi phức tạp. Đại loại là nó làm việc tương tự với những cái phía trên | allintext: “Please login to continue…” “ZTE Corporation. All rights reserved.” allintitle:Welcome to Windows XP Server Internet Services |
filetype: | Giới hạn các loại tập tin mong muốn (*. Cái này các bạn vừa thấy ở trên*) | filetype: xls intext:email intext: password |
site: | Giới hạn kết quả các trang web đã cho. | filetype: xls site: whihat.vn intitle:”index.of” site:mit.edu |
Info: | Cái này thì nó show toàn bộ các thông tin liên quan đến các webpage liên kết, thậm chí là cho phép show được cả cache các trang được lưu trữ | infor:apple.com |
cache: | lấy tất cả các cache mà Google có cho các trang nhât định | cache:sitepoint.com/javascripts/ |
– | Bao gồm các điều kiện khác | inurl:citrix inurl:login.asp -site:citrix.com |
“search-term” | ý là bao quanh cụm từ bằng dấu “”, tìm kiếm chính xác. | inurl:”server-status” intext:”Apache Server Status” |
* | tương tự như dùng trong terminal nhé. Kí tự đại diện cho các từ chưa biết. | a * saved is a * earned |
+ | Thường để cố định các kết quả theo cụm từ mình muốn, Bởi Google thường có xu hướng bỏ qua các từ quá thông dụng trong câu truy vấn | “Machine gun” +uzi |
. | kí tự đại diện cho bất kì kí tự nào tại vị trí đó trong cụm từ tìm kiếm | inurl:.ssh intitle:index.of authorized_keys |
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 … 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, lỗi code
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 filetype:sql inurl:backup inurl:wp-content
Kết quả tìm được
Đ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ừ backup 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 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.
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.
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
Pingback: [CEH - Module 2] Phần 2: Footprinting - Phương pháp thăm dò dấu vết | CRF Blogger