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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
atomic-operator — एक Python पैकेज का उपयोग कई ऑपरेटिंग सिस्टम वातावरणों में Atomic Red Team परीक्षणों (Atomics) को निष्पादित करने के लिए किया जाता है। | Kitploit
उपकरण/GitHubGitHub/swimlane/atomic-operator
रक्षात्मक उपकरणस्क्रिप्टिंग और स्वचालनपेनिट्रेशन टेस्टिंगक्लाउड सुरक्षालर्निंग और शिक्षारेड टीमिंगArchived
GitHubswimlane/atomic-operator

atomic-operator

एक Python पैकेज का उपयोग कई ऑपरेटिंग सिस्टम वातावरणों में Atomic Red Team परीक्षणों (Atomics) को निष्पादित करने के लिए किया जाता है।

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

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

सभी देखें →

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

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

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

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

PyPI Status Python Version [License][license]

Read the documentation at https://atomic-operator.com/ Code Quality & Tests

Black

atomic-operator

यह पायथन पैकेज कई ऑपरेटिंग सिस्टम वातावरणों में एटॉमिक रेड टीम परीक्षणों (एटॉमिक्स) को निष्पादित करने के लिए उपयोग किया जाता है।

(क्या नया है?)

क्यों?

atomic-operator सुरक्षा पेशेवरों को atomic-red-team में परिभाषित निर्धारित तकनीकों के विरुद्ध उनकी पहचान और रक्षात्मक क्षमताओं का परीक्षण करने में सक्षम बनाता है। atomic-operator जैसे परीक्षण ढांचे का उपयोग करके, आप अपनी रक्षात्मक क्षमताओं के साथ-साथ रक्षात्मक कवरेज में कमियों की पहचान कर सकते हैं।

इसके अतिरिक्त, atomic-operator का उपयोग कई अन्य स्थितियों में भी किया जा सकता है जैसे:

  • उत्पादों का परीक्षण करने के लिए अलर्ट उत्पन्न करना
  • EDR और अन्य सुरक्षा उपकरणों का परीक्षण करना
  • प्रतिकूल दृष्टिकोण से रक्षात्मक चोरी करने के तरीकों की पहचान करना
  • और भी बहुत कुछ।

विशेषताएँ

  • विंडोज, macOS और लिनक्स सिस्टम पर एटॉमिक रेड टीम परीक्षणों के स्थानीय और दूरस्थ निष्पादन का समर्थन करता है
  • iaas:aws के विरुद्ध एटॉमिक परीक्षण चलाने का समर्थन करता है
  • इनपुट तर्कों के लिए संकेत दे सकता है लेकिन आवश्यक नहीं है
  • एटॉमिक-रेड-टीम रिपॉजिटरी को डाउनलोड करने में सहायता करता है
  • कॉन्फ़िगरेशन फ़ाइल के आधार पर और अधिक स्वचालित किया जा सकता है
  • एक कमांड-लाइन और आयात करने योग्य पायथन पैकेज
  • जब एक या अधिक तकनीकें निर्दिष्ट की जाती हैं तो विशिष्ट परीक्षणों का चयन करें
  • उस सही परीक्षण के लिए सभी एटॉमिक्स में खोजें
  • कमांड लाइन के माध्यम से परीक्षणों के लिए इनपुट के रूप में input_arguments पास करें
  • और भी बहुत कुछ

शुरू करना

atomic-operator एक पायथन-केवल पैकेज है जो PyPi पर होस्ट है और Python 3.6 और उससे अधिक के साथ काम करता है।

यदि आप PowerShell संस्करण चाहते हैं, तो कृपया Invoke-AtomicRedTeam देखें।

root@kitploit:~
pip install atomic-operator

अगले चरण आपको atomic-operator को सेट अप करने और चलाने में मार्गदर्शन करेंगे।

  • एटॉमिक्स प्राप्त करें एटॉमिक रेड टीम रिपॉजिटरी स्थापित / क्लोन करें
  • atomic-operator atomic-operator में उपलब्ध विकल्पों को समझें
  • कमांड लाइन पर परीक्षण चलाना या स्क्रिप्ट के भीतर परीक्षण चलाना
  • कॉन्फ़िगरेशन फ़ाइल के माध्यम से परीक्षण चलाना

स्थापना

आप atomic-operator को OS X, Linux या Windows पर स्थापित कर सकते हैं। आप इसे सीधे स्रोत से भी स्थापित कर सकते हैं। स्थापित करने के लिए, नीचे संबंधित ऑपरेटिंग सिस्टम शीर्षक के अंतर्गत कमांड देखें।

पूर्वापेक्षाएँ

निम्नलिखित लाइब्रेरीज़ आवश्यक हैं और atomic-operator द्वारा स्थापित की जाती हैं:

root@kitploit:~
pyyaml==5.4.1
fire==0.4.0
requests==2.26.0
attrs==21.2.0
pick==1.2.0

macOS, Linux और Windows:

root@kitploit:~
pip install atomic-operator

M1 प्रोसेसर का उपयोग करते हुए macOS

root@kitploit:~
git clone https://github.com/swimlane/atomic-operator.git
cd atomic-operator

# ModuleNotFoundError: No module named 'setuptools_rust' को संतुष्ट करें
brew install rust
pip3 install --upgrade pip
pip3 install setuptools_rust

# वापस हमारी नियमित प्रोग्रामिंग पर ...
pip install -r requirements.txt
python setup.py install

स्रोत से स्थापना

root@kitploit:~
git clone https://github.com/swimlane/atomic-operator.git
cd atomic-operator
pip install -r requirements.txt
python setup.py install

उपयोग उदाहरण (कमांड लाइन)

आप atomic-operator को कमांड लाइन से या अपनी खुद की पायथन स्क्रिप्ट के भीतर चला सकते हैं। कमांड लाइन पर atomic-operator का उपयोग करने के लिए अपने टर्मिनल में निम्नलिखित दर्ज करें:

root@kitploit:~
atomic-operator --help
atomic-operator run -- --help

कृपया ध्यान दें कि रन कमांड के बारे में विवरण देखने के लिए atomic-operator run -- --help चलाएं, atomic-operator run --help नहीं।

एटॉमिक परीक्षण प्राप्त करना

atomic-operator का उपयोग करने के लिए आपके स्थानीय सिस्टम पर एक या अधिक atomic-red-team परीक्षण (एटॉमिक्स) होने चाहिए। atomic-operator आपको एटॉमिक रेड टीम रिपॉजिटरी डाउनलोड करने की क्षमता प्रदान करता है। आप कमांड लाइन पर निम्नलिखित चलाकर ऐसा कर सकते हैं:

root@kitploit:~
atomic-operator get_atomics 
# आप --destination फ़्लैग का उपयोग करके गंतव्य निर्देशिका निर्दिष्ट कर सकते हैं
atomic-operator get_atomics --destination "/tmp/some_directory"

स्थानीय रूप से परीक्षण चलाना

एक परीक्षण चलाने के लिए आपको कुछ अतिरिक्त गुण (और यदि चाहें तो विकल्प) प्रदान करने होंगे। परीक्षण चलाने की मुख्य विधि run है।

root@kitploit:~
# यह आपके स्थानीय ऑपरेटिंग सिस्टम के अनुकूल सभी परीक्षण चलाएगा
atomic-operator run --atomics-path "/tmp/some_directory/redcanaryco-atomic-red-team-3700624"

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

root@kitploit:~
atomic-operator run --techniques T1564.001 --select_tests

उपयोगकर्ता को उस तकनीक से संबंधित परीक्षणों की चयन सूची के साथ संकेत देगा। एक उपयोगकर्ता स्पेस बार का उपयोग करके वांछित परीक्षण को हाइलाइट करके एक या अधिक परीक्षणों का चयन कर सकता है:

root@kitploit:~
 Select Test(s) for Technique T1564.001 (Hide Artifacts: Hidden Files and Directories)

 * Create a hidden file in a hidden directory (61a782e5-9a19-40b5-8ba4-69a4b9f3d7be)
   Mac Hidden file (cddb9098-3b47-4e01-9d3b-6f5f323288a9)
   Create Windows System File with Attrib (f70974c8-c094-4574-b542-2c545af95a32)
   Create Windows Hidden File with Attrib (dadb792e-4358-4d8d-9207-b771faa0daa5)
   Hidden files (3b7015f2-3144-4205-b799-b05580621379)
   Hide a Directory (b115ecaf-3b24-4ed2-aefe-2fcb9db913d3)
   Show all hidden files (9a1ec7da-b892-449f-ad68-67066d04380c)

निम्नलिखित आपको परीक्षणों के लिए कस्टम इनपुट तर्क प्रदान करने की अनुमति देगा। आप run विधि पर input_arguments पैरामीटर को एक शब्दकोश के रूप में कुंजियों और मानों का शब्दकोश प्रदान करके ऐसा करते हैं।

root@kitploit:~
atomic-operator run --techniques T1564.001 --input_arguments '{"project-id": "some_value", "another_key": "another value"}'
# कृपया input_arguments मान के चारों ओर एकल उद्धरण शामिल करें।

दूरस्थ रूप से परीक्षण चलाना

दूरस्थ रूप से एक परीक्षण चलाने के लिए आपको कुछ अतिरिक्त गुण (और यदि चाहें तो विकल्प) प्रदान करने होंगे। परीक्षण चलाने की मुख्य विधि run है।

root@kitploit:~
# यह आपके स्थानीय ऑपरेटिंग सिस्टम के अनुकूल सभी परीक्षण चलाएगा
atomic-operator run --atomics-path "/tmp/some_directory/redcanaryco-atomic-red-team-3700624" --hosts "10.32.1.0" --username "my_username" --password "my_password"

विंडोज़ होस्ट के विरुद्ध दूरस्थ रूप से कमांड चलाते समय आपको PSRemoting कॉन्फ़िगर करने की आवश्यकता हो सकती है। विवरण के लिए यहाँ देखें: विंडोज़ रिमोटिंग

अतिरिक्त पैरामीटर

आप निम्नलिखित कमांड चलाकर अतिरिक्त पैरामीटर देख सकते हैं:

root@kitploit:~
atomic-operator run -- --help

आपको निम्नलिखित के समान आउटपुट देखना चाहिए:

root@kitploit:~
NAME
    atomic-operator run - वह मुख्य विधि जिसमें हम एटॉमिक रेड टीम परीक्षण चलाते हैं।

SYNOPSIS
    atomic-operator run <flags>

DESCRIPTION
    वह मुख्य विधि जिसमें हम एटॉमिक रेड टीम परीक्षण चलाते हैं।

FLAGS
    --techniques=TECHNIQUES
        Type: list
        Default: ['all']
        attack_technique ID द्वारा एक या अधिक परिभाषित तकनीकें। डिफ़ॉल्ट 'all' है।
    --test_guids=TEST_GUIDS
        Type: list
        Default: []
        एक या अधिक एटॉमिक परीक्षण GUID। डिफ़ॉल्ट None है।
    --select_tests=SELECT_TESTS
        Type: bool
        Default: False
        प्रदान की गई तकनीकों में से एक या अधिक परीक्षण चुनें। डिफ़ॉल्ट False है।
    --atomics_path=ATOMICS_PATH
        Default: '/U...
        एटॉमिक परीक्षणों का पथ। डिफ़ॉल्ट os.getcwd() है।
    --input_arguments={}
        Default: {}
        परीक्षण में पास करने के लिए इनपुट तर्कों का शब्दकोश।
    --check_prereqs=CHECK_PREREQS
        Default: False
        प्रीरेक निर्भरताओं (prereq_comand) की जाँच करनी है या नहीं। डिफ़ॉल्ट False है।
    --get_prereqs=GET_PREREQS
        Default: False
        क्या आप पूर्वापेक्षाएँ प्राप्त करना चाहते हैं। डिफ़ॉल्ट False है।
    --cleanup=CLEANUP
        Default: False
        क्या आप क्लीनअप कमांड चलाना चाहते हैं। डिफ़ॉल्ट False है।
    --copy_source_files=COPY_SOURCE_FILES
        Default: True
        क्या आप किसी भी संबंधित स्रोत (src, bin, आदि) फ़ाइलों को दूरस्थ होस्ट पर कॉपी करना चाहते हैं। डिफ़ॉल्ट True है।
    --command_timeout=COMMAND_TIMEOUT
        Default: 20
        प्रत्येक कमांड के लिए टाइमआउट अवधि। डिफ़ॉल्ट 20 है।
    --debug=DEBUG
        Default: False
        क्या आप चलाए जा रहे परीक्षणों के बारे में विवरण आउटपुट करना चाहते हैं। डिफ़ॉल्ट False है।
    --prompt_for_input_args=PROMPT_FOR_INPUT_ARGS
        Default: False
        क्या आप प्रत्येक परीक्षण के लिए इनपुट तर्कों का संकेत चाहते हैं। डिफ़ॉल्ट False है।
    --return_atomics=RETURN_ATOMICS
        Default: False
        क्या आप एटॉमिक्स को चलाने के बजाय वापस करना चाहते हैं। डिफ़ॉल्ट False है।
    --config_file=CONFIG_FILE
        Type: Optional[]
        Default: None
        एक conifg_file का पथ जो वातावरण में atomic-operator को स्वचालित करने के लिए उपयोग किया जाता है। डिफ़ॉल्ट None है।
    --config_file_only=CONFIG_FILE_ONLY
        Default: False
        क्या आप केवल प्रदान किए गए config_file के आधार पर परीक्षण चलाना चाहते हैं। डिफ़ॉल्ट False है।
    --hosts=HOSTS
        Default: []
        एक या अधिक दूरस्थ होस्टों की सूची जिन पर परीक्षण चलाना है। डिफ़ॉल्ट [] है।
    --username=USERNAME
        Type: Optional[]
        Default: None
        दूरस्थ कनेक्शन के प्रमाणीकरण के लिए उपयोगकर्ता नाम। डिफ़ॉल्ट None है।
    --password=PASSWORD
        Type: Optional[]
        Default: None
        दूरस्थ कनेक्शन के प्रमाणीकरण के लिए पासवर्ड। डिफ़ॉल्ट None है।
    --ssh_key_path=SSH_KEY_PATH
        Type: Optional[]
        Default: None
        दूरस्थ कनेक्शन के प्रमाणीकरण के लिए SSH कुंजी का पथ। डिफ़ॉल्ट None है।
    --private_key_string=PRIVATE_KEY_STRING
        Type: Optional[]
        Default: None
        दूरस्थ कनेक्शन के प्रमाणीकरण के लिए उपयोग की जाने वाली एक निजी SSH कुंजी स्ट्रिंग। डिफ़ॉल्ट None है।
    --verify_ssl=VERIFY_SSL
        Default: False
        RDP (विंडोज़) पर कनेक्ट करते समय ssl सत्यापित करना है या नहीं। डिफ़ॉल्ट False है।
    --ssh_port=SSH_PORT
        Default: 22
        दूरस्थ कनेक्शन के प्रमाणीकरण के लिए SSH पोर्ट। डिफ़ॉल्ट 22 है।
    --ssh_timeout=SSH_TIMEOUT
        Default: 5
        दूरस्थ कनेक्शन के प्रमाणीकरण के लिए SSH टाइमआउट। डिफ़ॉल्ट 5 है।
    अतिरिक्त फ़्लैग स्वीकार किए जाते हैं।
        यदि प्रदान किया जाता है, तो एक परीक्षण के लिए इनपुट से मेल खाने वाली कुंजियाँ बदल दी जाएंगी। डिफ़ॉल्ट None है।

config_file का उपयोग करके atomic-operator चलाना

atomic-operator के साथ पैरामीटर पास करने की क्षमता के अलावा, आप एक config_file का पथ भी पास कर सकते हैं जिसमें सभी एटॉमिक परीक्षण और उनके संभावित इनपुट हों। आप इस config_file का एक उदाहरण यहाँ देख सकते हैं:

root@kitploit:~
atomic_tests:
  - guid: f7e6ec05-c19e-4a80-a7e7-241027992fdb
    input_arguments:
      output_file:
        value: custom_output.txt
      input_file:
        value: custom_input.txt
  - guid: 3ff64f0b-3af2-3866-339d-38d9791407c3
    input_arguments:
        second_arg:
          value: SWAPPPED argument
  - guid: 32f90516-4bc9-43bd-b18d-2cbe0b7ca9b2

उपयोग उदाहरण (स्क्रिप्ट)

atomic-operator का उपयोग करने के लिए आपको एक AtomicOperator ऑब्जेक्ट को इन्स्टेनशिएट करना होगा।

root@kitploit:~
from atomic_operator import AtomicOperator

operator = AtomicOperator()

# यह एटॉमिक-रेड-टीम रिपॉजिटरी की एक स्थानीय प्रतिलिपि डाउनलोड करेगा

print(operator.get_atomics('/tmp/some_directory'))

# यह आपके स्थानीय सिस्टम पर परीक्षण चलाएगा
operator.run(
    technique: str='All', 
    atomics_path=os.getcwd(), 
    check_dependencies=False, 
    get_prereqs=False, 
    cleanup=False, 
    command_timeout=20, 
    debug=False,
    prompt_for_input_args=False,
    **kwargs
)

सहायता प्राप्त करना

यदि आपके कोई प्रश्न हैं या कोई समस्या आती है, तो कृपया एक issue बनाएं।

निर्मित किया गया

  • carcass - पायथन पैकेजिंग टेम्पलेट

योगदान देना

कृपया हमारे आचार संहिता और हमें पुल अनुरोध सबमिट करने की प्रक्रिया के विवरण के लिए CONTRIBUTING.md पढ़ें।

संस्करणकरण

हम संस्करणकरण के लिए SemVer का उपयोग करते हैं।

लेखक

  • जोश रिकार्ड - प्रारंभिक कार्य - MSAdministrator

इस परियोजना में भाग लेने वाले योगदानकर्ताओं की सूची भी देखें।

लाइसेंस

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

विशेष धन्यवाद

  • macOS M1 आधारित प्रोसेसर के साथ समस्याओं की पहचान करने और समाधान प्रदान करने में मदद करने के लिए keithmccammon का धन्यवाद
टूल डाउनलोड करें
पैरामीटर नामप्रकारडिफ़ॉल्टविवरण
techniqueslistallattack_technique ID द्वारा एक या अधिक परिभाषित तकनीकें।
test_guidslistNoneएक या अधिक एटॉमिक परीक्षण GUID।
select_testsboolFalseजब तकनीकें निर्दिष्ट की जाती हैं तो चलाने के लिए एक या अधिक एटॉमिक परीक्षण चुनें।
atomics_pathstros.getcwd()एटॉमिक परीक्षणों का पथ।
input_argumentsdict{}परीक्षण में पास करने के लिए इनपुट तर्कों का शब्दकोश।
check_prereqsboolFalseप्रीरेक निर्भरताओं (prereq_comand) की जाँच करनी है या नहीं।
get_prereqsboolFalseक्या आप पूर्वापेक्षाएँ प्राप्त करना चाहते हैं।
cleanupboolFalseक्या आप क्लीनअप कमांड चलाना चाहते हैं।
copy_source_filesboolTrueक्या आप किसी भी संबंधित स्रोत (src, bin, आदि) फ़ाइलों को दूरस्थ होस्ट पर कॉपी करना चाहते हैं।
command_timeoutint20टाइमआउट से पहले प्रत्येक कमांड के लिए समय अवधि।
debugboolFalseक्या आप चलाए जा रहे परीक्षणों के बारे में विवरण आउटपुट करना चाहते हैं।
prompt_for_input_argsboolFalseक्या आप प्रत्येक परीक्षण के लिए इनपुट तर्कों का संकेत चाहते हैं।
return_atomicsboolFalseक्या आप एटॉमिक्स को चलाने के बजाय वापस करना चाहते हैं।
config_filestrNoneएक conifg_file का पथ जो वातावरण में atomic-operator को स्वचालित करने के लिए उपयोग किया जाता है।
config_file_onlyboolFalseक्या आप केवल प्रदान किए गए config_file के आधार पर परीक्षण चलाना चाहते हैं।
hostslistNoneएक या अधिक दूरस्थ होस्टों की सूची जिन पर परीक्षण चलाना है।
usernamestrNoneदूरस्थ कनेक्शन के प्रमाणीकरण के लिए उपयोगकर्ता नाम।
passwordstrNoneदूरस्थ कनेक्शन के प्रमाणीकरण के लिए पासवर्ड।
ssh_key_pathstrNoneदूरस्थ कनेक्शन के प्रमाणीकरण के लिए SSH कुंजी का पथ।
private_key_stringstrNoneदूरस्थ कनेक्शन के प्रमाणीकरण के लिए उपयोग की जाने वाली एक निजी SSH कुंजी स्ट्रिंग।
verify_sslboolFalseRDP (विंडोज़) पर कनेक्ट करते समय ssl सत्यापित करना है या नहीं।
ssh_portint22दूरस्थ कनेक्शन के प्रमाणीकरण के लिए SSH पोर्ट।
ssh_timeoutint5दूरस्थ कनेक्शन के प्रमाणीकरण के लिए SSH टाइमआउट।
**kwargsdictNoneयदि रन कमांड में अतिरिक्त फ़्लैग पास किए जाते हैं तो हम एटॉमिक परीक्षणों में परिभाषित इनपुट से मिलान करने का प्रयास करेंगे और प्रदान किए गए मान से उनके मान को बदल देंगे।