Hướng dẫn thu thập thông tin trước khi thực hiện pentest cho newbie (phần cuối)

Thảo luận trong 'Exploitation' bắt đầu bởi tuantran, 31/07/21, 02:07 PM.

  1. tuantran

    tuantran Moderator Thành viên BQT

    Tham gia: 27/04/17, 09:04 AM
    Bài viết: 34
    Đã được thích: 18
    Điểm thành tích:
    8
    Chào các bạn lại là mình đây,

    Trong phần 1 của series, mình đã giới thiệu với bạn những công cụ để có thể thu thập thông tin của mục tiêu bằng cách gián tiếp. Trong phần hôm nay chúng ta tiếp tục tìm hiểu thêm các phương thức cũng như các công cụ để hỗ trợ cho việc thu thập thông trực tiếp tin trong quá trình kiểm thử nhé.


    info.jpg

    Cũng như phần trước, chúng ta sẽ lần lượt đi theo các chỉ mục sau:
    • Định nghĩa về thu thập thông tin trực tiếp
    • Giới thiệu về các công cụ và cách lấy thông tin qua những công cụ phổ biến.
    Thu thập trực tiếp là gì?

    Thu thập thông tin trực tiếp là quá trình tác động trực tiếp vào mục tiêu kiểm thử để lấy được những thông tin cần thiết như: cổng dịch vụ được mở, các dịch vụ đang chạy... Từ đó, chúng ta sẽ bước đầu tiếp cận mục tiêu để bắt đầu khai thác lỗ hổng.

    Các công cụ hỗ trợ việc khai thác thông tin trực tiếp

    Ở bài viết này mình sẽ đi ngược với bài trước, đó là tùy theo yêu cầu thực tế trong quá trình kiểm thử mà chúng ta có thể dùng các tool cho hợp lý. Trong trường hợp thiếu những công cụ nào hỗ trợ thì bạn cho mình biết với nhé.

    Thu thập thông tin Domain Name System (DNS)

    DNS là một trong những hệ thống quan trọng nhất trong internet. Nó là một cơ sở dữ liệu phân tán, làm nhiệm vụ chuyển đổi tên miền thành địa chỉ IP tương ứng.

    Mỗi tên miền sẽ cung cấp các bản ghi DNS khác nhau như:

    • NS (Nameserver records): Chứa tên của máy chủ lưu trữ bản ghi DNS cho một tên miền.
    • A: bản ghi này chứa địa chỉ IP của tên miền nào đó.
    • MX – Mail Exchange chứa tên của máy chủ chịu trách nhiệm điều khiển email cho tên miền.
    • PTR – Pointer records được dùng trong reverse lookup zones (vùng tra cứu DNS ngược) và dùng để tìm các bản ghi có liên quan với địa chỉ IP.
    • CNAME – Caconical Name records được sử dụng để tạo bí danh cho các bản ghi máy chủ lưu trữ khác
    • TXT – Text records dùng để chứa bất kì dữ liệu hoặc là dùng cho nhiều mục đích khác nhau như là xác minh quyền sở hữu tên miền.
    Để có thể thu thập được những thông tin trên. Ta có thể dùng HOST command. Bạn có thể đọc thêm ở đây

    Dưới đây là một vài ví dụ:

    1.png

    Trong trường hợp bạn có list subdomain của mục tiêu thì bạn có thể dụng script dưới đây. Đầu tiên, chuẩn bị 1 danh sách tên của các subdomain như sau

    2.png

    Script nhỏ để có thể check được nhiều subdomain cùng lúc. Bạn có thể dùng cmd dưới đây chạy trực tiếp trên terminal.

    Mã:
    For ip in $(cat list.txt); do host $ip.whitehat.vn; done 
    Qua đó bạn có thể thu thập được các IP của subdomain của mục tiêu.

    Đặc biệt hơn nữa, khi mà một tổ chức nào đó cấu hình sai nghiêm trọng tới mức họ không tách các vùng DNS nội bộ và dùng tên DNS bên ngoài thành các tên riêng biệt hay là không liên quan tới zone của nó. Thì vô tình nó cho phép ta lấy được toàn bộ thông tin của cấu trúc mạng từ nội bộ cho đến bên ngoài.

    Để có thể lấy thông tin thì ta dùng lệnh sau:

    Mã:
    Host –l domain_name dns_server_address 
    3.png

    Nếu như bạn có câu hỏi là làm sao lấy được dns name server thì có thể dùng câu lệnh này:

    Mã:
    Dig ns whitehat.vn
    
    # using host
    
    host -t ns whitehat.vn 
    Nếu như bạn lười không muốn tốn thời gian cho những câu lệnh manual thì có thể dùng các công cụ có sẵn trên kali như DNSRecon, DNSenum,…

    Đến đây thì ta có thể đã có những IP hay tên miền của mục tiêu. Tiếp theo, để có thể biết được trên mục tiêu hiện đang dùng các dịch vụ thì cách duy nhất đó là scanning port.

    Scanning Port

    Để có thể biết được mục tiêu đang mở cổng nào thì mình công dưới đây thì rất nổi tiếng cho việc này đó là nmap.
    Mình chỉ giới thiệu những command thông dụng mình hay dùng. Còn nếu như bạn có dùng với những mục đích thì có thể đọc tài liệu tại đây.

    Stealth / SYN scanning.

    SYN scanning là scan các cổng TCP. Công việc của nó là gửi đi gói SYN tới các cổng trên mục tiêu mà không cần hoàn thành việc TCP handshake. Nếu như cổng mở, SYN-ACK sẽ được gửi trở lại từ máy mục tiêu, điều đó thông báo ràng cổng đó có mở hay không.

    Mã:
    nmap –sS IP 
    Dùng để scan các cổng UDP.

    Mã:
    nmap –sU IP 
    Câu lệnh để kiểm tra top 20 cổng thông dụng trên mục tiêu

    Mã:
    nmap –sT –A –top-ports=20 IP 
    Câu lệnh để kiểm tra là mục tiêu đang dùng hệ điều hành gì.

    Mã:
    nmap –O IP 
    Hoặc hiển thị các thông tin banner của các dịch vụ được dùng.

    Mã:
    nmap –sV –sT –A IP
    Ngoài ra, nmap cũng cho phép bạn scan với script để check các dịch vụ đang dùng có các lỗ hổng nào trước đó hay không. Còn nếu bạn có muốn thực hiện toàn bộ các scan trên thì sao? Liệu nmap có đáp ứng hay không? Câu trả lời là có nhé. Để tránh mất thời gian thì bạn có thể tham khảo câu lệnh của mình hay dùng tại đây (lưu ý câu lệnh này tốn thời gian nhiều hơn so với các câu lệnh trên).

    Mã:
    nmap -v -sT -A -T4 -p- -Pn --script vuln -oA full IP 
    Ngoài việc hỗ trợ kiểm tra các cổng được mở thì tùy thuộc vào loại dịch vụ, Nmap cũng hỗ trợ các tính năng cụ thể tương ứng với các dịch vụ đó như SMB, FTP, SMTP,…

    Để có thể những lựa chọn về công cụ hỗ trợ nhiều hơn thì mình giới thiệu một trang mình hay dùng để tham khảo.

    Nếu như bạn biết trang nào hay, hoặc muốn giới thiệu trang của mình thì bạn hãy chia sẻ ở đây cho mọi người cùng biết và cùng nhau học tập nhé.

    Vậy là các bạn đã thu thập được kha khá thông tin để bắt đầu khai thác lỗ hổng rồi đó. Hãy bắt đầu hành nghề pentest thôi !

    Cảm ơn bạn đã đọc bài!!!

    Happy hacking!!!
     
    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
    whf thích bài này.
  2. Scr0x69pt0x00Kiddie

    Scr0x69pt0x00Kiddie New Member

    Tham gia: 02/08/21, 05:08 PM
    Bài viết: 2
    Đã được thích: 0
    Điểm thành tích:
    1
    Hi admin, cho mình hỏi ngoài lề 1 tý.

    Mình có đang tìm hiểu recon network thì ngoài những cái ad nói ở trên mình có thấy người ta còn có đề cập đến cái "ASN discovery" hay là "tìm ASN để xác định các netblock". Mình cũng search các thứ rồi, nhưng toàn những cái linh tinh hoặc copy của nhau. Admin nếu biết (ASN, netblock là gì) thì có thể chia sẻ được không?
     
    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
  3. tuantran

    tuantran Moderator Thành viên BQT

    Tham gia: 27/04/17, 09:04 AM
    Bài viết: 34
    Đã được thích: 18
    Điểm thành tích:
    8
    bạn có thể đọc thêm để xem cách thức nó hoạt động nha https://nmap.org/nsedoc/scripts/asn-query.html
     
    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
    whiteLMK thích bài này.
  4. Scr0x69pt0x00Kiddie

    Scr0x69pt0x00Kiddie New Member

    Tham gia: 02/08/21, 05:08 PM
    Bài viết: 2
    Đã được thích: 0
    Điểm thành tích:
    1
    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
  5. whiteLMK

    whiteLMK Well-Known Member

    Tham gia: 19/02/21, 09:02 AM
    Bài viết: 56
    Đã được thích: 14
    Điểm thành tích:
    8
    hay wa ad
     
    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
  1. bobby13689
  2. tuantran
  3. tuantran
  4. bobby13689
  5. bobby13689