16 KiB
Muhtasari wa Nmap (ESP)
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikionekana kwenye HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua The PEASS Family, mkusanyiko wetu wa NFTs za kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye HackTricks na HackTricks Cloud repos za github.
IPs za kuchunguza
<ip>,<net/mask>
: Inaonyesha ips moja kwa moja-iL <ips_file>
: orodha_IPs-iR <number>
: Idadi ya Ips za kubahatisha, unaweza kuepuka Ips inayowezekana na--exclude <Ips>
au--excludefile <file>
.
Ugunduzi wa Vifaa
Kwa chaguo-msingi, Nmap huanzisha hatua ya ugunduzi inayojumuisha: -PA80 -PS443 -PE -PP
-sL
: Sio ya uvamizi, inaorodhesha malengo kwa kufanya ombi la DNS kutatua majina. Ni muhimu kujua ikiwa, kwa mfano, www.prueba.es/24, Ips zote ni malengo yetu.-Pn
: Hakuna ping. Hii ni muhimu ikiwa unajua kuwa zote zinafanya kazi (ikiwa sivyo, unaweza kupoteza muda mwingi, lakini chaguo hili pia linatoa matokeo hasi yanayosema kuwa hazifanyi kazi), inazuia hatua ya ugunduzi.-sn
: Hakuna uchunguzi wa bandari. Baada ya kukamilisha hatua ya uchunguzi, haichunguzi bandari. Ni ya siri kwa kiwango fulani, na inaruhusu uchunguzi mdogo wa mtandao. Kwa ruhusa, inatuma ACK (-PA) kwa 80, SYN(-PS) kwa 443 na ombi la echo na ombi la Timestamp, bila ruhusa, daima inakamilisha uhusiano. Ikiwa lengo ni mtandao, inatumia ARP(-PR) tu. Ikitumiwa na chaguo nyingine, pakiti za chaguo nyingine tu zinatupwa.-PR
: Ping ARP. Inatumika kwa chaguo-msingi wakati wa kuchambua kompyuta kwenye mtandao wetu, ni haraka kuliko kutumia ping. Ikiwa hautaki kutumia pakiti za ARP tumia--send-ip
.-PS <ports>
: Inatuma pakiti za SYN ambazo ikiwa inajibu SYN/ACK inafunguliwa (ambayo inajibu na RST ili kumaliza uhusiano), ikiwa inajibu RST inafungwa na ikiwa haipati jibu inafikika. Ikiwa huna ruhusa, uhusiano kamili hutumiwa moja kwa moja. Ikiwa hakuna bandari zinazotolewa, inatuma kwa 80.-PA <ports>
: Kama ile ya awali lakini na ACK, kuchanganya zote mbili hutoa matokeo bora.-PU <ports>
: Lengo ni kinyume chake, inatumiwa kwa bandari ambazo zinatarajiwa kuwa zimefungwa. Baadhi ya firewalls huchunguza tu uhusiano wa TCP. Ikiwa imefungwa, inajibiwa na bandari isiyofikiwa, ikiwa inajibiwa na icmp nyingine au haipatiwi jibu, inabaki kama marudio yasiyofikiwa.-PE, -PP, -PM
: ICMP PINGS: jibu la echo, timestamp na addresmask. Inatumiwa kujua ikiwa lengo linafanya kazi.-PY<ports>
: Inatuma uchunguzi wa SCTP INIT kwa 80 kwa chaguo-msingi, INIT-ACK(funguliwa) au ABORT(fungwa) au hakuna kitu au ICMP isiyofikiwa(haifanyi kazi) inaweza kujibu.-PO <protocols>
: Itaonyesha itifaki kwenye vichwa, kwa chaguo-msingi 1(ICMP), 2(IGMP) na 4(Encap IP). Kwa itifaki za ICMP, IGMP, TCP (6) na UDP (17) vichwa vya itifaki vinatumwa, kwa zingine tu kichwa cha IP kinatumwa. Lengo la hii ni kwamba kutokana na uharibifu wa vichwa, itifaki isiyofikiwa au majibu ya itifaki hiyo hiyo yanajibiwa ili kujua ikiwa inafanya kazi.-n
: Hakuna DNS-R
: DNS daima
Mbinu za uchunguzi wa bandari
-sS
: Haikamilishi uhusiano hivyo haileti ushahidi, nzuri sana ikiwa inaweza kutumika. (ruhusa) Hii ndiyo inayotumiwa kwa chaguo-msingi.-sT
: Inakamilisha uhusiano, kwa hivyo inaacha ushahidi, lakini inaweza kutumika kwa uhakika. Kwa chaguo-msingi bila ruhusa.-sU
: Polepole, kwa UDP. Kwa kawaida: DNS(53), SNMP(161,162), DHCP(67 na 68), (-sU53,161,162,67,68): funguliwa(majibu), fungwa(isiyofikiwa kwa bandari), kuchujwa (icmp nyingine), funguliwa/kuchujwa (hakuna kitu). Ikiwa ni funguliwa/kuchujwa, -sV inatuma maombi mengi kugundua mojawapo ya toleo ambazo nmap inasaidia na inaweza kugundua hali halisi. Inaongeza sana wakati.-sY
: Itifaki ya SCTP haiwezi kuanzisha uhusiano, kwa hivyo hakuna kumbukumbu, inafanya kazi kama -PY-sN,-sX,-sF
: Null, Fin, Xmas, wanaweza kuingia kwenye baadhi ya firewalls na kutoa habari. Wanategemea ukweli kwamba mashine zinazofuata viwango zinapaswa kujibu na RST maombi yote ambayo hayana SYN, RST au ACK: funguliwa/kuchujwa(hakuna kitu), fungwa(RST), kuchujwa (ICMP isiyofikiwa). Sio ya kuaminika kwenye Windows, CIsco, BSDI na OS/400. Kwenye unix ndio.-sM
: Uchunguzi wa Maimon: Inatuma alama za FIN na ACK, hutumiwa kwa BSD, kwa sasa itarudi zote kama zimefungwa.-sA, sW
: ACK na Window, hutumiwa kugundua firewalls, kujua ikiwa bandari zimechujwa au la. -sW inatofautisha kati ya funguliwa/kufungwa kwani zile zilizofunguliwa zinajibu na thamani tofauti ya dirisha: funguliwa (RST na dirisha tofauti na 0), fungwa (RST dirisha = 0), kuchujwa (ICMP isiyofikiwa au hakuna kitu). Sio kompyuta zote zinafanya kazi kwa njia hii, kwa hivyo ikiwa zote zimefungwa, haifanyi kazi, ikiwa chache zimefunguliwa, inafanya kazi vizuri, na ikiwa nyingi zimefunguliwa na chache zimefungwa, inafanya kazi kinyume chake.-sI
: Uchunguzi wa hali ya utulivu. Kwa kesi ambapo kuna firewall inayofanya k --osscan-guess Wakati ugunduzi wa mfumo wa uendeshaji sio kamili, hii inafanya kazi ngumu zaidi
Scripts
--script <filename>|<category>|<directory>|<expression>[,...]
Kutumia default, tumia -sC au --script=default
Aina za script ni: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, na vuln
- Auth: inatekeleza scripts zote zinazopatikana kwa uthibitishaji
- Default: inatekeleza scripts msingi wa chombo
- Discovery: hupata habari kuhusu lengo au mwathirika
- External: script ya kutumia rasilimali za nje
- Intrusive: hutumia scripts ambazo zinachukuliwa kuwa za kuvamia kwa mwathirika au lengo
- Malware: inachunguza ikiwa kuna uhusiano uliofunguliwa na programu hasidi au mlango wa nyuma
- Safe: inatekeleza scripts ambazo sio za kuvamia
- Vuln: hupata udhaifu maarufu
- All: inatekeleza scripts zote za NSE zilizopo
Kutafuta scripts:
nmap --script-help="http-*" -> Zile zinazoanza na http-
nmap --script-help="not intrusive" -> Zote isipokuwa hizo
nmap --script-help="default or safe" -> Zile zilizo katika moja au nyingine au zote mbili
nmap --script-help="default and safe" --> Zile zilizo katika zote mbili
nmap --script-help="(default or safe or intrusive) and not http-*"
--script-args <n1>=<v1>,<n2>={<n3>=<v3>},<n4>={<v4>,<v5>}
--script-args-file <filename>
--script-help <filename>|<category>|<directory>|<expression>|all[,...]
--script-trace ---> Inatoa habari juu ya jinsi script inavyofanya kazi
--script-updatedb
Kutumia script, tuweke: nmap --script Jina_la_script lengo --> Kwa kuweka script, script na skana zitatekelezwa, kwa hivyo pia tunaweza kuongeza "safe=1" ili kutekeleza tu zile salama.
Kudhibiti wakati
Nmap inaweza kubadilisha wakati kwa sekunde, dakika, ms: --host-timeout arguments 900000ms, 900, 900s, na 15m yote yanafanya kitu kimoja.
Nmap inagawanya idadi ya jumla ya vifaa vya kuchunguza katika vikundi na kuchambua vikundi hivyo kwa mafungu hadi vifaa vyote havijachunguzwa (na mtumiaji pia haupokei sasisho lolote hadi kifungu kimechunguzwa). Kwa njia hii, ni bora kwa nmap kutumia vikundi vikubwa. Kwa chaguo-msingi, inatumia 256 katika darasa C.
Inaweza kubadilishwa na --min-hostgroup <numhosts>; --max-hostgroup <numhosts> (Badilisha ukubwa wa vikundi vya uchunguzi wa wakati mmoja)
Inaweza kudhibiti idadi ya skana za wakati mmoja lakini ni bora kutofanya hivyo (nmap tayari ina udhibiti wa moja kwa moja kulingana na hali ya mtandao): --min-parallelism <numprobes>; --max-parallelism <numprobes>
Tunaweza kubadilisha rtt timeout, lakini kawaida sio lazima: --min-rtt-timeout <time>, --max-rtt-timeout <time>, --initial-rtt-timeout <time>
Tunaweza kubadilisha idadi ya majaribio: --max-retries <numtries>
Tunaweza kubadilisha wakati wa kuchunguza kifaa: --host-timeout <time>
Tunaweza kubadilisha wakati kati ya kila jaribio ili iwe polepole: --scan-delay <time>; --max-scan-delay <time>
Tunaweza kubadilisha idadi ya pakiti kwa sekunde: --min-rate <number>; --max-rate <number>
Baadhi ya bandari huchukua muda mrefu kujibu wakati zimezuiwa au zimefungwa, ikiwa tunahitaji tu zile zilizofunguliwa, tunaweza kuwa haraka na: --defeat-rst-ratelimit
Kuongeza nguvu ya nmap: -T paranoid|sneaky|polite|normal|aggressive|insane
-T (0-1)
-T0 --> Inachunguza bandari 1 kwa wakati na inasubiri dakika 5 kabla ya kuanza ya pili
-T1 na T2 --> Zinafanana sana lakini zinasubiri 15 na 0.4 sekunde mtawaliwa kati ya kila jaribio
-T3 --> Kazi ya kawaida, pamoja na kuchunguza kwa wakati mmoja
-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
Huzuia kupitisha bandari na kuchambua pakiti.
-f --> Kugawanya pakiti, kwa chaguo-msingi inagawanya kwa 8bytes baada ya kichwa, ili kuweka ukubwa huo tunatumia ..mtu (hii inamaanisha kutotumia -f), offset lazima iwe mara mbili ya 8. Skana za toleo na scripts hazisaidii kugawanya
-D decoy1,decoy2,ME --> Nmap inatuma skana lakini na anwani za IP nyingine kama chanzo, hii inakuficha. Ikiwa unaweka ME kwenye orodha, nmap itakuweka hapo, ni bora kuweka 5 au 6 kabla yako ili kuficha kabisa. Anwani za IP zinaweza kuzalishwa kwa nasibu na RND:<number> ili kuzalisha anwani za IP za kipekee. Hazifanyi kazi na uchunguzi wa toleo bila uhusiano wa TCP. Ikiwa uko ndani ya mtandao, ni bora kutumia anwani za IP ambazo zina shughuli, vinginevyo itakuwa rahisi kugundua kuwa wewe ndiye pekee aliye na shughuli.
Kutumia anwani za IP za kipekee: nmap -D RND:10 Ip_lengo
-S IP --> Ikiwa Nmap haijapata anwani yako ya IP, unapaswa kuiweka hapa. Pia inafanya iweonekane kama kuna lengo lingine linal --proxies <Orodha ya URL za wakala zilizotenganishwa kwa koma> Ili kutumia wakala, mara nyingi wakala haishikilii idadi kubwa ya uhusiano kama vile nmap inavyotaka, kwa hivyo tunahitaji kurekebisha usambazaji: --max-parallelism
-sP Kugundua mwenyeji kwenye mtandao ambao tunatumia kupitia ARP
Wakati mwingine, watawala hujenga sheria kwenye firewall ambayo inaruhusu pakiti zote kutoka kwenye bandari fulani (kama 20, 53, na 67), tunaweza kuambia nmap kutuma pakiti zetu kutoka kwenye bandari hizo: nmap --source-port 53 Ip
Matokeo
-oN faili Matokeo ya kawaida
-oX faili Matokeo ya XML
-oS faili Matokeo ya script kidies
-oG faili Matokeo yanayoweza kutafutwa
-oA faili Yote isipokuwa -oS
-v kiwango uwazi
-d kiwango uchunguzi
--reason Sababu ya mwenyeji na hali
--stats-every wakati Inatuambia jinsi inavyokwenda kila wakati fulani
--packet-trace Kuona pakiti zinazotoka, tunaweza kutoa vigezo vya kuchuja kama: --version-trace au --script-trace
--open inaonyesha wazi, wazi|imefungwa, na zisizofungwa
--resume faili Inatoa muhtasari
Miscelanea
-6 Inaruhusu ipv6
-A Ni sawa na -O -sV -sC --traceroute
Wakati wa kukimbia
Wakati nmap inakimbia, tunaweza kubadilisha chaguo:
v / V Ongeza / punguza kiwango cha uwazi
d / D Ongeza / punguza kiwango cha uchunguzi
p / P Ongeza / zima ufuatiliaji wa pakiti
? Chapisha skrini ya msaada wa mwingiliano wa wakati wa kukimbia
Vulscan
Script ya nmap inayotazama toleo la huduma zilizopatikana kwenye database ya nje ya mtandao (ambayo inapakua kutoka kwa zingine muhimu sana) na inarudisha udhaifu unaowezekana
Databases inayotumia ni:
- Scipvuldb.csv | http://www.scip.ch/en/?vuldb
- Cve.csv | http://cve.mitre.org
- Osvdb.csv | http://www.osvdb.org
- Securityfocus.csv | http://www.securityfocus.com/bid/
- Securitytracker.csv | http://www.securitytracker.com
- Xforce.csv | http://xforce.iss.net
- Exploitdb.csv | http://www.exploit-db.com
- Openvas.csv | http://www.openvas.org
Ili kupakua na kusakinisha kwenye saraka ya 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/
Pia tunahitaji kupakua pakiti za databases na kuziweka kwenye /usr/share/nmap/scripts/vulscan/
Matumizi:
Kutumia zote: sudo nmap -sV --script=vulscan HOST_A_ESCANEAR
Kutumia database maalum: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv HOST_A_ESCANEAR
Kuharakisha Uchunguzi wa Huduma za Nmap x16
Kulingana na chapisho hili, unaweza kuharakisha uchambuzi wa huduma za nmap kwa kubadilisha thamani zote za totalwaitms
katika /usr/share/nmap/nmap-service-probes
kuwa 300 na tcpwrappedms
kuwa 200.
Zaidi ya hayo, vipimo ambavyo havina servicewaitms
maalum hutumia thamani ya msingi ya 5000
. Kwa hivyo, tunaweza kuongeza thamani kwa kila kipimo, au tunaweza kukusanya nmap wenyewe na kubadilisha thamani ya msingi katika service_scan.h.
Ikiwa hautaki kubadilisha thamani za totalwaitms
na tcpwrappedms
kabisa katika faili ya /usr/share/nmap/nmap-service-probes
, unaweza kuhariri msimbo wa kuchambua ili thamani hizi katika faili ya nmap-service-probes
zisipuuzwe kabisa.
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako inatangazwa kwenye HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata swag rasmi wa PEASS & HackTricks
- Gundua The PEASS Family, mkusanyiko wetu wa NFTs za kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa HackTricks na HackTricks Cloud github repos.