From 75e4734b6a9f410ae9f6df18fd29cd19c49be4a5 Mon Sep 17 00:00:00 2001 From: Hadi Mottale Date: Fri, 18 Jul 2025 11:09:20 +0330 Subject: [PATCH] Updated: 2021-01-BambooFox/better-than-asm --- 2021-01-BambooFox/better-than-asm/README.md | 52 +++++++++++++++++++-- 1 file changed, 48 insertions(+), 4 deletions(-) diff --git a/2021-01-BambooFox/better-than-asm/README.md b/2021-01-BambooFox/better-than-asm/README.md index 027b3ef..f0a3181 100644 --- a/2021-01-BambooFox/better-than-asm/README.md +++ b/2021-01-BambooFox/better-than-asm/README.md @@ -62,27 +62,71 @@ ## قدم اول: اسکن کردن فایل ابزار ClamAV (Clam AntiVirus) یک موتور آنتی‌ویروس متن‌باز و رایگان است که به طور گسترده برای شناسایی تروجان‌ها، ویروس‌ها، بدافزارها و سایر تهدیدات مخرب استفاده می‌شود. این نرم‌افزار به ویژه در سرورهای ایمیل برای اسکن فایل‌های ضمیمه و جلوگیری از ورود بدافزارها از طریق ایمیل محبوبیت دارد، اما می‌توان از آن برای اسکن فایل‌ها و دایرکتوری‌ها در سیستم‌های لینوکس، یونیکس و ویندوز نیز بهره برد. ابزار خط فرمان اصلی برای اسکن فایل‌ها با ClamAV، دستور `clamscan` است که به کاربران اجازه می‌دهد مسیرهای مشخصی را برای یافتن امضاهای بدافزار (که از پایگاه داده ویروس ClamAV به‌روزرسانی می‌شوند) اسکن کنند. این ابزار به دلیل ماهیت متن‌باز بودن و قابلیت سفارشی‌سازی بالا، گزینه‌ای قدرتمند و انعطاف‌پذیر برای افزودن قابلیت‌های اسکن آنتی‌ویروس به اسکریپت‌ها و سیستم‌های خودکار است. -[مستندات ClamAV](https://docs.clamav.net/manual/Usage/Scanning.html) + +URL: [مستندات ClamAV](https://docs.clamav.net/manual/Usage/Scanning.html) +URL: [بیشتر](https://x.com/pcaversaccio/status/1941114624197231092) +```sh sudo clamscan --infected --recursive sudo apt install clamav clamav-daemon clamav-freshclam sudo freshclam +``` ## قدم دوم: شناسایی نوع و ماهیت فایل‌ها ### دستور ExifTool دستور ExifTool یک ابزار خط فرمان رایگان و متن‌باز و یک کتابخانه پِرل (Perl library) قدرتمند است که برای خواندن، نوشتن و ویرایش فراداده (metadata) در طیف وسیعی از فرمت‌های فایل، از جمله تصاویر (EXIF, IPTC, XMP)، ویدئوها، فایل‌های صوتی و اسناد PDF، استفاده می‌شود. این ابزار قادر است تقریباً تمام تگ‌های فراداده استاندارد و سفارشی را استخراج و دستکاری کند، که آن را برای عکاسان، محققان پزشکی قانونی دیجیتال، توسعه‌دهندگان و هر کسی که نیاز به مدیریت دقیق اطلاعات جاسازی شده در فایل‌ها دارد، بی‌اندازه ارزشمند می‌سازد. ExifTool به دلیل پشتیبانی گسترده‌اش از انواع تگ‌ها و فرمت‌ها، قابلیت‌های ویرایش دسته‌ای، و توانایی حفظ یکپارچگی داده‌ها حتی پس از تغییر فراداده، به عنوان یک استاندارد صنعتی شناخته می‌شود. -[وب‌سایت ExifTool](https://exiftool.org) - +[ ExifTool](https://exiftool.org) +```sh sudo apt install libimage-exiftool-perl +``` ### دستور File دستور `file` یک ابزار استاندارد و قدرتمند در سیستم‌عامل‌های شبه‌یونیکس (مانند لینوکس و macOS) است که برای شناسایی نوع محتوای یک فایل به کار می‌رود. برخلاف بسیاری از دستورات که نوع فایل را صرفاً بر اساس پسوند آن حدس می‌زنند، `file` با بررسی جادویی (magic numbers) موجود در ابتدای فایل‌ها، ساختار داخلی و محتوای واقعی آن‌ها را تحلیل می‌کند. این قابلیت به آن اجازه می‌دهد تا حتی فایل‌هایی را که پسوند اشتباه دارند یا اصلاً پسوندی ندارند، به درستی تشخیص دهد؛ مثلاً می‌تواند یک فایل متنی ساده، یک فایل اجرایی باینری (مانند ELF، Mach-O یا PE)، یک تصویر (JPEG، PNG)، یک آرشیو فشرده (ZIP، GZ)، یا حتی یک سند Word را شناسایی کند. این دستور برای مهندسی معکوس، بررسی امنیتی فایل‌ها، یا صرفاً برای درک اینکه یک فایل ناشناخته واقعاً چیست، بسیار مفید است. +```sh file task.ll sudo apt install file - +``` ### وب‌سایت FileInfo.com وب‌سایت FileInfo.com یک دایرکتوری آنلاین بزرگ از پسوندهای فایل است که به شما امکان می‌دهد با وارد کردن پسوند یک فایل، اطلاعات جامعی درباره آن کسب کنید. این وب‌سایت توضیحات مربوط به نوع فایل، دسته‌بندی آن (مانند فایل ویدئویی یا سند)، برنامه‌های نرم‌افزاری مرتبط که می‌توانند آن را باز کنند و اطلاعاتی درباره توسعه‌دهنده فرمت را ارائه می‌دهد، که آن را به ابزاری مفید برای شناسایی فایل‌های ناشناخته تبدیل می‌کند. +## قدم سوم: کامپایل و اجرای فایل + +نکته: +پسوند فایل .ll عمدتاً به دو منظور استفاده می‌شود: رایج‌ترین آن، فایل‌های پیش‌نمایش تولید شده توسط نرم‌افزار Combit List & Label است که برای گزارش‌گیری کاربرد دارد. اما در حوزه کامپایلرها، به‌ویژه در پروژه LLVM، این پسوند به فایل‌های سورس نمایش میانی (Intermediate Representation - IR) اشاره دارد که یک فرمت کد سطح پایین و قابل خواندن توسط انسان است و نقش واسطه‌ای بین کد منبع و کد ماشین را ایفا می‌کند تا بهینه‌سازی و تولید کد برای معماری‌های مختلف را تسهیل کند. به‌ندرت نیز ممکن است به فایل‌های کد منبع Lex اشاره داشته باشد. LLVM Bitcode مانند یک زبان مشترک جهانی برای کامپایلرها است + +کامپایل: +(کلنگ) Clang یک کامپایلر فرانت‌اند (frontend) برای زبان‌های برنامه‌نویسی C، C++، Objective-C و Objective-C++ است. این کامپایلر بخشی از پروژه بزرگتر LLVM (Low Level Virtual Machine) است و به دلیل سرعت بالا، پیام‌های خطای خوانا، و پشتیبانی قوی از استانداردهای جدید زبان‌ها، بسیار محبوب شده است. +URL: [llvm](https://github.com/llvm/llvm-project) +```sh +sudo apt install clang +``` + +```sh +clang task.ll -mllvm -W -g -W1,-pie -o task.out +``` +اجرا: +```sh +$ ./task.out +Only the chosen one will know what the flag is! +Are you the chosen one? +flag: +``` + + + + + + + + + + + + + + + +