محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

روتکیت چیست؟ آشنایی با مفهوم و مکانیزم Rootkit به زبان بسیار ساده

Rootkit چیست؟ روتکیت چیست؟ قبلا در وب سایت توسینسو و در بخش امنیت کمی در خصوص rootkit ها صحبت کردیم و اعلام کردیم که بعضا خطرناک ترین نوع بدافزار همین Rootkit ها می توانند باشند. Rootkit ها نرم افزارهای مخربی هستند که بدون اینکه شناسایی شوند به سیستم هدف وصل می شوند و کارشان را انجام می دهند ، در واقع مهمترین فاکتور یک Rootkit عالی همین بسیار بسیار دشوار بودن شناسایی یا بعضا به هیچ عنوان شناسایی نشدن توسط بسیاری از ضدبدافزارها می باشد.

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

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

Rootkit ها در ادامه فعالیت خودشان یک Backdoor برای دسترسی های بعدی ایجاد می کنند که در دفعات بعدی حمله براحتی بتوانند از این Backdoor دسترسی استانداردی به سیستم هدف پیدا کنند. Rootkit برای شناسایی نشدن بعد از نصب شروع به تغییر دادن ماژول های کرنل سیستم عامل یا انجام تغییرات بر روی پردازش ها و دستکاری درایورها و ... می زند و به همین دلیل شناسایی کردن آن در لایه هسته سیستم عامل بسیار دشوار و چه بسا ناممکن است.

Rootkit ها برخی از فرآیند های فراخوانی یا Call در سیستم عامل ها را با فرآیند های خودشان جایگزین می کنند و به این ترتیب فعالیت های مخرب خودشان را از راه دور بر روی سیستم قربانی اجرا و البته سیستم را مانیتور می کنند با توجه به اینکه نرم افزارهای ضدبدافزار به خودی خود از فراخوانی های سیستم عامل استفاده می کنند اینکار Rootkit ها شناسایی آنها را بسیار دشوارتر می کند. کامپیوترهای قربانی Rootkit در حملات متنوعی استفاده می شوند که از آن جمله می توان به نصب شدن Backdoor ها برای سوء استفاده از کامپیوتر قربانی ، استفاده در حملات DDoS و ایجاد Agent و Zombie ، شنود کردن یا Sniff کردن شبکه ها ، حذف کردن Log ها ، استفاده در IRC Bot ها و ... اشاره کرد.

روت کیت چیست

برای اینکه Rootkit ها را بهتر بشناسیم باید مواردی را در خصوص فایل ها بدانیم . هر فایل شامل مجموعه ای از صفات یا Attribute ها می باشد . فیلد های مختلفی در قسمت صفات یا Attribute یک فایل وجود دارد ، برای مثال فیلد اول حاوی قالب یا Format فایل است ، برای مثال این فیلد اول فایل است که مخفی بودن ، آرشیو بودن ، یا فقط خواندنی بودن ( Read Only ) بودن را تعریف می کند. سایر فیلد ها زمانی که فایل ایجاد شده است ، دسترسی پیدا کرده است و یا طول فایل اصلی را نشان می دهد . در سیستم عامل ویندوز یک Function به نام GetFileAttributessEx() و GetFileInformationByHnagle() اطلاعات مربوط به فایل را دریافت و ایجاد می کنند.

برنامه Attrib.exe در سیستم عامل ویندوز توانایی نمایش یا تغییر دادن Attribute های فایل را دارد ، یک مهاجم می تواند برنامه مخرب خودش را با استفاده از تغییر دادن Attribute ها بر روی سیستم هدف اجرا کند و دسترسی های لازم را ایجاد کند .یک هکر یا مهاجم از طریق اسکن کردن سیستم ها و سرورهای آلوده به ویژه وب سرورها در اینترنت ، از طریق قرار دادن Rootkit ها بر روی بسته های دانلودی مثل بسته های نرم افزارهای کرکی و بازی های قابل دانلود ، از طریق نصب Rootkit در کامپیوترهای عمومی و سازمانی از طریق حملات مهندسی اجتماعی ، از طریق استفاده از آسیب پذیری های Zero Day یا حملات دیگری مانند ( Privilege Escalation ، Buffer Overflow ، Exploit کردن هسته سیستم عامل ویندوز و ... ) ، شبکه های Botnet و ... اقدام به نصب کردن Rootkit ها بر روی سیستم عامل ها می کند.

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

نویسنده : محمد نصیری

منبع : security.tosinso.com

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات