آشنایی با adb برای android hacking
امنیت دستگاه های قابل حمل (تلفن های هوشمند و تبلت ها و … ) از داغ ترین مباحث روز میباشد. اندروید که سیستم عامل پیشرو در بازار تلفن همراه است ، پایگاه بزرگی از اطلاعات کاربران میباشد که داده های مهمی را در خود ذخیره کرده است.
در حال حاضر تلفن های همراه از منابع سرگرمی ، کسب و کار ، کار های شخصی و همچنین خطرات جدید هستند! از این رو حمله به تلفن های همراه و برنامه های آن در حال افزایش است.
میخواهیم در سایت zeroToHero به بررسی تهدیدها و جلوگیری از این حملات بپردازیم.
در این مقاله قصد داریم راجع به ابزاری به نام adb یا (android debug bridge) صحبت کنیم. adb یک ابزار اصلی برای تست نفوذ برنامه های اندروید میباشد. این ابزار در android SDK در مسیر “platform-tools” از پیش نصب شده و مسیر آن هنگام نصب sdk در environment variables ویندوز اضافه شده است.
حال توانایی های adb را مورد بررسی قرار میدهیم.
۱- بررسی اتصال دستگاه اندرویدی
با استفاده از دستور زیر میتوانیم لیست دستگاه های متصل (واقعی و مجازی (مانند AVD و genymotion)) را ببینیم.
adb devices
اگر دستگاه شما به سیستم متصل است ولی شناسایی نمیشود ، راه کار های زیر را امتحان کنید :
۱- USB debugging را در دستگاه خود فعال کنید.
۲- مطمئن شوید که درایور دستگاه روی سیستم نصب شده است.
۲- بکار گیری shell
با استفاده از دستور زیر میتوانید shell دستگاه را فراخوانی کرده و دستورات خود را در آن اجرا کنید.
adb shell
با دستور زیر میتوانیم از بین دستگاه واقعی یا مجازی (امولاتور) یکی را انتخاب کنیم.
adb –e shell
adb –d shell
یا میتوان این دستور دستگاه خاصی (با استفاده از نام دستگاه) را انتخاب کرد.
adb –s [name of the device]
۳- لیست بسته های نصب شده
حال با بکارگیری shell میتوان بسته های (packages) نصب شده روی سیستم را با استفاده از دستور زیر لیست کرد.
ابتدا با یکی از روش های بالا shell دستگاه مورد نظر را فراخوانی کرده و سپس با استفاده از کد زیر بسته ها را لیست میکنیم.
pm list packages
در واقع لیستی از نام package برنامه های نصب شده نشان داده میشود.
۴- هل دادن (push) فایل درون دستگاه
با استفاده از دستور زیر میتوانیم فایلی را از مسیری که در سیستم وجود دارد به مسیری داخل دستگاه کپی کنیم.
adb push [file on the local machine] [location on the device]
برای مثال داریم :
adb push test.txt /data/local/tmp
نکته : /data/local/tmp یکی از مسیر های دستگاه اندرویدی است که قابلیت نوشتن فایل در آن وجود دارد.
۵- بیرون کشیدن (pull) فایل از دستگاه
با استفاده از دستور زیر میتوان فایلی را از مسیری مشخص بیرون کشید و داخل مسیر فعلی سیستم کپی کرد.
adb pull [file on the device]
برای مثال فایلی که در دستور قبل درون دستگاه کپی کرده بودیم حال میخواهیم از دستگاه استخراج کنیم :
adb pull /data/local/tmp/test.txt
۶- نصب برنامه ها با adb
ما میتوانیم با استفاده از دستور زیر یک فایل برنامه (apk.) را روی دستگاه نصب کنیم.
adb install [filename.apk]
نکته : اگر برنامه ای نصب کنید که از قبل روی دستگاه نصب بوده باشد به شما خطا میدهد. باید اول برنامه ی مورد نظر را از دستگاه حذف کرده و سپس اقدام به نصب کنید.
۷- مشکل اتصال در adb
بعضی مواقع adb دستگاه شما را شناسایی نمیکند درحالی که دستگاه شما (واقعی یا مجازی) به سیستم متصل است. در این حالت شما باید با دستور زیر adb های در حال اجرا را restart کنید.
adb kill-server
به پایان آموزش رسیدیم.
امیدوارم لذت برده باشید.
در آموزش های آینده از این ابزار استفاده خواهیم کرد. پس خوب یاد بگیرید.
موفق باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.