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

Thảo luận trong 'Audit/Pentest Security' bắt đầu bởi krone, 03/01/17, 09:01 PM.

  1. krone

    krone Moderator Thành viên BQT

    Tham gia: 26/07/16, 03:07 PM
    Bài viết: 236
    Đã được thích: 119
    Điểm thành tích:
    43
    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 :D*).

    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 filetype: pdf
    [​IMG]


    Oops! 4rum nhà mình cũng chưa có gì là nhiều về việc lưu trữ các file dữ liệu pdf hết nhỉ :D!.

    Dưới đây mình chia sẻ một vài method khai thác Google Query mà mình biết và mình thường hay sử dụng để find vuln :D! ( Thời gian rảnh rỗi á mà :D! Kết quả là từng drop được một database của một web bán chén dĩa =]]]]]]]])
























































    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 (*:D. 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...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.
    [​IMG]


    And....
    [​IMG]


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

    Đ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.
    [​IMG]


    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.
    [​IMG]
    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!)

    Bài viết mình xin tạm kết thúc tại đây, tks guys!
     
    Last edited by a moderator: 16/01/17, 10:01 PM
    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
    zero123, sunny and PhamTheThao like this.
  2. NgMSon

    NgMSon Well-Known Member

    Tham gia: 22/03/17, 10:03 AM
    Bài viết: 542
    Đã được thích: 721
    Điểm thành tích:
    93
    Anh cho phép em đăng bài viết này lên website : nohackingnolife.ga của em được không ạ !
     
    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
  3. krone

    krone Moderator Thành viên BQT

    Tham gia: 26/07/16, 03:07 PM
    Bài viết: 236
    Đã được thích: 119
    Điểm thành tích:
    43
    Bạn có thể ghi nguồn :).
     
    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
    sunny thích bài này.