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