
cowrie v3.0.12
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) का उपयोग करें
- पूर्व-परिभाषित प्रतिक्रियाओं के बिना किसी भी कमांड को संभालता है
- सुसंगत सत्रों के लिए वार्तालाप संदर्भ बनाए रखता है
दोनों सेटिंग्स के लिए:
- सत्र लॉग
playlogउपयोगिता के साथ आसान रीप्ले के लिएUser Mode Linux <http://user-mode-linux.sourceforge.net/>_ संगत प्रारूप में संग्रहीत किए जाते हैं। - फ़ाइल अपलोड के लिए SFTP और SCP समर्थन
- SSH exec कमांड के लिए समर्थन
- डायरेक्ट-tcp कनेक्शन प्रयासों की लॉगिंग (ssh प्रॉक्सीिंग)
- SMTP कनेक्शन को SMTP हनीपॉट पर अग्रेषित करें (जैसे
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/repository/docker/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.10+
- 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, आकार, मोड) और हमलावरों द्वारा आमतौर पर cat की जाने वाली छोटी फ़ाइलों के लिए एम्बेडेड सामग्री (A_CONTENTSबाइट्स) दोनों रखता है।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)
- और कई अन्य।