React2Shell یک آسیبپذیری امنیتی در سیستم عاملهای لینوکس است که به مسمومیت یا chạy کدهای مخرب با سطح دسترسی Administrator بدون نیاز به تایید کاربر اجازه میدهد.
React2Shell یک ابزار قدرتمند و متن باز است که با استفاده از آن میتوانید فایلهای اجرایی را به محیط Shell یا Command Prompt انتقال دهید و با استفاده از محیط Command Prompt یا Power Shell فایلها را اجرا کنید.
از این ابزار میتوانید برای اجرای فایلهای exe (فایلهای قابل اجرا) و mshta (فایلهایhta) و … استفاده کنید.
در سال 2018، یک آسیبپذیری امنیتی در React2Shell شناسایی شد که به محافظت از کلمات کلیدی محرمانه در محیط Command Prompt یا Power Shell اجازه میداد. این آسیبپذیری به طراحان اجازه میدهد که اپلیکیشنهای خود را با سطح دسترسی Administrator اجرا کنند و بدون نیاز به تایید کاربر، کدهای مخرب خود را اجرا کنند.

در زیر مثالهای مربوط به آسیبپذیری React2Shell در لینوکس آورده شده است:
آسیبپذیری React2Shell
زمانی که کاربر یک فایل اجرایی را در محیط Command Prompt یا Power Shell اجرا میکند، React2Shell با کلمات کلیدی وارد شده و کدهای داخل فایل اجرایی، اجرا میشود. برای مثال، اگر کاربر فایل اجرایی `malware.exe` را اجرا کند، React2Shell کدهای داخل `malware.exe` را اجرا میکند، بنابراین کدهای مخرب بدون نیاز به تایید کاربر اجرا خواهند شد.
فیش کردن آسیبپذیری React2Shell
یک طراح امنیتی میتواند اپلیکیشن خود را با سطح دسترسی Administrator اجرا کند و بدون نیاز به تایید کاربر، کدهای مخرب را اجرا کند. برای مثال، اگر طراح امنیتی اپلیکیشن `malware` را با سطح دسترسی Administrator اجرا کند، React2Shell کدهای داخل `malware` را اجرا میکند و بدون نیاز به تایید کاربر، کدهای مخرب اجرا میشود.
ترتیب عملیات براساس آسیب پذیری React2Shell به صورت زیر است:
* `malware.exe` میتواند کدهای مخرب را اجرا کند
* React2Shell میتواند با کلمات کلیدی عبور کند
* اپلیکیشن `malware` میتواند با سطح دسترسی Administrator اجرا شود
* بدون نیاز به تایید کاربر، کدهای مخرب اجرا میشود

آسیبپذیری React2Shell در واقع یک vulnerability امنیتی در اسکریپت نیست بلکه یک آسیبپذیری امنیتی در سیستم عامل لینوکس است که به مسمومیت یا اجرای کدهای مخرب با سطح دسترسی Administrator بدون نیاز به تایید کاربر استفاده می شود.
در واقع آسیبپذیری React2Shell به این معنی است که یک کاربر میتواند بدون نیاز به تایید Administrator، کدهای مخرب را اجرا کرده و سیستم را مسموم کند.
ابزار کالی لینوکس
برای بررسی آسیبپذیری React2Shell در کالی لینوکس، میتوانید از ابزار `searchsploit` استفاده کنید. این ابزار به شما کمک میکند که در ExploitDB جستجو کنید و آسیبپذیریهای موجود در سیستم عاملهای مختلف را پیدا کنید.
searchsploit react2shell
ابزار Searchsploit
`searchsploit` یک ابزار قدرتمند برای جستجو در ExploitDB است. ExploitDB یک ابزار آنلاین برای آسیبپذیریهای امنیتی است که توسط سازمانهای و شرکتهای امنیتی گردآوری میشود. این ابزار شامل اطلاعات زیادی در مورد آسیبپذیریهای مختلف، روشهای اثبات آسیبپذیری (PoC) و راههای ایجاد آسیبپذیری (Exploit) است.
طریقه استفاده از Searchsploit
- ابزار Searchsploit را در کالی لینوکس نصب کنید:
sudo apt-get install searchsploit
- ابزار Searchsploit را اجرا کنید:
searchsploit
- جستجو کنید:
بعد از اجرا شدن ابزار، وارد سیستم میشوید و میتوانید با استفاده از دستور `search` جستجو کنید. برای مثال، میتوانید به صورت زیر جستجو کنید:
searchsploit react2shell
- نتایج جستجو را مشاهده کنید: بعد از جستجو، نتایج حاصل از جستجو نمایش داده میشود. در این نتایج، میتوانید اطلاعاتی در مورد آسیبپذیری React2Shell، روشهای اثبات آسیبپذیری و راههای ایجاد آسیبپذیری پیدا کنید.
دستورالعمل استفاده از Searchsploit
- searchsploit <اسم آسیبپذیری> : جستجو برای آسیبپذیری خاص
- searchsploit -v <اسم آسیبپذیری> : جستجو برای آسیبپذیری خاص و نمایش نتایج با جزئیات بیشتر
- searchsploit –update : بهروزرسانی ExploitDB
- searchsploit –help : نمایش دستورالعملهای بیشتر برای استفاده از Searchsploit

این دستور در ExploitDB جستجو میکند و آسیبپذیریهای موجود در سیستم عاملهای مختلف را پیدا میکند. میتوانید با جستجو، آسیبپذیریهای موجود در سیستم عاملهای لینوکس را نیز پیدا کنید.
لطفا به این نکته توجه داشته باشید که این آسیبپذیری در واقع یک نوع فیشینگ است و در کالی لینوکس وجود ندارد. اگر میخواهید سیستم عامل خود را امن کنید، حتما از ابزارهای امنیتی مانند nmap، metasploit و searchsploit استفاده کنید.