
go-exploit के साथ उपयोग करने के लिए HTTP कैश डेटाबेस बनाने की एक उपयोगिता
go-exploit-cache एक HTTP कैश SQLite डेटाबेस बनाता है जिसका उपयोग go-exploit फ्रेमवर्क द्वारा क्रॉस-एक्सप्लॉइट शेयरिंग और स्कैनलेस टारगेट सत्यापन को सक्षम करने के लिए किया जाता है। टारगेट से सक्रिय रूप से कनेक्ट करने के बजाय, go-exploit पहले से एकत्र किए गए HTTP डेटा (Shodan, Censys, PCAP, RunZero, आदि) का उपयोग करके संस्करण जांच और अन्य स्कैन चलाने के लिए कैश से परामर्श कर सकता है।
प्रोजेक्ट:
vulncheck-oss/go-exploit
यह टूल वह SQLite कैश उत्पन्न करता है जिसेgo-exploitपढ़ता है।
http_cache उत्पन्न करता है जिसका उपयोग go-exploit स्कैनलेस सत्यापन और संस्करण जांच के लिए करता है।.json.gz, RunZero JSONL (और सीमित RunZero JSON1), PCAP/pcapng, और Censys JSONL (हेल्पर स्क्रिप्ट के माध्यम से)।.json.gzcensys/censys_v3_dump.py का उपयोग करें)go-exploit द्वारा उपभोग्य एक SQLite DB उत्पन्न करता हैअधिक विवरण के लिए 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
DB का निरीक्षण करें:
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.gz एक्सपोर्टrunzero-jsonl — RunZero JSONL (सीमित JSON1 समर्थन)pcap / pcapng — PCAP फ़ाइलें (HTTP ट्रैफ़िक निकालता है)censys-jsonl — Censys JSONL (censys/ में हेल्पर स्क्रिप्ट का उपयोग करें)उदाहरण फ़ाइलों के लिए test/testdata देखें।
censys_v3_dump.py बनाया है। यह एक Censys Platform खोज क्वेरी स्वीकार करके शुरू होता है और फिर HTTP हेडर और पूर्ण HTTP बॉडी तक पहुँचने के लिए व्यक्तिगत होस्ट डाउनलोड करता है। Censys परिणामों को अंतर्ग्रहण के लिए उपयुक्त JSONL में एकत्र और प्रारूपित करने के लिए censys/censys_v3_dump.py का उपयोग करें।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।)