جدول محتوایی

در این مقاله به بررسی کتابخانه های ساخت و تحلیل بدافزار پایتون خواهیم پرداخت.

معرفی

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

خوبی پایتون این است که استفاده از آن بسیار آسان است که جامعه در ارائه ابزار و موارد دیگر بسیار خوب است. هر کاری که انجام می دهید، توسعه وب، وظایف مدیریت سیستم، الکترونیک، تجزیه و تحلیل بدافزار… یک کتابخانه پایتون برای پوشش شما وجود دارد!

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

ساخت و تحلیل بدافزار پایتون

1 – PEfile

PEfile یک کتابخانه است که برای تجزیه فرمت اجرایی قابل حمل استفاده می شود. برای تجزیه و تحلیل بدافزار بسیار مفید است زیرا امکان استخراج اطلاعات مربوط به فایل مانند جدول واردات، اطلاعات هدر و موارد دیگر را می دهد. همچنین دارای برخی مکانیسم‌های تشخیص بسته‌کننده با امضای PEiD تعبیه‌شده است.

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

pip install pefile

خرید سرور مجازی

2 – Lief

Lief یکی دیگر از تجزیه کننده های اجرایی قابل حمل است، همچنین توانایی اسکن فایل های Mach-O و ELF را دارد. Lief ویژگی های بیشتری نسبت به Pefile دارد و آن را به یکی از ابزارهای عالی در جعبه ابزار تجزیه و تحلیل شما برای تجزیه و تحلیل فایل های اجرایی مخرب تبدیل می کند.

برای بارگذاری یک فایل ELF یا PE، پس از نصب و وارد کردن به سادگی می توانید از ماژول تجزیه استفاده کنید.

pip install lief

3 – Capstone

Capstone Engine چارچوبی برای جداسازی باینری است. من مدتی است که از آن برای تجزیه و تحلیل بدافزار استفاده می کنم. این یک کتابخانه قدرتمند است که امکان جداسازی فایل های باینری را فراهم می کند. اگر می‌خواهید برخی از تحلیل‌های مهندسی معکوس خود را خودکار کنید یا مثلاً الگوی شناخته شده تکنیک‌های فرار را شناسایی کنید، بسیار مفید است.

مثال زیر نحوه بارگذاری و جداسازی یک فایل اجرایی را نشان می دهد.

pip install capstone

4 – Unicorn

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

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

pip install unicorn

5 – Frida-Python

فریدا یک چارچوب ابزار دقیق باینری پویا است. برای تجزیه و تحلیل بدافزار، ابزار دقیق باینری بسیار قدرتمند است و می توان از آن برای استخراج اطلاعات مفید مانند آدرس IP، کلید رجیستری، mutex استفاده کرد… همچنین می تواند برای باز کردن بدافزار مفید باشد.

مثال زیر نحوه استفاده از آن را برای استخراج Mutex نشان می دهد.

pip install frida

6 – Ctypes

Ctypes یک ماژول پایتون است که از کتابخانه استاندارد گرفته شده است، که از طریق یک برنامه پایتون امکان فراخوانی توابع و رویه های واقع در یک کتابخانه کامپایل شده، عموماً به زبان C را می دهد (dll با ویندوز و .so با لینوکس).

اساساً می توان از آن برای بارگذاری توابع کامپایل شده و استفاده از کد C با پایتون استفاده کرد. تحت سیستم عامل ویندوز، برای مثال بارگذاری API ویندوز و همچنین بازنویسی شبه کد بسیار مفید است.

مثال زیر نحوه شروع یک فرآیند ساخت و تحلیل بدافزار پایتون در حالت تعلیق را نشان می دهد.

pip install ctypes

7 – Yara-Python

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

اگر با یارا آشنایی ندارید، توصیه می‌کنم به برگه تقلب من در اینجا نگاهی بیندازید.

pip install yara-python

8 – Struct

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

هنگامی که مجبور هستید با چندین نوع داده و تبدیل سروکار داشته باشید، در تجزیه و تحلیل بدافزار بسیار مفید است.

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

خرید گیم سرور

9 – Qiling

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

اولین کاری که باید بعد از نصب Qiling انجام دهید این است که کتابخانه ویندوز را در محیط کاری خود کپی کنید. یک اسکریپت در اینجا موجود است: https://github.com/qilingframework/qiling/blob/master/examples/scripts/dllscollector.bat

هنگامی که DLL و رجیستری را دریافت کردید، می توانید شبیه سازی یک فایل اجرایی را شروع کنید.

برای شبیه سازی یک فایل اجرایی، تنها کاری که باید انجام دهید این است که مسیر PE خود و مسیر DLL ویندوز را ارائه دهید. همچنین می‌توانید یکی از اسکریپت‌های من را در اینجا بیابید تا api را به‌صورت پویا با استفاده از GetProcAddress استخراج کنید.

pip install qiling

10 – Rz-pipe

در نهایت Rz-pipe، یک لفاف python برای Rizin یک جداساز منبع باز است که جایگزین Radare2 می شود. Wrapper اجازه می دهد تا از دستورات معمول در پایتون استفاده کنید که برای اتوماسیون و تجزیه و تحلیل بسیار مفید است. برای کار، نیاز به نصب Rizin در مسیر دارد. پس از نصب، می توانید به راحتی از آن برای جداسازی هر باینری استفاده کنید.

pip install rzpipe + https://github.com/rizinorg/rizin/releases/tag/v0.3.2

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

ممنون که مثل همیشه با ساخت و تحلیل بدافزار پایتون همراه ما بودید موفق و سربلند باشید D:

17رای - امتیاز 4.5 ممنون از امتیازی که دادید..!

دسته بندی شده در: