في هذا المقال سوف نتكلم بشكل سريع عن أداة Scapy وسوف نشرح كيفية عمل المصافحة الثلاثية أو ما يعرف بالإتصال الثلاثي.

Scapy هو عبارة عن مفسر بايثون يسمح لك بإنشاء وتزييف الحزم على الشبكة، ولالتقاط الحزم وتحليلها وهكذا. بالإضافة إلى أنه يعتبر بديل لعدة أدوات مثل: Hping, arpscan, and tshark.

ملحوظة: إطار Scapy متواجد على نظام كالي ومن لا يملك هذا الإطار يمكنه استخدام الأمر التالي لتحميله:

install-scapy

ملحوظة: سأقوم بتنفيذ هذه العملية بين جهازين، أحدهم كالي والآخر أوبونتو : 

Two-Vm

كخطوة أولى: سنقوم بعمل إنصات (listen) على أي بورت تريده ولكن لا يجب أن يكون يستخدم خدمة مسبقة , سأستخدم أداة Netcat لعمل (Listen) على البورت 5000 وسأقوم بالتأكد من أن العملية تمت بنجاح من خلال الأمر netstat للتحقق من إذا كان البورت 5000 أصبح مشغول بالفعل أم لا.

check-port-5000

وبعد ذلك سننتقل إلى نظام كالي ونكتب scapy من خلال التيرمنال للانتقال للمفسر الخاص به:

scapy-framework

الآن سنقوم بإنشاء متغير لنحفظ به حزمة من نوع IP ونجعل الوجهه (destination) الخاصة بالحزمة هي الأوبونتو:

ip

ip2

يمكن فعل نفس الشيء السابق من دمج الأوامر السابقة في سطر واحد كالتالي:

ip3

ملحوظة: أمر show يجعلك ترى القيم المحفوظة داخل المتغير وليس له علاقة بإنشاء الحزم، بعد ذلك نقوم بإنشاء متغير جديد لنحفظ به حزمة من نوع TCP وذلك من خلال الأمر التالي:

tcp

سنقوم بإرسال الحزمتين اللتين قمنا بإنشائهم إلى الهدف وتلقي الرد عن طريق الأمر التالي:

send

الصورة السابقة تشرح أنه تم الإرسال بنجاح كما أننا قمنا بحفظ نتيجة الإرسال في متغير جديد، وكما ترى عندما قمنا بعرض محتويات المتغير ستلاحظ أن خانة الـflags قيمتها هي: SA وهي تشير إلى SYN/ACK.

الآن دعنا نقوم بإنشاء الحزمة التي سنرد بها على الهدف:

reconnect

ولنقوم بإرسالها سنستخدم الأمر التالي:

command

للتأكد من أن العملية نجحت يمكنك استخدام الأمر التالي:

suc

وستجد أن كلمة ESTABLISHED تؤكد حديثنا أن العملية نجحت وإن لم تظهر تأكد من إرسال الحزم بسرعة لكي يشعر بالاتصال.

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

iptables -A OUTPUT -p tcp –tcp-flags RST RST -j DROP

واستخدام الأمر التالي للتأكد من أن الأمر السابق نجح:

iptables -L

من المفترض أن يظهر شيئًا مشابه للصورة التالية :

asuc

أداة Scapy قوية جدًا واستخداماتها كثيرة ولكنها معقدة جدًا وتحتاج بعض الوقت لإتقان استخدامها.

حتى ألقاكم في دروس أخرى، أستودعكم الله.