كيفية برمجه Keylogger بلغه البايثون لمراقبه الأجهزة عن بعد

برمجه Keylogger متقدم بلغه البايثون لمراقبه الجهاز عن بعد

7 تعليق yes 23- يوليو -2016 كاتب المجتمع

برمجه Keylogger متقدم بلغه البايثون لمراقبه الجهاز عن بعد

في بدايه موضوعنا اليوم سنقوم بالإجابة عن بعض الأسئلة الهامة لتوضح لك كيف نستطيع تسجيل حركه الماوس والكيبورد وأخذ سكرين شوت للجهاز وإرسال كل هذا للأيميل :

ما هي الأحداث ؟ وما هي مكتبه pywin32 وفيم تستخدم؟

الأحداث أو Events هي (كما تستنتج من أسمها) كل حدث يحدث في النظام مثل نقرة بالماوس أو ضغطه علي الكيبورد أو فصل أو أدخال جهاز وغيره.

وماهي الـ Hooks ؟

اما الخطافات أو الـ Hooks هي عباره داله أتاحها مبرمج النظام أو البرنامج ليسمح له (أو لغيره) بالتحكم ومراقبه الأحداث التي تحدث في نظامه أو برنامجه أياَ كان ما برمجه لكن ليس جميعها فيوجد ما هو مصمم بها من قبل ويوجد ما ليس به ولذلك سيتوجب عليك أن تحقنها بنفسك.

الأن لنستطيع أن نقوم بهذا يجب علينا أن يكون لدينا مكتبتين ضرورتين pywin32   وهي عباره عن مجموعه من المكتبات للتعامل مع الويندوز والـapi الخاص به وبالتالي ألتقاط الأحداث, pyHook لعمل عمليه الـHooking للأحداث

الأن نقوم بعمل Function لتستقبل الأحداث الخاصه بالماوس والبيانات التي نريدها من كل حدث وطباعتها وحفظها في ملف ونحن لا نريد منها الا :

WindowName —-> عنوان النافذه التي ضغط فيها الماوس

MessageName —-> إسم الزر الذي ضغط علي الجهاز (الزر الأيمن/الأيسر/الأوسط)

Position —–> لجلب موقع النقره في الشاشه

ونقوم أيضاً بعمل Function لتستقبل الأحداث الخاصة بالكيبورد والبيانات التي نريدها من كل حدث وطباعتها وحفظها في نفس الملف ونحن لا نريد منها إلا :

WindowName —-> عنوان النافذه التي كتب بها

Key ——> الزر أو الحرف الذي ضغطه

الأن نقوم بإعداد الهوك مانجر الخاص بنا لنستطيع تحديد اي حدث نريد مراقبته منه

ماذا نستطيع أن نفعل بالهوك مانجر ؟

كيفية التصنت على أجهزة

هوك مانجر

كما تري نستطيع أن نراقب كل شئ يتعلق بالكيبورد والماوس حتي حركته ولكن اذا جعلته يراقب حركه الماوس فستجد أنهيال من الداتا في التيرمنال وذلك بسبب أنه سيسجل كل حركه الماوس ولذلك سنجعله يراقب أزرار الماوس فقط والكيبورد بأختيار موديول keydown للكيبورد وMouseAllButtonsDown  للماوس وتمرير كل ذلك للـFunctions الخاصه بنا وتشغيل الـHooks كالأتي :

والأن علينا أن نقوم بالإنصات لأي أحداث تحدث لألتقاطها :

فتكون النتيجه:

كيفية التصنت على الأجهزة

التصنت على الأجهزة

الأن الكيلوجر يسجل الكيبورد والماوس الأن نجعله يصور الشاشه ولنقوم بذلك يجب أن تكون منصب تملك مكتبه pyautogui وتنصيبها يكون من خلال الأمر:

والأن لأخذ السكرين شوت نقوم بعمل Function جديده تقوم بهذا

ولكن يجب أن نولد أسماء عشوائيه من أجل أسماء الصور لأنه لو ظل بنفس الأسم ستحل كل سكرين شوت مكان التي كانت قبلها

ولعمل هذا سنستخدم مكتبتين :

مكتبه string —> لجلب حروف الابجديه والأرقام منها أو يمكنك كتابتهم بنفسك

مكتبه random —> لتوليد أسم عشوائي من من النص المتولد من مكتبه string

والمكتبتين موجودين بشكل أفتراضي في البايثون لا يحتاجون للتنصيب

الأن ستلاحظ أنه عند تشغيل السكربت فأنك تري التيرمنال وهذا لا يجب أن يحصل أن كنت تنوي أن تخدع أحد وترسل له هذا الإسكربت.

لإخفاء الإسكربت سنستخدم win32console لجلب مكان شاشه الترمينال ومكتبه win32gui لإخفائه وهذه المكتبات أنت قمت بتنصيبها من قبل عند تنصيب pywin32 في أول المقالة

الأن أذا قمت بفتح الإسكربت سيختفي فجأه فلا داعي الأن للـ Prints فلقد كانت فقط من أجل أختبار السكربت.!

الأن ننتقل الي الخطوه الأهم وهي إرسال كافه البيانات إلي الأيميل الخاص بك, سنستخدم مكتبه smtplib ونتصل بسيرفر الـ smtp الخاص بالجيميل والبورت الخاص به

إذا أردت أن تستخدم بريد إلكتروني أخر غير الجيميل فهذه هي سيرفرات الـ smtp الخاصه ببقيه الشركات وبورتاتها للأتصال بنفس الطريقه:

الأن نسجل الدخول ونرسل البيانات

الأن نقوم بعمل تايمر لأرسال البيانات كل فتره محدده

الأن نضيف للـFunction الخاصه بكل من الماوس والكيبورد قاعده if لتتأكد كل فتره أنه أنقضي دقيقه (60 ثانيه) منذ بدايه البرنامج لترسل الداتا بالأيميل

الأن الاسكربت أصبح جاهز ولكن يلزم اللمسه الأخيره وهي جعل السكربت يعمل مع تشغيل الجهاز

ولكي نستطيع أن نفعل هذا يلزمنا أن نحوله أولا الي EXE

هناك الكثير من الأدوات لتحويل السكربت الي صيغه تنفيذيه ولكن أفضلها في رأيي هو pyinstaller

بعد تنزيلها وتنصيبها تستطيع عن طريق هذا الأمر تحويل السكربت الي صيغه تنفيذيه لا تعتمد في تشغيلها علي أي ملفات DLL أي أنك تستطيع بعدها نقل الكيلوجر وتشغيله علي أي جهاز حتي أن كان لا يحتوي علي مترجم البايثون 🙂

والأن نجعله يضيف نفسه لبدايه التشغيل في الريجستري عن طريق أضافه الملف لمفتاح Run من خلال مكتبه _winreg

الأن أستطيع أن أرحل في سلام وأترك الكود الكامل لك اذا أردت أن تطلع عليه

Github : https://goo.gl/QuVRPN

squnity

مجتمع عربي للحماية و امن المعلومات

إضافة تعليق

  • Ahmed

    ما هو بديل pyHook لل python35 ?

  • Hackurity

    برافو يا كريم شرح ممتاز ربنا يوفقك

  • khaled attya

    لو سمحت هو كود تحويل الاسكريبت بيكتب فى الcmd

    • كريم شعير

      نعم 🙂

  • السلام عليكم اخي كريم
    انا 0 في البايثون
    لدي سؤال بخصوص كلمة sendto
    في سطر
    (yorgmail,sendto,data)
    ماذا ينبغي ان اضع بدل كلمة sendto ام ابقيها على حالها وجزاك الله خير الجزاء

    • كريم شعير

      yourgmail—هذا أيميل الجيميل الخاص بالراسل
      sendto—-هذا أيميل المرسل اليه
      data—-هذه الرساله
      الثلاث متغيرات تستطيع تغييرهم بما يناسبك يا عزيزي