اطلاعیه

Collapse
No announcement yet.

Malware Analysis Workshop #1 - Malware's method

Collapse
X
 
  • Filter
  • زمان
  • Show
Clear All
new posts

  • Malware Analysis Workshop #1 - Malware's method

    سلام
    خوب یک workshop خیلی ساده واسه آپا دانشگاه شیراز داشتم ، معرفی متودهای مختلف ولی خوب پایه !
    malware هم نوشتم ، که 3تا درایور رو فیلتر میکنه ، از این قرار
    TCP : برای capture کردن پاکت های tcp
    NTFS : برای hide کردن یک فایل
    FastFat: برای infect کردن usb

    همچنین یک ssdt هوکینگ برای مخفی کردن calc.exe

    و بخش userland هم که IAT هوکینگ و SetWindowsHookEx

    dropper هم از قصد با باگ نوشتم که هرکسی نتونه استفاده کنه (هرجور که دوست داری فکر کن ).
    rootkit installer هم 2روش sc manager و hoglund ! البته دیگه این یک تیکه مسخرس ولی خوب بد نبود.
    مسئولیت هرچیزی هم پا خودتونه ، نگی نگفتی
    بدلایلی سورس پاک شد ! از اون 85 نفر برادرانه تقاضا میکنم سورس پابلیک نکنن
    فایل های پیوست شده
    Last edited by BioHazard; 03-03-2012, 04:27 AM.
    Shabgard становится полностью дерьмо

  • #2
    بچه هایی که دانلود کردن و دیدن لطفا نظرشونو بگن ، چون میخوام اینکارو کلا ادامه بدم ... اگر انتقاد میکنید ، لطفا توهین نکنید چون اصلا اعصاب ندارم
    Shabgard становится полностью дерьмо

    Comment


    • #3
      سلام
      کار خیلی خوبی بود
      یه بررسی چند دقیقه ای کردم و با اجازتون چند تا نگته:

      توی عکس گفته شده به explorer.exe کد اینجکت می شه در حالی که توی کد به IExplorer.exe داره تزریق می شه ( زیاد مهم نیست این مورد )


      توی نوشتی شما و عکس ضمیمه شده گفته شده که fastfat تزریق می کنه ولی من توی fastfat چیزی درمورد infection ندیدم ، تو کد چیزی که داشت infect می کرد ntfs بود
      تابع infection به جای irp مربوط به درایور ntfs قرار گرفته ( شاید من اشتباه می کنم )
      کد:
      RtlInitUnicodeString(&devname, L"\\FileSystem\\Ntfs");
      	ntStatus = ((OBReferenceObjectByName)FunctionAddress)(&devname,0x40,0,0,*IoDriverObjectType,0,0,(PVOID*)&filesystem);
      filesystem->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = infection;

      چون اموزشی هستش بهتر بود کد ها رو تمیز تر نوشته بشه نه این طوری که :
      کد:
      fastfatDriver->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = ntfs_filterFileSystemControl;
      تابع مربوط به fastfat اسمش ntfs هستش .
      ونکته های مربوط به اسم متغیر ها که جای کار بیشتری داره
      ( CamelCase ,... CodeComplete)

      من باشم به جای تابع غیر مستند ObReferenceObjectByName از تابع مستندش استفاده می کنم
      و البته یه نکته فنی تر بهتر بود DLL از خود کرنل به user تزیق می شد .
      tdl از APC برای این کار استفاده کرده بود DUQU رو یادم نیست .
      من هم یه روش ساده تر دارم برای این کار ( تزریق کد از کرنل به یوزر ) دارم
      و البته اگه بتونید DLL رو مخفی کنید خوب تر می شه.

      اگه می شه کار مربوط به fastfat رو هم توضیح بده !

      خیلی خوب بود و امید وارم توی نسخه های بعدی بهتر و بهتر بشه . و یه Rootkit تی ببینم که توش نکتهی Zero day داشته باشه .
      موفق باشید ( بد که حرف نزدم ؟
      Last edited by geek1982; 02-27-2012, 02:41 AM.

      Comment


      • #4
        آقا اگر موردی تناقض هست ، بزار روی عاشقی بنده ، شرمنده و اگر کدنویسی سطحش پایینه بزار رو بی تجربگیم

        ولی خوب درمورد کد نویسی هم ، چون یک پروژه ی پنتست هم دستم بود، دیگه همه چی یک دفعه باهم اتفاق افتاد.

        ولی درمورد fastfat ، چیزی که هست ، درایور fastfat تا وقتی که اولین flash memory زده نشه ، mount نمیشه(راه حل داره ، ولی خوب فعلا توضیح نمیدم ، خودتم میتونی با irp watching ، راه حل رو پیدا کنی!). خوب وقتی یک flashmemory زده میشه ، IRP_MN_MOUNT_VOLUME فرستاده میشه ، که از توی بافر IRP ، من DosName رو در میارم، بعدش وقتی IRP_MN_USER_FS_REQUEST , NTFS رو دریافت کرد ، حالا میتونید با همون DosName که درآوردید ، infect کنید. که این روش باعث bsod میشه ، ولی یک flag تعریف کردم که دیگه سیستم bsod نمیشه

        نه آقا نوکرتم اینجور انتقادارو دوست دارم ;)
        Shabgard становится полностью дерьмо

        Comment


        • #5
          اگه فلش ntfs باشه چی ؟
          fastfat همون طوری که از اسمش معلومه برای fat12 fat16 , fat32 هستش نه ntfs

          دیگه هیچ علاقه ای به کرنل ندارم ، چون دیگه برام هیجانی نداره، کارمم می خوام عوض کنم برم همون کد JQuery بزنم یا Qt :( :(

          Comment


          • #6
            والا فلش های مختلفی چک کردم و کارکردن !

            چیزی که هست و دیدم ، برای mount شدن از fastfat استفاده میکرد ، بعدش هر usb flash که بود ، میخواست بیاد بالا که کاربر بتونه ببینتش ، حتما قبلش ntfs با همون IRP صدا زده میشد. حالا اگر شد با فلش ntfs چک میکنم جواب رو میگم
            Shabgard становится полностью дерьмо

            Comment


            • #7
              منم به چیزی که گفتم اطمینان دارم

              Comment

              Working...
              X