کمی صحبت در مورد درب پشتی (بکدور-Backdoor)

Backdoorخیلی از ما وقتی با لفظ بکدور مواجه میشیم سریع ذهنمون میره سمت هک و نفوذ و دسترسی اما باید بدونیم اساسا عامل به وجود اومدن بکدور نفوذ غیرمجاز نیست!بکدور یک مکانیزم، نرم افزاری، نام کاربری خاص بدون رمز عبور یا چیزهای از این دست هست که به شخصی که قصد وارد شدن به سیستم رو داره اجازه میده تحت شرایط معینی، بدون درگیری با موارد امنیتی سیستم وارد سیستم بشه.اما یکم از دید بدخواهانه بیاید بهش نگاه کنیم!قبل از ادامه بگم من بصورت آموزش ویدئویی کاربردی یک بکدور روی یک سیستم ویندوزی با استفاده از netcat ایجاد کردم و کاری کردم که در هر بار بوت شدن سیستم باز لود بشه که میتونید توی آکادمی ترجنس ببینیتش.معمولا ادمین سیستم ها و مدیران شبکه از بکدور استفاده میکردن تا در صورت بروز مشکل یا خطا در شبکه و سیستم ها بتونن به سیستم وارد بشن و اون رو عیب یابی کنن. همینطور به عنوان یک ابزار برای دسترسی از راه دور به یک شبکه محلی استفاده میشد (بطور نادقیق نتیجه ی عمل میشد مثل وقتی شما توی دوران کرونا VPN میزنید به محل کارتون و کارتون رو از توی خونه توی شبکه محل کارتون انجام میدید). بکدور باعث میشه کسی که بهش دسترسی داره بتونه یک سری مکانیزم های امنیتی دور بزنه و وارد سیستم بشه. اگر بخوام یه مثال خیلی ساده بزنم نام کاربری admin بدون رمز ورود میتونه یک بکدور به یک وب سایت باشه مثلا!قبلا هکرها این بکدورها رو روی شبکه ها و سیستم های مختلف پیدا میکردن و با استفاده از اون ها به سیستم نفوذ میکردن. رفته رفته این عمل پیشرفت کرد و هکر سعی میکرد بکدور خودش رو روی سیستم هدف آپلود کنه و ازش استفاده کنه. این بکدور میتونست یه برنامه ساده و مجاز مثل Netcat باشه که میتونست با اجرا روی سیستم هدف یک کانکشن بین کامپیوتر هکر و هدف ایجاد کنه و حتی یک شل در اختیار هکر بذاره.نکته ای که اینجا باید بگم در مورد سیستم هایی که دارای Static IP بارها از من سوال شد و من فکر میکنم بهترین جوابی که میتونستم بدم این بود: ایجاد بکدور روی سیستم بعد از فاز اکسپلویتیشن و نفوذ به سیستم ایجاد میشه. به همین دلیل قبل از نصب بکدور هکر فکر اینجارو میکنه و طریقه ارتباط شبکه محلی با سیستم هکر رو مشخص میکنه. دقت کنید بکدور فقط یک مکانیزم هست که پس از اون بتونیم به راحتی وارد سیستم هدف بشیم نه اینکه از نو چرخ رو تولید کنیم!فرض کنید شما پلن یک حمله به یک هدف پیچیده رو انجام میدید. مثلا فکر کنید میخواید به یه سازمان بزرگ APT بزنید:)). اگر قصد شما دسترسی به سیستم و شبکه رو داشته باشید ایجاد یک بکدور واجب هست! حملات سنگین معمولا چندین ماه برنامه ریزی میشن و طبق زنجیره کشتار (Kill Chain) اجرا میشن. اجرای هریک از این مراحل کار طولانی و سختی هست در مورد هدف های قوی! مخصوصا که سازمان هایی که هدف APT قرار میگیرن خیلی پویا هستن و ممکنه هر لحظه کلی مولفه توشون عوض شه.حالا فرض کنید شما طی یه حمله رسیدید به دسترسی و به دلیلی ارتباط شما قطع شد یا خواستید ادامه حمله رو در زمان دیگه ای انجام بدید یا اصلا سرور C2 شما منتظر دریافت اطلاعات بود. مخصوصا که حمله به سازمان ها عموما خیلی آهسته انجام میشه به دلیل اینه بتونن شبکه و رخدادهای سیستمی رو سمی کنن و خودشون رو یه عمل مجاز جا بزنن. خب! آیا با این نرخ پویایی مکانیزم های امنیتی در یک سازمان بزرگ کار درستیه حمله رو از نو انجام بدیم؟ معلومه که نه! چون ممکنه اصلا شما یک zero day رو اکسپلویت کرده باشید و اون zero day پچ شده باشه. اینجاست که بکدور کار رو راه میندازه. هکر با استفاده از بکدوری که روی سیستم ایجاد کرده میتونه به ادامه کارش بپردازه و عملیاتی نظیر lateral movement و سرقت اطلاعات رو انجام بده.یک چند نوع استفاده از بکدور هارو هم بگیم و بقیش واسه بعد:تغییر سطح دسترسی محلی: باعث میشه یه حساب عادی به یک حساب با سطح دسترسی بالاتر ارتقا پیدا کنه و فایل های سیستمی رو از نو پیکربندی کنه.اجرای فرمان گسسته راه دور: برای مثال شل های وب که شما میتونید روی آدرس فرمان سیستمی در قالب کوئری ایجاد کنید از این نوع هستن.دریافت یک خط فرمان تعاملی از راه دور: یک شل از سیستم در اختیار شما قرار میده.دسترسی به ماشین از طریق GUI: برای مثال ایجاد یک VNC و استفاده از اون.واقعا صحبت مخصوصا دقیق در مورد بکدور وقت زیادی میخواد که من سعی میکنم در موردش مطلب بذارم. ولی خب الان تا اینجا کافیه. ;)