
أداة مساعدة لإنشاء قاعدة بيانات ذاكرة تخزين مؤقت HTTP لاستخدامها مع go-exploit
go-exploit-cache يبني قاعدة بيانات SQLite لذاكرة HTTP المؤقتة يستخدمها إطار عمل go-exploit لتمكين المشاركة بين الاستغلالات والتحقق من الأهداف دون فحص. بدلاً من الاتصال النشط بالأهداف، يمكن لـ go-exploit الرجوع إلى الذاكرة المؤقتة لتشغيل فحوصات الإصدار وعمليات فحص أخرى باستخدام بيانات HTTP المجمّعة مسبقًا (Shodan، Censys، PCAP، RunZero، إلخ).
المشروع:
vulncheck-oss/go-exploit
هذه الأداة تولّد ذاكرة SQLite المؤقتة التي يقرأهاgo-exploit.
http_cache بصيغة SQLite يستخدمه go-exploit للتحقق دون فحص وفحوصات الإصدار..json.gz، RunZero JSONL (و RunZero JSON1 بدعم محدود)، PCAP/pcapng، و Censys JSONL (عبر سكربت مساعد)..json.gzcensys/censys_v3_dump.py للتحضير)go-exploitراجع USAGE.md لمزيد من التفاصيل.
./build/go-exploit-cache \
-type shodan-gzip \
-in ~/Downloads/734342e9-56b8-4299-a072-9d1d28f66434.json.gz \
-out confluence.db
المخرجات النموذجية:
Decompressing the Shodan GZIP... this can be slow
Decompressed file written to .tmp/shodan.json
Generating database entries...
Cleaning up .tmp directory
فحص قاعدة البيانات:
sqlite3 confluence.db
sqlite> select rhost, rport from http_cache limit 1;
52.200.210.54|80
يمكنك التحقق من هدف باستخدام البيانات المخزنة مؤقتًا فقط. يستخدم المثال unshare -n لحظر الوصول إلى الشبكة (للعرض التوضيحي فقط — unshare غير مطلوب):
sudo unshare -n ./build/cve-2023-22527_linux-arm64 \
-c -v -rhost 52.200.210.54 -rport 80 \
-db ~/go-exploit-cache/confluence.db
المخرجات النموذجية:
time=... level=STATUS msg="Starting target" host=52.200.210.54 port=80
time=... level=STATUS msg="Validating Confluence target"
time=... level=SUCCESS msg="Target verification succeeded!"
time=... level=VERSION msg="The reported version is 7.19.17"
time=... level=STATUS msg="The target appears to be a patched version." vulnerable=no
shodan-gzip — تصدير Shodan .json.gzrunzero-jsonl — RunZero JSONL (دعم محدود لـ JSON1)pcap / pcapng — ملفات PCAP (تستخرج حركة HTTP)censys-jsonl — Censys JSONL (استخدم السكربت المساعد في censys/)راجع test/testdata لملفات الأمثلة.
censys_v3_dump.py لجلب البيانات. يبدأ بقبول استعلام بحث Censys Platform ثم ينزّل المضيفين الفرديين للوصول إلى ترويسات HTTP وجسم HTTP الكامل. استخدم censys/censys_v3_dump.py لجمع نتائج Censys وتنسيقها إلى JSONL مناسب للاستيعاب.http_cache — الجدول الرئيسي (جدول الذاكرة المؤقتة المولّد)
| column | type | description |
|---|---|---|
| id | INTEGER | primary key |
| created | INTEGER | date |
| rhost | TEXT | remote host (IP) |
| rport | INT | remote port |
| uri | TEXT | the cached path |
| data | BLOB | HTTP headers + body |
verified — جدول وصف البرمجيات (جدول يعبّئه go-exploit)
| column | type | description |
|---|---|---|
| id | INTEGER | primary key |
| created | INTEGER | date |
| software name | TEXT | Name of software |
| installed | INT | 0 or 1 |
| version | TEXT | The software version |
| rhost | TEXT | remote host (IP) |
| rport | INT | remote port |
على Ubuntu:
sudo apt install libpcap-dev
make
(يتطلب سلسلة أدوات Go — راجع https://go.dev/doc/install.)