مشکل امنیتی imagemagick

نوشته شده توسط: محمد

آخرین ورژن از imagemagick بدرستی قادر به فیلتر کردن نام فایل ها را ندارد و لذا همین موضوع باعث می گردد که نفوذگران از راه دور بتوانند دستورات خود را اجرا کنند. که این سناریو با آپلود یک عکس از طریق آپلودر هایی که از imagemagick استفاده می گردد اتفاق می افتد که شرح این سناریو در ادامه ذکر شده است.
این آسیب پذیری توسط محققان امنیتی با نام جالب Image Tragick نامگذاری شده است و هم اکنون CVE-2016-3714 متعلق به این آسیب پذیری می باشد.
index
جزئیات مشکل امنیتی ImageMagick :
آسیب پذیری در این نرم افزار زمانی رخ می دهد که شما آپلودری داشته باشید که از ImageMagick در آن استفاده می گردد.
که در این حالت نفوذگر یک فایل مخرب را از آدرس مشخصی دانلود می کند و در مسیر مشخصی در سرور ذخیره می کند.
حالت های مختلفی برای استفاده از این آسیب پذیری وجود دارد که به عنوان مثال چند حالت سوء استفاده به شرح ذیل می باشد.
۱- نفوذ گران براحتی می توانند با استفاده از پروتکل ephemeral:/ فایل هایی را از سرور شما از راه دور حذف کنند.
۲- نفوذ گران براحتی می توانند با استفاده از پروتکل msl:/ فایل هایی را از سرور شما را از راه دور جابجا کنند.
۳- نفوذ گران براحتی می توانند با استفاده از پروتکل label:@ برای مشاهده محتویات فایل های شما استفاده کنند و سپس محتویات فایل های شما را افشا کنند
زمانی که همه ی این سناریوها در یک حمله رخ دهد. زیانهای جبران ناپذیری را متوجه مدیران سایت ها و مدیران سرور ها می کند
*** نکته : فیلتر کردن MGV extension به تنهایی برای جلوگیری از این حملات کافی نیست.
به نظر میرسد که محققان امنیتی بزودی اسیب پذیری های جدیدی به همراه سناریو های مختلف حمله برای imagemagick شناسایی و ارائه کنند.
توجه به این نکته الزامی است که بدانید تاکنون IDS ها و فایروال های تحت وب مانند ModSecurity هنوز برای جلوگیری از این حمله راهکاری ارائه نداده اند
آیا سرور من در مقابل این حمله آسیب پذیر است ؟
برای این آسیب پذیری سایتی با نام https://imagetragick.com برای این منظور ایجاد شده است که می توانید با استفاده از این سایت آسیب پذیر بودن سرور خود را در مقابل این آسیب پذیری بررسی کنید.
همچنین می توانید دستورات ذیل رو در سرور خود اجرا کنید
[php]
git clone https://github.com/ImageTragick/PoCs.git
cd PoCs
./test.sh
[/php]
در صورتی که سرور شما در مقابل این آسیب پذیری امن باشد . خروجی آن مانند خروجی ذیل می شود.
[php]
</pre><pre>secure@host:~/code/PoCs$ ./test.sh
testing read
SAFE
testing delete
SAFE
testing http with local port: 38663
SAFE
testing http with nonce: a7DyBeV7
SAFE
testing rce1
SAFE
testing rce2
SAFE
testing MSL
SAFE
[/php]
و در صورتی که سرور شما دارای نسخه آسیب پذیر ImageMagick باشد خوجی آن شبیه خروجی ذیل می باشد.
[php]
secure@host:~/code/PoCs$ ./test.sh
testing read
UNSAFE
testing delete
UNSAFE
testing http with local port: 44755
UNSAFE
testing http with nonce: a7DvBer2
UNSAFE
testing rce1
UNSAFE
testing rce2
UNSAFE
testing MSL
UNSAFE
[/php]
راه حل رفع مشکل:
تغییر فایل policy.xml در ImageMagick
برای تغییر فایل مربوطه فایل policy.xml را از مسیر /etc/ImageMagick/policy.xml ویرایش کنید و عبارت ذیل را در آن قرار دهید.
[php]
<policymap>

<policy domain=”coder” rights=”none” pattern=”EPHEMERAL” />
<policy domain=”coder” rights=”none” pattern=”HTTPS” />
<policy domain=”coder” rights=”none” pattern=”URL” />
<policy domain=”coder” rights=”none” pattern=”MVG” />
<policy domain=”coder” rights=”none” pattern=”MSL” />
</policymap>”
[/php]

مطالب مرتبط

نظر شما