Nmap Summary (ESP)

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

HackTricks का समर्थन करने के अन्य तरीके:

nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24

पैरामीटर

स्कैन करने के लिए IPs

  • <ip>,<net/mask>: IPs को सीधे इंडिकेट करें

  • -iL <ips_file>: सूची_IPs

  • -iR <number>: रैंडम IPs की संख्या, आप --exclude <Ips> या --excludefile <file> के साथ संभावित IPs को बाहर कर सकते हैं।

उपकरण खोज

निम्नलिखित डिस्कवरी फेज को लॉन्च करता है Nmap: -PA80 -PS443 -PE -PP

  • -sL: यह अत्यधिक आक्रामक नहीं है, यह लक्ष्यों की सूची बनाता है जिसमें नामों को हल करने के लिए DNS अनुरोध किए जाते हैं। यह उपयोगी है यदि आप जानना चाहते हैं कि क्या उदाहरण के लिए www.prueba.es/24 सभी IPs हमारे लक्ष्य हैं।

  • -Pn: कोई पिंग नहीं। यह उपयोगी है अगर आप जानते हैं कि सभी वे सक्रिय हैं (अगर नहीं, तो आप बहुत समय खो सकते हैं, लेकिन यह विकल्प भी गलत नकारात्मक परिणाम देता है कि वे सक्रिय नहीं हैं), यह डिस्कवरी फेज को रोकता है।

  • -sn : कोई पोर्ट स्कैन नहीं। अनुसंधान फेज पूरा करने के बाद, यह पोर्ट स्कैन नहीं करता है। यह अपेक्षाकृत छिपकली है, और एक छोटे नेटवर्क स्कैन करने की अनुमति देता है। विशेषाधिकारों के साथ, यह 80 को ACK (-PA) भेजता है, 443 को SYN(-PS) भेजता है और एक इको अनुरोध और एक समयचिह्न अनुरोध भेजता है, बिना विशेषाधिकारों के हमेशा कनेक्शन पूरा होता है। यदि लक्ष्य नेटवर्क है, तो केवल ARP(-PR) का उपयोग किया जाता है। यदि दूसरे विकल्प के साथ उपयोग किया जाता है, तो केवल दूसरे विकल्प के पैकेट ड्रॉप किए जाते हैं।

  • -PR: पिंग ARP। यह डिफ़ॉल्ट रूप से हमारे नेटवर्क में कंप्यूटरों का विश्लेषण करते समय उपयोग किया जाता है, यह पिंग का उपयोग करने से तेज है। यदि आप ARP पैकेट का उपयोग नहीं करना चाहते हैं तो --send-ip का उपयोग करें।

  • -PS <ports>: यह SYN पैकेट भेजता है जिसे यदि यह SYN/ACK के साथ जवाब देता है तो खुला है (जिसे यह RST के साथ जवाब देता है ताकि कनेक्शन समाप्त न हो), यदि यह RST के साथ जवाब देता है तो बंद है और यदि यह जवाब नहीं देता है तो अगम्य है। यदि विशेषाधिकार नहीं हैं, तो सम्पूर्ण कनेक्शन स्वचालित रूप से उपयोग किया जाता है। यदि कोई पोर्ट नहीं दिया गया है, तो यह 80 पर फेंक देता है।

  • -PA <ports>: पिछले वाले की तरह लेकिन ACK के साथ, दोनों को मिलाकर बेहतर परिणाम मिलते हैं।

  • -PU <ports>: उद्देश्य उल्टा है, यह बंद होने की उम्मीद है। कुछ फ़ायरवॉल केवल TCP कनेक्शन की जांच करते हैं। यदि यह बंद है तो यह पोर्ट अप्राप्य है, यदि यह किसी अन्य icmp के साथ जवाब देता है या जवाब नहीं देता है तो यह गंतव्य अप्राप्य छोड़ दिया जाता है।

  • -PE, -PP, -PM : ICMP PINGS: इको प्रतिद्वंद्वी, समयचिह्न और एड्रेसमास्क। यह लॉन्च किया जाता है ताकि पता चले कि लक्ष्य सक्रिय है या नहीं।

  • -PY<ports>: 80 के लिए SCTP INIT प्रोब भेजता है, INIT-ACK(खुला) या ABORT(बंद) या कुछ नहीं या ICMP अप्राप्य(निष्क्रिय) जवाब दिया जा सकता है।

  • -PO <protocols>: हेडर में एक प्रोटोकॉल निर्दिष्ट किया जाता है, डिफ़ॉल्ट रूप से 1(ICMP), 2(IGMP) और 4(Encap IP)। ICMP, IGMP, TCP (6) और UDP (17) प्रोटोकॉल के लिए प्रोटोकॉल हेडर भेजे जाते हैं, बाकी के लिए केवल IP हेडर भेजा जाता है। इसका उद्देश्य है कि हेडर्स की गलत बनावट के कारण प्रोटोकॉल अप्राप्य या उसी प्रोटोकॉल के जवाब दिए जाते हैं ताकि पता चले कि यह ऊपर है या नहीं।

  • -n: कोई DNS नहीं

  • -R: हमेशा DNS

पोर्ट स्कैनिंग तकनीकें

  • -sS: कनेक्शन को पूरा नहीं करता है इसलिए कोई पता नहीं छोड़ता, अगर उपयोग किया जा सकता है तो बहुत अच्छा है।(विशेषाधिकार) यह डिफ़ॉल्ट रूप से उपयोग किया जाता है।

  • -sT: कनेक्शन पूरा करता है, इसलिए यह पता छोड़ता है, लेकिन यह सुनिश्चित करने के लिए उपयोग किया जा सकता है। डिफ़ॉल्ट रूप से विशेषाधिकार नहीं है।

  • -sU: धीमा, UDP के लिए। अधिकांश: DNS(53), SNMP(161,162), DHCP(67 और 68), (-sU53,161,162,67,68): खुला(जवाब), बंद(पोर्ट अप्राप्य), फ़िल्टर(अन्य ICMP), खुला/फ़िल्टर(कुछ नहीं)। खुला/फ़िल्टर के मामले में, -sV न्यूनतम संभावनाओं को जानने के लिए कई अनुरोध भेजता है और nmap समर्थित किसी भी संस्करण का पता लगा सकता है और वास्तविक स्थिति का पता लगा सकता है। यह समय को बहुत बढ़ा देता है।

  • -sY: SCTP प्रोटोकॉल कनेक्शन स्थापित करने में विफल होता है, इसलिए कोई लॉग नहीं होता, -PY की तरह काम करता है

  • -sN,-sX,-sF: नल, फिन, ख्रिसमस, वे कुछ फ़ायरवॉल में प्रवेश कर सकते हैं और जानकारी निकाल सकते हैं। यह उस तथ्य पर आधारित है कि मानक अनुरूप मशीनें उन सभी अनुरोधों के साथ RST देना चाहिए जिनमें SYN, RST या ACK लैग उठाए नहीं हैं: खुला/फ़िल्टर(कुछ नहीं), बंद(RST), फ़िल्टर(अन्य ICMP)। विंडोज, सिस्को, बीएसडीआई और ओएस/400 पर अविश्वसनीय है। यूनिक्स पर हां।

  • -sM: मैमन स्कैन: FIN और ACK फ्लैग भेजता है, वर्तमान में सभी को बंद के रूप में लौटाएगा।

  • -sA, sW: ACK और विंडो, फ़ायरवॉल का पता लगाने के लिए उपयोग किया जाता है, यह जानने के लिए कि पोर्ट फ़िल्टर हैं या नहीं। -sW खुला/बंद के बीच भेद करता है क्योंकि खुले वाले अलग विंडो मान देते हैं: खुला (जवाब विंडो 0 के अलावा), बंद (बंद विंडो = 0), फ़िल्टर (ICMP अप --osscan-guess जब ऑपरेटिंग सिस्टम की पहचान पूरी तरह से सही नहीं होती है तो यह अधिक प्रयास करता है।

Scripts

--script <नाम>|<श्रेणी>|<निर्देशिका>|<अभिव्यक्ति>[,...]

डिफ़ॉल्ट के लिए उपयोग करने के लिए -sC या --script=default काफी है।

उपलब्ध श्रेणियाँ हैं: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, और vuln

  • Auth: प्रमाणीकरण के लिए उपलब्ध सभी अपने स्क्रिप्ट को चलाता है

  • Default: उपकरण के डिफ़ॉल्ट बुनियादी स्क्रिप्ट को चलाता है

  • Discovery: target या पीड़िता से जानकारी प्राप्त करता है

  • External: बाह्य संसाधनों का उपयोग करने के लिए स्क्रिप्ट

  • Intrusive: पीड़ित या target के लिए अभिमानी माने जाने वाले स्क्रिप्ट का उपयोग करता है

  • Malware: क्या खुले हैं कोड या backdoors (पिछले दरवाजे) द्वारा कोई जुड़ाव है या नहीं जांचता है

  • Safe: अभिमानी नहीं हैं स्क्रिप्ट को चलाता है

  • Vuln: सबसे अधिक जानी जाने वाली कमियों का पता लगाता है

  • All: उपलब्ध NSE विस्तार वाले सभी स्क्रिप्ट को चलाता है

स्क्रिप्ट खोजने के लिए:

nmap --script-help="http-*" -> जो http- से शुरू होते हैं

nmap --script-help="not intrusive" -> उनमें से सभी जो नहीं हैं

nmap --script-help="default or safe" -> जो एक में हैं या दूसरे में या दोनों में

nmap --script-help="default and safe" --> जो दोनों में हैं

nmap --script-help="(default or safe or intrusive) and not http-*"

--script-args <n1>=<v1>,<n2>={<n3>=<v3>},<n4>={<v4>,<v5>}

--script-args-file <नाम फ़ाइल>

--script-help <नाम>|<श्रेणी>|<निर्देशिका>|<अभिव्यक्ति>|all[,...]

--script-trace ---> स्क्रिप्ट का प्रगति देता है

--script-updatedb

स्क्रिप्ट का उपयोग करने के लिए केवल नाम दर्ज करें: namp --script नाम_देना_है_स्क्रिप्ट लक्ष्य --> स्क्रिप्ट और स्कैनर दोनों को चलाने के लिए स्क्रिप्ट दर्ज करने पर, इसलिए स्कैनर के विकल्प भी दर्ज किए जा सकते हैं, हम “safe=1” जोड़ सकते हैं ताकि केवल सुरक्षित वाले ही चलें।

समय नियंत्रण

Nmap सेकंड, मिनट, ms में समय को संशोधित कर सकता है: --host-timeout arguments 900000ms, 900, 900s, और 15m सभी एक ही चीज करते हैं।

Nmap होस्ट की कुल संख्या को समूहों में विभाजित करता है और उन समूहों का विश्लेषण ब्लॉक में करता है, जिसका मतलब है कि जब तक सभी विश्लेषित नहीं हो जाते हैं, तब तक यह अगले ब्लॉक पर नहीं जाता है (और उपयोगकर्ता को तब तक कोई अद्यतन नहीं मिलता है जब तक ब्लॉक का विश्लेषण नहीं हो जाता है) इस तरह, nmap के लिए बड़े समूहों का उपयोग करना अधिक उपयुक्त है। डिफ़ॉल्ट रूप से कक्षा C में 256 का उपयोग करता है।

इसे बदल सकते हैं**--min-hostgroup** <numhosts>; --max-hostgroup <numhosts> (समानकालिक स्कैन समूह आकारों को समायोजित करें)

समानकालिक स्कैनरों की संख्या को नियंत्रित किया जा सकता है लेकिन यह बेहतर है कि न करें (nmpa में पहले से ही नेटवर्क की स्थिति के आधार पर स्वचालित नियंत्रण शामिल है): --min-parallelism <numprobes>; --max-parallelism <numprobes>

हम rtt टाइमआउट को संशोधित कर सकते हैं, लेकिन आम तौर पर यह आवश्यक नहीं होता: --min-rtt-timeout <time>, --max-rtt-timeout <time>, --initial-rtt-timeout <time>

हम प्रयासों की संख्या को संशोधित कर सकते हैं:--max-retries <numtries>

हम होस्ट के स्कैनिंग के समय को संशोधित कर सकते हैं: --host-timeout <time>

हम प्रत्येक परीक्षण के बीच का समय संशोधित कर सकते हैं ताकि धीमे चले: --scan-delay <time>; --max-scan-delay <time>

हम प्रति सेकंड पैकेट की संख्या को संशोधित कर सकते हैं: --min-rate <number>; --max-rate <number>

बहुत से पोर्ट फ़िल्टर या बंद होने के कारण बहुत देर तक जवाब नहीं देते, अगर हमें केवल खुले पोर्टों की जरुरत है, तो हम इसे तेज़ कर सकते हैं: --defeat-rst-ratelimit

nmap को कितना प्रबल बनाना चाहिए, इसे परिभाषित करने के लिए: -T paranoid|sneaky|polite|normal|aggressive|insane

-T (0-1)

-T0 --> केवल एक पोर्ट की एक साथ स्कैनिंग की जाती है और अगले के लिए 5 मिनट तक इंतजार किया जाता है

-T1 और T2 --> बहुत समान हैं लेकिन केवल 15 और 0.4 सेकंड के बीच प्रत्येक परीक्षण का इंतजार करते हैं

-T3 --> डिफ़ॉल्ट व्यवहार, समानकालिक में शामिल है

-T4 --> --max-rtt-timeout 1250ms --min-rtt-timeout 100ms --initial-rtt-timeout 500ms --max-retries 6 --max-scan-delay 10ms

-T5 --> --max-rtt-timeout 300ms --min-rtt-timeout 50ms --initial-rtt-timeout 250ms --max-retries 2 --host-timeout 15m --max-scan-delay 5ms

Firewall/IDS

पोर्टों को गुजारने नहीं देते और पैकेटों का विश्लेषण करते हैं।

-f पैकेटों को फ्रैगमेंट करने के लिए, डिफ़ॉल्ट रूप से वे 8 बाइट के बाद फ्रैगमेंट करते हैं, इस आकार को निर्दिष्ट करने के लिए हम ..mtu का उपयोग करते हैं (इसके साथ, -f का उपयोग न करें), ऑफ़सेट 8 के गुणक होना चाहिए। संस्करण और स्क्रिप्ट के विश्लेषण फ्रैगमेंटेशन का समर्थन नहीं करते

-D डेकॉय1,डेकॉय2,मैं Nmap अन्य IP पतों के साथ स्कैनर भेजता है, जिसे मूल पते के रूप में छुपाता है। यदि आप में सूची में ME डालते हैं, तो nmap आपको वहाँ स्थानित करेगा, आपको पूरी तरह से मास्क करने के लिए अपने से पहले 5 या 6 डेकॉय को डालना बेहतर है। RND:<संख्या> के साथ यादृच्छिक IP उत्पन्न किए जा सकते हैं। टीसीपी कनेक्शन के बिना संस्करण डिटेक्टर के साथ काम नहीं करते। यदि आप एक नेटवर्क के अंदर हैं, तो आपको सक्रिय IP पतों का उपयोग करना चाहिए, क्योंकि अन्यथा यह बहुत आसान हो जाएगा कि आप ही एकमात्र सक्रिय हैं।

यादृच्छिक IP का उपयोग करने के लिए: nmap-D RND: 10 Ip_लक्ष्य

-S IP जब Nmap आपका IP पता नहीं पकड़ता है तो आपको इसे देना होगा। यहाँ एक और लक्ष्य जो उन्हें स्कैन कर रहा है, उसे लगाने के लिए भी क --proxies <कॉमा-सेपरेटेड सूची प्रॉक्सी URL> प्रॉक्सी का उपयोग करने के लिए, कभी-कभी एक प्रॉक्सी उतने खुले कनेक्शन नहीं रखता जितने nmap चाहता है, इसलिए पैरालेलिज़्म को संशोधित करना होगा: --max-parallelism

-sP ARP के माध्यम से होस्ट का पता लगाने के लिए जो नेटवर्क में हैं जिसमें हम हैं

बहुत से व्यवस्थापक एक नियम बनाते हैं जो फ़ायरवॉल में एक विशेष पोर्ट से आने वाले सभी पैकेटों को पारित करने देता है (जैसे 20, 53 और 67), हम nmap को यह कह सकते हैं कि हमारे पैकेट उन पोर्ट्स से भेजें: nmap --source-port 53 Ip

आउटपुट

-oN फ़ाइल सामान्य आउटपुट

-oX फ़ाइल XML आउटपुट

-oS फ़ाइल स्क्रिप्ट किडीज का आउटपुट

-oG फ़ाइल grepable आउटपुट

-oA फ़ाइल -oS को छोड़कर सभी

-v स्तर वर्बोसिटी

-d स्तर डीबगिंग

--reason होस्ट और स्थिति का कारण

--stats-every समय हर इस समय हमें बताता है कि कैसे जा रहा है

--packet-trace देखने के लिए कि कौन से पैकेट निकल रहे हैं, फ़िल्टर जैसे निर्दिष्ट किए जा सकते हैं: --version-trace या --script-trace

--open खुले, खुले|फ़िल्टर किए गए और अफ़िल्टर को दिखाता है

--resume फ़ाइल एक सारांश निकालता है

विविध

-6 ipv6 की अनुमति देता है

-A -O -sV -sC --traceroute के बराबर है

रन टाइम

Nmap चलते समय हम विकल्प बदल सकते हैं:

v / V वर्बोसिटी स्तर बढ़ाएं / कम करें

d / D डीबगिंग स्तर बढ़ाएं / कम करें

p / P पैकेट ट्रेसिंग को चालू / बंद करें

? रनटाइम इंटरेक्शन सहायता स्क्रीन प्रिंट करें

Vulscan

Nmap का स्क्रिप्ट जो एक ऑफ़लाइन डेटाबेस में प्राप्त सेवाओं के संस्करणों को देखता है (जो अन्य महत्वपूर्ण से डाउनलोड किया जाता है) और संभावित भेदभाव देता है

उस डेटाबेस का उपयोग करता है:

  1. Securitytracker.csv | http://www.securitytracker.com

इसे डाउनलोड और Nmap फ़ोल्डर में स्थापित करने के लिए:

wget http://www.computec.ch/projekte/vulscan/download/nmap_nse_vulscan-2.0.tar.gz && tar -czvf nmap_nse_vulscan-2.0.tar.gz vulscan/ && sudo cp -r vulscan/ /usr/share/nmap/scripts/

इसके अलावा, डेटाबेस के पैकेट डाउनलोड करना होगा और उन्हें /usr/share/nmap/scripts/vulscan/ में जोड़ना होगा

उपयोग:

सभी का उपयोग करने के लिए: sudo nmap -sV --script=vulscan HOST_A_ESCANEAR

एक विशिष्ट डेटाबेस का उपयोग करने के लिए: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv HOST_A_ESCANEAR

Nmap सेवा स्कैन को तेज़ करें x16

इस पोस्ट के अनुसार, आप nmap सेवा विश्लेषण की गति बढ़ा सकते हैं जिसमें आपको सभी totalwaitms मानों को 300 और tcpwrappedms को 200 में संशोधित करना होगा।

इसके अतिरिक्त, जो प्रोब्स का विशेष रूप से परिभाषित servicewaitms नहीं है, वे एक डिफ़ॉल्ट मान 5000 का उपयोग करते हैं। इसलिए, हम इन प्रोब्स में मान जोड़ सकते हैं, या हम nmap को कंपाइल कर सकते हैं और service_scan.h में डिफ़ॉल्ट मान बदल सकते हैं।

अगर आप चाहते हैं कि totalwaitms और tcpwrappedms के मानों को /usr/share/nmap/nmap-service-probes फ़ाइल में किसी भी प्रकार से न बदलें, तो आप पार्सिंग कोड को संपादित कर सकते हैं ताकि nmap-service-probes फ़ाइल में ये मान पूरी तरह से नजरअंदाज किए जाएं।

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated