
एक सुरक्षा उपकरण जो मल्टीथ्रेडेड सूचना संकलन और सेवा गणना के साथ-साथ परिणामों को संग्रहीत करने के लिए निर्देशिका संरचनाएं बनाता है, और आगे के परीक्षण के लिए सिफारिशें लिखता है।

OSCP लैब्स के लिए बनाया गया एक रिकॉनिसेंस टूल जो सूचना संग्रह और सेवा गणना को स्वचालित करता है, साथ ही प्रत्येक होस्ट के लिए परिणाम, निष्कर्ष और शोषण को संग्रहीत करने के लिए एक निर्देशिका संरचना बनाता है, और लूट और फ़्लैग्स को संग्रहीत करने के लिए अनुशंसित कमांड और निर्देशिका संरचनाएँ प्रदान करता है।
योगदान का स्वागत है!
Reconnoitre एक प्रिय टूल है जिसे मैंने कुछ वर्षों तक बनाए रखा है, लेकिन मेरी राय में, यह Interlace के भीतर अपना स्वयं का एनुमरेशन दृष्टिकोण बनाने की कार्यक्षमता में फीका है। मैं उन सभी को दृढ़ता से सलाह देता हूं जो OSCP से आगे इन्फोसेक में जाना चाहते हैं, इस प्रोजेक्ट पर कुछ समय बिताएं।
यह टूल मुख्य रूप से Mike Czumak (T_v3rn1x) द्वारा सार्वजनिक किए गए OSCP समीक्षा (लिंक) पर आधारित है, साथ ही Re4son के mix-recon (लिंक) से काफी प्रभावित है और उससे कोड लिया गया है। वर्चुअल होस्ट स्कैनिंग मूल रूप से teknogeek के कार्य से अनुकूलित है, जो jobertabma के वर्चुअल होस्ट डिस्कवरी स्क्रिप्ट (लिंक) से काफी प्रभावित है। आगे के वर्चुअल होस्ट स्कैनिंग कोड को Tim Kent और मेरे एक प्रोजेक्ट से अनुकूलित किया गया है, जो यहां उपलब्ध है (लिंक)।
Reconnoitre स्थापित करने के लिए, पहले रिपॉजिटरी की एक स्थानीय प्रतिलिपि बनाएं, जहाँ आप इसे रखना चाहते हैं, निम्नलिखित कमांड चलाकर:
git clone https://github.com/codingo/Reconnoitre.git
इसके बाद setup.py को निम्नलिखित के साथ चलाएं:
python3 setup.py install
सेटअप चलने के बाद, Reconnoitre अब आपके PATH में (reconnoitre के रूप में) होगा और आप इसे कहीं भी इस प्रकार लॉन्च कर सकते हैं:
reconnoitre <args>
इस टूल का उपयोग और व्यक्तिगत उपयोग के लिए प्रतिलिपि स्वतंत्र रूप से की जा सकती है, लेकिन Mike Czumak को श्रेय और आभार दिया जाना चाहिए, जिन्होंने मूल रूप से इस कार्य को स्वचालित करने की प्रक्रिया शुरू की थी।
ध्यान दें कि ये कुछ उदाहरण हैं जो आपको इस टूल के संभावित उपयोग मामलों की जानकारी देते हैं। आप अपने स्कैन के उद्देश्य के अनुसार कमांड लाइन जोड़ या हटा सकते हैं।
reconnoitre -t 192.168.1.5 -o /root/Documents/labs/ --services
एक उदाहरण आउटपुट इस प्रकार दिखेगा:
root@kali:~/# reconnoitre -t 192.168.1.5 --services -o /root/Documents/labs/
__
|"""\-= RECONNOITRE
(____) An OSCP scanner
[#] Performing service scans
[*] Loaded single target: 192.168.1.5
[+] Creating directory structure for 192.168.1.5
[>] Creating scans directory at: /root/Documents/labs/192.168.1.5/scans
[>] Creating exploit directory at: /root/Documents/labs/192.168.1.5/exploit
[>] Creating loot directory at: /root/Documents/labs/192.168.1.5/loot
[>] Creating proof file at: /root/Documents/labs/192.168.1.5/proof.txt
[+] Starting quick nmap scan for 192.168.1.5
[+] Writing findings for 192.168.1.5
[>] Found HTTP service on 192.168.1.5:80
[>] Found MS SMB service on 192.168.1.5:445
[>] Found RDP service on 192.168.1.5:3389
[*] TCP quick scan completed for 192.168.1.5
[+] Starting detailed TCP/UDP nmap scans for 192.168.1.5
[+] Writing findings for 192.168.1.5
[>] Found MS SMB service on 192.168.1.5:445
[>] Found RDP service on 192.168.1.5:3389
[>] Found HTTP service on 192.168.1.5:80
[*] TCP/UDP Nmap scans completed for 192.168.1.5
जो प्रत्येक लक्ष्य के लिए स्कैन फ़ोल्डर में निम्नलिखित अनुशंसा फ़ाइल भी लिखेगा:
[*] Found HTTP service on 192.168.1.50:80
[>] Use nikto & dirb / dirbuster for service enumeration, e.g
[=] nikto -h 192.168.1.50 -p 80 > /root/Documents/labs/192.168.1.50/scans/192.168.1.50_nikto.txt
[=] dirb http://192.168.1.50:80/ -o /root/Documents/labs/192.168.1.50/scans/192.168.1.50_dirb.txt -r -S -x ./dirb-extensions/php.ext
[=] java -jar /usr/share/dirbuster/DirBuster-1.0-RC1.jar -H -l /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -r /root/Documents/labs/192.168.1.50/scans/192.168.1.50_dirbuster.txt -u http://192.168.1.50:80/
[=] gobuster -w /usr/share/seclists/Discovery/Web_Content/common.txt -u http://192.168.1.50:80/ -s '200,204,301,302,307,403,500' -e > /root/Documents/labs/192.168.1.50/scans/192.168.1.50_gobuster_common.txt -t 50
[=] gobuster -w /usr/share/seclists/Discovery/Web_Content/cgis.txt -u http://192.168.1.50:80/ -s '200,204,301,307,403,500' -e > /root/Documents/labs/192.168.1.50/scans/192.168.1.50_gobuster_cgis.txt -t 50
[>] Use curl to retreive web headers and find host information, e.g
[=] curl -i 192.168.1.50
[=] curl -i 192.168.1.50/robots.txt -s | html2text
[*] Found MS SMB service on 192.168.1.5:445
[>] Use nmap scripts or enum4linux for further enumeration, e.g
[=] nmap -sV -Pn -vv -p445 --script="smb-* -oN '/root/Documents/labs/192.168.1.5/nmap/192.168.1.5_smb.nmap' -oX '/root/Documents/labs/192.168.1.5/scans/192.168.1.5_smb_nmap_scan_import.xml' 192.168.1.5
[=] enum4linux 192.168.1.5
[*] Found RDP service on 192.168.1.5:3389
[>] Use ncrackpassword cracking, e.g
[=] ncrack -vv --user administrator -P /root/rockyou.txt rdp://192.168.1.5
reconnoitre -t 192.168.1.1-252 -o /root/Documents/testing/ --pingsweep --hostnames
reconnoitre -t 192.168.1.1-252 -o /root/Documents/testing/ --pingsweep --services --quick
यह लक्ष्य श्रेणी के भीतर सभी सेवाओं को स्कैन करेगा ताकि लाइव होस्ट की फ़ाइल संरचना बनाई जा सके, साथ ही इन मशीनों पर खोजी गई सेवाओं के आधार पर निष्पादित किए जाने वाले अन्य कमांड के लिए सिफारिशें लिखेगा। --quick को हटाने से आगे की जांच होगी लेकिन निष्पादन समय काफी बढ़ जाएगा।
reconnoitre -t 192.168.1.1-252 -o /root/Documents/testing/ --pingsweep --services
इस टूल के लिए होस्ट और सेवा स्कैनिंग की मूल आवश्यकता है कि nbtscan और nmap दोनों स्थापित हों। यदि आप होस्ट स्कैनिंग का उपयोग नहीं कर रहे हैं और केवल पिंग स्वीप और सेवा स्कैन करना चाहते हैं, तो आप केवल nmap स्थापित करके काम चला सकते हैं। आउटपुट की गई findings.txt अक्सर अतिरिक्त टूल्स की सिफारिश करेगी जो आपके वितरण में उपलब्ध नहीं हो सकते हैं यदि आप Kali Linux का उपयोग नहीं कर रहे हैं। सभी आवश्यकताएँ और सिफारिशें Kali Linux के लिए मूल हैं, जो इस टूल के उपयोग के लिए अनुशंसित (हालांकि आवश्यक नहीं) वितरण है।
इन आवश्यकताओं के अलावा, आउटपुट अक्सर वर्डलिस्ट का उल्लेख करेगा जिन्हें आपको ढूंढने की आवश्यकता हो सकती है। यदि आप OSCP कर रहे हैं, तो ये g0tmilk द्वारा "अनुशंसित टूल्स की सूची" थ्रेड में पाए जा सकते हैं। यदि नहीं, तो आप इनमें से अधिकांश ऑनलाइन या पहले से Kali Linux स्थापना में पा सकते हैं।
पहला कदम Docker स्थापित करना है यदि आपके पास पहले से नहीं है। Docker स्थापना
मूल उपयोग:
cd <Reconnoitre निर्देशिका>
docker build -t reconnoitre .
docker run reconnoitre -o outputdir -t 127.0.0.1
यदि आप फ़ाइलों को स्थानीय रूप से रखना चाहते हैं, तो आप एक निर्देशिका को Docker कंटेनर से माउंट कर सकते हैं
cd <Reconnoitre निर्देशिका>
docker build -t reconnoitre .
mkdir /path/to/dir
docker run -v /path/to/dir:/outputdir --services -o outputdir -t 127.0.0.1
| तर्क | विवरण |
|---|
| -h, --help | सहायता संदेश प्रदर्शित करें और बाहर निकलें |
| -t TARGET_HOSTS | लक्ष्य पतों की एक श्रेणी या एक एकल होस्ट सेट करें। एक फ़ाइल भी हो सकती है जिसमें होस्ट हों। |
| -o OUTPUT_DIRECTORY | वह लक्ष्य निर्देशिका सेट करें जहाँ परिणाम लिखे जाने चाहिए। |
| -w WORDLIST | वैकल्पिक रूप से पूर्व-निर्मित कमांड या निष्पादित हमलों के लिए अपनी स्वयं की वर्डलिस्ट निर्दिष्ट करें। |
| --pingsweep | OUTPUT_DIRECTORY में एक नई target.txt फ़ाइल लिखें, एक पिंग स्वीप करके और लाइव होस्ट खोजकर। |
| --dns, --dnssweep | लक्ष्य(लक्ष्यों) की सूची से DNS सर्वर खोजें। |
| --snmp | लक्ष्य(लक्ष्यों) की सूची से SNMP अनुरोधों का जवाब देने वाले होस्ट खोजें। |
| --services | लक्ष्य(लक्ष्यों) पर एक सेवा स्कैन करें और आगे के कमांड के लिए सिफारिशें लिखें। |
| --hostnames | लक्ष्य होस्टनाम खोजने का प्रयास करें और hostnames.txt में लिखें। |
| --virtualhosts | निर्दिष्ट वर्डलिस्ट का उपयोग करके वर्चुअल होस्ट खोजने का प्रयास करें। इसे खोजे गए होस्टनामों के माध्यम से विस्तारित किया जा सकता है। |
| --ignore-http-codes | वर्चुअल होस्ट स्कैन के साथ अनदेखा करने के लिए http कोड की अल्पविराम से अलग की गई सूची। |
| --ignore-content-length | निर्दिष्ट राशि की सामग्री लंबाई को अनदेखा करें। यह तब उपयोगी हो सकता है जब कोई सर्वर प्रत्येक वर्चुअल होस्ट अनुमान पर एक स्थैतिक पृष्ठ लौटाता है। |
| --quiet | बैनर और हेडर को दबाएं और फ़ीडबैक को grepable परिणामों तक सीमित करें। |
| --quick | त्वरित स्कैन करने और पहले दौर की सिफारिशें लिखने के बाद अगले लक्ष्य पर जाएं। |
| --no-udp | UDP सेवा स्कैनिंग अक्षम करें, जो डिफ़ॉल्ट रूप से चालू है। |