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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
autoPwn — फ़ज़िंग के लिए दोहराए जाने वाले कार्यों को स्वचालित करें | Kitploit
उपकरण/GitHubGitHub/bannsec/autopwn
शोषणफज़िंगबाइनरी विश्लेषण
GitHubbannsec/autopwn

autoPwn

फ़ज़िंग के लिए दोहराए जाने वाले कार्यों को स्वचालित करें

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

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

सभी देखें →

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

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

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

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

Daily Build Trigger

चेतावनी

इसे अभी पूरी तरह से फिर से लिखा जा रहा है। शुरुआत में केवल इंटरैक्टिव लिनक्स ऐप्स पर ध्यान केंद्रित किया जाएगा जो केवल stdin से इनपुट लेते हैं। Shellphish के Driller और Fuzzer कार्यक्षमता का उपयोग करने का प्रयास किया जा रहा है।

autoPwn अपनी वर्तमान स्थिति में इसे सीमित रूप में करेगा। बस autoPwn ./binary चलाएँ और फिर Start विकल्प चुनें।

स्थापित करना

यहाँ सभी निर्भरता मुद्दों को देखते हुए, autoPwn को चालू और चलाने का सबसे आसान तरीका Docker बिल्ड का उपयोग करना है। ध्यान दें, आप --security-opt और --cap-add कथन को हटा सकते हैं, लेकिन कुछ फ़ज़िंग पहलू काम नहीं कर सकते हैं।

root@kitploit:~
$ sudo docker pull bannsec/autoPwn
$ sudo docker run -it -v $PWD:/mount --security-opt="apparmor=unconfined" --cap-add=SYS_PTRACE -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix/ bannsec/autopwn

Docker बिल्ड में, सब कुछ उपयोग के लिए तैयार होना चाहिए। आप टूल को इस प्रकार शुरू कर सकते हैं:

root@kitploit:~
$ autoPwn ./file

फ़ज़िंग के लिए स्रोत संकलित करना

autoPwn किसी प्रोजेक्ट के स्रोत को फ़ज़िंग के लिए संकलित करना आसान बनाने का प्रयास करता है। इसमें मदद के लिए, autoPwnCompile बनाया गया था। बस इसे अपने स्रोत कोड पर इंगित करें, और इसे विकल्प दें, और यह एक निष्पादन योग्य आउटपुट देगा जो फ़ज़िंग के लिए तैयार हो।

root@kitploit:~
usage: autoPwnCompile [-h] [--file FILE] [--ASAN | --MSAN] [--UBSAN]
                      [--fuzzer FUZZER]

Compile source to binaries for use in autoPwn.

optional arguments:
  -h, --help       show this help message and exit
  --file FILE      Single file to compile.
  --ASAN           Enable ASAN (default off)
  --MSAN           Enable MSAN (default off)
  --UBSAN          Enable UBSAN (default off)
  --fuzzer FUZZER  (optional) What fuzzer to compile for. Options are:
                   ['AFL']. Default is AFL.

नीचे autoPwn के पुराने संस्करण से है..

अवलोकन

autoPwn एक सरल स्क्रिप्ट के लिए एक ऊँचा नाम है। फ़ज़िंग और afl-fuzz के साथ काम करते समय, मैंने देखा कि मैं बार-बार एक ही कार्य करता रहता हूँ। इसे ध्यान में रखते हुए, मैं एक ऐसी स्क्रिप्ट बनाना चाहता था जो निम्नलिखित को पूरा करे:

  1. स्मार्ट प्रॉम्प्ट के माध्यम से फ़ज़र शुरू करने के कार्य को स्वचालित और सरल बनाना
  2. कॉन्फ़िग फ़ाइल के माध्यम से फ़ज़र को पुनः आरंभ करने के कार्य को स्वचालित और सरल बनाना
  3. afl कतार न्यूनीकरण (minimizations) की प्रक्रिया को पूरी तरह से स्वचालित करना
  4. सभी संभावित शोषण योग्य पथों को निकालने और न्यूनतम करने की प्रक्रिया को पूरी तरह से स्वचालित करना
  5. सामान्य रूप से सभी संभावित पथों को निकालने और न्यूनतम करने की प्रक्रिया को पूरी तरह से स्वचालित करना
  6. प्रारंभिक पथ मानों के उत्पादन को पूरी तरह या आंशिक रूप से स्वचालित करना।

अब तक, स्क्रिप्ट पहले 5 को करने में सक्षम है। भाग 6 अनुमानात्मक है और अभी विकास का प्रयास किया जा रहा है। यह संभावित प्रारंभिक पथ बनाने के लिए angr प्रतीकात्मक निष्पादन इंजन का लाभ उठाएगा। उस बिंदु पर, स्क्रिप्ट सैद्धांतिक रूप से सरल फ़ज़िंग कार्यों को पूरी तरह से स्वचालित कर सकती है।

उदाहरण

आइए "WoO2" नामक एक हालिया TUCTF चुनौती पर एक नज़र डालें। जबकि यह आवश्यक रूप से आवश्यक शोषण नहीं ढूंढता है, यह दिखाता है कि पथ खोज को सरल बनाने के लिए autoPwn का उपयोग कैसे किया जा सकता है।

यहाँ प्रोग्राम के माध्यम से एक बुनियादी रन है:

root@kitploit:~
$ ./e67eb287f23011a40ef5bd5c2ad2f48ca97834cf 
Welcome! I don't think we're in Kansas anymore.
We're about to head off on an adventure!
Select some animals you want to bring along.

Menu Options:
1: Bring a lion
2: Bring a tiger
3: Bring a bear
4: Delete Animal
5: Exit

Enter your choice:
1
Choose the type of lion you want:
1: Congo Lion
2: Barbary Lion
1
Enter name of lion:
Test
Menu Options:
1: Bring a lion
2: Bring a tiger
3: Bring a bear
4: Delete Animal
5: Exit

Enter your choice:
5

आइए एक सरल इनपुट परीक्षण मामला बनाएं:

root@kitploit:~
$ cat in/1 
1
1
Test
5

अब हम आसानी से फ़ज़र शुरू कर सकते हैं:

root@kitploit:~
$ autoPwn 
Setting up fuzz configuration
Target Binary (full or relative path): e67eb287f23011a40ef5bd5c2ad2f48ca97834cf
Command line args: 
Number of cores (default: 8): 
Test Case Dir (default: 'in/'): 
Test Case Dir (default: 'out/'): 
Max memory (default: 200): 4096
Starting fuzz
autoPwn> s
status check tool for afl-fuzz by <[email protected]>

Individual fuzzers
==================

>>> SESSION007 (0 days, 0 hrs) <<<

  cycle 1, lifetime speed 1 execs/sec, path 0/1 (0%)
  pending 1/1, coverage 0.15%, no crashes yet

>>> SESSION000 (0 days, 0 hrs) <<<

  cycle 1, lifetime speed 1 execs/sec, path 0/1 (0%)
  pending 1/1, coverage 0.15%, no crashes yet

>>> SESSION002 (0 days, 0 hrs) <<<

  cycle 1, lifetime speed 1 execs/sec, path 0/1 (0%)
  pending 1/1, coverage 0.15%, no crashes yet

>>> SESSION006 (0 days, 0 hrs) <<<

  cycle 1, lifetime speed 1 execs/sec, path 0/1 (0%)
  pending 1/1, coverage 0.15%, no crashes yet

>>> SESSION004 (0 days, 0 hrs) <<<

  cycle 1, lifetime speed 1 execs/sec, path 0/1 (0%)
  pending 1/1, coverage 0.15%, no crashes yet

>>> SESSION001 (0 days, 0 hrs) <<<

  cycle 1, lifetime speed 1 execs/sec, path 0/1 (0%)
  pending 1/1, coverage 0.15%, no crashes yet

>>> SESSION005 (0 days, 0 hrs) <<<

  cycle 1, lifetime speed 1 execs/sec, path 0/1 (0%)
  pending 1/1, coverage 0.15%, no crashes yet

>>> SESSION003 (0 days, 0 hrs) <<<

  cycle 1, lifetime speed 1 execs/sec, path 0/1 (0%)
  pending 1/1, coverage 0.15%, no crashes yet

Summary stats
=============

       Fuzzers alive : 8
      Total run time : 0 days, 0 hours
         Total execs : 0 million
    Cumulative speed : 8 execs/sec
       Pending paths : 8 faves, 8 total
  Pending per fuzzer : 1 faves, 1 total (on average)
       Crashes found : 0 locally unique


autoPwn> h
autoPwn
     s == fuzzer (s)tatus
     e == collect (e)xploits
     a == collect (a)ll paths
     m == (m)inimize corpus
     q == (q)uit

तो यहाँ क्या हुआ कि स्क्रिप्ट ने कुछ डिफ़ॉल्ट मान बनाए (जिसमें उपलब्ध कोर की संख्या निर्धारित करना शामिल है)। हमने QEMU में इसे चलाने के लिए अतिरिक्त मेमोरी की आवश्यकता के कारण एक डिफ़ॉल्ट मान बदल दिया। autoPwn ने एक कॉन्फ़िग फ़ाइल बनाई जिसे उसने फिर afl-utils (https://github.com/rc0r/afl-utils) को दिया। कॉन्फ़िग फ़ाइल में, इसने CPU एफ़िनिटी भी सेट की, ताकि फ़ज़िंग डिफ़ॉल्ट रूप से इष्टतम हो।

इस बिंदु पर, आपका कंप्यूटर फ़ज़िंग में लगा हुआ है। हालाँकि, फ़ज़िंग का एक प्रमुख पहलू कॉर्पस को न्यूनतम करना है। इसे ध्यान में रखते हुए, autoPwn afl-fuzz इंस्टेंस पर नज़र रख रहा है ताकि यह मॉनिटर कर सके कि उत्परिवर्तनों की एक श्रृंखला कब पूरी होती है। जब ऐसा होता है, तो यह फ़ज़िंग को रोक देगा (गैर-इष्टतम, लेकिन अभी के लिए ठीक है), कॉर्पस को न्यूनतम करेगा, और फिर फ़ज़िंग को पुनः आरंभ करेगा। यह बिना किसी मानवीय हस्तक्षेप के करता है ताकि आप इसे चालू करके भूल सकें।

किसी बिंदु पर आप देखना चाह सकते हैं कि afl ने कौन से पथ पाए हैं। "a" कमांड निष्पादित करके, autoPwn सभी ज्ञात पथों को कॉपी करेगा, कॉर्पस को न्यूनतम करेगा और फिर केसों को स्वयं न्यूनतम करेगा और उन्हें एक आउटपुट निर्देशिका में प्रदान करेगा।

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