امیرحسین تنگسیری نژاد
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو

تکنیک Squiblydoo چیست و چگونه پیاده سازی میشود؟

یکی از تکنیک‌های نسبتا قدیمی جهت اجرای کد یا همان Code Execution تکنیک Squiblydoo میباشد که به واسطه این تکنیک ما توانایی این را داریم که به پیاده سازی حمله Code Execution بپردازیم و اسکریپت ها و کد های مخرب خودمان را از طریق این اجراسازی کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

نحوه کار تکنیک Squiblydoo به چه شکل میباشد؟

توجه کنید تکنیک Squiblydoo با عنوان های دیگری هم شناخته‌ میشود از جمله Regsvr32 Code Execution و دراصل نکته این نام دوم هم این است که این تکنیک به واسطه ابزار Regsvr32‌ میتواند برای ما به واسطه DLL های روی سیستم یک فایل مخرب ( که Payload ما میباشد ) را از روی یک بستر وب دریافت کند و آن را اجرا سازی کند.

این تکنیک در گذشته توسط گروه های متعددی مورد استفاده قرار میگرفته از جمله گروه های APT و هدف اکثر این گروها هم اجرای اسکریپت های مخرب، اجرای فایل های DLL مخرب و اجرای کد بوده است که این فرآيند به دلیل اعتماد سیستم به Regsvr32 سبب این میشده است که تجهیزات امنیتی سیستم به این نرم افزار گیر ندهند و درهنگام اجرای کد مخرب اون رو نادیده بگیرند.

تکنیک Squiblydoo چیست و چگونه پیاده سازی میشود؟

چگونه حمله Squiblydoo را پیاده سازی کنیم؟

برای پیاده سازی این حمله در ابتدا احتیاج داریم یک فایل مخرب جهت اجرا آن به واسطه Regsvr32 ایجاد کنیم و این فایل مخرب ما در قالب فایل فرمت SCT قرار میگیرد و موجب اجرای ماشین حساب ویندوز میشود که با عنوان Calc.exe فایل اجرا است.

کد مربوط به فایل SCT جهت اجرا به واسطه Regsvr32:

<?XML version="1.0"?>
<scriptlet>
<registration
  progid="TESTING"
  classid="{A1112221-0000-0000-3000-000DA00DABFC}" >
  <script language="JScript">
    <![CDATA[
      var foo = new ActiveXObject("WScript.Shell").Run("calc.exe"); 
    ]]>
</script>
</registration>
</scriptlet>
  • نکته: به جای calc.exe میتوانید هر نرم افزار دیگری از جمله cmd.exe را نیز قرار بدهید.

پس از ایجاد شدن فایلمان به سراغ راه اندازی یک وب سرور میرویم و اینکار را از طریق بستر Python انجام میدهیم اما شما میتوانید از هر وب سرور دیگری ( چه به صورت Public بر روی اینترنت چه به صورت Private در شبکه خصوصی و سازمانی ) استفاده کنید.

دستور زیر را در پوشه ای که فایل مخرب SCT ما قرار دارد اجرا سازی میکنیم تا بتوانیم از طریق وب این فایل را دریافت کنیم:

تکنیک Squiblydoo چیست و چگونه پیاده سازی میشود؟

حالا برای اطمینان از این موضوع به localhost خودمان با پورتی که در دستور بالا تعیین کردیم (8080) میرویم و اگر فایل های فولدر برایمان بالا آمد مشکل وجود ندارد. (مانند تصویر زیر)

تکنیک Squiblydoo چیست و چگونه پیاده سازی میشود؟

حالا میرویم سراغ اجرا سازی و پیاده سازی این حمله، برای اینکار باید حتما Windows Defender را خاموش کنید و Cmd را Run As Administrator اجرا سازی کنید چون که همونطور که در ابتدا مقاله گفتیم این‌ تکنیک نسبتا قدیمی است و اقدامات امنیتی جهت جلوگیری از آن به واسطه تجهیزات امنیتی صورت گرفته است.

بعد از انجام موارد بالا دستور زیر را اجرا سازی میکنیم و میبینیم که Calc.exe برای ما اجرا سازی میشود:

تکنیک Squiblydoo چیست و چگونه پیاده سازی میشود؟

اگر بخواهیم بر روی Process های سیستم رصد داشته باشیم متوجه میشویم که پس اجرا سازی شدن یک Sub Processo برای Regsvr32 سریعا آن بسته میشود و دیگر Sub Process را نمیبینیم اما بستر Calc.exe برای ما باز میباشد.

تکنیک Squiblydoo چیست و چگونه پیاده سازی میشود؟


امیرحسین تنگسیری نژاد
امیرحسین تنگسیری نژاد

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

متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider می‌باشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/

نظرات