استفاده از گوشیهای اندرویدی قدیمی و روت شده (Rooted) میتواند کاربردهای امنیتی و عملیاتی جالبی داشته باشد. یکی از این روشها، تبدیل گوشی به یک خواننده NFC و کیبورد USB (HID) برای کامپیوتر است. در این پیکربندی، گوشی میتواند UID کارتهای NFC را بخواند و در صورت تایید، توالی خاصی از دستورات کیبورد را به سیستم ارسال کند.
مکانیزم عملکرد سیستم
در این روش، گوشی اندرویدی از طریق کابل USB به کامپیوتر متصل شده و خود را به عنوان یک دستگاه USB HID (Human Interface Device) معرفی میکند. به عبارت ساده، کامپیوتر تصور میکند یک کیبورد فیزیکی به آن متصل شده است و نیازی به نصب درایور یا نرمافزار خاصی روی سیستم میزبان نیست. جریان عملیاتی به شرح زیر است:
- گوشی اندرویدی به عنوان کیبورد USB شناسایی میشود.
- یک توکن NFC در نزدیکی گوشی قرار میگیرد.
- اپلیکیشن اندرویدی UID توکن را خوانده و با لیست سفید (Whitelist) مقایسه میکند.
- در صورت تایید، یک Payload (بار مفید) از دستورات کیبورد به کامپیوتر ارسال میشود.
روشهای پیادهسازی
برای اجرای این پروژه، دو مسیر اصلی وجود دارد:
۱. استفاده از Kali NetHunter: این پلتفرم تست نفوذ موبایلی، ابزاری به نام USB Arsenal دارد که اجازه میدهد حالتهای مختلف USB Gadget از جمله HID فعال شوند. کاربر میتواند از طریق منوی DuckHunter دستورات مورد نظر را تعریف و ارسال کند.
۲. استفاده از USB Gadget Tool: برای گوشیهای روت شدهای که NetHunter ندارند، میتوان از این ابزار برای فعالسازی نقشهای USB Gadget از طریق رابط ConfigFS در کرنل لینوکس استفاده کرد تا دستگاه به عنوان کیبورد شناسایی شود.
تحلیل امنیتی و محدودیتها
از دیدگاه امنیتی، باید به یک نکته حیاتی توجه داشت: UIDهای NFC محرمانه نیستند.
بسیاری از توکنهای NFC تنها UID خود را ارسال میکنند که به راحتی توسط خوانندههای دیگر قابل خواندن و توسط شبیهسازها قابل کپی (Cloning) است. بنابراین، این روش نباید به عنوان یک سیستم احراز هویت قوی (Strong Authentication) برای دسترسی به دادههای حساس یا سیستمهای سازمانی به کار رود. این متد بیشتر برای اتوماسیون (Automation) و راحتی کاربر (Convenience) مناسب است تا امنیت سطح بالا.
کاربردهای عملی Payloadها
با تعریف دستورات مشابه ساختار Rubber Ducky، میتوان کارهای زیر را اتوماتیک کرد:
- باز کردن سریع وبسایتهای مورد نیاز یا داشبوردهای مدیریتی.
- اجرای ابزارهای خاص یا باز کردن ترمینال در محیطهای آزمایشگاهی.
- وارد کردن متون تکراری و غیرحساس (مانند شناسههای دستگاه).
- ورود خودکار به سیستم (که البته به دلیل ذخیره پسورد در دستگاه، ریسک امنیتی دارد).
بهبود تجربه کاربری با Magisk
به طور پیشفرض، اندروید در حالت قفل یا خاموش بودن صفحه، NFC را غیرفعال میکند. برای دور زدن این محدودیت، میتوان از ماژول NFC Screen Off در Magisk استفاده کرد تا حتی در حالت قفل نیز توکنها شناسایی شوند. البته این اقدام، لایه امنیتی فیزیکی را کاهش داده و اجازه میدهد هر کسی با داشتن توکن کپی شده، دستورات را اجرا کند.