Aether؛ ابزار متنباز شکار تهدید توی حافظهٔ ویندوز
خلاصهٔ کاملتر
Aether یه ابزار متنباز فارنزیک حافظه (memory forensics) و شکار تهدید برای ویندوزه که با زبان Zig نوشته شده و الان به نسخهٔ بتای عمومی ۰٫۸ رسیده. به گفتهٔ سازنده، این ابزار حافظهٔ زندهٔ یه پروسه رو اسکن میکنه تا الگوهای مخرب، تکنیکهای تزریق کد، امضای ایمپلنتها و اسمبلیهای .NET که بهصورت reflective بارگذاری شدن رو پیدا کنه. نقطهٔ قوتش تشخیص تکنیکهای Hollowing، APC و Thread Hijackingه — یعنی همون روشهایی که بدافزارها برای قایمشدن توی پروسههای سالم استفاده میکنن.
مشکل همیشگی اینجور ابزارها هشدار الکیه. Aether برای حلش از یه معماری چندلایه استفاده میکنه که یه یافته فقط وقتی بهعنوان تهدید گزارش میشه که چند نشانهٔ مستقل با هم موافق باشن. مثلاً اول فقط ناحیههای اجراشدنی (executable) رو در نظر میگیره تا نویز دادهای حذف بشه، بعد بر اساس تعداد صفحههای private درجهبندی میکنه، و فقط وقتی یه ناحیه رو ارتقا میده که یه سیگنال مستقل دیگه — مثل یه امضای شناختهشده یا نبودن ماژول توی لیست PEB — روی همون آدرس توافق کنه.
یکی از لایههای جالب، مقایسهٔ حافظه با دیسکه: Aether فایل اصلی ماژول رو map میکنه و بایتهای اول هر صفحهٔ اجراشدنیِ خصوصی رو با همون قسمت روی دیسک مقایسه میکنه؛ هر تفاوتی یعنی کد توی حافظه دستکاری شده. کنار این، یه «probe» برای پیداکردن hookها داره که دنبال الگوهای کلاسیک trampoline (مثل پرشهای JMP و دنبالهٔ سبک Detours) توی ابتدای صفحههای کد میگرده، و ناحیههای private با دسترسی RWX رو که نشونهٔ کلاسیک شلکده پرچم میزنه.
یه بخش مهم دیگه اعتبارسنجی آدرس شروع نخها (TSAV)ه. Aether برای هر نخ، آدرس شروعش (Win32StartAddress) رو میخونه و وقتی دسترسی اجازه بده، مقدار زندهٔ رجیستر Rip رو هم میگیره. نکتهٔ کلیدی اینه که Win32StartAddress قابل دستکاریه ولی Rip یه نخ معلق (suspended) رو به این راحتی نمیشه بازنویسی کرد؛ پس اگه این دوتا با هم نخونن و به یه ناحیهٔ مشکوک برسن، نشونهٔ تکنیکهاییه مثل EarlyBird یا hijack شدن با SetThreadContext. هر نخ بر اساس نوع حافظهای که توش شروع شده، از CRITICAL تا MEDIUM درجه میگیره.
Aether همچنین یه تشخیص ساده برای پیلودهای رمزشده داره: با آنالیز آنتروپی شانون دنبال ناحیههایی با بایتهای خیلی تصادفی میگرده و میتونه هدر یه فایل PE رو که زیر یه XOR ساده قایم شده پیدا کنه — همون ترفندی که فریمورکهایی مثل Cobalt Strike و Sliver و Donut استفاده میکنن. در کنارش یه ماژول تشخیص beacon هم داره که جدول اتصالات TCP یه پروسه رو زیر نظر میگیره و اتصالهای کوتاهِ دورهای (رفتار کلاسیک callback یه C2) رو شناسایی میکنه.
امضاها توی فایلهای JSON به اسم rule pack سازماندهی شدن و میشه بدون کامپایل مجدد، فایل جدید رو توی پوشهٔ rules/ انداخت. پکهای آماده برای ابزارهای تهاجمی شناختهشده مثل Cobalt Strike، Meterpreter، Sliver و Mimikatz همراهشه. ساختار هر امضا سادهست:
[
{
"pattern": "msxsl:script",
"weight": 5,
"category": "engine_xslt",
"description": "XSLT script block declaration"
}
]خروجی رو میشه بهصورت گزارش رنگیِ کنسول یا JSON قابلپردازش برای SIEM گرفت. محدودیتهاش هم صادقانه اعلام شده: فقط usermodeه (نمیتونه روتکیتهای سطح کرنل رو ببینه)، فعلاً فقط IPv4 رو پایش میکنه، و probe مربوط به Rip فقط نخهای معلق رو میگیره.
نکات کلیدی:
- Aether یه ابزار متنباز فارنزیک حافظه و شکار تهدید برای ویندوزه (نسخهٔ بتای ۰٫۸) که با زبان Zig نوشته شده.
- حافظهٔ زندهٔ پروسهها رو اسکن میکنه تا تزریق کد، Process Hollowing، Thread Hijacking و شلکد رو تشخیص بده.
- برای کمکردن هشدار الکی از یه مدل چندلایه استفاده میکنه که یه یافته رو فقط با توافق چند سیگنال مستقل گزارش میکنه.
- بخش TSAV با مقایسهٔ آدرس شروع نخ و رجیستر Rip یه نخ معلق، ترفندهای spoof کردن آدرس شروع رو لو میده.
- امضاها توی rule packهای JSON هستن و پک آمادهٔ ابزارهایی مثل Cobalt Strike و Mimikatz همراهشه؛ خروجی JSON برای ادغام با SIEM داره.




