العودة إلى التحديثات
UpdatedJul 28, 2026

persisthunt — Updated!

سكربت كشف الاستمرارية، الصيد وجمع الأدلة في لينكس

مشاركة

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

الملخص

يساعد persisthunt.sh على تسريع التحقيقات من خلال جمع الأدلة المستهدفة المتعلقة بالاستمرارية وإبراز الأنماط المشبوهة المرتبطة عادةً بتقنيات الاستمرارية في لينكس.

يساعد السكربت في كشف الاستمرارية، ومطاردة التهديدات، وجمع الأدلة عبر آليات الاستمرارية المعروفة في لينكس. تُصنَّف النتائج إلى ثلاثة مستويات - High وLow وInformational - بناءً على الثقة والخطورة. تتضمن الأمثلة إدخالات تشغيل تلقائي مشبوهة تُشير إلى /tmp/ أو /home/ أو /dev/tcp أو curl، أو اكتشاف قوالب bind/reverse shell نشطة.

صُمم ليكون أساسًا مرنًا يمكن للمدافعين تخصيصه لبيئاتهم عن طريق إضافة أو إزالة منطق الكشف والكلمات المفتاحية. قد يكون المخرج كبيرًا وقد يتطلب تحليلًا خاصًا بالبيئة، لكنه مناسب أيضًا للمراجعة والتلخيص باستخدام نماذج اللغة الكبيرة (LLMs) أو وكلاء الذكاء الاصطناعي.

الاستخدام

شغّله كمستخدم root وأعد توجيه المخرجات إلى ملف

sudo persisthunt.sh > output.log

شغّله على مضيف بعيد عبر SSH

ssh [email protected] 'bash -s' < persisthunt.sh > output.log 2>&1

أمثلة على الاكتشافات

=== [HIGH] Active reverse shell ===
bob      3889906  0.0  0.0   2800  1848 pts/2    S+   06:38   0:00 sh -i

=== [HIGH] Active bind shell ===
LISTEN 0      1                                     0.0.0.0:4444  0.0.0.0:* users:(("python3",pid=3891687,fd=3))
bob      3891687  0.7  0.3  19540 12320 pts/3    S+   06:41   0:00 python3 -c exec("""import socket as s,subprocess as sp;s1=s.socket(s.AF_INET,s.SOCK_STREAM);s1.setsockopt(s.SOL_SOCKET,s.SO_REUSEADDR, 1);s1.bind(("0.0.0.0",4444));s1.listen(1);c,a=s1.accept(); while True: d=c.recv(1024).decode();p=sp.Popen(d,shell=True,stdout=sp.PIPE,stderr=sp.PIPE,stdin=sp.PIPE);c.sendall(p.stdout.read()+p.stderr.read())""")

=== [HIGH] eBPF programs with raw network sockets (possible BPFdoor persistence) ===
PID: 3903559, Executable: bpfdoorpoc, Stack trace: /proc/3903559/stack:[<0>] packet_recvmsg+0x6e/0x5c0

=== [LOW] Recent ELF binary in tmp/home/hidden dirs ===
/var/tmp/.test

التقنيات

الفئات