آموزش کار با netcat
- کورش سنایی
- ۱۹ آبان ۱۴۰۳
- زمان مطالعه: 4 دقیقه
سلام به همراهان زیرزمین سایبری خیلی خوش اومدید به آموزش کار با netcat یک ابزار ضرروی برای شما برای اجرای reverse_shell, bind_shell و …. . قطعا در زمان تست نفوذ و گرفتن شل و . . . کارتون گیر میکنه به netcat که معمولا به صورت nc در دستورات دیده میشه . در این آموزش کار با netcat به صورت عملی یک ریورس شل میگیریم و با vps خودمون اون رو کنترل میکنیم .
netcat چیست ؟!
نتکت (Netcat) یا به اختصار NC، یک ابزار کاربردی است که از اتصالات TCP و UDP برای خواندن و نوشتن در شبکه استفاده میکند. این ابزار هم برای حملات و هم برای امنیت شبکه کاربرد دارد. در موارد مربوط به حمله، به ما کمک میکند تا شبکه را دیباگ کرده و آن را مورد بررسی قرار دهیم. این ابزار روی تمامی سیستمعاملها قابل اجراست. در این مقاله هدف ما گرفتن دسترسی reverse_shell از تارگت هست و ما از nc به عنوان Listener استفاده میکنیم . همچنین لازم به ذکر هست که ما برای کنترل هدفمون به 2 چیز نیاز داریم Shell Code که گفتیم میتونید از Pentest Monkey یا rev shells پیدا کنید و به یک Listener که در اینجا از netcat قراره استفاده کنیم.
//Nc Basic Syntax To start a listener
nc -lnvp
// -l is used to tell netcat that this will be a listener
// -v is used to request a verbose output
// -n tells netcat not to resolve host names or use DNS.
// -p indicates that the port specification will follow.
آموزش کار با نت کت برای ایجاد reverse_shell
در ویدیوی بالا به شما آموزش کار با netcat برای گرفتن دسترسی شل رو به صورت عملی شرح دادیم و شما میتونید از الان به تمرین بپردازید چطوری ؟! برید سایت های هک شده رو که قبلا آموزشش رو دادیم بردارید و تمرین کنید هم به عنوان attacker ازشون استفاده کنید و هم victim حالا سایت از کجا بیارید ؟ قبلا آموزش دادیم که اولی برید سایت پیدا کنید با zone-H Grabber ما و بعد برید shell های روشون رو با shellFinder ما پیدا کنید . اگر هم که میخواین وب هکینگ رو یادبگیرید حتما به دوره آموزش هک سایت ما سر بزنید .
آموزش stable کردن نت کت
بزارید در ابتدا به شما یک شل Unstable نمایش بدم که وقتی ارتباط شما بین Shell Code و Listener بر قرار میشه چطوری خواهد بود و بعد از اینکه Stable کنیم شل رو به چه شکل در میاد .
در بخش سمت چپ دیدید که ما whoami رو به شل خودمون ارسال کردیم و پاسخ رو دریافت کردیم ولی این شل ها بهصورت پیشفرض خیلی ناپایدار هستند. مثلاً اگر Ctrl + C رو بزنی، کلاً همه چیز بسته میشه. این شلها تعاملی نیستند و معمولاً مشکلات فرمتبندی عجیبی هم دارند. دلیلش هم اینه که شلهای نتکت واقعاً یک ترمینال واقعی نیستند و بیشتر مثل یه پردازش هستند که داخل یه ترمینال در حال اجراست. خوشبختانه، راههای زیادی برای پایدارتر کردن شلهای نتکت روی سیستمها وجود داره .
//tty shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
اگر تارگتتون لینوکسی باشه که معمولا همینطوره از اونجایی که python به صورت پیش فرض روی سیستم نصب هست با دستور بالا میتونید شل خودتون رو Stable کنید و خروجی بهتری رو مثل تصویر زیر دریافت کنید .
همونطور که در تصویر بالا میبینید ما کد python3 -c ‘import pty;pty.spawn(“/bin/bash”)’ رو دادیم به شل و تغییری دیدیم که یوزر shell@linux-shell-practice رو میتونید به رنگ سبز ببینید که از اینجا به بعد همه چیز خیلی قشنگ در خروجی چاپ میشه و مثلا میتونید از الان به بعد از دستور ssh استفاده کنید در صورتی که اگر tty نباشه نمیتونید و خیلی راحت دسترسیتون رو از دست خواهید داد . البته این یکی از روش ها هست و روی ویندوز فرق داره و باز هم تکنیک هست .
انواع شل ها
در یک سطح کلی، هنگام بهرهبرداری از یک هدف، به دو نوع شل (Shell) علاقهمند هستیم: شل معکوس (Reverse Shell) و شل بایند (Bind Shell).
شل معکوس زمانی است که هدف وادار میشود کدی را اجرا کند که به کامپیوتر شما متصل میشود. در این حالت، شما در کامپیوتر خودتان یکی از ابزارهایی را که در وظیفه قبلی به آن اشاره شد، برای ایجاد یک شنونده (Listener) تنظیم میکنید تا بتوانید اتصال را دریافت کنید. شلهای معکوس روشی مناسب برای دور زدن قوانین فایروال هستند که ممکن است مانع از اتصال شما به پورتهای دلخواه در هدف شوند؛ اما نقطهضعف آن این است که هنگام دریافت شل از یک دستگاه در اینترنت، باید شبکه خود را به گونهای پیکربندی کنید که شل را بپذیرد.
شل بایند زمانی است که کد اجرا شده روی هدف، یک شنونده متصل به شل را مستقیماً روی خود هدف راهاندازی میکند. این شنونده سپس به اینترنت باز میشود و شما میتوانید به پورتی که کد آن را باز کرده متصل شده و اجرای کد از راه دور را به این طریق به دست آورید. مزیت این روش این است که نیاز به پیکربندی خاصی در شبکه خودتان ندارد، اما ممکن است توسط فایروالهایی که از هدف محافظت میکنند، مسدود شود. بهطور کلی، شلهای معکوس اجرای آسانتری دارند و دیباگ کردن آنها نیز راحتتر است. همچنین برای آگاهی بیشتر از انواع شل ها و … حتما حتما به مقاله “شل چیست ؟” ما سر بزنید