
cowrie v3.1.0
Cowrie SSH/Telnet Honeypot https://docs.cowrie.org/
.. SPDX-FileCopyrightText: 2014 Upi Tamminen [email protected] .. SPDX-FileCopyrightText: 2014-2025 Michel Oosterhof [email protected] .. .. SPDX-License-Identifier: BSD-3-Clause
Cowrie
Cowrie क्या है
Cowrie एक मध्यम से उच्च इंटरैक्शन SSH और Telnet हनीपॉट है जिसे ब्रूट फोर्स हमलों और हमलावर द्वारा की गई शेल इंटरैक्शन को लॉग करने के लिए डिज़ाइन किया गया है। मध्यम इंटरैक्शन मोड (शेल) में यह Python में एक UNIX सिस्टम का अनुकरण करता है, उच्च इंटरैक्शन मोड (प्रॉक्सी) में यह किसी अन्य सिस्टम पर हमलावर के व्यवहार को देखने के लिए SSH और telnet प्रॉक्सी के रूप में कार्य करता है। LLM मोड में, यह हमलावर के कमांडों के लिए गतिशील प्रतिक्रियाएँ उत्पन्न करने के लिए बड़े भाषा मॉडल का उपयोग करता है।
Cowrie <http://github.com/cowrie/cowrie/>_ का रखरखाव Michel Oosterhof द्वारा किया जाता है।
दस्तावेज़ीकरण
दस्तावेज़ीकरण यहाँ <https://docs.cowrie.org/en/latest/index.html>_ पाया जा सकता है।
Slack
आप निम्नलिखित Slack workspace <https://www.cowrie.org/slack/>_ पर Cowrie समुदाय में शामिल हो सकते हैं।
विशेषताएँ
-
अनुकरणित शेल (डिफ़ॉल्ट) के रूप में चलाने का विकल्प:
- फ़ाइलें जोड़ने/हटाने की क्षमता के साथ नकली फ़ाइलसिस्टम। Debian 5.0 इंस्टॉलेशन जैसा पूर्ण नकली फ़ाइलसिस्टम शामिल है
- नकली फ़ाइल सामग्री जोड़ने की संभावना ताकि हमलावर
/etc/passwdजैसी फ़ाइलों कोcatकर सके। केवल न्यूनतम फ़ाइल सामग्री शामिल है - Cowrie बाद में निरीक्षण के लिए wget/curl से डाउनलोड की गई या SFTP और scp से अपलोड की गई फ़ाइलों को सहेजता है
-
या SSH और telnet को किसी अन्य सिस्टम पर प्रॉक्सी करें
- निगरानी के साथ शुद्ध telnet और ssh प्रॉक्सी के रूप में चलाएँ
- या Cowrie को QEMU अनुकरणित सर्वरों का पूल प्रबंधित करने दें ताकि लॉगिन करने के लिए सिस्टम प्रदान किए जा सकें
-
या LLM बैकएंड का उपयोग करें (प्रयोगात्मक):
- यथार्थवादी शेल प्रतिक्रियाएँ गतिशील रूप से उत्पन्न करने के लिए बड़े भाषा मॉडल (जैसे, OpenAI GPT) का उपयोग करें
- पूर्वनिर्धारित प्रतिक्रियाओं के बिना किसी भी कमांड को संभालता है
- सुसंगत सत्रों के लिए बातचीत का संदर्भ बनाए रखता है
दोनों सेटिंग्स के लिए:
- सत्र लॉग
User Mode Linux <http://user-mode-linux.sourceforge.net/>_ संगत प्रारूप में संग्रहीत किए जाते हैं ताकिplaylogउपयोगिता के साथ आसानी से रीप्ले किया जा सके। - फ़ाइल अपलोड के लिए SFTP और SCP समर्थन
- SSH exec कमांड के लिए समर्थन
- direct-tcp कनेक्शन प्रयासों का लॉगिंग (ssh प्रॉक्सिंग)
- SMTP कनेक्शनों को SMTP Honeypot (जैसे
mailoney <https://github.com/awhitehatter/mailoney>_) पर अग्रेषित करें - लॉग प्रबंधन समाधानों में आसान प्रसंस्करण के लिए JSON लॉगिंग
इंस्टॉलेशन
Cowrie को इंस्टॉल करने के तीन तरीके हैं: pip, Docker, और git चेकआउट।
आपके पहले हनीपॉट के लिए, pip और Docker सबसे आसान रास्ते हैं।
विकास या उन्नत परिदृश्यों के लिए git चेकआउट का उपयोग करें जहाँ आप
Cowrie को स्वयं संशोधित करना चाहते हैं। तीनों के लिए पूर्ण निर्देश
इंस्टॉलेशन गाइड <https://docs.cowrie.org/en/latest/INSTALL.html>_ में हैं।
Docker
Docker images <https://hub.docker.com/r/cowrie/cowrie>_ Docker Hub पर उपलब्ध हैं।
-
जल्दी शुरू करने और Cowrie को आज़माने के लिए, चलाएँ::
$ docker run -p 2222:2222 cowrie/cowrie:latest $ ssh -p 2222 root@localhost
-
इसे केवल स्थानीय रूप से बनाने के लिए, चलाएँ::
$ make docker-build
PyPI
Cowrie PyPI पर उपलब्ध है <https://pypi.org/project/cowrie>_। इसे एक
वर्चुअल एनवायरनमेंट में इंस्टॉल करने और शुरू करने के लिए::
$ mkdir my-honeypot && cd my-honeypot
$ python3 -m venv cowrie-env
$ source cowrie-env/bin/activate
(cowrie-env) $ pip install cowrie
(cowrie-env) $ cowrie init
(cowrie-env) $ cowrie start
cowrie init वर्तमान निर्देशिका में कॉन्फ़िगरेशन फ़ाइल etc/cowrie.cfg लिखता है;
लॉग और डाउनलोड var/ के अंतर्गत आते हैं।
आवश्यकताएँ
स्थानीय रूप से चलाने के लिए आवश्यक सॉफ़्टवेयर:
- Python 3.11+
- python-virtualenv
रुचि की फ़ाइलें:
etc/cowrie.cfg- Cowrie की कॉन्फ़िगरेशन फ़ाइल (ऑपरेटर के स्वामित्व वाली)।cowrie initद्वारा बनाई गई।src/cowrie/data/etc/cowrie.cfg.dist <https://github.com/cowrie/cowrie/blob/main/src/cowrie/data/etc/cowrie.cfg.dist>_ - बंडल किए गए डिफ़ॉल्ट, इसके बजाय अपनीetc/cowrie.cfgसंपादित करेंetc/userdb.txt- हनीपॉट तक पहुँचने के लिए क्रेडेंशियलsrc/cowrie/data/fs.pickle- नकली फ़ाइलसिस्टम; इसमें मेटाडेटा (पथ, uid, gid, आकार, मोड) और उन छोटी फ़ाइलों के लिए एम्बेडेड सामग्री (A_CONTENTSबाइट्स) दोनों होते हैं जिन्हें हमलावर आमतौर पर cat करते हैं।fsctlके माध्यम से संपादित करें;make build-fs-pickleके माध्यम से पुनर्निर्माण करें।src/cowrie/data/txtcmds/- सरल नकली कमांडों के लिए आउटपुटvar/log/cowrie/cowrie.json- JSON प्रारूप में ऑडिट आउटपुटvar/log/cowrie/cowrie.log- लॉग/डीबग आउटपुटvar/lib/cowrie/tty/- सत्र लॉग,playlogउपयोगिता के साथ रीप्ले करने योग्य।var/lib/cowrie/downloads/- हमलावर से हनीपॉट पर स्थानांतरित फ़ाइलें यहाँ संग्रहीत की जाती हैं
कमांड
cowrie- Cowrie को शुरू, बंद और पुनः आरंभ करेंfsctl- नकली फ़ाइलसिस्टम को संशोधित करेंcreatefs- अपना स्वयं का नकली फ़ाइलसिस्टम बनाएँplaylog- सत्र लॉग को रीप्ले करने की उपयोगिताasciinema- Cowrie लॉग को asciinema फ़ाइलों में बदलें
योगदानकर्ता
कई लोगों ने वर्षों में Cowrie में योगदान दिया है। विशेष धन्यवाद:
- Upi Tamminen (desaster) को Kippo विकसित करने के उनके सभी कार्य के लिए जिस पर Cowrie आधारित था
- Dave Germiquet (davegermiquet) को TFTP समर्थन, यूनिट टेस्ट, नई प्रक्रिया हैंडलिंग के लिए
- Olivier Bilodeau (obilodeau) को Telnet समर्थन के लिए
- Ivan Korolev (fe7ch) को वर्षों में कई सुधारों के लिए।
- Florian Pelgrim (craneworks) को कोड सफाई और Docker पर उनके कार्य के लिए।
- Guilherme Borges (sgtpepperpt) को SSH और telnet प्रॉक्सी (GSoC 2019) के लिए
- और कई अन्य।