آموزشامنیتاینترنتشبکهمیم تک 13

بات نت ، مبدل رایانه ها به زامبی !!! (قسمت دوم)

بات نت ، مبدل رایانه ها به زامبی !!! (قسمت دوم)

در مقاله ی قبل خواندیم که بات نت به عنوان گروهی از تعداد زیادی از شبکه های کامپیوتری که کاری را به صورت اتوماتیک برای یک مدیر بات یا نفوذگر انجام می دهد، گفته می شود. بات نت ها برای بسیاری از فعالیت های مخرب مانند ارسال هرزنامه، انجام حمله تکذیب سرویس توزیع شده DDoS ، داده های بانکی و غیره استفاده می شوند.

معماری بات نت ها :

بات نت های متمرکز :

در معماری متمرکز که عمومی ‏ترین معماری می باشد، یک کارگزار فرمان- کنترل وجود دارد. تمام بات‏ ها دستورات خود را از این کارگزار دریافت می‏کنند. این مدل در ابتدا بر اساس IRC طراحی شد که در آن با استفاده از مکانیزم PUSH ارتباط برقرار می شد. ایده این بود که زامبی ها با اتصال به سرور IRC به یک کانال ملحق شوند و منتظر ارسال دستور از طرف مدیر بات بر روی این کانال باشند . به محض دریافت آنها اقدامات دریافتی را انجام می دهند.

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

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

بات نت های غیرمتمرکز :

بات نت های غیر متمرکز را گاها ” بات نت های توزیع شده ” هم می نامند. ساختار آنها به گونه ای که وابسته به یک یا چند سرور C&C نیستند. در این نوع معماری با شناخت یک بات نمی توان کل شبکه را از کار انداخت.

در این بات نت ها، مدیر بات از یک پروتکل نظیر به نظیر برای برقراری ارتباط با بات های خود استفاده میکند. هر گره یا node از شبکه یک لیست از آدرس های بات های مجاور را دارد و با استفاده از آن می تواند به بات های دیگر متصل شود. با ایجاد یک ساختار توری شکل دستورات از یک زامبی به زامبی دیگر فرستاده می شود.

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

بات نت های ترکیبی :

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

دو گروه از بات ها وجود دارند: خدمتگزار و کارگر .

خدمتگذار بات هایی هستند که دارای آدرسهای IP ایستای عمومی بوده و به هر دو صورت متقاضی و سرویس دهنده عمل میکنند . همچنین از طریق اینترنت نیز در دسترس میباشند. آنها از اتصالات نظیر به نظیر استفاده می کنند و فرامین مدیر بات را برای متقاضیان بازپخش میکنند

متقاضیان بات هایی با آدرسهای IP پویای خصوصی بوده که در پشت دیواره های آتش و یا ادوات NAT قرار دارند که نمی توانند اتصالات ورودی از اینترنت را بپذیرند. آنها همیشه به بات های خدمتگزار متصل شده تا فرامین جدید را به دست آورند.

C&C تصادفی :

این روش تا به امروز در هیچ رباتی مورد استفاده قرار نگرفته‌است. در این روش هیچ‌کدام از ربات‌ها با یکدیگر یا با botmaster ارتباط برقرار نمی‌کنند. آن ها منتظر می‌مانند تا وی با آنان ارتباط برقرار نماید. برای انجام یک حمله، botmaster شبکه را برای یافتن زامبی ها جستجو می‌کند و دستورات خود را به آن‌ها می‌فرستد. مزیت این روش آن است که پیاده‌سازی آن ساده است و با توجه به نبودن ارتباط رایج بین ربات و botmaster تشخیص دادن آن دشوارتر خواهد بود. با توجه به این که این روش نیازمند اسکن کردن شبکه است، مسائلی در مورد مقیاس‌پذیری و مشکلات هماهنگ‌سازی حمله مطرح می‌گردند.

راه های کشف بات نت:

1- بر اساس امضا :

بات نت ها را با مشاهده و زیر نظر داشتن جریان های شبکه و یافتن الگو ی رفتاری بات نت ها کشف می کند. از مزایای این روش می توان به تشخیص سریع و نیاز به منابع کمتر برای پردازش واز معایب این روش محدود بودن پایگاه داده ی امضاهای ثبت شده اشاره کرد. لذا این روش برای شناسایی بات نت های جدید موثر نمی باشد.

snort یکی از روش های شناخته شده ی این روش می باشد. روش عملکرد این روش به این ترتیب است که با نظارت بر ترافیک شبکه یک واژه ی مرتبط با یک بدافزار به عنوان امضا کشف می گردد. پس از مشاهده در بدافزار های مشابه این فرمان اجرا و به عنوان امضای اصلی بات نت در نظر گرفته و ضبط می شود.

2- رفتار نامتعارف :

روش رفتار نامتعارف شامل دو بخش می باشد:

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

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

سومندی این روش کشف بات نت های جدید ناشناخته ای است که با روش امضا کشف نشده اند، در نتیجه برای کشف مشکلات جدید موثر می باشند. نقطه ضعف این روش میزان بالای اشتباهات و سعی و خطای آن است.

3- براساس نام دامنه :

این روش مبتنی بر DNS بوده و رفتاری مشابه با رفتار نا متعارف دارد.

بات نت ها برای گرفتن دستورات به یک سرور کنترل و فرمان متصل می شوند. بات نت ها باید درخواست های DNS را برای یافتن یک سرور فرمان و کنترل مشخص ایجاد کنند که به طور مخصوص توسط یک سرویس دهنده DDNS ساخته شده است. با نظارت بر ترافیک DNS، با تشخیص ترافیک نامتعارف وجود بات نت را شبکه تشخیص می دهیم.

این روش در تشخیص مدیر بات نیز کمک بسیاری می کند.

4- داده کاوی :

بات نت ها جدیدا از پروتکل های پرکاربرد برای ارتباط با سرورهای C&C استفاده می کنند و رفتارهای آنها کاملا معمولی می باشد. لذا تشخیص رفتار نامتعارف آن ها بسیار سخت می باشد. داده کاوی روش های متعددی مانند یادگیری ماشین دارد که با درصد بالایی ترافیک های نا متعارف بات نت ها را از ترافیک معمول تفکیک می کند.

محققان امنیتی Cyberbit به‌تازگی موفق به شناسایی یک تکنیک جدید در تزریق کد شدند که از شناسایی مهاجم جلوگیری می‌کند. این روش که Early Bird نامیده شده، تاکنون حداقل توسط سه بدافزار پیچیده متفاوت استفاده‌ شده است.

روش Early Bird نوعی تکنیک جدید است که به مهاجم اجازه می‌دهد کد مخرب را قبل از اجرای عملکرد اصلی، در یک فرآیند قانونی تزریق کند. در نتیجه این عمل امکان شناسایی برای محصولات ضد بدافزاری از بین خواهد رفت.

گفتنی است روش تزریق کد Early Bird ، تکنیکی مبتنی بر یکی از تابع‌های ویندوز با نام APC یا فراخوانی روند ناهمگام بوده که به اپلیکیشن‌ها اجازه می‌دهد کد را به‌طور ناهمگام در محتوای یک رشته مخصوص اجرا کنند.

در ادامه چگونگی تزریق کد مخرب به یک فرآیند قانونی از سوی مهاجم و اجرای آن، قبل از شروع اسکن برنامه‌های ضد بدافزاری،  تشریح می‌شود:

  • ایجاد یک فرایند معلق از یک فرآیند قانونی ویندوز مانند ( .svchost.exe )
  • اختصاص دادن حافظه به این فرآیند و نوشتن کد مخرب در این حافظه
  • قرار دادن یک APC و یا فراخوانی روند ناهمگام در صف رشته اصلی فرایند مذکور
  • فراخوانی تابع NtTestAlert برای اجبار کرنل در اجرای کد مخرب به‌ محض از سرگیری رشته اصلی ( به دلیل اینکه تابع APC فرآیند را تنها در وضعیت قابل هشدار می‌تواند اجرا کند )

چگونه یک بات نت C&C ساده بسازیم :

1. برای شروع یک کیت سازنده انتخاب کنید :

با این که کیت ها و برنامه های ساخت بات نت نرم افزار های غیرقانونی و زیر زمینی می باشند اما با یک جستجو در اینترنت در کمترین زمان می توانید برنامه های محبوبی را پیدا کنید.

ربات ما دارای مولفه های زیر می باشد:

یک فایل setting.text برای تنظیم کانال های ارتباطی c&c

فایل Full_builder.exe برای کامپایل مجدد ربات

فایل های هاست C&C: یک وب سایت مبتنی بر PHP که برای گزارش دهی و توابع c&C استفاده می شود.

bot-bc.exe: این فرآیند به نرم افزار های مخرب اجازه می دهد تا از طریق پروتکل SOCKS دستگاه های آسیب دیده را از راه دور کنترل کنند.

 Figure 1: The builder kit’s settings.txt file

شکل 1 فایل setting.txt را به همراه تعدادی از گزینه ها نمایش می دهد بخش URL mask  به شما اجازه می دهد اقدامات خاصی را مشخص کنید. اگر کاربر سیستمی که مورد حمله قرار گرفته از وب سایتی که با url یکی باشد بازدید کند، یک رشته ی متنی ایجاد می کند.

این urlها می توانند هر چیزی باشند. در شکل 1 url mask شامل دسترسی و کنترل وبی حساب های اوتلوک مشتریان سایت OWA و Ebay می باشد.

هربار که کاربر به سایت های تعریف شده در بخش url mask مراجعه می کند گزینه های زیر فعال می شوند:

N-در گزارش اطلاعاتی نوشته نشود

S-با کلیک موس در بخش های مختلف صفحه screenshot ایجاد کند

C-حفظ تمام کوکی ها ی در ارتباط با سایت و مسدود کردن دسترسی به آن ها

B- بلاک کردن دسترسی به سایت

قسمت Injects.text که در عکس هایلایت شده است مربوط به قابلیتی با نام تزریق است که این امکان را فراهم می کند تا به همه ی سایت هایی که با سیستم زامبی در ارتباط بوده اند، دسترسی داشته باشد. از آن جایی که کار روی دستگاه آلوده به صورت مستقیم می باشد، مفاهیم امنیتی مانند احراز هویت  و رمز نگاری SSL/Tls را بی معنا می کند. در این جا به جای حمله ی مرد میانی با حمله ی مرد پشت کیبورد مواجه هستیم .


Figure 2: Example use-cases of the “Injects” functionality

در مثال یک محتویات بخش Account Overview هر گاه که کامپیوتر آسیب دیده به URL حاوی “https://www.payment-site.com/*/webscr?cmd=_login-done*.”می رود ، در سرور کنترل و فرمان C&C بارگذاری می شود.

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

در مثال دوم سایت bIG BANG CORP که توسط سیستم آسیب دیده مشاهده شده است، در صفحه ی پسورد از کاربر می خواهد تا فیلیدی با نام رمز atm  را پر کند. از آن جایی که مضمون این فیلد با صفحه پسورد یکی می باشد کاربر بدون تردید رمز خود را وارد کرده و بی درنگ برای مهاجم می فرستد.

2- برای خود PAYLOAD بسازید :

زمانی که فایل تزریقی شما آماده شد، یک رابط کاربری آسان برای استفاده از فایل اجرایی مخرب باز کنید. (به شکل شماره 3 نگاه کنید.)

برای ساخت نرم افزار های مخرب به دو بخش اطلاعاتی نیاز دارید:

1-یک url در فایل SETTING.TXT ( فایل را برای تغییر در زمان های مورد نیاز در سرور کنترل و فرمان خود ذخیره کنید )

2-یک کلید رمز گذاری متقارن برای قرار دادن در PAYLOAD ایجاد کنید به طوری که هر زمان لازم بود با سرور c&c ارتباط برقرار کند. این کلید می تواند هر رشته ی کارکتری باشد.

Figure 3: The builder GUI for compiling the malware payload

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

Figure 4: Scan results for the compiled malware EXE and three compressed versions of the same file

همان طور که در شکل 4 مشاهده می شود، بیشتر موتورهای آنتی ویروس فایل های exe را دریافت می کنند. ( 40 از 46 ). این نشان می دهد که ظاهرا فروشندگان امنیتی با کیت بات نت های ما آشنا هستند.

فشرده سازی آن با PACKER A خیلی بهتر از packer c نیست ( 36 تا از 46 ) . اما بیشتر از یک سوم ماشین ها زمانی که فایل با packer C فشرده سازی می شوند ، از دست می روند.

3- زیر ساخت های C&C خود را تنظیم کنید :

اکنون که PAYLOAD بدافزار آماده است، برای کنترل کامپیوترهای آلوده به سرور کنترل و فرمان نیاز داریم. کیت سازنده ی بات ها شامل همه ی مواردی است که به آن نیاز دارید.

برای این کار می توان از یک وب هاست یا سرورهای CLOUD BASE کم هزینه استفاده کنید یا یک سرور کم هزینه ی لینوکس را در عرض چند دقیقه ایجاد کنید. شکل 5 یک رابط کاربری وب را نشان می دهد

Figure 5: Web user interface for popular online hosting site

پس از آپلود فایل های c&c توسط کیت، رابط وب ربات نصب ظاهر می شود. (به شکل 6 نگاه کنید)

Figure 6: Web UI for C&C server installer

فیلهای مربوطه را پر و تنظیم کنید. بدین ترتیب شما دارای یک بدافزار مخرب و سرور C&C هستید و بات نت شما برای اولین هدف خود آماده است.

ارسال پاسخ