Hooking - قسمت اول :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات

سلام و درود خدمت دوستان و کاربران عزیز وب ویروس32 ضمن تبریک سال جدید و آرزوی موفقیت و شادی و نشاط برای شما عزیزان و خانواده هاتون و به دور از کرونا و پر از پیشرفت برای شما اومدم یک بحثی که توی وبمون زیاد ازش گفته نشده ولی بنده میخوام زیادش کنم D: رو براتون باز کنم ، بعله! مهندسی معکوس و آنالیز بد افزار که برای ویروس نویس ها و دوست داران مهندسی معکوس شروعش خورده میشود..

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

توی این پست میخوام یکم توضیحات بدم خدمتتون در رابطه با hook خدمتتون توضیحات بدم.

خب دوستان همونطور که میدونید سیستم عامل ویندوز یک سیستم عامل مبتنی بر api و مسیج هست و با اون میتونن کار هاشون رو انجام بدن.

مثال شما وقتی یک مسیج باکسی رو به کاربر نمایش میدید توی هر زبانی که فرقی هم نداره ، در اصل از تابع MessageBoxW استفاده میکنید. این تابع توی user32.dll هست.

شما عملا هر کاری که توی ویندوز انجام میدید مبتنی بر توابع (api) انجام میگیره.. از ساخت فایل و  کار با فایل و... بگیر تا کیبورد و تکون دادن موس و پنجره ها و...

خب حالا اگه ما بتونیم ببینیم که یک پروسس از چه توابع api استفاده میکنه بنظرتون میتونیم کار هایی که انجام میده رو بفهمیم؟ تقریبا میشه گفت آره ، یا مثلا اگه بیایم ببینیم که چه پروسس هایی از فلان تابع استفاده کردن یه جاسوسی نسبتا قشنگی میشه:) 

به این عمل میگن هوک کردن (hooking)

ما چند نوع هوک داریم :

1 - هوک سراسری

2 - هوک محلی


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

هوک محلی به هوکی گفته میشه که یک پروسس رو بررسی میکنه و هر تابعی رو که استفاده میکنه رو پیدا میکنه.

خب من یه پست توی پایتون گزاشتم در رابطه با اضافه کردن توابع api توی ویندوز : کلیک

این رو اول با دقت نگاه کنید بعدش بیاین ادامه ی پست رو بریم:)

خب همونطور که توی پست گفته بودم توی هر برنامه ای تابع LoadLibraryA وجود داره ، این تابع از kernel32.dll میاد پس نتیجه میگیریم که kernel32.dll به طور پیشفرض توی پروسس های ویندوز لود شده است.

چرا؟

چون برای لود کردن هر dll به پروسس نیاز به تابع LoadLibraryA داریم بخاطر همین به طور پیشفرض توی برنامه هست .

خب حالا یه نمونه هوک از همینجا ناشی میشه که میتونیم LoadLibraryA رو هوک کنیم و ببینیم که برنامه ها چه نوع dll رو توی برنامه هاشون لود میکنن:)

در رابطه با آموزش هوک یک api بعدا توضیح میدم چون نیاز به اسمبلی داره..

یه نکته ی مهم : هوک کردن بخاطر اینکه بین تابع api و پروسس قرار میگیریم باعث کند شدن نسبتا زیاد سیستم میشه.

هوک کردن فایده و عوارض زیادی داره

یکی از فایده هاش اینه که روتکیت هارو میتونید پیدا کنید .

که البته روتکیت زرنگ روتکیتی هست که بتونه با یک پروسس دیگه ای با api ارتباط برقرار کنه که اون موقع بحث dll injection  و هوکینگ اصلی تازه شروع میشه:)

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

یه نمونه اش اینجاست.

امیدوارم خوشتون اومده باشه تا درودی دیگر بدرود (;

نظر (۸)

اولم:)

Virus32 Attrib 32 :
خوبه:)

اون قسمت که گفتی کلیک کنیم برای

" خب من یه پست توی پایتون گزاشتم در رابطه با اضافه کردن توابع api توی ویندوز : "

به جایی منتقل نمیکنه و میگه چنین صفحه ای وجود ندارد :(

Virus32 Attrib 32 :
ممنون از اطلاع رسانی اصلاح شد:)
  • Virus32
  • محمد جواد حق بیگی
  • بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است

    ***** ** *** ** ****** ** ***************************

    ** ****

    بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است

    *********************************************************************************************  ******* ************************************************************************* ********************************* ************************************************************************************************* *****************************************************************************  **********************************************************************************************************************************************************************************************************************

    ممنون از وبلاگ خوبتون...

    سلام داداش من دارم ی برنامه میسازم ی پسوورد عددی بش میدی میگه چن درصد امنه با چهار تا الوریتم در میارع 

     

    الگوریتم هاش:

     

    1.باتوجه به تکرار اعداد ماند 2442 از امنیت کم میشود اما محدودیت دارد اگر بیشتر از 5 تکرار وجد داشته باشع فقط 5 درصد از امنیتو کم میکنه اگرم 5 تکرار وجد داشته باشع بازم 5% اگرم مثلا دو تکرار 2%

     

    2.چک میکنه به اضای هر عدد که توی پسوورد از 3 کم تر باشع یک درصد از امنیت رو کم میکنه محدودیتشم تا 5 عدده و 5% معمولا پسوورد هایی که پایین تر از 3 باشند زودتر هک میشن مثلا یک ماشین عدد سازی اول 1 و 2 رومیسازع بعد 3 منضورم انیکه دیرتر هک میشع

     

    3.میاد تعداد اعداد رو گرد میکنع باقی موندرو از از 5 کم میکنه جوابو از امنیت کم میکنه محدودیت 10 رقم بیشتر از 10 رقم باشغ بازم همون 5%

     

    4.به اضای هر سه عدد مثل 123 یا 321 یا 456 یا 654 اینجوریع باشع از امنیت کم میکنه محدودیتشم تا 5 سری عدده

     

    الان من با کل اینها یعنی بدترین پسووردم باشع میگع 80 درصد امنیت دارع چون جمع محدودیتا میشه 20 از صد کم کنیم میشع 80 

     

    خلاصع الان من الگوریتم کم اوردم اگر بجز اینا بنةرت هست لطفا بم بگو یا ادرس سایتشو بفرس باتشکر!

    Virus32 Virus 32 :
    سلام
    حروف بزرگ کوچیک
    کارکترهای خاص
    کارکتر های ویژه
    تعداد کرکترها
    حرف e کمتر باشه بهتره
    فاصله
    کلمات نا مربوط و ...
    تو نباید اینطوری امتیاز بدی
    امتیاز باید جمع بشه
    مثلا اینایی که گفتی 20 درصد امنیت
    امنیت هم هیچوقت صد در صد نیست
    ته تهش میتونی 99 درصد امنیت داشته باشی

    سلام یه سوال وقتی یه ویروس تولید کردیم چجوری رمزنگاریش کنیم؟ من یه عکس ضمیمه میکنم ویروس ساز منه فقط تو رمزنگاریش موندم (البته بیشتر جنبه شوخی و یادگیری داره)ویروس ساز

    Virus32 Attrib 32 :
    بستگی به زبانت داره عزیز بعدشم خواهشا یکم درباره بد افزار ها مطالعه کن..

    رمز لطفا

    سلام، من زبان سی پلاس پلاس رو بلد هستم و میخوام تو حوزه هک و امنیت ، ساخت بد افزار و کرک کار کنم ، با کدوم شروع کنم (کدوم رو اول یادبگیرم).

    اگر میشه یه نقشه راه و منبع برای این کار هم معرفی کن ممنون

     

    Virus32 Attrib 32 :
    شما تو مهندسی معکوس باید ورود پیدا کنید
    ابتدا برید اسمبلی رو یاد بگیرید
    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی