چگونه هکر ها فقط با کنترل کیبورد سیستم هدف میتوانند هر کاری بکنند !!! :: Mr Python | مستر پایتون

چگونه هکر ها فقط با کنترل کیبورد سیستم هدف میتوانند هر کاری بکنند !!!

  • ۱۶۹۷

چگونه هکر ها فقط با کنترل کیبورد سیستم هدف میتوانند هر کاری بکنند !!!

درود به همه !

 

در پست امروز درمورد روش کنترل کامل یک سیستم توسط کیبورد آن سیستم صحبت میکنیم . امروز اسکریپتی مینویسیم که با کنترل کردن و ارسال کلید های کیبورد به سیستم بتونه هر دستوری رو در خط فرمان سیستم اجرا کنه و سیستم رو کنترل کنه . هکر ها از این روش در جاهای مختلفی استفاده میکنند .

کلمه ای داریم تحت عنوان ‌HID مخفف Human Interface Device به معنای دستگاه رابط انسان . وسیله هایی مثل کیبورد ، موس ، joystick  و .... که در واقع دستگاهی برای ارسال اطلاعات انسانی به کامپیوتر هستند را دستگاه های ‌HID میگوییم . کیبورد یکی از این دستگاه ها است .

اما چگونه فقط با کلید های کیبورد کل سیستم را کنترل کنیم .خیلی سادس همینطور که ما بدونه داشتن موس میتونیم وارد خط فرمان بشیم و دستور اجرا کنیم پس یعنی با کیبورد میشه هر کاری انجام داد . برای مثال اگر بخواهیم در یک سیستم ویندوزی ، با کیبورد هر کاری بکنیم کافیه کلید ‌WINDOWS + R رو فشار بدیم تا پنجره RUN باز بشه و سپس بنویسیم cmd و کلید enter رو بزنیم و تمام . حالا هر دستوری میخوایم میتونیم فقط با کیبورد اجرا کنیم و enter بزنیم تا اجرا بشه . حالا کافیه هکر بیاد یه اسکریپتی بنویسه که خود اسکریپت به طور خودکار این کلید ها رو فشار بده و وارد خط فرمان بشه و .....

خب شاید سوال براتون پیش بیاد که این روش چه جاهایی کاربرد داره ؟؟ خب اگه هکر بتونه اسکریپت بنویسه که خیلی راحت میاد دستوراتشو از طریق کتابخونه ای مثل os مستقیم در خط فرمان اجرا میکنه دیگه چه کاریه بخواد از کیبورد این کارو انجام بده . جواب این سوال رو با یه مثال میدم . یه ابزاری در دنیای هک و امنیت هست به اسم Rubber Ducky که همونه BAD USB هم بهش میگن . این ابزار در قالب یه فلش مموری میتونه باشه . اگه دیده باشید هکر ها یه فلش مموری دارن که وقتی میزنن به سیستم هدف خودکار یه دستوراتی رو اجرا میکنه و خراب کاری میکنه  . اون فلش مموری های مخرب از همین سیستم استفاده میکنند . یعنی هکر میاد در تنظیمات اون فلش مموری تغییراتی ایجاد میکنه که فلش مموری خودشو جای یه دستگاه HID مثل کیبورد جا میزنه و میتونه کلید های کیبورد رو ارسال کنه به سیستم و عملا مثل یک کیبورد عمل میکنه . حالا میاد فلش مموری تغییر یافته رو طوری تنظیم میکنه که با استفاده از روشی که بالا گفتیم به وسیله ی ارسال کلید های مختلف خط فرمان رو باز کنه و یه دستور رو اجرا کنه (چون مثل ربات عمل میکنه در عرض چند ثانیه این کارو انجام میده) . نمونه ای از ‌Rubber Ducky  یا همون bad usb در تصویر زیر :

اگه میخواین بیشتر در مورد rubber ducky بخونید میتونید به مقاله ی rubber ducky چیست و چگونه ساخته میشود مراجعه کنید .

خب دیگه توضیح بسه بریم سراغ اسکریپت نویسی. پس ما میخوایم اسکریپتی بنویسیم که خودش خودکار یه سری از کلید های کیبورد رو فشار بده و از طریق اونا به خط فرمان دسترسی پیدا کنه و هر دستوری که خواستیم رو روی خط فرمان اجرا کنه . ما این تست رو روی یک سیستم ویندوزی انجام میدیم .

برای ارسال کلید های کیبورد به سمت کامپیوتر (زدن کلید های کیبورد توسط اسکریپت) از کتابخونه ی keyboard استفاده میکنیم . این کتابخونه رو از طریق ابزار pip نصب میکنیم ‌:

نصب keyboard در لینوکس :

MrPython@debian:~$ sudo pip3 install keyboard

نصب keyboard در ویندوز :

C:\> pip install keyboard

 

سورس کد :

from keyboard import press_and_release , write
from time import sleep

command = "echo THIS Command Will Run on the CMD :)"

press_and_release("left windows + R") # Press And Release WINDOWS + R -> OPEN Run
sleep(0.5)
write("cmd") # Write cmd on RUN
press_and_release("enter") # Press Enter For Open Cmd
sleep(0.5)
write(command) # write command in cmd
press_and_release("enter") # Run Command in cmd

توضیح سورس کد : در ابتدا تابع press_and_release رو برای زدن کلید های کیبورد و تابع write برای نوشتن یک متن توسط کیبورد رو از کتابخونه ی keyboard ایمپورت کردیم .

سپس یه متغییر تعریف کردیم به نام command و دستوری که قراره توی cmd اجرا بشه رو ریختیم داخلش .

در خط بعدی با استفاده از تابع press_and_release کلید های ترکیبی windows + r رو زدیم تا پنجره run باز بشه .

پس از اون نیم ثانیه تاخیر ایجاد کردیم تا پنجره run کامل باز بشه .

سپس در خط بعد با استفاده از تابع write عبارت cmd رو داخل پنجره run نوشتیم .

پس از اون کلید enter رو با استفاده از تابع press_and_release فشار دادیم تا خط فرمان (cmd) باز بشه .

سپس دوباره 0.5 ثانیه صبر کردیم تا خط فرمان کامل باز بشه .

در خط بعدی دستوری که قراره اجرا بشه رو در cmd نوشتیم .

و نهایتا با استفاده از تابع press_and_release کلید enter  رو زدیم تا دستور اجرا بشه و تمام .

 

میتونید این سبک اسکریپت رو به هر شکلی که خواستین تغییر بدین 

پس فهمیدیم یه هکر فقط با داشتن دسترسی روی کیبوردمون چه کار هایی میتونه بکنه !.

 

یاحق !

Telegram Channel : @mrpythonblog

 

  • لطفا اگر میشه حتما اموزششرو برامون بزارید مستر...ممنونم!

    پاسخ:
    درود . 
    حتما در قالب مقاله های متفرقه در آینده مینویسمش . :)
  • سلام مستر.تازه با سایت خوبتون اشنا شدم... واقعا فوق العاده هستین....

    فقط چجوری میشه این اسکریپت رو برا اندروید ایجاد کرد؟

    پاسخ:
    سلام . ممنون خداروشکر که مفید واقع میشن آموزش ها .
    ببینید امروزه خیلی گوشی های ما دستگاه های HID رو ساپورت میکنند . یعنی میشه بهشون ماوس یا کیبورد وصل کرد . 
    خب میشه با ماژول های سخت افزاری خاص که امروزه خیلی ازشون استفاده میشه مثل اوردینو ها یا .... یا سخت افزار های دیگه ... دستگاهی ساخت که خودش رو به عنوان کیبورد جا بزنه و در اندروید فعالیت های مخرب انجام بده . مثلا برای کرک پین های اندرویدی یا ... میتونه استفاده بشه . یا حتی باز کردن یه برنامه و از اینجور کارا . ولی خب برای ساخت چنین سخت افزاری برای اندروید نمیشه از پایتون استفاده کرد . اینجا باید بیایم با زبان هایی مثل ++C  اون سخت افزار هایی که گفتم رو برنامه نویسی کنیم تا کاری که میخوایم رو برامون بکنه . یعنی خودشو جای کیبورد جا بزنه و کلیدای کیبورد رو ارسال کنه سمت گوشی اندرویدی 
  • بعد یه سوال

    میشه اینارو روی رزبری پای زد ؟

    وظیفه بود.

    پاسخ:
    خب ببین اگه منظورت اینه که مثلا یه سخت افزاری داشته باشی که وقتی وصلش میکنی به سیستم هدف این کلید هارو بزنه ، باید به هر حال یه چیزی باشه که خودشو جای کیبورد جا بزنه . اینکارو حتی با اوردینو (Arduino) هم میشه انجام داد . یعنی میشه طوری کد نویسیش کرد که کلید های کیبورد رو ارسال کنه و بتونه همون کار های باحال رو انجام بده . اما بحث رزبری پای یکم متفاوت میشه .
    خب ما رزبری پای هارو در مدل ها و توانایی های مختلفی داریم . یه سریاشون واقعا مثل یه کامپیوتر میمونن (مثلا مدل rasp 3 b پلاس) . اونا رو فک نکنم بتونی باهاشون اینکارو بکنی . مثل این میمونه بخوای یه کامپیوتر رو از طریق پورت یو اس بی وصل کنی به یه کامپیوتر دیگه و یکی از این کامپیوترا نقش یه کیبورد رو بازی کنه . ولی با یه سریاشون مثل raspberry pi zero احتمالا بشه یه همچین کارایی کرد .
    معمولا این کارو با رزبری پای نمیکنن چون به صرفه نیست . با اوردینو یا حتی میکروکنترلر خیلی راحت تر و با هزینه ی کمتری میشه اینکارو کرد . فک کنم در چند پست بعدی با اوردینو میزاریم روش ساختشو .

    اما اگه منظورت اینه که کلا همین اسکریپتو روی رزبری پای اجرا کنیم که خب بله کار میده . اونم مثل یه کامپیوتر میمونه هیچ فرقی با سیستم ما نداره (از نظر اجرا کردن این اسکریپت)
  • اوه سلام

     

    مستر عالی هستی، من قبلا با pyautogui انجام میدادم یه نقصی داشت => اینکه ران رو بالا میاورد ولی سی ام دی رو روی خود پایتون ران میکرد |:

    مرسی

    پاسخ:
    سلام .
    آره pyautogui میانبر باحالیه کلا. نمیدونستم کار با کیبورد هم داره :)
    این الگوریتم باز کردن cmd رو قبلا روی رابرداکی انجام میدادیم اینجاهم دیگه همونو زدیم .
    آره با خود پایتون میشد cmd رو ران کرد . ممنون :)
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی