بهدلیل یک آسیبپذیری میتوان فایلهای رمز شده توسط نسخههای قدیمی باجافزار TeslaCrypt را بدون نیاز به تعامل با سازندگان بدافزار و پرداخت با استفاده از قدرت محاسباتی کامپیوترهای معمولی رمزگشایی کرد.
توسعهدهندگان نسخههای قدیمی بدافزار تسلاکریپت در هنگام تولید کلیدهای خصوصی و عمومی دقت لازم را در انتخاب اعداد اول به خرج ندادهاند و از این رو میتوان در مدتزمان قابل قبولی فاکتورهای اول کلید عمومی را استخراج و با استفاده از آنها کلید خصوصی را محاسبه کرد. به عبارت دیگر، بهخاطر وجود این آسیبپذیری میتوان فایلهای رمز شده توسط نسخههای قدیمی این باجافزار را بدون نیاز به تعامل با سازندگان بدافزار و پرداخت با استفاده از قدرت محاسباتی کامپیوترهای معمولی رمزگشایی کرد. رمزگشایی فایلها می تواند از ۵ دقیقه تا چند روز بهطول بینجامد. البته این نقص در نسخه TeslaCrypt ۳.۰ برطرف شده است.
باج افزار TeslaCrypt بعد از رمزنگاری فایلها، آنها را با پسوندهای مختلفی ذخیره میکند. در حال حاضر فایلهایی با پسوندهای .ECC, .EZZ, EXX, .XYZ, .ZZZ, .AAA, .ABC, .CCC, .VVV قابل رمزگشایی هستند. البته با توجه به برطرف شدن این نقص در نسخه جدید باجافزار، فایلهایی با پسوندهای .TTT ، .XXX و .MICRO قابل رمزگشایی نیستند.
نقص موجود در این باجافزار در واقع در الگوریتم رمزنگاری مورد استفاده نیست، بلکه در ارتباط با نحوه تولید و ذخیرهسازی کلید رمزنگاری در سیستم قربانی است. باجافزار TeslaCrypt برای رمزنگاری فایلها از الگویتم AES استفاده میکند که یک الگوریتم رمز متقارن است و برای رمزنگاری و رمزگشایی فایلها از یک کلید یکسان استفاده میکند.
هربار که این باجافزار شروع به کار میکند، یک کلید AES جدید تولید میشود و در یک فایل که در طول نشست مربوطه رمزنگاری میشود، ذخیره خواهد شد. این بدین معنی است که ممکن است تعدادی از فایل ها بر روی سیستم قربانی با کلیدی متفاوت نسبت به دیگر فایلها رمز شده باشند. از آنجایی که قرار است کلید رمزنگاری درون یک فایل رمزشده ذخیره شود باید به روشی امن این کار انجام شود بهطوری که قربانی نتواند بهراحتی کلید رمزنگاری را از درون فایل رمزشده استخراج کند. برای محافظت از این کلید، باجافزار ابتدا کلید رمزنگاری را با استفاده از یک الگوریتم دیگر رمزنگاری میکند سپس این کلید رمزشده را در یک فایل رمزشده ذخیره میکند.
البته طول کلید ذخیره شده در برابر قدرت محاسباتی سیستمهای امروزی به اندازه کافی قوی نیست و قابل رمزگشایی است. بهطوریکه می توان با استفاده از برنامههای خاصی این اعداد بزرگ را تجزیه و عاملهای اول آن را بهدست آورد. پس از بهدست آوردن عاملهای اول میتوان از روی این عاملها کلید رمزنگاری فایلها را مجدداً تولید کرد.
برای رمزگشایی فایلهایی که با باجافزار TeslaCrypt ۲.۰ رمز شدهاند و دارای یکی از پسوندهای .ECC، .EZZ، .EXX، .XYZ، .ZZZ، .AAA، .ABC، .CCC و .VVV هستند میتوان با استفاده از اسکریپتی که به زبان پایتون نوشته شده است، کلید خصوصی رمزنگاری را بهدست-آورده و فایلها را رمزگشایی کرد. این اسکریپت در مسیر https://github.com/Googulator/TeslaCrack قرار دارد.
اسکریپت unfactor.py موجود در مسیر فوق، با تجزیه عاملهای اول کلید رمزنگاری سعی در بهدست آوردن آن می کند. اسکریپت teslacrack.py با بررسی header مربوط به فایلهای رمزشده و استخراج کلید رمزنگاری با استفاده از unfactor.py ، فایلها را رمزگشایی میکند. برای استفاده از این اسکریپت باید پایتون بر روی سیستم نصب شده باشد. توضیحات کامل مربوط به نصب پایتون، نصب اسکریپت فوق و نحوه استفاده از این اسکریپت را میتوان در همان آدرس مشاهده کرد.