1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Tìm hiểu thêm.

Cách tìm IP thật của server đằng sau CloudFlare hay các dịch vụ CDN

Thảo luận trong 'Bug & Exploit' bắt đầu bởi ExpertVN, 1/10/17.

Lượt xem: 374

  1. ExpertVN
    Offline

    ExpertVN Cu Ly Trưởng Thành viên BQT

    Tham gia:
    14/9/17
    Bài gửi:
    330
    Đã được thích:
    38
    Điểm thành tích:
    28
    Guide này nhằm giúp các System Admin nhận ra được rằng mình "misconfiguration" ở đâu khiến hệ thống bị lộ real IP khiến các kẻ tấn công DDoS dễ dàng tấn công hệ thống mà bỏ qua các lớp CDN bảo vệ.

    zVBTmpVO.jpg
    CloudFlare IP​

    Đầu tiên ta cần phải biết danh sách IP của cloudflare (CloudFlare IP) là những IP nào để biết rằng IP tìm được bằng các phương pháp dưới đây là IP thật của server (real IP). Danh sách CloudFlare IP được hãng này public tại đây: https://www.cloudflare.com/ips
    Các CDN khác thì tìm trên internet :)


    Cơ chế hoạt động của CloudFlare và các CDN rất đơn giản. Họ sẽ trở thành các Reverse Proxy (máy chủ trung gian) giữa người dùng và server.

    User <----------> CloudFlare Servers (CDN Servers) <----------> Real Servers

    Để làm chuyện này thì người dùng phải bị buộc kết nối đến các CDN Server thay vì Real Server, CDN server sẽ thay người dùng request và cache các dữ liệu từ Real Server. Và để "ép" người dùng phải bị buộc kết nối đến các CDN Server thay vì Real Server thì các CDN dùng một giải pháp đơn giản đó là khai báo lại các Name Server record của domain website.

    Ví dụ:

    Ở tình trạng bình thường thì Name Server thường là của Hosting Provider hoặc Domain Registrar

    Mã:
    > set type=NS
    > xnohat.com
    
    
    
    	

    Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: xnohat.com nameserver = ns57.domaincontrol.com. xnohat.com nameserver = ns58.domaincontrol.com.
    Khi sử dụng CloudFlare thì Name Server sẽ là của CloudFlare

    Mã:
    > set type=NS
    > anonnews.org
    Server: 8.8.8.8
    Address: 8.8.8.8#53
    Non-authoritative answer:
    anonnews.org nameserver = lisa.ns.cloudflare.com.
    anonnews.org nameserver = ed.ns.cloudflare.com.

    Từ đó các DNS request của user sẽ được phân giải bởi CloudFlare Name Server thay vì Registra Name Server.
    Đây chính là chỗ có thể xảy ra điểm hở khiến có thể tìm thấy server thực đằng sau.
    Concept chính của việc tìm ra Real IP đằng sau CDN
    Là tìm vào các chỗ cấu hình là các Sys Admin vô tình hoặc buộc phải set IP thật thay vì để CloudFlare tự định đoạt.

    Phương pháp #1: Ping

    Cách đơn giản nhất là ping nhưng mà ping vào đâu?

    Một domain ngoài host chính là www thì còn có những subdomain host như ftp.domain.com, mail.domain.com , cpanel.domain.com...
    Có thể các subdomain này vì nhiều lý do bị các SysAdmin cấu hình trỏ A record về IP thật của server. Do đó khi ping các domain này sẽ lòi ra được các IP thật, lấy các IP này so với danh sách CloudFlare IP hoặc CDN IP ở trên, nếu thấy không trùng thì nhiều khả năng là IP thật của server.

    Nếu server chặn ICMP request (ping luôn báo timeout) thì dùng Nmap mà scan.

    Lệnh:

    Mã:
    nmap -sV -sS -F expertvn.com
    Phương pháp #2: NetCraft IP history

    NetCraft là hãng phần mềm network lâu đời, họ có phát triển một hệ thống bot chuyên đi check Domain-IP trên internet. Nhiều khả năng Netcraft Bot đã lấy được IP thật của server trước khi SysAdmin áp dụng CloudFlare.

    Cách dùng:
    Mã:
    http://toolbar.netcraft.com/site_report?url=xnohat.com

    Phương pháp #3: DNS Bruteforce (Subdomain Bruteforce)

    Phương pháp này cũng tương tự như phương pháp Ping, tức là tìm ra cái subdomain chứa IP thật. Ý tưởng của phương pháp này là ping thử hết các subdomain có thể có xem cái nào đang tồn tại thật và check IP của nó xem có phải cloudflare IP không? nếu không thì nhiều khả năng nó là real IP.

    Cách làm:
    Cũng dùng Nmap để scan, và lần này thì dùng DNS Bruteforce script của Nmap.

    Mã:
    nmap --script dns-brute -sn expertvn.com

    Phương pháp #4: mx record

    Các máy chủ mail là một điểm yếu thú vị, nếu như máy chủ web và máy chủ mail đặt cùng một server thì khả năng tìm ra IP thật là rất dễ. Vì các MX record buộc phải phân giải ra IP thật của máy chủ mail, do đó các Sys Admin phải set MX record bằng IP thật. Phương pháp này chỉ thất bại khi mail server là máy chủ riêng biệt với webserver hoặc Sys Admin dùng... Google Mail

    Cách dùng là sử dụng NSLookup:

    Mã:
    > set type=MX
    > lazada.vn
    Server: 8.8.8.8
    Address: 8.8.8.8#53
    Non-authoritative answer:
    lazada.vn mail exchanger = 30 aspmx2.googlemail.com.
    lazada.vn mail exchanger = 30 aspmx4.googlemail.com.
    lazada.vn mail exchanger = 20 alt1.aspmx.l.google.com.
    lazada.vn mail exchanger = 10 aspmx.l.google.com.
    lazada.vn mail exchanger = 30 aspmx5.googlemail.com.
    lazada.vn mail exchanger = 30 aspmx3.googlemail.com.
    lazada.vn mail exchanger = 20 alt2.aspmx.l.google.com.
    Sau đó ping hoặc nmap scan IP các mx record trên nhằm tìm ra IP thật của server

    Phương pháp #5: Script tự động làm hết đống trên

    Rất hay là có một hacker đã viết một script tự động làm hết mấy phương pháp ở trên

    clouldflare-ip.png


    Script này tải tại:

     
  2. Đang tải...


Chia sẻ trang này