NSE tutorial

NSE tutorial
NSE (NMAP Scripting Engine) muliggjør tilleggsfunksjoner i NMAP -skanneprosessen ved å tillate skript for flere oppgaver som Brute Force, Sårbarhetsdeteksjon eller utnyttelse.

NMAP Scripting Engine (NSE) inneholder et sett med skript klassifisert etter kategori, og brukere kan skrive sine egne skript med tilpassede funksjoner.

Denne opplæringen forklarer NSE -grunnleggende, inkludert praktiske eksempler som viser hvordan du bruker NMAP -skriptmotor for å hacke WordPress -nettsteder og SSH -legitimasjon eller utføre flere ekstra sikkerhetskontroller.

NSE (NMAP Scripting Engine) Skriptkategorier og typer

Skriptene som er inkludert i NSE er klassifisert i henhold til forskjellige kriterier basert på utførelsesøyeblikket, skriptformålet og metodene.

Den første klassifiseringen som hovedsakelig er basert på utførelsesøyeblikket inkluderer 4 skripttyper:

  • PRERULE -skript utføres før noen NMAP -skannefase, for eksempel skript som brukes til å generere nye mål.
  • Vertsskript utføres under skanneprosessen.
  • Serviceskript utføres etter at hver gruppe verter er skannet, som vertsskript.
  • Postrule -skript utføres etter skanneprosessen; Disse skriptene kan utnytte en sårbarhet som ble oppdaget under skanneprosessen.

Den andre klassifiseringen er basert på skriptets formål og sikkerhet. Kategorier bestiller skript i henhold til kriteriene. Kategoriene er:

Autorisasjon: Skript under denne kategorien er nyttige å håndtere autentisering. Under denne kategorien kan du finne skript for å omgå autentiseringsprosesser, for eksempel HTTP-metod-tamper for å omgå passordbeskyttede ressurser ved å utføre HTTP-verb-tukling. Hvis en rekke baner for å sjekke ikke er angitt, vil den krype webserveren og utføre sjekken mot enhver passordbeskyttet ressurs som er funnet.

Kategorien autoritoren inkluderer ikke brute force -skript som er lagret i brute -kategorien. Likevel, under Auth, kan du finne lignende funksjoner som skriptet HTTP-default-Accounts for å teste for tilgang med standardopplysninger på forskjellige webapplikasjoner og enheter.

Kringkaste: Disse skriptene tillater å oppdage verter ved å kringkaste det lokale nettverket.

Brute: Denne kategorien inneholder skript for å utføre brute force-angrep som HTTP-WordPress-Brute-skriptet for å angripe WordPress-nettsteder eller Rsync-Brute for å utføre angrep mot Rsync-protokollen.

Misligholde: Denne kategorien inkluderer skriptmøtekrav basert på hastighet, nytteverdi, verbositet, pålitelighet, påtrengende og personvern og personvern. Skript under denne kategorien må fullføre raskt og må rapportere verdifull informasjon om målet. Utgangen må være lesbar og begrenset til nøyaktig informasjon. Påtrengende skript som sannsynligvis krasjer målsystemet eller tjenesten er mindre egnet for denne kategorien.

Oppdagelse: Skript under denne kategorien prøver å oppdage mer om målet ved å spørre om offentlige kilder, SNMP-aktiverte enheter, kataloger og lignende. Skriptet http-tilknyttede-id-griper tilknyttede nettverks-ID-er som Google Adsense eller Analytics, Amazon, etc., fra en webside og kan brukes til å identifisere sider med samme eier.

Dos: Disse skriptene er nyttige for å teste mål for sårbarheter før DOS -angrep; Disse skriptene er utsatt for å krasje et sårbart system eller en tjeneste.

Utnytt: Skript i denne kategorien brukes til å utnytte sårbarheter på mål.

Utvendig: Denne kategorien inneholder skriptene som involverer eksterne ressurser under skanneprosessen, for eksempel databaseinformasjonsforespørsler på målet. Skript som deler informasjon om skanneprosessen med tredjepartsdatabaser er plassert i denne kategorien. IP-geolocation-geoplugin, for eksempel, prøver å bestemme det fysiske målstedet ved hjelp av http: // www.Geoplugin.com/.

Fuzzer: Denne kategorien inneholder skript for å sende randomiserte felt massivt for å oppdage sårbarheter for å utnytte en bufferoverløp, DOS (fornektelse av service), skripting på tvers av sted eller SQL-injeksjon.

Påtrengende: Skript i denne kategorien vil sannsynligvis krasje målet ved å bruke en betydelig mengde ressurser eller å bli oppdaget som ondsinnet aktivitet.

Skadevare: Malware -skript er designet for å oppdage mulig tilstedeværelse av skadelig programvare eller bakdører på målet.

Sikker: I motsetning til påtrengende skript, er det usannsynlig at trygge skript vil krasje målet, som ikke trenger en betydelig mengde ressurser og vil neppe bli oppdaget som ondsinnet av målet kan plasseres her. Skript under denne kategorien omhandler hovedsakelig oppdagelsesoppgaver.

Versjon: Versjonsskript utvider versjonen NMAP -funksjonen; Et eksempel er skriptdocker-versjonen som brukes til å oppdage en tjenestedockerversjon.

Vuln: Vuln skript er nyttige for å teste sårbarheter på mål nøyaktig.

NSE -skript er lokalisert på /usr/share/nmap/skript, og ethvert nytt manus du vil legge til (e.g., Vulscan) bør plasseres der.

Hvordan bruke Nmap Scripting Engine (NSE)

NSE er inkludert i NMAP, for å begynne å installere NMAP i tilfelle du ikke har det ennå, ved å løpe (på Debian og Debian -baserte Linux -distribusjonene):

sudo apt install nmap

Merk: På Redhat -baserte Linux -distribusjoner kan du kjøre:

Yum installer NMAP

Etter installasjonen, eller hvis du allerede har installert NMAP, kjører du følgende kommando for å oppdatere NMAP Scripting Engine -databasen:

NMAP--Script-upDatedB

NMAP tillater ulik syntaks å kjøre skanninger; Følgende eksempel viser en NMAP-skanning med versjonsdeteksjon, og kaller skriptet HTTP-WordPress-Brute og passerer som et argument plasseringen av ordbøker. Dette er en mulig syntaks når du vet hvilket skript du vil kjøre.

I det første eksemplet vil jeg vise hvordan NMAP NSE kan hacke et WordPress-nettsted med Brute Force ved å bruke skriptet HTTP-WordPress-Brute.nse. I dette eksemplet er det hacket nettstedet Noticias Mercedes som jeg eier.

NMAP -SV-Script HTTP-WordPress-Brute-Script-Args 'UserDB = Brukere.txt, passdb = pass.txt 'Noticiasmercedes.com

Hvor:

NMAP -SV: Ringer NMAP og aktiverer versjonsdeteksjon.

-Script http-wordpress-brute: Ringer HTTP-WordPress-Brute-skriptet til Brute Force WordPress-nettsteder.

-Script-Args 'UserDB = brukere.txt, passdb = pass.tekst': Angir bruker- og passordordbøker, i dette tilfellet opprettet jeg filene brukere.txt og pass.TXT som inneholder dummy -data og de riktige legitimasjonene, filene var lokalisert i samme katalog som NMAP ble utført, kan du også spesifisere banen: -Script-Args 'UserDB =/Path/To/Dicionaty/brukere.TXT, PASSDB =/PATH/TO/DICIONATY/PASS.tekst'

Som du kan se i utdataene, ble passordet vellykket hacket:

For følgende eksempel, la oss anta at du er usikker på skriptet du vil kjøre mot målet ditt, men du vil begrense skanningen til sikkerhetskontroller. I dette tilfellet kan du instruere NMAP om å kjøre alle skript som tilhører trygge- eller standardkategoriene, eller begge av dem.

Følgende eksempel viser hvordan du kjører alle skript som tilhører standard og trygge kategorier med en brukervennlig syntaks:

NMAP -Script "Standard og Safe" Noticiasmercedes.com

Det siste eksemplet viser hvordan du knekker SSH -legitimasjon ved bruk av NSE:

NMAP-Script SSH-Brute.NSE Localhost

Som med HTTP-WordPress-Brute, med dette skriptet, kan du også spesifisere ordbøker som omgår argumentet:

--Script-Args userDB = brukere.txt, passdb = pass.tekst

Hvor brukere.txt og pass.TXT må erstattes av ordbøkene dine (og banen om nødvendig),

Følgende artikler inkluderer flere NSE -eksempler:

  • 30 NMAP -eksempler
  • Hvordan skanne etter tjenester og sårbarheter med NMAP
  • Traceroute med NMAP
  • Bruke NMAP -skript: NMAP Banner Grab
  • nmap flagg og hva de gjør,

Jeg håper du fant denne artikkelen om NSE nyttig; Fortsett å følge Linuxhint for flere Linux -tips og opplæringsprogrammer.