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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/trailofbits/sinter
रक्षात्मक उपकरणकॉन्फ़िगरेशन ऑडिटिंगघटना प्रतिक्रियाArchived
GitHubtrailofbits/sinter

sinter

MacOS के लिए Swift में लिखित एक उपयोगकर्ता-मोड एप्लिकेशन प्राधिकरण प्रणाली

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

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

सभी देखें →

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

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

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

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

Sinter

Build Status

Sinter एक 100% उपयोगकर्ता-मोड एंडपॉइंट सुरक्षा एजेंट है जो macOS 10.15 और उससे ऊपर के लिए है, जो Swift में लिखा गया है।

Sinter उपयोगकर्ता-मोड EndpointSecurity API का उपयोग करके macOS कर्नेल से सब्सक्राइब करने और प्राधिकरण कॉलबैक प्राप्त करने के लिए करता है, सुरक्षा-संबंधित घटना प्रकारों के एक सेट के लिए। Sinter का वर्तमान संस्करण प्रक्रिया निष्पादन को अनुमति/अस्वीकार करने का समर्थन करता है; भविष्य के संस्करणों में हम अन्य प्रकार की घटनाओं जैसे फ़ाइल, सॉकेट और कर्नेल घटनाओं का समर्थन करने का इरादा रखते हैं।

Sinter एक कार्य-प्रगति पर है। प्रतिक्रिया का स्वागत है। यदि आप इसकी क्षमता प्राप्त करने में मदद करने के लिए योगदान या प्रायोजित करने में रुचि रखते हैं, तो हमसे संपर्क करें.

विशेषताएँ

  • कोड निर्देशिका हैश (उर्फ "CD हैश") द्वारा प्रक्रिया निष्पादन को अनुमति या अस्वीकार करें
  • सभी अज्ञात प्रोग्रामों को अस्वीकार करने का विकल्प (कोई भी प्रोग्राम जो स्पष्ट रूप से अनुमति नहीं है)
  • सभी अहस्ताक्षरित प्रोग्रामों को अस्वीकार करने का विकल्प
  • सभी अमान्य हस्ताक्षर वाले प्रोग्रामों को अस्वीकार करने का विकल्प
  • सभी प्रक्रिया निष्पादन घटनाओं को ट्रैक और लॉग (लेकिन अनुमति) करने के लिए "मॉनिटर" मोड
  • Santa सिंक-सर्वर से अनुमति/अस्वीकार नियम स्वीकार करता है
  • JSON में अस्वीकार नियम कॉन्फ़िगर करें, स्थानीय रूप से या सिंक-सर्वर द्वारा प्रदान किया गया
  • संरचित JSON प्रारूप में स्थानीय फाइलसिस्टम पर लॉग करें

नियोजित आगामी विशेषताएँ:

  • निष्पादन योग्य फ़ाइल पथ द्वारा प्रक्रिया निष्पादन अस्वीकार करें
  • प्रमाणपत्र टीम ID द्वारा प्रक्रिया निष्पादन अस्वीकार करें

प्रति-विशेषताएँ

  • कर्नेल एक्सटेंशन का उपयोग नहीं करता (जो macOS 11 Big Sur में आधिकारिक रूप से पदावनत किया जाएगा)
  • लीगेसी macOS (10.14 या पुराने) का समर्थन नहीं करता
  • किसी भी मेमोरी असुरक्षित कोड का उपयोग नहीं करता
  • तृतीय-पक्ष लाइब्रेरी निर्भरताओं को सीमित करता है
  • एंटी-मैलवेयर या एंटी-वायरस नहीं है। कोई हस्ताक्षर डेटाबेस नहीं। केवल वही अस्वीकार करता है जिसे आप नियमों का उपयोग करके अस्वीकार करने के लिए कहते हैं।

पृष्ठभूमि

प्रक्रियाओं को अनुमति/अस्वीकार करने का पहला खुला-स्रोत macOS समाधान Google Santa था। हम Santa के प्रशंसक हैं, और अतीत में इसके कोडबेस में योगदान दिया है। हालांकि, लंबे समय से, macOS समुदाय में कई लोगों ने केवल प्रक्रिया घटनाओं से अधिक को ट्रैक और प्रबंधित करने के लिए एक खुला-स्रोत समाधान मांगा है।

हमने macOS 10.15 में EndpointSecurity API के साथ ऐसी क्षमता बनाने के लिए आदर्श मंच देखा। पूरी तरह से उपयोगकर्ता-मोड API के आसपास जमीन से शुरू करने का मतलब था कि हम एक सरल डिज़ाइन का प्रयास कर सकते हैं, और सुरक्षित मेमोरी हैंडलिंग और बेहतर प्रदर्शन के साथ एक आधुनिक प्रोग्रामिंग भाषा का उपयोग कर सकते हैं। इस प्रकार, हमने Sinter को विकसित करने का निर्णय लिया, जो "Sinter Klausen" का संक्षिप्त रूप है, जो सांता क्लॉज़ का दूसरा नाम है।

आरंभ करना

Releases पृष्ठ से pkg इंस्टॉलर लिंक का उपयोग करके Sinter का नवीनतम संस्करण डाउनलोड और इंस्टॉल करें।

Sinter इंस्टॉल करने के बाद, आपको Sinter.app के लिए "Full Disk Access" अनुमति सक्षम करनी होगी। सिस्टम प्रेफरेंसेज, सिक्योरिटी, प्राइवेसी टैब, फुल डिस्क एक्सेस खोलकर ऐसा करें। Sinter.app के लिए आइटम चेक करें। यदि MDM का उपयोग कर रहे हैं, तो आप अपने एंडपॉइंट पर इस अनुमति को स्वचालित रूप से सक्षम कर सकते हैं, और किसी उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं होगी।

विन्यास

Sinter को /etc/sinter/config.json पर एक विन्यास फ़ाइल मौजूद होनी चाहिए। स्रोत ट्री में ./config/config.json पर एक उदाहरण प्रदान किया गया है:

root@kitploit:~
{
  "Sinter": {
    "decision_manager": "local",
    "logger": "filesystem",

    "allow_unsigned_programs": "true",
    "allow_invalid_programs": "true",
    "allow_unknown_programs": "true",
    "allow_expired_auth_requests": "true",
    "allow_misplaced_applications": "true",

    "config_update_interval": 600,

    "allowed_application_directories": [
      "/bin",
      "/usr/bin",
      "/usr/local/bin",
      "/Applications",
      "/System",
      "/usr/sbin",
      "/usr/libexec",
    ],
  },
  
  "FilesystemLogger": {
    "log_file_path": "/var/log/sinter.log",
  },

  "RemoteDecisionManager": {
    "server_url": "https://server_address:port",
    "machine_identifier": "identifier",
  },

  "LocalDecisionManager": {
    "rule_database_path": "/etc/sinter/rules.json",
  }
}

decision_manager मान बदलकर डिसीजन मैनेजर प्लगइन का चयन किया जा सकता है। local प्लगइन LocalDecisionManager विन्यास अनुभाग को सक्षम करेगा, Sinter को दिए गए पथ पर मौजूद स्थानीय नियम डेटाबेस का उपयोग करने का निर्देश देगा। इसके बजाय sync-server प्लगइन का उपयोग करके Santa-संगत सिंक-सर्वर का उपयोग करना संभव है। यह RemoteDecisionManager विन्यास अनुभाग को सक्षम करता है, जहां सर्वर URL और मशीन पहचानकर्ता सेट किया जा सकता है।

वर्तमान में दो लॉगर प्लगइन लागू किए गए हैं:

  1. filesystem: संदेश फ़ाइल में लिखे जाते हैं, FilesystemLogger.log_file_path पर निर्दिष्ट पथ का उपयोग करके।
  2. unifiedlogging: लॉग Unified Logging का उपयोग करके उत्सर्जित होते हैं, com.trailofbits.sinter को सबसिस्टम के रूप में उपयोग करते हुए।

अनुमत एप्लिकेशन निर्देशिकाएँ

Sinter को उन अनुप्रयोगों को लॉग और वैकल्पिक रूप से अस्वीकार करने के लिए कॉन्फ़िगर करना संभव है जो किसी अनुमत फ़ोल्डर से प्रारंभ नहीं किए गए हैं।

  • allow_misplaced_applications: यदि true पर सेट किया जाता है, तो गलत स्थान पर रखे गए एप्लिकेशन केवल एक चेतावनी उत्पन्न करेंगे। यदि false पर सेट किया जाता है, तो कोई भी निष्पादन जो वैध पथ से शुरू नहीं होता है, अस्वीकार कर दिया जाता है।
  • allowed_application_directories: यदि खाली नहीं है, तो इसका उपयोग यह निर्धारित करने के लिए किया जाएगा कि एप्लिकेशन गलत फ़ोल्डर में रखे गए हैं या नहीं।

UI सूचनाएं सक्षम करना

  1. नोटिफिकेशन सर्वर इंस्टॉल करें (PKG इंस्टॉलर यह स्वचालित रूप से करेगा): sudo /Applications/Sinter.app/Contents/MacOS/Sinter --install-notification-server
  2. एजेंट प्रारंभ करें: /Applications/Sinter.app/Contents/MacOS/Sinter --start-notification-server

MONITOR मोड में Sinter कॉन्फ़िगर करना

Sinter में मोड लागू नहीं हैं, क्योंकि सब कुछ नियम-आधारित है। निम्नलिखित सेटिंग्स को समायोजित करके निगरानी कार्यक्षमता को लागू करना संभव है:

  • allow_unsigned_programs: उन अनुप्रयोगों को अनुमति दें जो हस्ताक्षरित नहीं हैं
  • allow_invalid_programs: उन अनुप्रयोगों को अनुमति दें जो हस्ताक्षर जांच में विफल होते हैं
  • allow_unknown_programs: सक्रिय नियम डेटाबेस द्वारा कवर नहीं किए गए अनुप्रयोगों को स्वचालित रूप से अनुमति दें
  • allow_expired_auth_requests: EndpointSecurity API के लिए आवश्यक है कि Sinter एक अनिर्दिष्ट समय सीमा (आमतौर पर एक मिनट से कम) के भीतर प्राधिकरण अनुरोधों का उत्तर दे। Xcode जैसे बड़े अनुप्रयोगों को सत्यापित करने में काफी समय लगेगा। उन निष्पादनों को डिफ़ॉल्ट रूप से अस्वीकार कर दिया जाता है, और उपयोगकर्ता से अपेक्षा की जाती है कि वह एप्लिकेशन सत्यापित होने के बाद पुनः प्रयास करे। इस कॉन्फ़िगरेशन को true पर सेट करने से यह व्यवहार बदल जाता है ताकि उन अनुरोधों को हमेशा अनुमति दी जाए।

नियम प्रारूप

नियम डेटाबेस JSON प्रारूप में लिखे जाते हैं। यहाँ एक उदाहरण डेटाबेस है जो cmake.org से CMake एप्लिकेशन बंडल को अनुमति देता है:

root@kitploit:~
{
  "rules": [
    {
      "rule_type": "BINARY",
      "policy": "ALLOWLIST",
      "sha256": "BDD0AF132D89EA4810566B3E1E0D1E48BAC6CF18D0C787054BB62A4938683039",
      "custom_msg": "CMake"
    }
  ]
}

Sinter वर्तमान में केवल BINARY नियमों का समर्थन करता है, ALLOWLIST या DENYLIST नीतियों का उपयोग करते हुए। कोड निर्देशिका हैश मान codesign टूल आउटपुट से लिया जा सकता है (उदाहरण: codesign -dvvv /Applications/CMake.app)। ध्यान दें कि भले ही CLI उपकरण पूर्ण SHA256 हैश प्राप्त कर सकते हैं, कर्नेल/EndpointSecurity API पहले 20 बाइट्स तक सीमित है।

स्रोत से निर्माण

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

लाइसेंस

Sinter AGPLv3 लाइसेंस के तहत लाइसेंस प्राप्त और वितरित किया जाता है। यदि आप शर्तों के अपवाद की तलाश में हैं तो हमसे संपर्क करें।

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