Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
BOF_RunPe — Cobalt Strike Beacon में कंसोल बनाए बिना PE चलाने के लिए BOF | Kitploit
उपकरण/GitHubGitHub/ntdallas/bof_runpe
मेमोरी फोरेंसिकशेलकोडपोस्ट-शोषणरेड टीमिंग
GitHubntdallas/bof_runpe

BOF_RunPe

Cobalt Strike Beacon में कंसोल बनाए बिना PE चलाने के लिए BOF

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

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

सभी देखें →

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

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

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

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

BOF_RunPE

BOF RunPE Cobalt Strike के लिए एक Beacon Object File है जो PE फ़ाइलों को beacon प्रक्रिया के भीतर पूरी तरह से मेमोरी में निष्पादित करता है। पारंपरिक fork&run के विपरीत, कोई चाइल्ड प्रोसेस नहीं बनाई जाती, कोई कंसोल निर्मित नहीं होता, और कोई पाइप उपयोग नहीं किया जाता - सभी आउटपुट IAT हुकिंग के माध्यम से कैप्चर होता है और beacon कंसोल पर पुनर्निर्देशित किया जाता है।

आर्किटेक्चर: केवल x64

अवलोकन

┌──────────────────────────────────────────────────────────────┐
│                   Cobalt Strike Beacon                       │
│                    (Current Process)                         │
└────────────────────────┬─────────────────────────────────────┘
                         │
                         │  beacon_inline_execute()
                         │
                         ▼
┌──────────────────────────────────────────────────────────────┐
│                    BOF RunPE                                 │
│  ┌────────────────────────────────────────────────────────┐  │
│  │  VxTable + Draugr Initialization                       │  │
│  │  (Syscall Resolution + Stack Spoofing)                 │  │
│  └──────────────────────┬─────────────────────────────────┘  │
│                         │                                    │
│  ┌──────────────────────▼─────────────────────────────────┐  │
│  │  PE Mapping                                            │  │
│  │  - Section Copy    - IAT Patching (with hooks)         │  │
│  │  - Relocations     - Memory Protection                 │  │
│  └──────────────────────┬─────────────────────────────────┘  │
│                         │                                    │
│  ┌──────────────────────▼─────────────────────────────────┐  │
│  │  Thread Execution                                      │  │
│  │  - Spoofed Start Address                               │  │
│  │  - RIP Hijacking to Entry Point                        │  │
│  │  - Output Redirection via Hooks                        │  │
│  └────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────┘

मुख्य विशेषताएं

  • कोई प्रोसेस निर्माण नहीं: PE beacon प्रक्रिया के भीतर चलता है
  • कोई कंसोल/पाइप नहीं: आउटपुट printf/WriteConsole हुक के माध्यम से कैप्चर किया जाता है
  • एकाधिक आवंटन विधियाँ: Heap, VirtualAlloc, Module Stomping
  • प्रॉक्सी लोडिंग: Timer Queue, RegisterWait, या सीधे कॉल
  • Ntdll अनहुकिंग: डिस्क से वैकल्पिक ताज़ा प्रति
  • RWX : वैकल्पिक रूप से RWX में मेमोरी आवंटित करें
  • थ्रेड स्टार्ट स्पूफिंग: RIP अपहरण के साथ वैध प्रारंभ पता

कॉन्फ़िगरेशन विकल्प

BOF का व्यवहार Additionals postex -> RunPe Config में संपादित किया जा सकता है

Custom BOF

प्रॉक्सी विधियाँ

विधिविवरण
Noneसीधे API कॉल
Draugrस्टैक स्पूफ्ड API कॉल
RegwaitRegisterWaitForSingleObject कॉलबैक
TimerTimer Queue कॉलबैक

आवंटन विधियाँ

विधिविवरण
HeapDraugr के साथ RtlCreateHeap के माध्यम से निजी हीप
VirtualAllocDraugr के साथ NtAllocateVirtualMemory
Module stompingवैध DLL .text सेक्शन को अधिलेखित करता है

सामान्य विकल्प

विकल्पविवरण
AllocRWXRWX के रूप में आवंटित करें (RW→RX संक्रमण के बजाय)
UnhookNtdllntdll.dll .text को डिस्क से ताज़ा प्रति से बदलें
Timeoutमिलीसेकंड में निष्पादन टाइमआउट (0 = अनंत)
StompModuleमॉड्यूल स्टॉम्पिंग के लिए DLL पथ (जैसे, chakra.dll)

थ्रेड स्पूफिंग

विकल्पविवरण
ModuleNameप्रारंभ पते के लिए वैध मॉड्यूल (जैसे, Kernel32.dll)
ProcedureNameमॉड्यूल के भीतर फ़ंक्शन नाम (जैसे, BaseThreadInitThunk)
Offsetफ़ंक्शन प्रारंभ से ऑफसेट

आउटपुट कैप्चर

सभी PE आउटपुट IAT हुक के माध्यम से beacon कंसोल पर पुनर्निर्देशित किया जाता है। कोई कंसोल विंडो या नामित पाइप निर्मित नहीं किया जाता।

हुक किया गया फ़ंक्शनलक्ष्य
GetCommandLineA/Wस्पूफ्ड तर्क लौटाता है
__getmainargs / __wgetmainargsCRT तर्क आरंभीकरण
printf / wprintfBeaconPrintf पुनर्निर्देशन
WriteConsoleA/WBeaconPrintf पुनर्निर्देशन
__stdio_common_vfprintfUCRT प्रिंट फ़ंक्शन
ExitProcess / exitExitThread में परिवर्तित

एवेज़न तकनीकें

तकनीकबायपास
अप्रत्यक्ष सिस्कॉलयूज़रलैंड API हुक (EDR/AV)
Draugr स्टैक स्पूफिंगकॉल स्टैक निरीक्षण
थ्रेड स्टार्ट स्पूफिंगथ्रेड प्रारंभ पता विश्लेषण
मॉड्यूल स्टॉम्पिंगअनबैक्ड मेमोरी डिटेक्शन
निजी हीप आवंटनVirtualAlloc मॉनिटरिंग
Ntdll अनहुकिंगमेमोरी में ntdll को डिस्क पर मौजूद Ntdll से अधिलेखित करना
IAT हुकिंग (कोई पाइप नहीं)नामित पाइप मॉनिटरिंग

डिटेक्शन वेक्टर

कर्नेल टेलीमेट्री (ETW-TI)

NtGetContextThread / NtSetContextThread:

  • सस्पेंडेड थ्रेड्स पर थ्रेड कॉन्टेक्स्ट हेरफेर फिर उसे रिज़्यूम करना

मेमोरी ऑपरेशन:

  • NtAllocateMemory आवंटन, RWX में हो सकता है (कॉन्फ़िग पर निर्भर)
  • NtProtectVirtualMemory संक्रमण (RW → RX)
  • हीप क्षेत्रों में निष्पादन योग्य मेमोरी संदिग्ध है (कॉन्फ़िग पर निर्भर)
  • मॉड्यूल स्टॉम्पिंग सेक्शन हैश बेमेल के माध्यम से पता लगाने योग्य है (कॉन्फ़िग पर निर्भर)

व्यवहारिक संकेतक

  • सस्पेंडेड थ्रेड बनाया गया, कॉन्टेक्स्ट लिया गया फिर RIP का मान बदला गया
  • हीप मेमोरी निष्पादन योग्य के रूप में चिह्नित (यदि मेमोरी आवंटक हीप है)
  • DONT_RESOLVE_DLL_REFERENCES के साथ DLL लोड किया गया (यदि मेमोरी आवंटक मॉड्यूल स्टॉम्पिंग है)
  • Ntdll .text सेक्शन संशोधित (यदि अनहुकिंग सक्षम है)

उपयोग

स्क्रिप्ट लोड करना

Cobalt Strike → Script Manager → Load → BOF_RunPe.cna

Aggressor कमांड

beacon> runpe /path/to/binary.exe --arg1 value1

Mimikatz

beacon> help runpe

Help

संकलन

GCC 13 (mingw-w64) की आवश्यकता है। दिए गए Dockerfile का उपयोग करें:

sudo docker build -t ubuntu-gcc-13 .
sudo docker run --rm -it -v "$PWD":/work -w /work ubuntu-gcc-13:latest make

आउटपुट: Bin/runpe.o

सीमाएँ

सीमाविवरण
CETControl-flow Enforcement Technology सिंथेटिक स्टैक फ्रेम को अवरुद्ध कर सकती है
केवल x64कोई x86/WoW64 समर्थन नहीं
कर्नेल दृश्यताथ्रेड निर्माण कर्नेल कॉलबैक को दिखाई देता है
.NETप्रबंधित निष्पादन योग्य समर्थित नहीं हैं

क्रेडिट / विकास हेतु उपयोग किए गए संसाधन

रेपो/ब्लॉगपोस्ट

  • https://github.com/susMdT/LoudSunRun
  • https://github.com/Octoberfest7/Inline-Execute-PE
  • https://www.coresecurity.com/core-labs/articles/running-pes-inline-without-console
  • https://0xdarkvortex.dev/proxying-dll-loads-for-hiding-etwti-stack-tracing/

पुस्तकें

  • Windows Native API Programming द्वारा Pavel Yosifovich
  • Windows Internals, Part 1 द्वारा Pavel Yosifovich
  • Windows Internals, Part 2 द्वारा Andrea Allievi
टूल डाउनलोड करें