هک BIOS بایوس به کمک آردوینو: هدف از این پروژه جذاب با آردوینو، این است که یک برد آردوینو را به یک USB keyboard و یک پویشگر VGA مجهز کنیم تا برای شکستن رمز ورود یک BIOS از روش تست تعداد زیادی پسوردهای استفاده نماییم.
در پروژه مورد نظر ما ضمن اینکه ورودی VGA را اسنیف میکنیم سعی میکنیم از این طریق متوجه بشیم پسورد وارد شده به سیستم آیا توسط کامیپوتر پذیرفته شده یا نه و در صورت تایید آن را به عنوان پسورد سیستم در نظر میگیریم و نمایش میدهیم.
هیچ مزیتی در استفاده از این روش وجود ندارد.
در واقع این روش بسیارکند بوده و شما شاید حتی نتوانید به کلمه عبور دست یابید. اما ما همیشه کارهایمان را جهت سرگرمی انجام میدهیم. و ایده های آن میتواند برای کارهای مشابه کاربرد پیدا کند.. 🙂
و این تنها برای به نمایش در آوردن یک تصویر کلی از این عملیات است. راه های متفاوت زیادی برای برای بازنشانی BIOS وجود دارد بخصوص اگر به سخت افزارهای مناسب دسترسی داشته باشید. و البته این موضوعی است که شما باید راجع به آن اطلاعاتی داشته باشید زیرا ما داریم در رابطه با BIOS صحبت میکنیم و تا جایی که ما میدانیم هیچگونه دسترسی از راه دوری به آن وجود ندارد.
شاید برای شما مفید باشد: پروژه های آردوینو
در تئوری، شما میتوانید به غیر از BIOS در دیگر برنامهها نیز از این روش استفاده کنید، اما در صورتی که شرایط لازم برقرار باشد، به عنوان مثال نرم افزاری که قصد دارید عملیات را روی آن انجام دهید نباید پس از چند تلاش پیاپی بلاک شود. 🙁
همچنین یکی دیگر از محدودیتها این است که ما قادر به خوانش و پردازش تمامی قاب VGA نیستیم. به همین دلیل و به جای این کار، ما یک پیکسل واحد را از وسط صفحه جدا میکنیم و با توجه به رنگ آن مراحل بعد را پی میگیریم.
بعنوان مثال:
پیکسل قرمز در وسط صفحه نشانگر این است که رمز ورودی اشتباه است. در حالی که اگر پیکسل فوق آبی باشد، نشان دهنده صحت رمز عبور است. و سیستم منتظر ادامه عملیات رمزنگاری خواهد بود.
شبیه سازی صفحه کلید USB توسط آردوینو
برای بخش صفحه کلید USB، از کد V-USB برای آردوینو سود بردیم که از کتابخانه V-USB مورد استفاده قرار میگیرد. شما باید V-USB را برای آردینو نصب کنید تا بخش “pde” کار کند.
شماتیک مدار هک BIOS بایوس با استفاده از آردوینو :
شیلد آردوینو برای این پروژه بسیار ساده است، همچنین من به جای استفاده از یک کامپیوتر ثانویه از یک ال سی دی ساده جهت مشاهده روند پیشرفت و نتایج کار استفاده کردم.
دو سر دیود Zener نیز برای ایجاد رابطه با USB صفحه کلید استفاده میشود.
(که این یکی از پیشنهادات کتابخانه V-USB برای انجام کار است.)
یک دکمه نیز برای شروع و یا پایان عملیات وجود دارد. که اگر دکمه فوق را 2ثانیه نگه دارید عملیات حمله مجدداً پایه ریزی میشود.
اسنیفر Sniff the VGA – VGA :
برای دانستن رنگ پیکسل در میان صفحه، ما نیاز به خواننده سیگنال آنالوگ قرمز و همچنین پالسهای همگام سازی افقی و عمودی داریم تا زمانِ خوانشِ رنگ قرمز را بدانیم. در اولین تلاش از دستور attachInterrupt استفاده شد تا به وسیله آن HSYNC و VSYNC ضبط شود اما مشکلاتی پیش آمد که باعث توقف صفحه کلید USB شد.
به نظر میرسد استفاده از دستورات کلی ()ISR و ()SIGNAL در این مورد بهتر باشد.در این صورت پالس VSYNC یک متغیر گلوبال که h_line نامیده میشود را بازنشانی کرده و در همان حال HSYNC آنرا افزایش میدهد تا متوجه شود کدام یک از خطوط VGA ترسیم شده است.
تابع waitWrongPassword تجزیه و تحلیل پیکسلها را انجام میدهد.
چند ثانیه طول میکشد تا پیکسل قرمز ظاهر شود و به دنبال تطبیق خط برود. پس ازشروع روند هنگامی که به 238# (تقریباً میانه عمودی در رزولوشن 480*640) میرسد. زمان بندی با یک تأخیر کوچک برای رسیدن به خط میانی افقی روبرو میشود. و در نهایت ورودی آنالوگ خوانده میشود.
سپس، بعد از خواندن ورودی آنالوگ قرمز، نتیجه مورد مقایسه قرار میگیرد تا مشخص شود رمز ورودی اشتباه است یا خیر. اگر (valueR > 140) باشد. شما احتمالا! باید بر اساس تراز کارت VGA این مقدار را تغییر دهید.
دانلود کد برنامه :
شما باید مجموعه کاراکترهایی که میخواهید جهت عملیات از آنها استفاده کنید را از پیش تعیین کنید. جهت انجام این کار، آرایه charset را با افزودن کدهای رمز USB (که میخواهید از آنها استفاده کنید) اصلاح کنید. در حالت پیش فرض تنها کدهای KEY_A، KEY_B، و KEY_C تعریف شدهاند. همچنین، شما باید آرایه دومی که charset_log نامیده میشود را با توجه به طول آرایه اول اصلاح کنید. اما به جای کدهای رمز آنرا با کاراکترهای نشان دهنده بایت پر کنید.
چیز دیگری که باید تغییر دهید، حداکثر طول رمز عبور است که در حالت پیش فرض با 4 کاراکتر تنظیم شده است. برای مشخص کردن آن MAX_LEN را جستجو کنید.
حالات مختلف، به طور دورهای در قسمت EEPROM ذخیره میشود. بنابراین در صورت پیش آمدن مشکلی در سیستم، شما میتوانید از آخرین (یا نزدیکترین) گذرواژه تست شده کار را از سر بگیرید.
همچنین کد این برنامه را میتوانید از آدرس این پروژه در گیت هاب دانلود نمایید.
در اینجا برخی تصاویر شیلد طراحی شده را میبینید:
لینک منبع: سایت alfersoft
ترجمه: سیسوگ
سیسوگ:
ایده اسنیف کردن VGA و کی برد مجازی توسط آردوینو میتواند جهت پروژه های بیشمار و خلاقانه دیگری استفاده شود که دلیل انتشار این مطلب نیز همین مورد بوده است.