برای ساخت Bad Usb به یک برد نیاز داریم که بتونیم برنامه نویسیش کنیم . یکی از بهترین برد ها برد arduino هست .
آردوینو یک ابزار عالی برای توسعه اشیا تعاملی ، گرفتن ورودی از انواع سوئیچ ها یا سنسورها و کنترل انواع چراغ ها ، موتورها و سایر خروجی ها است. پروژه های آردوینو می توانند به صورت مستقل باشند یا می توانند با استفاده از USB به کامپیوتر متصل شوند. آردوینو توسط کامپیوتر به عنوان یک رابط سریال استاندارد مشاهده می شود. در اکثر زبان های برنامه نویسی API ارتباط سری وجود دارد، بنابراین رابط کاربری آردوینو با یک برنامه نرم افزاری که روی رایانه اجرا می شود باید بسیار ساده باشد.
سخت افزار آردوینو چیست
این سخت افزار شامل یک صفحه پایه ساده است که دارای میکروکنترلر و مدار پشتیبانی آن با اتصالات ماژول ها و یک رابط USB برای بارگیری کد از کامپیوتر است. رایج ترین آن Arduino Uno نام دارد که از میکروکنترلر Atmel ATmega328P استفاده می کند.
به زبان دیگر می توان گفت که برد آردوینو یک صفحه میکروکنترلر است که به عنوان یک مدار کوچک که شامل یک کامپیوتر کامل روی یک تراشه کوچک میکروکنترلر است عمل می کند. نسخه های مختلفی از صفحه آردوینو وجود دارد که این نسخه ها از نظر اجزا، هدف و اندازه متفاوت هستند. برخی از نمونه های صفحه آردوینو عبارتند از: Arduino Diecimila ، Arduino Duemilanove ، Freeduino ، Arduino NG و موارد دیگر. نمودارهای آردوینو با استفاده از یک منبع باز توزیع می شوند، بنابراین هر کسی آزادانه می تواند تابلوی سازگار خود با آردوینو را بسازد.
یک Rubber Ducky USB رایانه را متقاعد میکند که درواقع صفحهکلیدی بیش نیست که بهتبع آن به هکرها اجازه میدهد payload مخرب را را به رایانه قربانی منتقل کنند. بسته به پیلودی که هکر از آن استفاده میکند، هکرها میتوانند به اهداف مختلفی دست یابند. برای مثال میتوان از پیلود Key Logger برای دستیابی به کلمه عبور کاربر استفاده کرد. با متصل کردن آردوینو رابر داکی به رایانه باعث خواهد شد یک فایل با پسوند txt ایجاد ضود که در آن تمام کلید های فشرده شده در صفحه کلید کاربر در آن ثبت می شود.
شما برای ساخت این پروژه به محیط توسعه یکپارچه آردوینو (IDE) بر روی تختهمدار ATtiny85 دیجیسپارک نیاز دارید که ۸ کیلوبایت حافظ قابلبرنامهریزی دارد. این بورد از یک تختهمدار معمولی آردوینو یا سختافزار متداول رابر داکی کوچکتر است اما هنگام کار با پیلودهای کوچک مشکلی ایجاد نمی کند .
اطلاعات بیشتر در مورد رابر داکی! USB Rubber Ducky یک ابزار تزریق بار دکمه ای است که خود را به عنوان یک درایو فلش USB در می آورد. بر اساس عملکرد HID کار می کند.
یک زبان ساده اسکریپت داکی ، باری را ایجاد میکند که میتواند برای قرار دادن پوستههای معکوس برای تسترهای نفوذ ، تزریق فایلهای باینری، دریافت رمزهای عبور ذخیرهشده و بسیاری از عملکردهای خودکار دیگر استفاده شود. در این پروژه از یک برد آردوینو برای ساخت Rubber Ducky خودمان استفاده می کنیم.
ردهای Digispark را می توان با استفاده از Arduino IDE برنامه ریزی کرد. ATtiny85 حدود 8 کیلوبایت حافظه فلش قابل برنامه ریزی دارد. بوت لودر حدود 2 کیلو بایت استفاده می کند و حافظه موجود 6 کیلوبایت خواهد بود. در مقایسه با برد آردوینو یا تجهیزات Rubber Ducky بسیار کوچک است، اما اگر حجم محموله خود را به حدود 6 کیلوبایت محدود کنیم، کافی است.
درایور را دانلود کنید
مطمئن شوید که نسخه سازگار را روی دستگاه خود از Github نصب کنید. (32 بیت یا 64 بیت)
اگر برای اولین بار Digispark ATtiny85 را وصل می کنید، کامپیوتر دستگاه را شناسایی می کند، 5 ثانیه صبر کرده و اتصال را قطع می کند. صدای اعلان اتصال/قطع کامپیوتر را به طور مداوم خواهید شنید.
این یک رفتار طبیعی است و فقط با یک دستگاه Digispark ATtiny85 برنامه ریزی نشده اتفاق می افتد.
آخرین نسخه Arduino IDE را دانلود و نصب کنید.
برنامه Arduino IDE را باز کنید، به File -> Preferences بروید
http://digistump.com/package_digistump_index.json
به Tools -> Board -> Boards Manager بروید
بسته Digistump AVR Boards را انتخاب کرده و نصب کنید.
پس از تکمیل این مراحل، یک طرح جدید ایجاد کنید و اسکریپت زیر را قبل از ذخیره آن در IDE کپی کنید.
//This DigiSpark script creates a text file on desktop with pwned message #include "DigiKeyboard.h" void setup() { } void loop() { DigiKeyboard.sendKeyStroke(0); DigiKeyboard.delay(500); DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT); DigiKeyboard.delay(500); DigiKeyboard.print("cmd /k cd %UserProfile%/Desktop"); DigiKeyboard.sendKeyStroke(KEY_ENTER); DigiKeyboard.delay(500); DigiKeyboard.print("echo YOU HAVE BEEN PWNED > YOU_HAVE_BEEN_PWNED.TXT"); DigiKeyboard.sendKeyStroke(KEY_ENTER); DigiKeyboard.delay(500); DigiKeyboard.print("exit"); DigiKeyboard.sendKeyStroke(KEY_ENTER); DigiKeyboard.delay(500); for (;;) { /*empty*/} }
روی Sketch -> Upload یا روی دکمه آپلود در بالا سمت چپ کلیک کنید
طرح تأیید/کامپایل میشود، سپس Arduino IDE از شما میخواهد که Digispark USB را ظرف 60 ثانیه وصل کنید.
پس از اتصال Digispark، Arduino IDE کد را روی میکروکنترلر می نویسد و سپس پیام را با فونت قرمز نمایش می دهد.
Rubbery Ducky خود را به رایانه ویندوزی خود وصل کنید. به طور خودکار چندین ضربه کلید انجام می دهد و سپس یک فایل *.txt در فهرست دسکتاپ ایجاد می کند.
این تنها یک نمونه از نحوه عملکرد Digispark BadUSB است. اگر Digispark را برای راه اندازی یک پوسته برنامه ریزی کنیم، همان کار را انجام می دهد.
نویسنده : آروین قوجازاده
Instagram: 8Arvin6
نوشته شده : 1401/7/30
2022/10/22
https://t.me/Arvin_Ghojazadeh