الفخاخ القراصنة. اكتشف القرصنة مبكرًا باستخدام Canarytokens

Honey Tokens (بالإنجليزية - "علامات / علامات / معرفات العسل") هي أحد أصناف فكرة Honeypot ، وهي عبارة عن طعم للمتسللين لاكتشاف حقيقة الاختراق أو لتحديد مصدرها. عندما يكون المهاجم قد دخل النظام بالفعل ، فمن المرجح أن يقوم بإجراءات غير عادية للمستخدم العادي. يمكن استخدام هذا كوسيلة للكشف عن القرصنة. في هذه المقالة ، سننظر في مدى سهولة جعل مشغلاتك الخاصة لاكتشاف القرصنة في مرحلة مبكرة. هذه الفخاخ مفيدة لمسؤولي النظام وحتى المستخدمين العاديين الذين يشعرون بالقلق بشأن خصوصية بياناتهم.


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

لماذا هذا مطلوب؟



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

خدمة Canarytokens


canarytokens.org هي خدمة عبر الإنترنت لإنشاء العلامات الخاصة بك بسهولة (hanitokens) لاكتشاف الاختراق. يدعم العديد من خيارات المشغل ويسمح لك بإنشاء مشغل جاهز مع البريد المرفق ، حيث سيتم إرسال إشعار إذا كان المشغل يعمل.

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

يتم التفعيل عند فتح ملف .doc و pdf



ستعمل إذا تم فتح المستند بواسطة البرنامج للعرض. أستخدم هذه الحيلة في كثير من الأحيان. على كل جهاز كمبيوتر ومحرك أقراص محمول ، لدي مستندات بأسماء جذابة مثل Passwords.pdf أو Bitcoins.doc. أحب مشاهدة كيف يقوم المحاسبون بفضول بفحص جميع الملفات الموجودة على محرك الأقراص المحمول المنقولة إليهم.
 
أنا أعتبر هذا المشغل هو الأكثر فاعلية وفائدة لجميع فئات المستخدمين ، من محترفي أمن المعلومات إلى المبتدئين. لا أحد يعرف تقريبًا أن عارض PDF يمكنه نقل حقيقة فتح ملف إلى مالك المستند. يأتي الجميع عبر هذا.
 
هناك عدة طرق لفهم حقيقة فتح مستند. تستخدم Canarytokens عنوان URL المخصص للمستند المضمّن في المستند للتحقق من شهادات SSL التي تم إبطالها (قائمة إبطال الشهادات). نتيجة لذلك ، ينتقل البرنامج إلى هذا العنوان وينطلق المشغل.

الزناد عبر حل DNS



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

مشغل URL



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

صورة


الصورة الكلاسيكية 1 × 1 بكسل معروفة لكل من يتتبع الإعلان عبر الإنترنت. سيعمل المشغل إذا تم تحميل ملف صورة. يمكن إدراج مثل هذه البكسل في أي صفحة html أو في حرف. من الملائم تسميته من نصوص JS على الصفحة إذا نجحت الحالة الضرورية. يمكنك أيضًا استبدال البكسل القياسي بصورتك الخاصة.

مشغل البريد الإلكتروني



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

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

يتم إنشاء عنوان بريد إلكتروني بشكل خاص لا يمكن التنبؤ به ، وبالتالي ، يتم استبعاد احتمال الاختيار والتشغيل العرضي للمشغل.

فتح مجلد Windows المشغل



من المؤكد أن الكثيرين رأوا ملف desktop.ini مخفي في كل مجلد Windows. اتضح أنه ليس بهذه البساطة. في ذلك ، يمكنك تحديد عنوان الرمز على الخادم البعيد ، باستخدام مسارات UNC (هذه هي المسارات المستخدمة لمحركات أقراص الشبكة والبدء بـ \\) ، بينما سيقوم Windows بإجراء تحليل DNS على المجال المحدد في الرابط إلى الرمز وتنشيط المشغل. يمكن تعبئة ملف desktop.ini مع ملفات أخرى في الأرشيف ، وسيعمل إذا تم فك الأرشيف.

مشغل استنساخ الموقع


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

if (document.domain != "mydomain.com") {
    var l = location.href;
    var r = document.referrer;
    var m = new Image();
    m.src = "http://canarytokens.com/"+
            "blablabla.jpg?l="+
            encodeURI(l) + "&r=" + encodeURI(r);
}

الزناد لتشغيل ملف EXE أو DLL



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

مشغل MS SQL


يسمح لك MS SQL بإضافة مشغل لتشغيل INSERT و SELECT و DELETE وما إلى ذلك. لتشغيل مشغل ، استخدم نفس الطريقة المستخدمة في ملف desktop.ini ، أي حل اسم DNS من خلال مسارات UNC.
مثال الزناد لمايكروسوفت SQL
--إنشاء بروك مخزنة التي سوف ping canarytokens
إنشاء proc ping_canarytoken
AS
BEGIN
تعلناسم المستخدم varchar (max) ، قاعدة 64 varchar (max) ،tokendomain varchar (128) ،unc varchar (128) ، بحجم عدد فعله عدد عشوائي varchar(3);

--setup the variables
set @tokendomain = 'qo2dd6tftntl1pej9j68v31k6.canarytokens.com';
set size = 128;
set done = 0;
set random = cast(round(rand()*100,0) as varchar(2));
set random = concat(random, '.');
set username = SUSER_SNAME();

--loop runs until the UNC path is 128 chars or less
while done <= 0
begin
--convert username into base64
select base64 = (SELECT
CAST(N'' AS XML).value(
'xs:base64Binary(xs:hexBinary(sql:column(«bin»)))'
, 'VARCHAR(MAX)'
) Base64Encoding
FROM (
SELECT CAST(username AS VARBINARY(MAX)) AS bin
) AS bin_sql_server_temp);

--replace base64 padding as dns will choke on =
select base64 = replace(base64,'=','-')

--construct the UNC path
select @unc = concat('\\',@base64,'.',@random,@tokendomain,'\a')

— if too big, trim the username and try again
if len(@unc) <= size
set done = 1
else
--trim from the front, to keep the username and lose domain details
select username = substring(username, 2, len(username)-1)
end
exec master.dbo.xp_fileexist @unc;
END

--add a trigger if data is altered
CREATE TRIGGER TRIGGER1
ON TABLE1
AFTER INSERT
AS
BEGIN
exec ping_canarytoken
end

مشغل تسجيل الدخول إلى خدمات أمازون


يجب أن يجذب مفتاح واجهة برمجة تطبيقات Amazon Services أحد المهاجمين للتحقق مما يوجد هناك. إذا تم استخدام مفتاح واجهة برمجة التطبيقات هذا لتسجيل الدخول ، فسيطلق المشغل. في هذه الحالة ، بالطبع ، لا توجد بيانات هناك.

محفزات أخرى


تدعم خدمة canarytokens.org أيضًا مشغلات أخرى ، مثل ربط SVN ، وإعادة توجيه الويب ، وقراءة رمز الاستجابة السريعة ، ومفتاح Slack API ، وغيرها. جميعهم يستخدمون مبدأًا مشابهًا ، وإذا كنت ترغب في ذلك ، يمكنك إنشاء مشغل خاص بك بشكل مستقل ، حيث يوجد في ترسانتك اسم DNS ورابط مع صورة وعنوان بريدي ومفاتيح API للخدمات الشائعة. بالإضافة إلى إشعارات البريد الإلكتروني ، يمكن لـ Canarytokens سحب ربط الويب إذا انطلق المشغل. يتم وصف آليات التشغيل في الوثائق.

خادم Canarytokens الأصلي


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

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

# ()       
#     IP-    Docker.        SSL-.
CANARY_DOMAINS=example1.com,example2.com

#            PDF-
#    NS-          .
#   example3.com     example1.com  example2.com
CANARY_NXDOMAINS=example3.com

لإرسال بريد ، أوصي باستخدام خدمة Mailgun ، لأن Sendgrid غير مستقر.

استنتاج


هذه الفخاخ فعالة حقا. في حالتي ، تكون مشغلات ملفات PDF مفيدة بشكل خاص. ستكون الخدمة مفيدة لكل من المستخدمين العاديين و pentesters ذوي الخبرة. حتى المهاجم المعقد الذي يعرف عن وجود Hanipots و Hanitokens لن يكون قادرًا على مقاومة الإغراء حتى يستيقظ على الأقل النطاق الفرعي الموجود في الوثائق. إذا كنت تستخدم الفخاخ بعناية وحكمة ، يمكنك اكتشاف تكسير في مرحلة مبكرة.

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

إذا كنت ترغب في نشر canarytokens في مثيل Docker الخاص بك ، يتم تثبيت Docker على أجهزتنا الافتراضية بنقرة واحدة من السوق . بالإضافة إلى ذلك ، نقدم خصم 15٪ على جميع الخوادم باستخدام الرمز الترويجي DONTPANIC.


All Articles