در این مقاله میخوایم به بررسی دو نوع روش هش گرفتن بپردازیم که بسیار موثر و کاربردین (مثلا در شناسایی بدافزار) ، قبلش برسیم به بررسی روش هش گیری مرسوم:
الگریتم های هشینگ معمولی
در الگوریتم های هشینگ مرسوم مثل md5 یا خانواده معزز SHA همگی میان و از فایل یک استرینگ تهیه میکنن که یکتا باشه و خب این الگریتم ها چند تا ویژگی دارن :
- الگریتم باید فارغ ازحجم فایل( چه کوچیک چه بزرگ) هش یکسان تولید کنه ( یه فایل 1 کیلو بایتی اگر یک رشته 32 کاراکتری هش داره یه فایل 10 گیگی هم باید 32 کاراکتر هش داشته باشه)
- کوچیک ترین تغییر در فایل باید کل استرینگ هش رو تغییر بده (مثلا شما یه کتاب آپلود میکنید که 1000 صفحه داره و در یکی از این صفحات یه کلمه hello رو میکنید helo و در استرینگ خروجی باید تغییر عظیمی صورت بگیره)
- نباید بشه مقادیر متفاوتی پیدا کرد که استرینگ هش یکسان تولید بشه
- نباید بشه محتوا اصلی رو از روی استرینگ هش خروجی پیدا کرد (برگشت پذیر نباشه)
حالا شما میایی از یه بدافزاری که مثلا 100 خط کده هش میگیری و یه استرینگ میده ، ولی یه سوال پیش میاد ، اگر ما بیاییم یه خط از این بدافزارو تغییر بدیم و هش بلکل عوض بشه چه کار باید کنیم ؟ (ما یه سری بدافزارا داریم به اسم Polymorphism که میان و ساختار فیلمای خودشونو تغییر میدن و شناسایی شون سخته)
Fuzzy Hashing
جواب استفاده از Fuzzy Hashing هست ، این تکنیک از هش میاد و اون فایلی که ما میخوایم ازش هش بگیریم رو چند قسمت میکنه و از هر قسمت جدا هش میگیره و اینطوری میتونیم بفهمیم که این دوتا فایل چند در صد شبیه همن
مثلا با استفاده از ابزار SSDEEP میتونیم همچین کاریو بکنیم (جلوتر بیشتر توضیح میدم) مثلا در فایل بالا دوتا فایل pdf رو باهم مقایسه کردیم و دیدیم 90 درصد شبیه همن و پایین امدیم و دوتا فایل یکسان pdf رو مقایسه کردیم و دیدیم که خب کاملا یکسانن
استفاده از این ابزار خیلی راحته
میاییم و با سویچ -b از فایل ها هش میگیریم و میریزمشون توی یه فایل متنی
ssdeep.exe -b .\files > hashes.txt
بعد میاییم و فایل های جدیدو مقایسه میکنیم با هش هایی که توی فایل متنی هست
ssdeep -bm hashes.txt .\newfiles
و میاد میگه مثلا کدوم فایل چند درصد شبیهه
Import Hashing
فایلا به دو دسته تقسیم میشن ، یا متن معمولی و سادن یا نیستن ، دسته دوم ساختار باینری دارن (از عکس و PDF گرفته تا فایل های .EXE) و بهشون میگیم Binary Files(درک ساختار هر فرمت فایل در بحث فارنزیک بسیار مهمه)
مثلا در عکس پایین ساختار باینری یک فایل pdf و یک فایل اجرایی (.exe) رو میبینیم
هر فایل اجرایی قبل اجرا شدنش به سیستم عامل میگه چه چیزایی نیاز داره، از مقدار حافظه گرفته تا کتابخانه ها(dll)و.. سر همین هر فایل اجرایی یک ساختار PE داره که این هارو به سیستم عامل میگه
یک قسمت مهمی از این ساختار PE اون Import Table Address هست که میاد میگه آقا مثلا من چه DLL هایی رو میخوام ، ما از همین ویژگی استفاده میکنیم که فایل های اجرایی رو بشناسیم
تفاوت Import Hashing با Fuzzy Hashing چیه؟
در fuzzy ما شباهت محتوا دوتا فایلو بررسی میکنیم ولی در Import ما تشابه باینری دوتا فایلو بررسی میکنیم
سایت هایی مثل Virustotal میان و از هر بدافزار این دوتا هش رو میگیرن :
با استفاده از این دوتا هش که به عنوان IOC اون فایل شناخته میشه میتونید در سازمانتون خیلی از حملات و تهدیدات رو راحت تر شناسایی کنید
به عنوان نکته آخر : متخصصای تجزیه و تحلیل بدافزار شرکت های آنتی ویروس میان و این نوع هش هارو از بدافزارا میگیرن و در دیتابیس آنتی ویروسا قرار میدن (شما به عنوان آپدیت دریافتشون میکنید) و با استفاده از این هش ها موتور های آنتی ویروس خیلی سریع تر و دقیق تر اون بدافزارو شناسایی میکنن ( خود آنتی ویروسا از فایلا هش میگیرن و مقایسه میکنن با دیتابیسشون و اگر تشابه خیلی زیاد بود خب مشکوکه دیگه (^_^) )
اگر سوالی چیزی بود در خدمتم ;)
سلام وقتتون بخیر باشه
اولا که این سوال بی ربطه و بهتر بود تاپیک سوال تو سایت باز میکردید که دوستان ببیننچون اینجا دیده نمیشه
دوما کرک و بروت فورس و دیکشنری اتک کلا بی فایدس ! شما 10 تا سیپیو ryzen 9 بیاری هم نمیتونن بزنن چون پسورد تو لیست نیست
مثل basic http auth هست ، ساده ترین مکانیزم احرازه ولی بایپس نمیشه بروت فورسشم طولانیه!
موفق باشید
اقا یه سوال یکم بی ربط من یه فایل pdf دارم که رمز داره با pdf2john هشش رو جدا کردم ولی 12 ساعت با ryzen9 5900x , 32 RAM . 3010TI با john داشتم کرکش میکردم و کرک نمیشد ، راه حل چیه برای پیدا کردن پسووردش
خود فایله اینه
https://www.uplooder.net/files/b9db39a6c60c3af4acf9a6d0dc418dd1/xah.pdf.html
خود هشش اینه
https://www.uplooder.net/files/36e9aafb2b94e67585edc3caa11ce742/hex.txt.html
ممنون میشم هرکسی میتونه راهنمایی کنه
تو هشکت میشه هش اینو وارد کرد دستورش برای کرک این هش چیه
ممنون از همگی پیشا پیش