
ChatGPT के साथ विकसित Origin IP स्कैनिंग उपयोगिता
chaos एक 'origin' IP स्कैनर है जिसे RST द्वारा ChatGPT के सहयोग से विकसित किया गया है। यह एक विशिष्ट उपयोगिता है जिसका लक्षित दर्शक अधिकतर पेनिट्रेशन टेस्टर और बग हंटर हैं।
एक origin-IP एक कला-शब्द अभिव्यक्ति है जो तीसरे पक्षों के माध्यम से सार्वजनिक रूप से सेवा प्रदान करने वाली वेबसाइटों के अंतिम सार्वजनिक IP गंतव्य का वर्णन करती है। यदि आप समझना चाहते हैं कि Origin-IPs में किसी की रुचि क्यों हो सकती है, तो कृपया हमारा ब्लॉग पोस्ट देखें।
chaos को ChatGPT के साथ हमारे DevOps सिद्धांतों का उपयोग करके 24 घंटे से भी कम समय में विचार से कार्यात्मक प्रूफ-ऑफ-कॉन्सेप्ट तक तेजी से प्रोटोटाइप किया गया।
usage: chaos.py [-h] -f FQDN -i IP [-a AGENT] [-C] [-D] [-j JITTER] [-o OUTPUT] [-p PORTS] [-P] [-r] [-s SLEEP] [-t TIMEOUT] [-T] [-v] [-x]
_..._
.-'` `'-.
__|___________|__
\ /
`._ CHAOS _.'
`-------`
/ \\
/ \\
/ \\
/ \\
/ \\
/ \\
/ \\
/ \\
/ \\
/_____________________\\
CHAtgpt Origin-ip Scanner
_______ _______ _______ _______ _______
|\\ /|\\ /|\\ /|\\ /|\\/|
| +---+ | +---+ | +---+ | +---+ | +---+ |
| |H | | |U | | |M | | |A | | |N | |
| |U | | |S | | |A | | |N | | |C | |
| |M | | |E | | |N | | |D | | |O | |
| |A | | |R | | |C | | | | | |L | |
| +---+ | +---+ | +---+ | +---+ | +---+ |
|/_____|\\_____|\\_____|\\_____|\\_____\\
Origin IP Scanner developed with ChatGPT
cha*os (n): complete disorder and confusion
(ver: 0.9.4)

cd path/to/chaospip3 install -U pip setuptools virtualenvvirtualenv envsource env/bin/activate(env) pip3 install -U -r ./requirements.txt(env) ./chaos.py -h-h, --help यह सहायता संदेश दिखाएं और बाहर निकलें
-f FQDN, --fqdn FQDN FQDN फ़ाइल का पथ (प्रति पंक्ति एक FQDN)
-i IP, --ip IP HTTP अनुरोधों के लिए IP पता(एं) (अल्पविराम से अलग किए गए IP, IP नेटवर्क, और/या प्रति पंक्ति IP/नेटवर्क वाली फ़ाइलें)
-a AGENT, --agent AGENT
अनुरोधों के लिए User-Agent हेडर मान
-C, --csv CSV आउटपुट को OUTPUT_FILE.csv में जोड़ें
-D, --dns अनुरोध से पहले FQDN/IP मानों पर आगे/पीछे DNS लुकअप करें; परीक्षण कतार पर कोई प्रभाव नहीं
-j JITTER, --jitter JITTER
नींद मान में 0-N सेकंड का यादृच्छिक विलंब जोड़ें
-o OUTPUT, --output OUTPUT
कंसोल आउटपुट को FILE में जोड़ें
-p PORTS, --ports PORTS
उपयोग करने के लिए TCP पोर्ट की अल्पविराम से अलग सूची (डिफ़ॉल्ट: "80,443")
-P, --no-prep अनुत्तरदायी होस्ट को समाप्त करने के लिए Host: {IP:Port} हेडर का उपयोग करके प्रत्येक IP/पोर्ट का GET / के साथ प्री-स्कैन न करें
-r, --randomize IP/पोर्ट के परीक्षण क्रम को यादृच्छिक(ish) बनाएं
-s SLEEP, --sleep SLEEP
थ्रेड पूरा होने से पहले N सेकंड जोड़ें
-t TIMEOUT, --timeout TIMEOUT
अनुत्तरदायी होस्ट के लिए N सेकंड प्रतीक्षा करें
-T, --test परीक्षण मोड; अनुरोध न भेजें
-v, --verbose वर्बोज़ आउटपुट सक्षम करें
-x, --singlethread एकल थ्रेडेड निष्पादन; 1-2 कोर सिस्टम के लिए; डिफ़ॉल्ट थ्रेड=(कोर-1) यदि कोर>2
Python HTTP सर्वर चालू करें
% python3 -u -m http.server 8001
Serving HTTP on :: port 8001 (http://[::]:8001/) ...
SSL के रूप में पहचाने गए पोर्ट पर ncat को HTTP के रूप में चालू करें; लूप का उपयोग करें क्योंकि --keep-open हैंग हो सकता है
% while true; do ncat -lvp 8443 -c 'printf "HTTP/1.0 204 Plaintext OK\n\n<html></html>\n"'; done
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Listening on [::]:8443
Ncat: Listening on 0.0.0.0:8443
इसके अलावा, एक पोर्ट पर ncat को SSL के रूप में चालू करें जो डिफ़ॉल्ट रूप से HTTP पहचान करेगा
% while true; do ncat --ssl -lvp 8444 -c 'printf "HTTP/1.0 202 OK\n\n<html></html>\n"'; done
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Generating a temporary 2048-bit RSA key. Use --ssl-key and --ssl-cert to use a permanent one.
Ncat: SHA-1 fingerprint: 0208 1991 FA0D 65F0 608A 9DAB A793 78CB A6EC 27B8
Ncat: Listening on [::]:8444
Ncat: Listening on 0.0.0.0:8444
FQDN फ़ाइल तैयार करें:
% cat ../test_localhost_fqdn.txt
www.example.com
localhost.example.com
localhost.local
localhost
notreally.arealdomain
IP फ़ाइल/सूची तैयार करें:
% cat ../test_localhost_ips.txt
127.0.0.1
127.0.0.0/29
not_an_ip_addr
-6.a
=4.2
::1
स्कैन चलाएं

% ./chaos.py -f ../test_localhost_fqdn.txt -i ../test_localhost_ips.txt,::1/126 -p 8001,8443,8444 -x -s0.2 -t1
2023-06-21 12:48:33 [WARN] Ignoring invalid FQDN value: localhost.local
2023-06-21 12:48:33 [WARN] Ignoring invalid FQDN value: localhost
2023-06-21 12:48:33 [WARN] Ignoring invalid FQDN value: notreally.arealdomain
2023-06-21 12:48:33 [WARN] Error: invalid IP address or CIDR block =4.2
2023-06-21 12:48:33 [WARN] Error: invalid IP address or CIDR block -6.a
2023-06-21 12:48:33 [WARN] Error: invalid IP address or CIDR block not_an_ip_addr
2023-06-21 12:48:33 [INFO] * ---- <META> ---- *
2023-06-21 12:48:33 [INFO] * Version: 0.9.4
2023-06-21 12:48:33 [INFO] * FQDN file: ../test_localhost_fqdn.txt
2023-06-21 12:48:33 [INFO] * FQDNs loaded: ['www.example.com', 'localhost.example.com']
2023-06-21 12:48:33 [INFO] * IP input value(s): ../test_localhost_ips.txt,::1/126
2023-06-21 12:48:33 [INFO] * Addresses parsed from IP inputs: 12
2023-06-21 12:48:33 [INFO] * Port(s): 8001,8443,8444
2023-06-21 12:48:33 [INFO] * Thread(s): 1
2023-06-21 12:48:33 [INFO] * Sleep value: 0.2
2023-06-21 12:48:33 [INFO] * Timeout: 1.0
2023-06-21 12:48:33 [INFO] * User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 ch4*0s/0.9.4
2023-06-21 12:48:33 [INFO] * ---- </META> ---- *
2023-06-21 12:48:33 [INFO] 36 unique address/port addresses for testing
Prep Tests: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 36/36 [00:29<00:00, 1.20it/s]
2023-06-21 12:49:03 [INFO] 9 IP/ports verified, reducing test dataset from 72 entries
2023-06-21 12:49:03 [INFO] 18 pending tests remain after pre-testing
2023-06-21 12:49:03 [INFO] Queuing 18 threads
++RCVD++ (200 OK) www.example.com @ :::8001
++RCVD++ (204 Plaintext OK) www.example.com @ :::8443
++RCVD++ (202 OK) www.example.com @ :::8444
++RCVD++ (200 OK) www.example.com @ ::1:8001
++RCVD++ (204 Plaintext OK) www.example.com @ ::1:8443
++RCVD++ (202 OK) www.example.com @ ::1:8444
++RCVD++ (200 OK) www.example.com @ 127.0.0.1:8001
++RCVD++ (204 Plaintext OK) www.example.com @ 127.0.0.1:8443
++RCVD++ (202 OK) www.example.com @ 127.0.0.1:8444
++RCVD++ (200 OK) localhost.example.com @ :::8001
++RCVD++ (204 Plaintext OK) localhost.example.com @ :::8443
++RCVD++ (202 OK) localhost.example.com @ :::8444
++RCVD++ (200 OK) localhost.example.com @ ::1:8001
++RCVD++ (204 Plaintext OK) localhost.example.com @ ::1:8443
++RCVD++ (202 OK) localhost.example.com @ ::1:8444
++RCVD++ (200 OK) localhost.example.com @ 127.0.0.1:8001
++RCVD++ (204 Plaintext OK) localhost.example.com @ 127.0.0.1:8443
++RCVD++ (202 OK) localhost.example.com @ 127.0.0.1:8444
Origin Scan: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:06<00:00, 2.76it/s]
2023-06-21 12:49:09 [RSLT] Results from 5 FQDNs:
::1
::1:8444 => (202 / OK)
::1:8443 => (204 / Plaintext OK)
::1:8001 => (200 / OK)
127.0.0.1
127.0.0.1:8001 => (200 / OK)
127.0.0.1:8443 => (204 / Plaintext OK)
127.0.0.1:8444 => (202 / OK)
::
:::8001 => (200 / OK)
:::8443 => (204 / Plaintext OK)
:::8444 => (202 / OK)
www.example.com
:::8001 => (200 / OK)
:::8443 => (204 / Plaintext OK)
:::8444 => (202 / OK)
::1:8001 => (200 / OK)
::1:8443 => (204 / Plaintext OK)
::1:8444 => (202 / OK)
127.0.0.1:8001 => (200 / OK)
127.0.0.1:8443 => (204 / Plaintext OK)
127.0.0.1:8444 => (202 / OK)
localhost.example.com
:::8001 => (200 / OK)
:::8443 => (204 / Plaintext OK)
:::8444 => (202 / OK)
::1:8001 => (200 / OK)
::1:8443 => (204 / Plaintext OK)
::1:8444 => (202 / OK)
127.0.0.1:8001 => (200 / OK)
127.0.0.1:8443 => (204 / Plaintext OK)
127.0.0.1:8444 => (202 / OK)
rst@r57 chaos %
-T परीक्षण मोड में चलता है (अनुरोध भेजने को छोड़कर सब कुछ करता है)
-v वर्बोज़ विकल्प अतिरिक्त आउटपुट प्रदान करता है
