برای پیدا کردن آدرس IP واقعی یک وب سایت که پشت CloudFlare قرار گرفته است چند راه متداول وجود دارد، و معمولاً کسی اگر دقت نکرده باشد همه آن ها را نبسته است.
قبل از هر چیز باید روش تست کردن آدرس های IP بدست آمده را مرور کنیم.
روش 1: استفاده از فایل hosts و تخصیص IP بدست آمده به دامنه مدنظر
روش 2 : استفاده از curl و ارسال host header انتخابی، مثلاً :
curl -I -H "Host: virgool.io" 79.175.132.61
بررسی رکوردهای DNS، دامنه های مرتبط، تاریخچه آن ها و Subdomainها :
مثلاً در کیس ویرگول ، خودش پشت کلودفلر است اما دامنه های جانبی مثل vrgl.ir و vstat.ir و coronavirus.virgool.io و aparat.design و dataio.ir و tech.cafebazaar.ir و product.alibaba.ir و blog.rahasec.com و ... همه به 79.175.132.61 اشاره می کنند.
شما اگر dig هرکدام اینها را هم بگیرید به virgool.roo.cloud و همین شبکه اشاره می کند.
خود 79.175.132.61 بنظر می رسد به یک Kubernetes Nginx Ingress Controller که به کثیف ترین روش ممکن آپ شده اشاره می کند (هم از روی certificate مشخص است هم از روی پیام default backend - 404). بنظر می رسد از آدرس 58 تا 61 (4 آدرس) روی این کلاستر آدرس دهی شده اند.
ما با curl چک می کنیم این کلاستر به host headerی که virgool.io باشد چه پاسخی می دهد؟
تفاوت نتیجه ارسال host header به هر 4 آدرس بین google.com و virgool.io در تصویر مشخص است، اگر سوئیچ L- را در curl فعال کنیم ، redirect را دنبال می کند و خود ویرگول را باز خواهد کرد.
درخصوص CIDR 79.175.132.0/24 ،متعلق به "آگه پردازان هوشمند، حسام آرمندهی" (دیوار) و خود دیوار هم روی همین AS25184 متصل است. آدرس files.virgool.io البته روی cdn کافه بازار است و از object storage استفاده می کند.
یکی از بهترین راه های پیدا کردن آدرس های مرتبط درصورتیکه سایت از HTTPS استفاده می کند استفاده از censys.io/certificates است.
دقت بفرمایید سایت های متعددی هم هستند که تغییرات رکوردهای dns را ذخیره می کنند و از طریق آن ها می توان تاریخچه NSهای یک دامنه را بررسی کرد. مثلاً یکی از سرویس های خوب برای بررسی DNSها و تاریخچه اونها securitytrails است که با عضویت رایگان هم اطلاعات و امکانات خوبی می دهد. برای مثال درمورد ویرگول : https://securitytrails.com/domain/virgool.io
استفاده از Mail Server هدف
اگر کاری کنید که از طرف سایت یک ایمیل براتون ارسال بشه در هدرهای ایمیل می توان آدرس mail server را چک کرد، در عمده موارد ارسال ایمیل ها از سایت های پشت کلودفلر مستقیماً از mail server خودشان انجام می شود.
ویرگول برای ارسال ایمیل های خودکار سایت از سرویسی بنام آونگ استفاده می کند و ارسال ایمیل ها مستقیم از روی mail server ویرگول نیست.
البته در نهایت از طریق IPv6/IPv4-mapped addresses آدرس سرور اصلی بدست می آید!
راه دیگر آن است که یک ایمیل به آدرس ایمیلی از آن سایت که وجود ندارد ارسال کنید و با دریافت delivery failure message شروع به بررسی mail server هدف و ... بفرمایید.
استفاده از XML-RPC Pingback برای سایت های WordPress
وردپرسی ها یک WordPress XML-RPC Pingback API برای مدیریت دارند که در بسیاری از موارد غیرفعال یا تنظیم درست نشده، برای چک کردن کافیست ببینید آیا این صفحه xmlrpc.php روی root سایت باز می شود یا نه. با استفاده از Burp Collaborator client هم می توانید ببینید چه IP به Collaborator شما درخواست می دهد.
روش favicon
این روش خیلی قطعی نیست، در این روش ما ابتدا هش favicon وب سایت را با اسکریپت ذیل می گیریم و سپس آن را در shodan جستجو می کنیم. این روش برای وب سایت ها یا زیردامنه هایی که default website وب سرور هستند، اگر در دیتابیس شودان باشند جواب می دهد. همچنین از تاریخی که این favicon در دیتابیس شودان ثبت شده تا زمان جستجو ممکن است سرور وب سایت تغییر کرده باشد یا همان آدرس WAF را برگرداند و ... ، بالاخره بدانید بد نیست. از این روش گونه های مختلفی می توان استفاده کرد.
ابزارهای خودکاری که در ادامه معرفی می شوند، این روش را نیز تست می کنند.
# curl -s -L -k "https://virgool.io/images/favicon.png?v=v2.6.4" | python3 -c 'import mmh3,sys,codecs; print(mmh3.hash(codecs.encode(sys.stdin.buffer.read(),"base64")))'
مثلاً برای ویرگول :
عبارت جستجو : http.favicon.hash:-769213030
استفاده از ابزارها و سایت های آماده
یکی از بهترین ها برای پیدا کردن آدرس های واقعی پشت کلودفلر crimeflare هست. سایت اصلی و توضیحات http://www.crimeflare.org:82
ابزارهای مختلفی مثل CloudFail، CloudFlair، HatCloud، cloudip، bypass-firewalls-by-DNS-history ، karma v? ، Lilly و ... هستند که خودکار روش های مختلف را تست می کنند.
برای پیدا کردن اطلاعاتی مثل ارتباطات آدرس ها و سایت های میزبانی شده روی یک آدرس و کوئری های DNSی و ... سایت های sitereport.netcraft.com و dnslytics.com/reverse-ip و urlscan.io و dnsqueries.com و viewdns.info و ipip.net برای مثال سایت های خوبی هستند.
همچنین riskiq.com سرویس کمی پیچیده تر اما حرفه ای ارائه می دهد که برای اینکارها بسیار مناسب است.
البته روش ها و ابزارها بسته به هدف و سناریو متفاوت هستند، اما حداقل چند مورد متداول و ساده را سعی کردم خدمتتون عرض کنم تا اگر لو نرفتن IP واقعی پشت cloudflare به هر دلیل براتون مهم هست دقت بفرمایید.