Hacking etico - Fingerprinting

Il termine fingerprinting del sistema operativo in Ethical Hacking si riferisce a qualsiasi metodo utilizzato per determinare quale sistema operativo è in esecuzione su un computer remoto. Questo potrebbe essere -

  • Active Fingerprinting- L'impronta digitale attiva viene eseguita inviando pacchetti appositamente predisposti a una macchina di destinazione e quindi annotando la sua risposta e analizzando le informazioni raccolte per determinare il sistema operativo di destinazione. Nella sezione seguente, abbiamo fornito un esempio per spiegare come utilizzare lo strumento NMAP per rilevare il sistema operativo di un dominio di destinazione.

  • Passive Fingerprinting- Il fingerprinting passivo si basa sulle tracce dello sniffer dal sistema remoto. In base alle tracce sniffer (come Wireshark) dei pacchetti, è possibile determinare il sistema operativo dell'host remoto.

Abbiamo i seguenti quattro elementi importanti che esamineremo per determinare il sistema operativo:

  • TTL - Cosa imposta il sistema operativo Time-To-Live sul pacchetto in uscita.

  • Window Size - Su cosa il sistema operativo imposta la dimensione della finestra.

  • DF - Il sistema operativo imposta l'estensione Don't Fragment po.

  • TOS - Il sistema operativo imposta l'estensione Type of Service, e se è così, a che cosa.

Analizzando questi fattori di un pacchetto, potresti essere in grado di determinare il sistema operativo remoto. Questo sistema non è preciso al 100% e funziona meglio per alcuni sistemi operativi rispetto ad altri.

Passaggi di base

Prima di attaccare un sistema, è necessario sapere quale sistema operativo ospita un sito web. Una volta che un sistema operativo di destinazione è noto, diventa facile determinare quali vulnerabilità potrebbero essere presenti per sfruttare il sistema di destinazione.

Di seguito è riportato un semplice nmap comando che può essere utilizzato per identificare il sistema operativo che serve un sito web e tutte le porte aperte associate al nome di dominio, cioè l'indirizzo IP.

$nmap -O -v tutorialspoint.com

Ti mostrerà le seguenti informazioni sensibili sul nome di dominio o indirizzo IP specificato:

Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 09:57 CDT 
Initiating Parallel DNS resolution of 1 host. at 09:57 
Completed Parallel DNS resolution of 1 host. at 09:57, 0.00s elapsed 
Initiating SYN Stealth Scan at 09:57
Scanning tutorialspoint.com (66.135.33.172) [1000 ports] 
Discovered open port 22/tcp on 66.135.33.172 
Discovered open port 3306/tcp on 66.135.33.172 
Discovered open port 80/tcp on 66.135.33.172 
Discovered open port 443/tcp on 66.135.33.172 
Completed SYN Stealth Scan at 09:57, 0.04s elapsed (1000 total ports) 
Initiating OS detection (try #1) against tutorialspoint.com (66.135.33.172) 
Retrying OS detection (try #2) against tutorialspoint.com (66.135.33.172) 
Retrying OS detection (try #3) against tutorialspoint.com (66.135.33.172) 
Retrying OS detection (try #4) against tutorialspoint.com (66.135.33.172) 
Retrying OS detection (try #5) against tutorialspoint.com (66.135.33.172) 
Nmap scan report for tutorialspoint.com (66.135.33.172) 
Host is up (0.000038s latency). 
Not shown: 996 closed ports 
PORT     STATE SERVICE 
22/tcp   open  ssh 
80/tcp   open  http 
443/tcp  open  https 
3306/tcp open  mysql  

TCP/IP fingerprint: 
OS:SCAN(V=5.51%D=10/4%OT=22%CT=1%CU=40379%PV=N%DS=0%DC=L%G=Y%TM=56113E6D%P= 
OS:x86_64-redhat-linux-gnu)SEQ(SP=106%GCD=1%ISR=109%TI=Z%CI=Z%II=I%TS=A)OPS 
OS:(O1=MFFD7ST11NW7%O2=MFFD7ST11NW7%O3=MFFD7NNT11NW7%O4=MFFD7ST11NW7%O5=MFF 
OS:D7ST11NW7%O6=MFFD7ST11)WIN(W1=FFCB%W2=FFCB%W3=FFCB%W4=FFCB%W5=FFCB%W6=FF 
OS:CB)ECN(R=Y%DF=Y%T=40%W=FFD7%O=MFFD7NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A 
OS:=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0% 
OS:Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S= 
OS:A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R= 
OS:Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N% 
OS:T=40%CD=S)

Se non hai nmap comando installato sul tuo sistema Linux, puoi installarlo utilizzando quanto segue yum comando -

$yum install nmap

Puoi passare nmap comando in dettaglio per verificare e comprendere le diverse funzionalità associate a un sistema e proteggerlo da attacchi dannosi.

Soluzione rapida

Puoi nascondere il tuo sistema principale dietro un server proxy sicuro o una VPN in modo che la tua identità completa sia al sicuro e alla fine il tuo sistema principale rimanga al sicuro.

Scansione delle porte

Abbiamo appena visto le informazioni fornite da nmapcomando. Questo comando elenca tutte le porte aperte su un dato server.

PORT       STATE   SERVICE 
22/tcp     open    ssh 
80/tcp     open    http 
443/tcp    open    https 
3306/tcp   open    mysql

Puoi anche verificare se una particolare porta è aperta o meno utilizzando il seguente comando:

$nmap -sT -p 443 tutorialspoint.com

Produrrà il seguente risultato:

Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 10:19 CDT 
Nmap scan report for tutorialspoint.com (66.135.33.172) 
Host is up (0.000067s latency). 
PORT    STATE SERVICE 
443/tcp open  https  

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

Una volta che un hacker conosce le porte aperte, può pianificare diverse tecniche di attacco attraverso le porte aperte.

Soluzione rapida

Si consiglia sempre di controllare e chiudere tutte le porte indesiderate per salvaguardare il sistema da attacchi dannosi.

Ping Sweep

Un ping sweep è una tecnica di scansione di rete che è possibile utilizzare per determinare quale indirizzo IP da un intervallo di indirizzi IP mappare agli host attivi. Ping Sweep è anche noto comeICMP sweep.

Puoi usare fpingcomando per ping sweep. Questo comando è un programma simile a un ping che utilizza la richiesta echo ICMP (Internet Control Message Protocol) per determinare se un host è attivo.

fping è diverso da pingin quanto è possibile specificare un numero qualsiasi di host sulla riga di comando o specificare un file contenente gli elenchi di host su cui eseguire il ping. Se un host non risponde entro un certo limite di tempo e / o riprova, verrà considerato irraggiungibile.

Soluzione rapida

Per disabilitare gli sweep ping su una rete, è possibile bloccare le richieste ECHO ICMP da fonti esterne. Questo può essere fatto utilizzando il seguente comando che creerà una regola del firewall iniptable.

$iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP

Enumerazione DNS

Domain Name Server (DNS) è come una mappa o una rubrica. In effetti, è come un database distribuito che viene utilizzato per tradurre un indirizzo IP 192.111.1.120 in un nome www.example.com e viceversa.

L'enumerazione DNS è il processo di individuazione di tutti i server DNS e dei record corrispondenti per un'organizzazione. L'idea è quella di raccogliere quanti più dettagli interessanti possibile sul tuo obiettivo prima di iniziare un attacco.

Puoi usare nslookupcomando disponibile su Linux per ottenere informazioni relative a DNS e host. Inoltre, puoi utilizzare quanto segueDNSenum script per ottenere informazioni dettagliate su un dominio -

DNSenum.pl

DNSenum script può eseguire le seguenti importanti operazioni:

  • Ottieni gli indirizzi dell'host

  • Ottieni i server dei nomi

  • Ottieni il record MX

  • Eseguire axfr query sui server dei nomi

  • Ottieni nomi e sottodomini extra tramite Google scraping

  • I sottodomini di forza bruta da file possono anche eseguire la ricorsione su sottodomini con record NS

  • Calcola gli intervalli di rete del dominio di classe C ed esegui whois domande su di loro

  • Eseguire reverse lookups sopra netranges

Soluzione rapida

L'enumerazione DNS non ha una soluzione rapida ed è davvero oltre lo scopo di questo tutorial. Prevenire l'enumerazione DNS è una grande sfida.

Se il tuo DNS non è configurato in modo sicuro, è possibile che molte informazioni sensibili sulla rete e sull'organizzazione possano uscire e un utente Internet non attendibile può eseguire un trasferimento di zona DNS.