20 KiB
Nmap Opsomming (ESP)
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
{% embed url="https://websec.nl/" %}
nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24
Parameters
IPs to scan
<ip>,<net/mask>
: Duikeer die ip's aan-iL <ips_file>
: lys_IP's-iR <number>
: Aantal lukrake Ips, jy kan moontlike Ips uitsluit met--exclude <Ips>
of--excludefile <file>
.
Toerusting ontdekking
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 poortskandering. Na voltooiing van die verkenningsfase, skandeer dit nie poorte nie. Dit is relatief sluipend, 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 Tydmerk 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 antwoord met SYN/ACK oop is (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, tydmerk 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 (onaktief) 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 protokolkoppe 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
Poortskanderingstegnieke
-sS
: Maak nie die verbinding volledig nie, so laat dit geen spoor agter 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 agter, 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 talryke 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
: Nul, Fin, Kersfees, hulle kan deur sommige vuurmuure indring 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 lags het nie: oop/gefiltreer(niks), gesluit(RST), gefiltreer (ICMP onbereikbaar). Onbetroubaar op Windows, CIsco, BSDI en OS/400. Op Unix ja.-sM
: Maimon-skan: 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 is 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 hulp/skanderer/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-fragmente 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-skan. 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 gasheer 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.
Sentrale analise
-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 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] ondersoek tot 1024 van diegene wat ingesluit is in nmap-dienste. --port-ratio <ratio> Ondersoek 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 reguleer die intensiteit, sodat hoe laer dit is, sal dit net die mees waarskynlike sondes stuur, maar nie almal nie. Hiermee kan ons die skantyd aansienlik verkort vir UDP-skandering
-O Os-opsporing
--osscan-limit Om 'n gasheer behoorlik te skandeer, is dit nodig dat ten minste een oop poort en een gesluit is, as hierdie voorwaarde nie voldoen word nie en ons dit ingestel het, probeer dit nie om os-voorspelling te maak nie (bespaar tyd) --osscan-guess Wanneer OS-detectie nie perfek is nie, sal dit meer moeite doen
Scripts
--script <filename>|<category>|<directory>|<expression>[,...]
Om standaardskripte te gebruik, gebruik -sC of --script=default
Die tipes sluit in: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, en vuln
- Auth: voer al sy beskikbare outentiseringskripte uit
- Default: voer die basiese standaardskripte van die instrument uit
- Discovery: herwin inligting van die teiken of slagoffer
- External: skrip vir die gebruik van eksterne bronne
- Intrusive: gebruik kripte wat as indringend vir die slagoffer of teiken beskou word
- Malware: ondersoek of daar oop verbindings deur skadelike kodes of agterdeure is
- Safe: voer kripte uit wat nie indringend is nie
- Vuln: ontdek die mees bekende kwesbaarhede
- All: voer absoluut alle NSE-uitbreidingskripte uit
Om kripte 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 die ander of beide is
nmap --script-help="default and safe" --> Diegene wat in beide 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 <filename>
--script-help <filename>|<category>|<directory>|<expression>|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 jy ook skandeerderopsies byvoeg, ons kan "safe=1" byvoeg sodat slegs veilige kripte 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** <numhosts>; --max-hostgroup <numhosts> (Pas parallelle skangroepgroottes aan)
Die aantal parallelle skandeerders kan beheer word, maar dit is beter om nie te doen nie (nmpa het reeds outomatiese beheer gebaseer op die toestand van die netwerk): --min-parallelism <numprobes>; --max-parallelism <numprobes>
Jy kan die rtt-timeout verander, maar dit is gewoonlik nie nodig nie: --min-rtt-timeout <time>, --max-rtt-timeout <time>, --initial-rtt-timeout <time>
Jy kan die aantal pogings verander:--max-retries <numtries>
Jy kan die tyd van die skandeerder van 'n gasheer verander: --host-timeout <time>
Jy kan die tyd tussen elke toets verander om stadiger te gaan: --scan-delay <time>; --max-scan-delay <time>
Jy kan die aantal pakkette per sekonde verander: --min-rate <number>; --max-rate <number>
Baie poorte neem lank om te reageer as gevolg van filtrering 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ê 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 net 15 en 0,4 sekondes onderskeidelik tussen elke toets
-T3 --> Standaard werking, skandeer parallel
-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 ..mtu (met dit, moenie -f gebruik nie), die offset 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. Jy kan lukrake IP-adresse genereer met RND:<number> Om <number> lukrake IP-adresse te genereer. 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 hierdie gee. Dit kan ook gebruik word om te laat dink dat daar 'n ander teiken hulle skandeer.
-e <interface> Om die koppelvlak te kies
Baie administrateurs laat inkomende poorte oop sodat alles korrek kan werk en dit vir hulle makliker is om 'n ander oplossing te soek. Hierdie poorte kan DNS of FTP wees... om hierdie kwesbaarheid te soek, sluit nmap in: --source-port <portnumber>;-g <portnumber> Is ekwivalent
--data <hex string> Om heksadesimale teks te stuur: --data 0xdeadbeef en --data \xCA\xFE\x09
--data-string <string> Om 'n normale teks te stuur: --data-string "Skandering uitgevoer deur Sekuriteitsbedryf, uitbreiding 7192"
--data-length <number> 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 <value>
--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 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), toelaat om deur te gaan, 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 Script kidies-uitset
-oG lêer Grepable-uitset
-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
'n Nmap-skrip wat na die weergawes van die dienste kyk wat in 'n aanlyn databasis verkry is (wat van ander baie belangrike databasisse aflaai) en die 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/
Daar sal ook pakkette van die databasisse afgelaai moet word en bygevoeg word 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
Versnel Nmap-dienscan x16
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.
{% embed url="https://websec.nl/" %}
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien hoe jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS-familie, ons versameling eksklusiewe NFT's
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.