Compiling a Network Program using Pcap Library in CodeBlocks

في حالة قيامك بعمل Compile لبرنامج يستعمل pcap في CodeBlocks فإنه سوف يعطيك خطأ وذلك لأنه لن يستطيع التعرف على المتغييرات والدوال الموجودة في مكتبة pcap بشكل أساسي، ولهذا علينا إضافة المكتبة لعملية الـ Compile … حتى لو كنت قد أضفت سطر الـ include لهذه المكتبة، بدون إخبار CodeBlocks ببناء هذا البرنامج بوجود هذه المكتبة لن ينفع …

أنتهينا من الكلام، لنبدأ العمل … أول شيء نعمله هو إننا نريد أن نضيف المكتبة pcap الى الـ Linker وذلك ليتم ربطها مع البرنامج لحظة عمل Compile له … ويمكن عمل ذلك من خلال الضغط على إسم المشروع في CodeBlocks Workspace ومن ثم الذهاب الى Build Options … كما في الصورة:

Continue reading

Kernel Hardening using Grsecurity & RBAC System

السلام عليكم ورحمة الله وبركاته

قبل فترة طويلة من الزمن الكثير من الأخوة الأصدقاء المقربين كانوا يستغربون كيف كنت أقوم بإعطاءهم المستخدم root الى خادم عرب نيكس ولم يعرف أحدهم من عمل أي شيء على الخادم (ملاحظة، الموقع حالياً ليس على نفس الخادم السابق، تم نقله لأسباب كثيرة ربما أذكرها لاحقاً) !!! وأيضاً البعض كان يحاول معرفة ما هو النظام الذي يعمل عليه موقع عرب نيكس من خلال عمليات الـ fingerprinting للنظام ولم يعرفوا أيضاً صح يا صبري؟ :) والسبب بإننا سنقوم بعملية التلاعب بالـ TCP Stack أيضاً وبالتالي برامج مثل Xprobe2 أو nmap أو غيرها لن تستطيع معرفة ما هو النظام وما هي نواته !!!

السبب هو الطريقة التي كنت أستعملها على النظام وقتها والتي سأقوم بشرحها بالأسفل بالتفصيل الممل إن شاء الله … هذه الطريقة ستقوم بعملية حماية نظامك حتى من المستخدم root نفسه وبالتالي من يحصل على root على نظامك لن يعرف أن يعمل اي شيء سوى الدهشة والإستغراب والمسائلة لنفسه “ما الذي يحدث؟” :) طبعاً العلم لم يتوقف هنا وربما هناك طرق لإختراق مثل هذه الحماية “المعقدة” جداً جداً جداً ولكني أؤكد لكم بإنها بدون شك ستكون سداً منيعاً أمام هؤلاء أصحاب c99 والذي لن يعرف أحدهم أن يعمل شيء سوى تغيير أندكس !!! يعني حتى لو حصل على root لن يكون قادراً على تدمير الخادم لك، وكما قلت أقصى شي سيقوم به هو “أسلوب الأطفال” تغيير الأندكس !!!

وقبل أن أبدأ بالشرح، ولأنني أؤمن بإنه كلما أعطيت أكثر ونشرت مواضيع أكثر، كلما زادت معرفتك … فمن ظن بإن العلم عنده فقط؟ فهو جاهل … ومن ظن بإنه وصل الى كل شيء؟ فهو جاهل أيضاً … العلم إن نشرته فأنت فعلياً قمت بزكاته … وكما يقول علي بن أبي طالب (رضي الله عنه): زكاة العلم نشره … ولأنني أتمنى أن تكف عمليات التخريب التي أسمع بها هنا وهناك لهذه الجهة أو تلك ولأسباب شخصية بين أفراد يظلم على ضوئها المئات وربما الآلاف من الناس بدون ذنب … فمنهم من يخترق فقط لكي يقول أنا وأنا ونسي حتى أن يقول “أعوذ بالله من كلمة أنا” ومنهم من يخترق لغرض الضرر بالطرف الآخر ويؤذيه سواءاً بشكل مادي، معنوي أو حتى نفسي … ولهذا الموضوع هذا سيكون كما أمرنا رسولنا الكريم، محمد (صلى الله عليه وسلم): “المسلم أخو المسلم، لا يظلمه ولا يسلمه، من كان في حاجة أخيه، فإن الله في حاجته، ومن فرج عن مسلم كربة، فرج الله عنه بها كربة من كرب يوم القيامة، ومن ستر مسلما، ستره الله يوم القيامة”. الرسالة أظنها وصلت ولا حاجة لي لكتابة المزيد فالـ لبيب من الإشارة يفهموا …

لندخل الى الموضوع الآن …

سنقوم بتركيب patch الـ grsecurity وبناء النواة، وتنصيبها … وبعد ذلك سنقوم بتفعيل الـ RBAC System على النظام …
Continue reading

HOWTO Install libgksu2, gksu, & gksudo, on Ojuba/Fedora

السلام عليكم ورحمة الله وبركاته

بالحقيقة قمت بتركيب توزيعة أعجوبة قبل يومين وكنت بدأت مرحلة نقل بعض البرامج الموجودة على أوبنتو عليها … لكن تفاجئت بإن هناك برامج لم استطيع تنزيلهم بطريقة Compile (لانهم بالأساس غير موجودين بمخازن أعجوبة/فيدورا) والسبب هو عدم وجود برنامج ومكتبات gksu و gksudo و libgksu … ولهذا كان لابد من تركيبهم بشكل يدوي … طبعاً يوجد rpm لهم ولكنه جداً قديم ويعود لأيام فيدورا 4 وقريباً نصل الى فيدورا 11 يعني الحزمة تلك أصبحت من الماضي !!!

عملية التركيب لم تكن صعبة ولم تكن سهلة بنفس الوقت … وذلك لان عملية تنصيب libgksu تتم في مسارات مختلفة عن مسارات توزيعة أعجوبة/فيدورا للمكتبات، وحين يتم التحقق من وجودها او لا ؟ لن يجدها بسبب إختلاف المسارات … في أعجوبة وفيدورا المسارات حسب ما فهمت هنا:
/usr/lib/

أم حين قمت بتركيب مكتبات libgksu فكانت في المسار:
/usr/local/lib/

على كل حال لا عليك سوى إتباع الخطوات هذه لتنصيب البرامج هذه والمكتبة … هناك بعض المتطلبات مثل gtk+ و nautilus-devel و nautilus-extensions قم بتركيبهم، لانه كانت مطلوبة مني حين قمت بالتنصيب، لا اعلم إن كنت ستحتاج الى أمور أخرى وذلك لان هذه هي المتطلبات الوحيدة التي ظهرت عندي وربما لانني منصب برامج أخرى … على كل حال بالموقع الرسمي يقولون مطلوبة الـ GTK+ قم بتركيبها مع التي ذكرتهم لك وإن شاء الله خير …

أول حاجة قم بتحميل الملفات التالية من الموقع الرسمي:
libgksu-2.0.9.tar.gz
gksu-2.0.2.tar.gz

Continue reading