Nmap Summary (ESP)
Last updated
Last updated
Leer & oefen AWS Hack:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hack: HackTricks Opleiding GCP Red Team Expert (GRTE)
<ip>,<net/mask>
: Dui die ip's direk aan
-iL <ips_file>
: lys_IPs
-iR <number>
: Aantal lukrake Ips, jy kan moontlike Ips uitsluit met --exclude <Ips>
of --excludefile <file>
.
Standaard begin Nmap met 'n ontdekkingsfase wat bestaan uit: -PA80 -PS443 -PE -PP
-sL
: Dit is nie indringend nie, dit lys die teikens deur DNS-versoeke te maak om name op te los. Dit is nuttig om te weet of byvoorbeeld www.prueba.es/24 al die Ips ons teikens is.
-Pn
: Geen ping. Dit is nuttig as jy weet dat almal aktief is (as nie, kan jy baie tyd verloor, maar hierdie opsie gee ook valse negatiewe deur te sê dat hulle nie aktief is nie), dit voorkom die ontdekkingsfase.
-sn
: Geen poort skandering. Na voltooiing van die verkenningsfase, skandeer dit nie poorte nie. Dit is relatief slu en maak 'n klein netwerk skandering moontlik. Met voorregte stuur dit 'n ACK (-PA) na 80, 'n SYN(-PS) na 443 en 'n echo versoek en 'n Tydstempel versoek, sonder voorregte voltooi dit altyd verbindinge. As die teiken die netwerk is, gebruik dit net ARP(-PR). Indien dit saam met 'n ander opsie gebruik word, word net die pakkies van die ander opsie laat val.
-PR
: Ping ARP. Dit word standaard gebruik wanneer rekenaars in ons netwerk geanaliseer word, dit is vinniger as om pings te gebruik. As jy nie ARP-pakkies wil gebruik nie, gebruik --send-ip
.
-PS <ports>
: Dit stuur SYN-pakkies na poorte waarop as dit met SYN/ACK antwoord, is dit oop (as dit met RST antwoord om die verbinding nie te beëindig nie), as dit met RST antwoord is dit gesluit en as dit nie antwoord nie, is dit onbereikbaar. In die geval van geen voorregte, word 'n totale verbinding outomaties gebruik. As geen poorte gegee word, word dit na 80 gestuur.
-PA <ports>
: Soos die vorige een maar met ACK, die kombinasie van beide gee beter resultate.
-PU <ports>
: Die doel is die teenoorgestelde, dit word gestuur na poorte wat verwag word om gesluit te wees. Sommige vuurmuure kyk net na TCP-verbindinge. As dit gesluit is, word daar met 'n poort onbereikbaar geantwoord, as daar met 'n ander icmp geantwoord word of nie geantwoord word nie, word dit as bestemming onbereikbaar gelaat.
-PE, -PP, -PM
: ICMP PINGS: echo replay, tydstempel en adresmasker. Dit word gestuur om uit te vind of die teiken aktief is.
-PY<ports>
: Stuur SCTP INIT-ondersoeke na 80 standaard, INIT-ACK(oop) of ABORT(gesluit) of niks of ICMP onbereikbaar(inaktief) kan geantwoord word.
-PO <protocols>
: 'n Protokol word aangedui in die koppe, standaard 1(ICMP), 2(IGMP) en 4(Encap IP). Vir ICMP, IGMP, TCP (6) en UDP (17) protokolle word die protokol koppe gestuur, vir die res word net die IP-kop gestuur. Die doel hiervan is dat as gevolg van die misvorming van die koppe, Protokol onbereikbaar of antwoorde van dieselfde protokol geantwoord word om te weet of dit aan is.
-n
: Geen DNS
-R
: DNS altyd
-sS
: Voltooi nie die verbinding nie, so laat dit geen spoor nie, baie goed as dit gebruik kan word. (voorregte) Dit is die een wat standaard gebruik word.
-sT
: Voltooi die verbinding, so laat dit 'n spoor, maar dit kan met sekerheid gebruik word. Standaard sonder voorregte.
-sU
: Stadiger, vir UDP. Meestal: DNS(53), SNMP(161,162), DHCP(67 en 68), (-sU53,161,162,67,68): oop(antwoord), gesluit(poort onbereikbaar), gefiltreer (ander ICMP), oop/gefiltreer (niks). In die geval van oop/gefiltreer, stuur -sV talle versoek om enige van die weergawes wat nmap ondersteun te vind en die ware toestand te bepaal. Dit verhoog die tyd aansienlik.
-sY
: SCTP-protokol misluk om die verbinding te vestig, so daar is geen logboeke nie, werk soos -PY
-sN,-sX,-sF
: Null, Fin, Xmas, hulle kan deur sommige vuurmuure penetreer en inligting onttrek. Dit is gebaseer op die feit dat standaard voldoenende masjiene moet reageer met RST op alle versoek wat nie SYN, RST of ACK vlae het nie: oop/gefiltreer(niks), gesluit(RST), gefiltreer (ICMP onbereikbaar). Onbetroubaar op Windows, CIsco, BSDI en OS/400. Op Unix ja.
-sM
: Maimon-scan: Stuur FIN- en ACK-vlae, gebruik vir BSD, tans sal dit alles as gesluit terugstuur.
-sA, sW
: ACK en Venster, word gebruik om vuurmuure op te spoor, om te weet of die poorte gefiltreer word of nie. Die -sW onderskei tussen oop/gesluit aangesien die oop een met 'n ander vensterwaarde antwoord: oop (RST met venster anders as 0), gesluit (RST venster = 0), gefiltreer (ICMP onbereikbaar of niks). Nie alle rekenaars werk op hierdie manier nie, so as dit alles gesluit is, werk dit nie, as dit 'n paar oop is, werk dit goed, en as dit baie oop en min gesluit is, werk dit andersom.
-sI
: Stil skandering. Vir gevalle waar daar 'n aktiewe vuurmauer is, maar ons weet dat dit nie filter na 'n sekere Ip nie (of wanneer ons eenvoudig anonimiteit wil hê) kan ons die zombie-skanderer gebruik (dit werk vir al die poorte), om moontlike zombies te soek kan ons die skrip ipidseq of die uitbuiting hulpprogram/ip/ipidseq gebruik. Hierdie skanderer is gebaseer op die IPID-nommer van die IP-pakkies.
--badsum
: Dit stuur die som verkeerd, die rekenaars sal die pakkies verwerp, maar die vuurmuure kan iets antwoord, dit word gebruik om vuurmuure op te spoor.
-sZ
: "Vreemde" SCTP-skanderer, wanneer sondes met koekie-echo-fragment gestuur word, moet dit laat val as dit oop is of met ABORT antwoord as dit gesluit is. Dit kan deur vuurmuure gaan waar init nie deur kan gaan nie, die slegte ding is dat dit nie onderskei tussen gefiltreer en oop nie.
-sO
: Protokol Ip-skandering. Stuur slegte en leë koppe waarin soms nie eens die protokol onderskei kan word nie. As ICMP onbereikbaar protokol arriveer, is dit gesluit, as onbereikbare poort arriveer, is dit oop, as 'n ander fout arriveer, gefiltreer, as niks arriveer, oop/gefiltreer.
-b <server>
: FTPhost--> Dit word gebruik om 'n gas van 'n ander een te skandeer, dit word gedoen deur die ftp van 'n ander masjien te koppel en te vra om lêers na die poorte te stuur wat jy van 'n ander masjien wil skandeer, volgens die antwoorde sal ons weet of hulle oop is of nie. [<user>:<password>@]<server>[:<port>] Bykans alle ftp-bedieners laat jou nie meer toe om dit te doen nie en daarom is dit van min praktiese nut.
-p: Word gebruik om die poorte wat geskandeer moet word, te spesifiseer. Om die 65335 te kies: -p- of -p all. Nmap het 'n interne klassifikasie volgens sy gewildheid. Standaard gebruik dit die 1000 hoofpoorte. Met -F (vinnige skandering) analiseer dit die 100 hoofpoorte. Met --top-ports <numero> Analiseer daardie aantal hoofpoorte (van 1 tot 65335). Dit toets die poorte in 'n lukrake volgorde, om dit te voorkom -r. Ons kan ook poorte kies: 20-30,80,443,1024- Dit laaste beteken dat dit vanaf 1024 en verder kyk. Ons kan ook poorte groepeer volgens protokolle: U:53,T:21-25,80,139,S:9. Ons kan ook 'n reeks binne die gewilde nmap-poorte kies: -p [-1024] analiseer tot 1024 van die ingeslote poorte in nmap-services. --port-ratio <ratio> Analiseer die mees algemene poorte met 'n verhouding wat tussen 0 en 1 moet wees
-sV Weergawe-skandering, die intensiteit kan gereguleer word van 0 tot 9, standaard 7.
--version-intensity <numero> Ons kan die intensiteit reguleer, sodat hoe laer dit is, sal dit net die mees waarskynlike sondes stuur, maar nie almal nie. Hiermee kan ons die skanderingstyd aansienlik verkort vir UDP
-O Os-opsporing
--osscan-limit Om 'n gas behoorlik te skandeer, is dit nodig dat daar ten minste een oop poort en een geslote poort is, as hierdie toestand nie voorkom nie en ons dit ingestel het, probeer dit nie om os-voorspellings te maak (bespaar tyd) --osscan-guess Wanneer OS-opsporing nie perfek is nie, dwing dit dit om harder te werk.
Scripts
--script <lêernaam>|<kategorie>|<gids>|<uitdrukking>[,...]
Om standaardskripte te gebruik, is -sC of --script=default voldoende
Die tipes sluit in: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, en vuln
Auth: voer al sy beskikbare skripte vir outentifikasie uit
Default: voer die basiese standaardskripte van die gereedskap uit
Discovery: herwin inligting van die teiken of slagoffer
External: skrip vir die gebruik van eksterne bronne
Intrusive: gebruik skripte wat as indringend vir die slagoffer of teiken beskou word
Malware: ondersoek of daar oop verbindings deur skadelike kodes of agterdeure is
Safe: voer skripte uit wat nie indringend is nie
Vuln: ontdek die mees bekende kwesbaarhede
All: voer absoluut alle NSE-uitbreidingsskripte uit
Om skripte te soek:
nmap --script-help="http-*" -> Diegene wat met http- begin
nmap --script-help="not intrusive" -> Almal behalwe daardie
nmap --script-help="default or safe" -> Diegene wat in een of in die ander of in beide is
nmap --script-help="default and safe" --> Diegene wat in albei is
nmap --script-help="(default or safe or intrusive) and not http-*"
--script-args <n1>=<v1>,<n2>={<n3>=<v3>},<n4>={<v4>,<v5>}
--script-args-file <lêernaam>
--script-help <lêernaam>|<kategorie>|<gids>|<uitdrukking>|all[,...]
--script-trace ---> Gee inligting oor hoe die skrip vorder
--script-updatedb
Om 'n skrip te gebruik, hoef jy net te tik: nmap --script Naam_van_skrip teiken --> Deur die skrip te spesifiseer, sal beide die skrip en die skandeerder uitgevoer word, dus kan skandeerderopsies ook ingesluit word, ons kan "safe=1" byvoeg sodat slegs veilige skripte uitgevoer word.
Tydbeheer
Nmap kan tyd in sekondes, minute, ms verander: --host-timeout arguments 900000ms, 900, 900s, en 15m doen almal dieselfde ding.
Nmap verdeel die totale aantal te skandeerder gasheer in groepe en analiseer daardie groepe in blokke sodat dit nie na die volgende blok oorgaan nie (en die gebruiker ontvang ook geen opdaterings totdat die blok geanaliseer is nie) op hierdie manier is dit meer optimaal vir nmap om groot groepe te gebruik. Standaard in klas C gebruik dit 256.
Dit kan verander word met**--min-hostgroup** <aantalgashere>; --max-hostgroup <aantalgashere> (Pas parallelle skandeergroepgroottes aan)
Die aantal skandeerders in parallel kan beheer word, maar dit is beter om nie te (nmpa het reeds outomatiese beheer gebaseer op die toestand van die netwerk): --min-parallelism <aantalondersoeke>; --max-parallelism <aantalondersoeke>
Ons kan die rtt-timeout verander, maar dit is gewoonlik nie nodig nie: --min-rtt-timeout <tyd>, --max-rtt-timeout <tyd>, --initial-rtt-timeout _<tyd>
Ons kan die aantal pogings verander:--max-retries <numpogings>
Ons kan die tyd van die skandeerder van 'n gasheer verander: --host-timeout <tyd>
Ons kan die tyd tussen elke ondersoek verander om stadiger te gaan: --scan-delay <tyd>; --max-scan-delay _<tyd>
Ons kan die aantal pakkette per sekonde verander: --min-rate <getal>; --max-rate <getal>
Baie poorte neem lank om te reageer as gevolg van filtrasie of geslote poorte, as ons net oop poorte belangstel, kan ons vinniger gaan met: --defeat-rst-ratelimit
Om te bepaal hoe aggressief ons wil hê dat nmap moet wees: -T paranoid|sneaky|polite|normal|aggressive|insane
-T (0-1)
-T0 --> Slegs een poort word gelyktydig geskandeer en daar word 5 minute gewag voordat die volgende begin
-T1 en T2 --> Baie soortgelyk, maar wag slegs 15 en 0,4 sekondes onderskeidelik tussen elke ondersoek
-T3 --> Standaard werking, insluitend parallelle ondersoeke
-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
Hulle laat nie pakkette deur nie en analiseer pakkette.
-f Om pakkette te fragmenteer, standaard fragmenteer dit hulle in 8 byte na die kopteks, om daardie grootte te spesifiseer gebruik ons ..mtu (met hierdie, moenie -f gebruik nie), die skuif moet 'n veelvoud van 8 wees. Versie-skandeerders en skripte ondersteun nie fragmentasie nie
-D decoy1,decoy2,ME Nmap stuur skandeerders met ander IP-adresse as oorsprong, op hierdie manier verberg dit jou. As jy ME in die lys plaas, sal nmap jou daar plaas, dit is beter om 5 of 6 voor jou te plaas om jou heeltemal te verberg. Daar kan lukrake IP-adresse met RND:<getal> gegenereer word. Dit werk nie met TCP-verbindinglose weergawedeteksie nie. As jy binne 'n netwerk is, is dit in jou belang om IP-adresse te gebruik wat aktief is, anders sal dit baie maklik wees om uit te vind dat jy die enigste aktiewe een is.
Om lukrake IP-adresse te gebruik: nmap-D RND: 10 Ip_teiken
-S IP Wanneer Nmap nie jou IP-adres vang nie, moet jy dit met daardie gee. Dit werk ook om te laat dink dat daar 'n ander teiken is wat hulle skandeer.
-e <koppelvlak> Om die koppelvlak te kies
Baie administrateurs laat ingangspoorte oop sodat alles korrek kan werk en dit vir hulle makliker is om 'n ander oplossing te soek. Hierdie kan DNS-poorte of FTP-poorte wees... om hierdie kwesbaarheid te soek, sluit nmap in: --source-port <poortnommer>;-g <poortnommer> Is ekwivalent
--data <heksstring> Om heksadesimale teks te stuur: --data 0xdeadbeef en --data \xCA\xFE\x09
--data-string <string> Om 'n normale teks te stuur: --data-string "Ondersoek uitgevoer deur Sekuriteitsbedryf, uitbreiding 7192"
--data-length <getal> Nmap stuur slegs koptekste, met hierdie voeg ons 'n sekere aantal ekstra bytes by (wat lukraak gegenereer sal word)
Om die IP-pakket heeltemal te konfigureer, gebruik --ip-options
As jy die opsies in die gestuurde en ontvangspakkette wil sien, spesifiseer --packet-trace. Vir meer inligting en voorbeelde van die gebruik van IP-opsies met Nmap, sien http://seclists.org/nmap-dev/2006/q3/52.
--ttl <waarde>
--randomize-hosts Om die aanval minder opvallend te maak
--spoof-mac <MAC-adres, voorvoegsel, of vervaardiger se naam> Om die MAC-adres te verander voorbeelde: Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2, en Cisco --proxies <Komma-geskeide lys van proxy-URL's> Om proxies te gebruik, soms hou 'n proxy nie soveel oop verbindinge soos wat nmap wil nie, dus moet die parallelisme aangepas word: --max-parallelism
-sP Om gasheer in die netwerk waarin ons is deur ARP te ontdek
Baie administrateurs skep 'n reël in die firewall wat alle pakkies wat van 'n spesifieke poort afkomstig is (soos 20, 53 en 67) deurlaat, ons kan vir nmap sê om ons pakkies van daardie poorte te stuur: nmap --source-port 53 Ip
Uitsette
-oN lêer Normale uitset
-oX lêer XML-uitset
-oS lêer Uitset van skripskinderagtige
-oG lêer Uitset grepable
-oA lêer Alles behalwe -oS
-v vlak verboetheid
-d vlak foutopsporing
--reason Waarom van die gasheer en toestand
--stats-every tyd Elke hierdie tyd vertel ons hoe dit gaan
--packet-trace Om te sien watter pakkies uitgaan, kan filters gespesifiseer word soos: --version-trace of --script-trace
--open wys die oop, oop|gefilter en nie-gefilterde
--resume lêer Gee 'n opsomming
Miscellaneous
-6 Laat ipv6 toe
-A is dieselfde as -O -sV -sC --traceroute
Run time
Terwyl nmap loop, kan ons opsies verander:
v / V Verhoog / verlaag die verboetheidsvlak
d / D Verhoog / verlaag die foutopsporingsvlak
p / P Skakel die pakkietrassering aan / af
? Druk 'n hulpskerm vir interaksie tydens uitvoering af
Vulscan
Nmap-skrips wat die weergawes van die dienste wat in 'n aanlyn databasis verkry is, ondersoek (wat van ander baie belangrike databasisse aflaai) en moontlike kwesbaarhede teruggee
Die databasisse wat dit gebruik, is:
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
Om dit af te laai en in die Nmap-map te installeer:
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/
Dit sal ook nodig wees om die pakkette van die databasisse af te laai en by te voeg by /usr/share/nmap/scripts/vulscan/
Gebruik:
Om almal te gebruik: sudo nmap -sV --script=vulscan HOST_A_ESCANEAR
Om 'n spesifieke databasis te gebruik: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv HOST_A_ESCANEAR
Volgens hierdie pos kan jy die nmap-diensanalise versnel deur al die totalwaitms
waardes in /usr/share/nmap/nmap-service-probes
te wysig na 300 en tcpwrappedms
na 200.
Verder gebruik sondes wat nie 'n spesifiek gedefinieerde servicewaitms
het nie, 'n verstekwaarde van 5000
. Daarom kan ons waardes byvoeg by elkeen van die sondes, of ons kan nmap self saamstel en die verstekwaarde in service_scan.h verander.
As jy nie die waardes van totalwaitms
en tcpwrappedms
in die /usr/share/nmap/nmap-service-probes
lêer wil verander nie, kan jy die ontledingskode wysig sodat hierdie waardes in die nmap-service-probes
lêer heeltemal geïgnoreer word.
Leer & oefen AWS-hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP-hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)