إن أصعب ما في إنشاء أحصنة طراودة قوية وفعالة هو السيطرة عليها بشكل غير متزامن وتلقي المعلومات اللازمة وهنا تكمن أهمية وجود وسيلة تسمح بالتحكم بأحصنة طراودة عن بعد ، وليس الغرض من هذه الوسيلة التحكم من بعد لإداء مختلف المهام فقط بل أيضا من أجل إضافة بعض الأكواد و الإضافات لزيادة فعالية وقوة حصان طروادة .
ولهذا كان المخترقون يمتلكون العديد من الأدوات والأكواد المطورة لزيادة قوة التحكم والسيطرة مثل IRC أو حتى تويتر ، ولكن نحن سنقوم بتجريب خدمة أخرى أصلا صممت من أجل الأكواد سنقوم بإستخدام موقع Github يإعتباره وسيلة لتخزين معلومات الإعدادات والأكواد المختلفة بالإضافة إلى وحدة من الوحدات التي نحتاجها من أجل تنفيذ المهام ، كما سنقوم أيضا بإكتشاف كيفية إختراق ألية إستراد مكتبات بايثون الأصلية عند إنشاء وحدات أحصنة طراودة ، حيث ستقوم هذه الأخير بمحاولة بإستيراد المكتبات تلقائيا وتنفيذها إنطلاقا من المستودع الخاص بنا .
ضع في حسبانك أن الأتصال ب Github سيكون مشفر عبر طبقة SSL وهناك العديد من الشركات قامت بحجب موقع Github كليا .
هناك شيء أخر وهو أننا سنقوم بإستخدام مستودع عمومي لتنفيذ هذا الإختبار وفي حالة كنت تريد مستودع خاص عليك بإنفاق بعض المال حتى لا يرى أحد ماتقوم به ، هناك أمر أخر جميع الوحدات والإعدادات والبيانات يمكن ان تكون مشفرة سواء كنت تستخدم مستودع عام أو خاص
إعداد حساب على موقع Github
إذا كنت لا تمتلك حساب على موقع Github، فأنصحك بالتوجه مباشرة إلى موقع Github قم بالتسجيل وأنشئ مستوع جديد و قم بتسميته بأي إسم تريد ، بعد ذلك سنقوم بتثبيت مكتبة واجهة برمجة التطبيقات الخاصة ب Github حتى يمكننا التفاعل أليا مع المستودع ولتثبيت المكتبة نقوم بكتابة الامر التالي :
pip install github3.py
اما الأن سنقوم بإنشاء البنية الأساسية للمستودع الخاص بنا فقم بفتح الطرفية وأكتب الاوامر التالية
mkdir trojan cd trojan git init mkdir modules mkdir config mkdir data touch modules/.gitignore touch config/.gitignore touch data/.gitignore git add . git commit -m "Adding repo structure for trojan." git remote add origin https://github.com/<yourusername>/yourreponame.git git push origin master
كل ماقمنا به هو إنشاء الهيكل الأولي لمستودعنا و الدليل المسمى ب config سيحتوي على جميع ملفات الإعدادات والتي سيتم تحديدها بشكل فريد لكل حصان طراودة ، فعند نشر أحصنة طراودة فإننا نريد من كل واحد منهم أن يقوم بمهمة معينة وبالتالي فإن كل واحد منه سيقوم بالتحقق من ملف الإعدادات الخاص به والموجودة على دليل config
أما مجلد Modules فهو يحتوي على أي أكود الوحدات والتي تريد من أحصنة الطراودة من إلتقاطها وتنفيذها ، حيث سنقوم فيما بعد بتنفيذ إستراد ميزة خاصة تسمح لإحصنة الطراودة الخاصة بنا من إستراد المكتبات مباشرة من مستودع Github وتسمح لنا هذه الميزة أيضا من تحميل و تخزين مكتبات الطرف الثالث على Github وكل هذا حتى نتجنب من إعادة صياغة أحصنة طراودة كل مرة نريد إضافة مميزات اخرى عليها .
أما مجلد data هو مكان يسمح لأحصنة طراودة من التحقق من أي بيانات (صور،مفاتيح … إلخ ) تم جمعها.
في المرة القادمة سنقوم بتعلم كيفية إنشاء الوحدات الخاصة بنا .