پیوست HTML یا SVG را از نظر بار مخرب پنهان، زنجیرههای atob/eval و فرمهایی که به سایت دیگر ارسال میشوند بررسی کنید.
دکودکر چندلایه
خود ابزار به زبان انگلیسی است؛ این صفحه آن را به زبان شما توضیح میدهد.
از دکودکر چندلایه استفاده کنید
کارکرد
متن رمزگذاریشده یا مبهم را چسبانده و رمزگشاییکننده لایهبهلایه آن را باز میکند و هر مرحله را نشان میدهد تا زمانی که متن قابلخواندن یا یک فرمت فایل شناختهشده باقی بماند. همه چیز در مرورگر شما اجرا میشود.
این کاملاً در مرورگر شما اجرا میشود: هیچیک از اطلاعاتی که وارد میکنید بارگذاری نمیشود.
چگونه از دکودکر چندلایه استفاده کنیم
- متن رمزگذاریشده را جایگذاری کنید. رشته را در متن رمزگذاریشده جایگذاری کنید: یک بلوب Base64 از یک اسکریپت، یک رشته هگز طولانی، متن رمزگذاریشده با درصد یا یک لیست String.fromCharCode.
- رمزگشایی. روی دکمهٔ Decode layers یا Ctrl+Enter کلیک کنید. هر لایهٔ شناساییشده بهترتیب تا دوازده لایه باز میشود.
- زنجیر را بخوان. سربرگ لایهها را به ترتیب فهرست میکند. هر مرحله روش، اندازه قبل و بعد و یک پیشنمایش را نشان میدهد.
- از نتیجه استفاده کنید. متن رمزگشاییشده را کپی کنید، شاخصها را در نتیجه بخوانید، یا از «ارسال به» برای تحلیلگر پیوست HTML، بازکننده لینک، مبدل IOC یا پاککننده URL استفاده کنید.
- قدم را با دست بردار. اگر یک لایه از دست رفت، یک روش را در بخش «Decode as» انتخاب کرده و اعمال کنید. برای بازگشت به مرحلهٔ قبلی، دکمهٔ Undo را بزنید.
مثال
بیس۶۴ URL-کدشدهٔ gzip
H4sIAAAAAAACA7MpTi7KLCixK8%2FMS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA3 layers: URL percent-encoding → Base64 → gzip
No further encoding recognised.
1
URL percent-encoding
1 escape · 130 → 128 bytes
H4sIAAAAAAACA7MpTi7KLCixK8/MS8kv18vJT04syczP08soSk1TsFVQyigpKSi20tdPrUjMLchJ1UvOz9UvSy3KTKu0L04tLgYqtTVPM05UsrbRh5oEACvqcc1SAAAA
2
Base64
decodes to gzip · 128 → 96 bytes
00000000 1f 8b 08 00 00 00 00 00 02 03 b3 29 4e 2e ca 2c |...........)N..,|
00000010 28 b1 2b cf cc 4b c9 2f d7 cb c9 4f 4e 2c c9 cc |(.+..K./...ON,..|
00000020 cf d3 cb 28 4a 4d 53 b0 55 50 ca 28 29 29 28 b6 |...(JMS.UP.())(.|
… 48 more bytes
3
gzip
96 → 82 bytes
<script>window.location.href = "hxxps://example[.]com/verify?session=7f3a";</script>
Result
Text, 82 bytes.
<script>window.location.href = "hxxps://example[.]com/verify?session=7f3a";</script>
Indicators in the result (1)
URL
hxxps://example[.]com/verify?session=7f3a
Copy indicators (raw)سه لایه: رمزگذاری درصد URL (%2F)، Base64 که به داده gzip رمزگشایی میشود، و خود gzip که در نهایت به یک اسکریپت ختم میشود که مرورگر را به https://example.com/verify میفرستد.
آنچه بررسی میکند
| سیگنال | معنای آن |
|---|---|
| زنجیره لایه | رمزگذاریها به ترتیب، برای مثال هگز → Base64. چند لایه پیرامون یک URL کوتاه یا دستور معمولاً نشان میدهد که کسی میخواسته آن را پنهان کند. |
| اندازه در هر گام | بایتها وارد و خارج هر لایه میشوند. لایهای از gzip یا deflate که بهطور قابلتوجهی بزرگ میشود، همان دکمپرسکردن معمولی است. |
| متن UTF-16LE | دو بایت برای هر کاراکتر، که در PowerShell -EncodedCommand مرسوم است. یک فرمان رمزگشاییشده که چیزی را دانلود یا اجرا میکند، نشانهای هشداردهنده است. |
| نتیجهٔ دودویی | اگر نتیجهٔ نهایی متن نباشد، یک دَمپ هگز از ۵۱۲ بایت اول همراه با فرمت تشخیصدادهشده نمایش داده میشود. آن را بهعنوان هگز یا Base64 کپی کنید؛ هرگز آن را اجرا نکنید. |
| شاخصها در نتیجه | URLها، آدرسهای ایمیل و آدرسهای IPv4 یافتشده در متن رمزگشاییشده، بهصورت خنثیشده نمایش داده میشوند و دکمهای برای کپیکردن خام آنها وجود دارد. |
| پیام توقف | هیچ رمزگذاری بیشتری شناسایی نشد، محدودیت دوازدهلایه یا گامی که نتیجهٔ قبلی را تکرار کند. در حدّ ممکن ممکن است لایههای بیشتری وجود داشته باشد. |
| گزینه دفنگ | بهطور پیشفرض فعال است: آدرسهای URL و ایمیلها در نتایج بهصورت غیرفعالشده نمایش داده میشوند. کپی همیشه متن خام را ارائه میدهد. |
| گزینهی پوستگیری را حفظ کنید | پس از یک مرحلهٔ رمزگشایی دستی، رمزگشایی بهطور خودکار ادامه مییابد مگر اینکه تیک آن را بردارید. |
| بهصورت لیست رمزگشایی کن | Base64، Base64 امن برای URL، هگز، رمزگذاری درصد URL، انتیتهای HTML، فرارها، کدهای کاراکتری، quoted-printable، gzip، zlib، deflate خام و UTF-16LE، برای مرحلههایی که گذر خودکار آنها را نادیده میگیرد. |
| کپی دکمهها | گزینهٔ Copy متن رمزگشاییشده را بهصورت خام ارائه میدهد. یک نتیجهٔ دودویی، بهجای آن، گزینههای Copy as hex و Copy as Base64 را ارائه میکند. |
نمونههای بیشتر
کتگوری: تست وکتور RFC 4648
Zm9vYmFyیک لایه: Base64، ۸ → ۶ بایت. نتیجه متن «foobar» است، مقداری که در RFC 4648 منتشر شده است.
ششضلعی دور Base64 دور یک URL
6148523063484d364c793973623264706269356c654746746347786c4c6d356c644339795a584e6c64413d3dدو لایه: هگز → Base64 (88 → 44 → 31 بایت). نتیجه https://login.example.net/reset است که بدون دندانهای نیش نمایش داده شده و در بخش شاخصها فهرست شده است.
دستور رمزگذاریشده PowerShell
UwB0AGEAcgB0AC0AUAByAG8AYwBlAHMAcwAgACcAaAB0AHQAcABzADoALwAvAGUAeABhAG0AcABsAGUALgBvAHIAZwAvAHUAcABkAGEAdABlACcAدو لایه: Base64 → متن UTF-16LE، که بهعنوان ویژگی معمول PowerShell -EncodedCommand شناخته میشود. نتیجه Start-Process 'https://example.org/update' است، با URL بهعنوان نشانگر.
سوالات متداول
چه کدگذاریهایی را تشخیص میدهد؟
Base64 (استاندارد و امن برای URL، با پدینگ اختیاری)، هگزادسیمال به صورت ساده، 0x، \x، به صورت جداشده با فاصله یا دو نقطه، رمزگذاری درصد URL، انتیتهای HTML، فرارهای \x، \u، \u{…} و %u، String.fromCharCode، لیستها، quoted-printable، gzip، zlib و raw deflate، و متن UTF-16LE مانند PowerShell -EncodedCommand. فراخوانهایی مانند atob('…') یا base64_decode('…') و URIهای data: نیز بدون بستهبندی ارائه میشوند.
چرا متوقف شد، یا متن من را همانطور که بود رها کرد؟
یک لایه تنها زمانی پذیرفته میشود که خروجی آن متن قابلخواندن، یک فرمت فایل شناختهشده یا جریانی باشد که بهخوبی فشردهسازیاش را باز میکند، بنابراین کلمات معمولی که اتفاقاً Base64 معتبر هستند دستنخورده باقی میمانند. بنابراین ممکن است رمزگذاریهای کوتاه یا غیرمعمول از دست بروند: از «Decode as» برای اعمال دستی یک روش و از «Undo» برای بازگشت استفاده کنید. این فرایند پس از ۱۲ لایه متوقف میشود.
آیا محتوای رمزگشاییشده اجرا یا ارسال میشود؟
خیر. رمزگشایی با استفاده از جاوااسکریپت خالص و جریان فشردهسازی مرورگر انجام میشود؛ نتیجه به صورت متن یا خروجی هگزادسیمال نمایش داده میشود و هرگز اجرا، رندر یا بارگذاری نمیشود.
چنین جملاتی از کجا میآیند؟
صفحات فیشینگ و پیوستها آدرسهای اینترنتی و کدها را در Base64 یا هگزادسیمال پنهان میکنند، صفحات ClickFix دستورات رمزگذاریشده PowerShell را به کلیپبورد شما کپی میکنند و ایمیلها بهصورت quoted-printable ارسال میشوند. این رشته را اینجا بچسبانید بهجای اینکه آن را اجرا کنید.
آیا میتوانم یک لایه را در هر بار رمزگشایی کنم؟
بله. تیک «بعد از یک مرحله دستی، پوستهبرداری را بهطور خودکار ادامه دهد» را بردارید، سپس زیر «Decode as» یک روش انتخاب کرده و برای هر مرحله روی «اعمال بر نتیجهٔ فعلی» کلیک کنید.
چقدر متن میتوانم پیست کنم؟
تا ۵ مگابایت. نتایج طولانیتر از ۲۰۰٬۰۰۰ کاراکتر روی صفحه کوتاه میشوند، اما در کپی متن کامل ارائه میشود.
کوted-printable و percent-encoding چیست؟
هر دو یک بایت را بهعنوان یک نشانه بههمراه دو رقم هگزادسیمال مینویسند. Quoted-printable از متنهای ایمیل میآید، جایی که =3D بهمعنای = است. رمزگذاری درصد از آدرسهای URL میآید، جایی که %2F بهمعنای / است.