معرفی
در این مقاله قصد داریم تمرین Injection دستوری که از Netcat استفاده میکند را بررسی کنیم. Command Injection یک حمله مخرب به یک برنامه وب است که به کاربر اجازه می دهد nslookup، whois، ping، traceroute و موارد دیگر را از یک صفحه وب انجام دهد. این آسیبپذیری را میتوان با استفاده از کاراکترهای خاصی مانند «;» آزمایش کرد. نیم دونقطه یا "|" لوله یا "| |، یا «&» یا «&&» برای اضافه کردن انتهای ورودی مورد انتظار کاربر به عنوان مثال ( www.mycompany.com ) و به دنبال آن دستوری به عنوان مثال (cat/here/pwd). این دستورات ممکن است برای دریافت داده های محرمانه یا هر رفتار مخربی که مهاجم ممکن است با استفاده از دستورات سیستم عامل میزبان ضروری بداند استفاده شود. اگر ورودی به درستی تایید یا پاکسازی نشده باشد، دستورات ناخواسته مجاز به اجرا هستند.
مهاجم ممکن است هر کاری از جمله مشاهده فایلهای پیکربندی، اصلاح یا حذف دادهها را انجام دهد، اما همه اینها به سطح امتیازی که برنامه دارد بستگی دارد. Command Injection از عملکرد برنامه ای که در آن دستورات سیستم اجرا می شود، بهره می برد. Command Injection بر اساس رفتار پیشفرض برنامه برای اجرای دستورات ناخواسته ایجاد میشود.
از آنجایی که در این مقاله قرار است از یک تمرین نت کت استفاده کنیم، تمرین خوبی است که قبل از شروع تمرین اولیه خود بدانیم که چیست و چه کاربردهایی دارد.
نت کت چیست؟
Netcat یک ابزار شبکه است که برای خواندن/نوشتن داده ها در اتصالات شبکه TCP و UDP استفاده می شود . به دلیل تطبیق پذیری آن به عنوان Swiss Army Knife of Networking نیز شناخته می شود. از ویژگی های آن می توان به اشکال زدایی، گوش دادن به پورت، اسکنر پورت، تغییر مسیر پورت و قابلیت Backdoor اشاره کرد. از Netcat می توان برای تولید پوسته معکوس روی وب سرور استفاده کرد، با توجه به اینکه نصب شده است، و دوباره به دستگاه ما متصل می شود و کنترل کاملی بر سیستم ایجاد می کند.
در زیر برخی از دستورات Netcat موجود است:
- اسکن پورت
- اسکریپت
- پوسته اسکریپت
- دستورات سرور TCP و کلاینت TCP
- جلوگیری از جستجوی DNS