کیلاگر (KeyLogger) چیست؟ و کاربرد های آن
.:: کیلاگر (KeyLogger) چیست؟ و کاربرد های آن ::.
کیلاگر چیست ؟
» کیلاگر یکی از خصوصیات زبانهای برنامه نویسی است که به برنامه نویس این اجازه را میدهد
تا کیبرد و موس خود را مانیتور (مورد بررسی) کند. حال اگر یک هکر از این قابلیت مثبت زبانهای برنامه نویسی سواستفاده کند و ابزاری طراحی کند که دستگاهی دیگر را به صورت غیر مجاز مانیتور کند و لاگ ها (نتایج) موجود از این مانیتور کردن را برای خود به روش های مختلف ارسال کند کیلاگر می گویند.
کیلاگر ها چگونه عمل میکنند
» این ابزارها با ایجاد یک کانکشن بین سیستم هکر و قربانی
تمام دکمه های ورودی از موس و کیبرد را ذخیره کرده و برای هکر در قالب بسته هایی ارسال میکنند؛ این روش ارسال می توانند ارسال از طریق ماژول سوکت یا ایمیل و حتی ربات تلگرامی باشد
انواع کیلاگرها
» کیلاگر ها به دو دسته فیزیکی و نرم افزاری تقسیم بندی می شوند :
فیزیکی
» در این حالت هکر یک سورس برنامه نویسی مخرب را بر روی یک Bad Usb میکند
و با وصل کردن آن یو اس بی به سیستم تارگت باعث نصب و اجرا کیلاگر بر روی سیستم تارگت می شود یا حتی ممکن است ابتدا ورودی موس یا کیبرد را به کیلاگر فیزیکی وصل کند و سپس آن گیلاگر را به ورودی کامپیوتر یا دستگاه شما وصل کند
نرم افزاری
» در این حالت هکر کیلاگر را در قالب یک نرم افزار به قربانی میدهد و قربانی با نصب آن باعث اجرا شدن کیلاگر بر روی سیستم خود می شود
چرا Keylogger ها تهدید هستند
» Keylogger تهدیدی جدی برای کاربران و داده های کاربران است
زیرا آنها کلید های دستی را برای رهگیری رمزهای عبور و سایر اطلاعات حساس تایپ شده از طریق صفحه کلید ردیابی می کنند. این مزیت دسترسی هکرها به کدهای PIN و شماره حساب، رمزهای ورود به سایت های خرید آنلاین، شناسه های ایمیل، ورود ایمیل و سایر اطلاعات محرمانه و غیره را به هکرها می دهد.
-» وقتی هکرها به اطلاعات خصوصی و حساس کاربران دسترسی پیدا می کنند
می توانند با استفاده از داده های استخراج شده حساب آنلاین کاربر را به صورت آنلاین انجام دهند. از Keylogger ها بعضاً می توان به عنوان ابزاری برای جاسوسی اطلاعات شرکت های دولتی و تجاری استفاده کرد.
-» هدف اصلی Keylogger دخالت در زنجیره ای از وقایع است که هنگام فشار دادن کلید
و نمایش داده ها بر روی مانیتور در نتیجه ضربه کلید اتفاق می افتد. برای دستیابی به نظارت تصویری، می توانید Keylogger را با معرفی یک سیم کشی یا یک اشکال سخت افزاری در صفحه کلید انجام دهید. خاتمه دادن ورودی و / یا خروجی؛ یا با استفاده از درایور فیلتر در پشته صفحه کلید، و خواستار داده ها از صفحه کلید کاربر با استفاده از روش های مستند کلی است. دو روش rootkit دیگر نیز وجود دارد که توسط هکرها مورد استفاده قرار می گیرند: پوشاندن در حالت هسته و پوشاندن در حالت کاربر.
چگونه Keylogger ها پخش می شوند
» وقتی کاربر بر روی یک لینک کلیک می کند یا پیوست / پرونده ای را از طریق ایمیل فیشینگ باز می کند، می توان Keylogger را نصب کرد
Keylogger ها از طریق اسکریپت صفحه وب قابل نصب هستند. این کار با سواستفاده از یک مرورگر آسیب پذیر انجام می شود و هنگام بازدید کاربر از وب سایت مخرب ، Keylogger راه اندازی می شود.
-» هنگامی که کاربر پرونده پیوست شده به ایمیل را باز می کند، یک Keylogger قابل نصب است !
یک Keylogger می تواند از طریق یک اسکریپت صفحه وب نصب شود که از آسیب پذیری مرورگر استفاده می کند. این برنامه با مراجعه کاربر به سایت آلوده به طور خودکار راه اندازی می شود
-» یک Keylogger می تواند از یک سیستم آلوده سواستفاده کند و گاهی اوقات قادر است بدافزارهای دیگر را روی سیستم بارگیری و نصب کند.
امنیت در مقابله کیلاگرها
- نصب آنتی ویروس و اسکن برنامه ها قبل از اجرا
- استفاده از دکمه های مجازی صفحات پرداخت بانکی
- غیرفعال کردن AutoRun
- نصب برنامه ها و بروز رسانی آنها از منابع اصلی
معرفی چند کیلاگر ویندوزی
- Spyrix Free Keylogger
- Actual Keylogger
- All In One Keylogger
- Elite Keylogger for Windows
- Viotto Keylogger
- pctattletale
سورس یک کیلاگر با زبان پایتون
» سورس زیر یک سورس مانیتور کیبرد و موس است که می توانید در جهت استفاده برای کیلاگر نیز از آن استفاده کنید !
from pynput import keyboard def on_press(key): try: print('alphanumeric key {0} pressed'.format( key.char)) except AttributeError: print('special key {0} pressed'.format( key)) def on_release(key): print('{0} released'.format( key)) if key == keyboard.Key.esc: # Stop listener return False # Collect events until released with keyboard.Listener( on_press=on_press, on_release=on_release) as listener: listener.join() # ...or, in a non-blocking fashion: listener = keyboard.Listener( on_press=on_press, on_release=on_release) listener.start()