PCAP Analysis 

كتب في 2020-03-11 

مقدمة

اهلاً بكم، في هذا المقال سوف اقوم بشرح تحليل ملف pcap لحظة اصابه جهاز بداخل الشبكة ب برمجية خبيثة.

هنا تجد المصادر لملف
pcapflie

عناصر المقالة:
  • مقدمة في Wireshark

  • ترتيب وتنظيم واجهة (Wireshark)

  • البرمجية الخبيثة

  • خطوات حل التحدي


مقدمة في Wireshark

Wireshark يعد من أهم أدوات تحليل الشبكات ان لم يكن الأهم، برنامج Wireshark برنامج مفتوح المصدر، يقوم بتحليل الشبكة، بروتوكلاتها ، تفاصيل الأجهزة بالشبكة معرفة المشاكل في الشبكة -ان وجد- وتحديد مكان تواجدها، يُستفاد من البرنامج في تحليل وضع الشبكة كمية ونوع البيانات المرسله من والى داخل الشبكة، حجم البيانات المستخدمة لكل جهاز بالشبكة .. الخ.

يستفاد أيضا من برنامج Wireshark في تحليل الأجهزة المصابه بالبرمجيات الخبيثة، تحديد تفاصيل هذه الأجهزة، الوقت التي تمت في الاصابة، من اين وكيف تمت اصابة الآجهزة ببرمجية xخبيثة، وهذا هو الهدف من مقالنا هذا.

ترتيب وتنظيم واجهة (Wireshark)

في اللحظة التي يتم فيها تشغيل Wireshark سوف يقوم بجمع كل بيانات الشبكة (Traffic)،وعند التحليل قد لا يهمنا وجود كل هذه البيانات مما قد يجعل مهمة التحليل اصعب، لذلك سوف نقوم بترتيب البرنامج بحيث يسهل علينا ايجاد ما نبحث عنه بكل سهولة.


أولا: ترتيب الأعمدة واظهار ما نحتاج اليه فقط:


تنبيه: يوجد طريقتين ل إظهار هذه الأعمدة وسيتضح ذلك مع الشرح

في هذا المثال نحتاج للقوائم التالية:

  1. source ip

  2. source port

  3. Destination ip

  4. Destination port

  5. HTTP

  6. HTTPS

  7. Info

  8. CNameString

الطريقة الأولى:

  1. اضغط بزر الفارة الأيمن اختر Column Preference

  2. اضغط على علامة +

  3. ستظهر بيانات العمود الجديد بالقائمة (بالجزء الأيسر قم باختيار الاسم المناسب للعمود مثلا source ip)

  4. بالجزء الأيمن قم ب إختيار نوع العمود وفي مثالنا هنا سيكون source address

  5. قم بالضغط على OK

الطريقة الثانية :
الطريقة الثانية تعتمد على نقل معلومات من خانة (Frame) ل أعمدة. مثال CNameString

  1. من مربع كتابة الفلتر نقوم بكتابة kerberos.CNameString

  2. نقوم ب إختيار kerberos 3.نقوم ب إختيار as-req

  3. ثم إختيار req-body

  4. ثم إختيار cname

  5. ثم cname-string

  6. الضغط بزر الفأرة الأيمن ثم اختيار Apply as a Column


ثانيا: تصفية النتائج (Filter)
كما ذكرت في بداية هذا الجزء، قد لا يهمنا في التحليل كل النتائج لذلك نستعين ب Filter ل تصفيه النتائج وإظهار ما نبحث عنه فقط.
يختلف ملف pcap عن الاخر في التصفيه يعتمد على ما نبحث عنه بالضبط. وقد لا يسعنا في هذا المقال التحدث عنه بالتفصيل لذلك سوف أرفق ملف cheat sheet لمعرفة كل أنواع وأشكال ال filter ولكن سوف أقوم بذكر بعض الأمثله خصوصا ما قد نستخدمه ل حل هذا التحدي.

للبحث عن IP Address في حالة البحث عن المرسل ip.src == 10.20.30.227

في حالة البحث عن المستقبل ip.dst == 10.20.30.1

وفي حالة البحث عن العنوان بشكل عام بدون تحديد ما اذا كان مرسل ام مستقبل ip.addr == 10.20.30.227

ل إظهار النتائج المرتبطه ب HTTP يمكن فقط كتابة http وسيتم إظهار كل النتائج سواءاً request او accept او cookie .... الخ ويمكن ايضا تحديد بشكل مفصل جدا ما نبحث عن مثلاً نتائج request http.request أو نتائج ال accept http.accept

ل إظهار النتائج المرتبطه ب HTTPS ssl.handshake.type == 1

يمكن البحث ب نوع البرتوكول ب مجرد كتابة البرتوكول مثل: dns, ftp, arp, ssh, telnet, icmp

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

تجدون جميع الfilters الممكنه هنا.

وافضل ايضا الإطلاع على هذا الملف ايضا يوجد فيه بإختصار اشهر ما قد نستخدمه


البرمجية الخبيثة

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

Snort Alerts 
Join