hacktricks/generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md

21 KiB

Nmap Opsomming (ESP)

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

{% embed url="https://websec.nl/" %}

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

Parameters

IPs om te skandeer

  • <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>.

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 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 Timestamp versoek, sonder voorregte voltooi dit altyd verbindings. 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 toets slegs TCP-verbindings. 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, timestamp en addresmasker. 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 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

Poort skanderingstegnieke

  • -sS: Voltooi nie die verbinding nie, so laat 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 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: 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 Window, 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-skander (dit werk vir al die poorte) gebruik, om moontlike zombies te soek, kan ons die skrip ipidseq of die uitbuiting hulpprogram/ip/ipidseq gebruik. Hierdie skander 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-skander, 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-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, is dit gefiltreer, as niks arriveer, is dit 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] toets tot 1024 van diegene wat ingesluit is in nmap-services. --port-ratio <ratio> Toets 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 gasheer behoorlik te skandeer, is dit nodig dat ten minste een oop poort en een gesluit is, as hierdie toestand nie voorkom en ons dit ingestel het nie, probeer dit nie om os-voorspelling te maak (bespaar tyd) --osscan-guess Wanneer OS-opsporing nie perfek is nie, maak dit dit harder

Scripts

--script <lêernaam>|<kategorie>|<gids>|<uitdrukking>[,...]

Om standaardskripte te gebruik, is -sC of --script=default voldoende

Die tipes wat beskikbaar is, is: 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 instrument 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 bekendste 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 die ander of 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 Skripnaam teiken --> Deur die skrip te spesifiseer, sal sowel die skrip as die skandeerder uitgevoer word, dus kan ook skandeerderopsies bygevoeg word, ons kan "safe=1" byvoeg sodat slegs veilige skripte uitgevoer word.

Tydbeheer

Nmap kan tyd in sekondes, minute, ms verander: --host-timeout-argumente 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 vir nmap meer optimaal om groot groepe te gebruik. Standaard in klas C gebruik dit 256.

Dit kan verander word met**--min-hostgroup** <aantal gasheer>; --max-hostgroup <aantal gasheer> (Pas parallelle skandeergroepgroottes aan)

Die aantal parallelle skandeerders kan beheer word, maar dit is beter om nie te doen nie (nmpa het reeds outomatiese beheer op grond van die toestand van die netwerk ingesluit): --min-parallelism <aantal ondersoeke>; --max-parallelism <aantal ondersoeke>

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 <aantal pogings>

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 filtrering of geslote toestande, as ons net oop poorte wil hê, 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 net 15 en 0,4 sekondes onderskeidelik tussen elke ondersoek

-T3 --> Standaard werking, insluitend parallelle skandering

-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- en skripskanners ondersteun nie fragmentasie nie

-D decoy1,decoy2,ME Nmap stuur skanners 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:<getal> Om <getal> 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 Teiken_IP

-S IP Wanneer Nmap nie jou IP-adres vang nie, moet jy dit met daardie gee. Dit kan ook gebruik word om te laat dink dat daar 'n ander teiken is wat hulle skandeer.

-e <koppelvlak> Om die koppelvlak te kies

Baie administrateurs laat inkomende poorte oop sodat alles behoorlik kan werk en dit vir hulle makliker is om 'n ander oplossing te soek. Dit 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 Sekuriteitsbedrywighede, 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 proksi-URL's> Om proksi's te gebruik, soms hou 'n proksi 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 vuurmuur 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 Uitset van skripskinderagtige

-oG lêer Uitset wat grep kan gebruik

-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 spesifieke 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

Uitvoertyd

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 uitvoeringsinteraksiehulpskerm

Vulscan

'n Nmap-skrips 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:

  1. Scipvuldb.csv | http://www.scip.ch/en/?vuldb
  2. Cve.csv | http://cve.mitre.org
  3. Osvdb.csv | http://www.osvdb.org
  4. Securityfocus.csv | http://www.securityfocus.com/bid/
  5. Securitytracker.csv | http://www.securitytracker.com
  6. Xforce.csv | http://xforce.iss.net
  7. Exploitdb.csv | http://www.exploit-db.com
  8. 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 by elkeen van die sondes voeg, 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 vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: