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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
acheron — Go असेंबली में AV/EDR बचाव के लिए अप्रत्यक्ष syscalls | Kitploit
उपकरण/GitHubGitHub/f1zm0/acheron
शेलकोडरेड टीमिंगपेलोड डेवलपमेंट
GitHubf1zm0/acheron

acheron

Go असेंबली में AV/EDR बचाव के लिए अप्रत्यक्ष syscalls

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

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

सभी देखें →

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

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

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

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

नवीनतम रिलीज़ संस्करण गो संदर्भ गो रिपोर्ट कार्ड प्रोजेक्ट लाइसेंस मुद्दे ट्विटर फ़ॉलो

परिचय

Acheron एक लाइब्रेरी है जो SysWhisper3/FreshyCalls/RecycledGate से प्रेरित है, जिसमें अधिकांश कार्यक्षमता Go असेंबली में लागू की गई है।

acheron पैकेज का उपयोग आपके Golang ट्रेडक्राफ्ट में इनडायरेक्ट सिस्कॉल क्षमताएँ जोड़ने के लिए किया जा सकता है, ताकि उन AV/EDRs को बायपास किया जा सके जो यूज़रमोड हुक और इंस्ट्रुमेंटेशन कॉलबैक का उपयोग करके उन असामान्य सिस्कॉल्स का पता लगाते हैं जो ntdll.dll पर वापस नहीं लौटते, जब कॉल कर्नेल→यूज़रलैंड से संक्रमण करता है।

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

  • कोई निर्भरता नहीं
  • शुद्ध Go और Go असेंबली कार्यान्वयन
  • स्थैतिक विश्लेषण का मुकाबला करने के लिए कस्टम स्ट्रिंग एन्क्रिप्शन/हैशिंग फ़ंक्शन समर्थन

यह कैसे काम करता है

नया syscall प्रॉक्सी इंस्टेंस बनाते समय निम्नलिखित चरण किए जाते हैं:

  1. PEB को वॉक करके मेमोरी में ntdll.dll का बेस पता प्राप्त करें
  2. एक्सपोर्ट डायरेक्टरी को पार्स करके प्रत्येक एक्सपोर्टेड फ़ंक्शन का पता प्राप्त करें
  3. प्रत्येक Zw* फ़ंक्शन के लिए सिस्टम सर्विस नंबर की गणना करें
  4. ntdll.dll में अनहुक/क्लीन syscall;ret गैजेट्स की गणना करें, जिनका उपयोग ट्रैम्पोलिन के रूप में किया जाएगा
  5. प्रॉक्सी इंस्टेंस बनाएँ, जिसका उपयोग इनडायरेक्ट (या डायरेक्ट) सिस्कॉल्स करने के लिए किया जा सकता है

त्वरित आरंभ

अपने offsec टूल्स में acheron को एकीकृत करना काफी आसान है। आप पैकेज को इस प्रकार इंस्टॉल कर सकते हैं:

root@kitploit:~
go get -u github.com/f1zm0/acheron

फिर बस acheron.New() को कॉल करके एक syscall प्रॉक्सी इंस्टेंस बनाएँ और Nt* API के लिए इनडायरेक्ट syscall करने के लिए acheron.Syscall() का उपयोग करें।

न्यूनतम उदाहरण:

root@kitploit:~
package main

import (
    "fmt"
    "unsafe"

    "github.com/f1zm0/acheron"
)

func main() {
    var (
        baseAddr uintptr
        hSelf = uintptr(0xffffffffffffffff)
    )

    // creates Acheron instance, resolves SSNs, collects clean trampolines in ntdll.dlll, etc.
    ach, err := acheron.New()
    if err != nil {
        panic(err)
    }

    // indirect syscall for NtAllocateVirtualMemory
    s1 := ach.HashString("NtAllocateVirtualMemory")
    if retcode, err := ach.Syscall(
        s1,                                     // function name hash
        hSelf,                                  // arg1: _In_     HANDLE ProcessHandle,
        uintptr(unsafe.Pointer(&baseAddr)),     // arg2: _Inout_  PVOID *BaseAddress,
        uintptr(unsafe.Pointer(nil)),           // arg3: _In_     ULONG_PTR ZeroBits,
        0x1000,                                 // arg4: _Inout_  PSIZE_T RegionSize,
        windows.MEM_COMMIT|windows.MEM_RESERVE, // arg5: _In_     ULONG AllocationType,
        windows.PAGE_EXECUTE_READWRITE,         // arg6: _In_     ULONG Protect
    ); err != nil {
        panic(err)
    }
    fmt.Printf(
        "allocated memory with NtAllocateVirtualMemory (status: 0x%x)\n",
        retcode,
    )

    // ...
}

उदाहरण

निम्नलिखित उदाहरण रिपॉजिटरी में शामिल हैं:

उदाहरणविवरण
sc_injectअत्यंत सरल प्रोसेस इंजेक्शन PoC, जो डायरेक्ट और इनडायरेक्ट दोनों syscall का समर्थन करता है
process_snapshot

अन्य प्रोजेक्ट जो acheron का उपयोग करते हैं:

  • hades

योगदान

योगदान का स्वागत है! नीचे कुछ चीज़ें दी गई हैं जो भविष्य में अच्छी होंगी:

  • 32-बिट समर्थन
  • अन्य रिज़ॉल्वर प्रकार (जैसे HalosGate/TartarusGate)
  • और उदाहरण

यदि आपके पास कोई सुझाव या विचार हैं, तो बेझिझक एक issue या PR खोलें।

संदर्भ

  • Golang UK Conference 2016 - Michael Munday - Dropping Down Go Functions in Assembly
  • https://github.com/am0nsec/HellsGate
  • https://sektor7.net/#!res/2021/halosgate.md
  • https://github.com/trickster0/TartarusGate
  • https://github.com/klezVirus/SysWhispers3
  • https://github.com/crummie5/FreshyCalls
  • https://github.com/boku7/AsmHalosGate
  • https://github.com/thefLink/RecycledGate
  • https://github.com/C-Sto/BananaPhone
  • https://winternl.com/detecting-manual-syscalls-from-user-mode/
  • https://www.usenix.org/legacy/events/vee06/full_papers/p154-bhansali.pdf
  • https://redops.at/en/blog/direct-syscalls-a-journey-from-high-to-low

अतिरिक्त नोट्स

यह नाम ग्रीक पौराणिक कथाओं में Acheron नदी का संदर्भ है, जो वह नदी है जहाँ मृतकों की आत्माओं को अधोलोक में ले जाया जाता है।

नोट
यह प्रोजेक्ट सिमेंटिक वर्ज़निंग का उपयोग करता है। मामूली और पैच रिलीज़ को पिछले संस्करणों के साथ संगतता नहीं तोड़नी चाहिए। प्रमुख रिलीज़ का उपयोग केवल उन प्रमुख परिवर्तनों के लिए किया जाएगा जो पिछले संस्करणों के साथ संगतता तोड़ते हैं।

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

लाइसेंस

यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।

टूल डाउनलोड करें
सिस्कॉल के साथ प्रोसेस स्नैपशॉट लेने के लिए इनडायरेक्ट syscall का उपयोग
custom_hashfuncकस्टम एन्कोडिंग/हैशिंग फ़ंक्शन का उदाहरण जिसे acheron के साथ उपयोग किया जा सकता है