Becoming a Hacker | Cerca per titolo, autore, parola chiave | ||||||||
Becoming a Hacker By Elite Nabukadnezar. Part 1. Precondizione per seguire queste lezioni è avere installato un sistema operativo Linux. Altra precondizione essenziale, per essere un hacker è conoscere almeno i fondamenti dei protocolli TCP/IP. TCP/ IP è un acronimo per Transmission Control Protocol/ Internet Protocol. È una raccolta di protocolli di comunicazione utilizzati per connettere tra loro più computer o periferiche facenti parte di una rete. TCP/IP ormai è uno standard, oltre che per Internet, anche per molte reti private. Come molti protocolli di rete, TCP/IP è strutturato a strati, o livelli (layer). Ciascuno strato viene creato utilizzando gli strati inferiori, aggiungendo ad essi nuove funzionalità. I protocolli dello strato più basso si occupano esclusivamente dell'invio e della ricezione di dati grezzi (raw data), utilizzando solo l'hardware disponibile in rete. Al livello più alto, invece, troviamo i protocolli che definiscono compiti quali il trasferimento di file, o l'invio di email. In mezzo, troviamo i livelli che si occupano di cose quali il routing e l'affidabilità della trasmissiohe. Quattro sono gli strati che compongono TCP/ IP:
Ciascun pacchetto di dati TCP/IP, quindi, sarà composto dai dati da trasmettere più i dati (header) aggiunti da ciascuno dei layer attraversati: il layer delle applicazioni crea i dati (DATA), il layer del trasporto aggiunge un'intestazione TCP (header), nel caso il trasporto venga affidato a TCP, il layer di rete (network layer) aggiunge un'intestazione IP, sempre che si tratti di una rete IP, mentre il link layer aggiunge un'intestazione (header) Ethernet. UDP è un protocollo di trasporto che non richiede di stabilire una connessione con il destinatario. UDP si limita ad aggiungere al pacchetto di dati una intestazione (header), contenente la porta sorgente, la porta di destinazione, la lunghezza del datagramma, in byte, e la checksum. IP (network layer) aggiunge un header contenente, fra l'altro, l'indirizzo IP sorgente e l'indirizzo IP di destinazione. Il link layer aggiunge il suo header e, finalmente, il pacchetto potrà essere spedito. Nella speranza che arrivi effettivamente a destinazione. UDP, infatti, non prevede alcun controllo dell'effettiva ricezione del datagramma da parte del destinatario. Ecco alcune applicazioni che utilizzano UDP come protocollo di trasporto: Trivial File Transfer Protocol (TFTP), Domain Name System (DNS), Network File System (NFS), Remote Procedure Call (RPC), Simple Network Management Protocol (SNMP), Lightweight Directory Access Protocol (LDAP). TCP, invece, fa molto di più rispetto a UDP. Intanto, stabilisce una connessione con il server di destinazione. Poi, su quella connessione effettua un controllo costante del flusso dei dati, correggendo gli eventuali errori di trasmissione, al fine di garantire una trasmissione affidabile. Per questo motivo, TCP è usato dalla gran parte delle applicazioni. Un header TCP, ovviamente, è molto più ricco e complesso di un header UDP. Oltre al numero della porta sorgente, al numero della porta di destinazione, alla checksum, un header TCP contiene un campo che trasporta un Sequence Number, un campo che trasporta un Acknowledgement Number, oltre ad una serie di altre opzioni. Tra queste, le più importanti, per noi, sono le FLAG, o bit di controllo, campi composti da un solo bit, che può assumere solo due valori: attivato (1) o non attivato (0). Le FLAG possibili sono: URG (urgent), ACK (acknowledgement), PSH (push), RST (reset), SYN (synchronize), FIN (finish). Quando un'applicazione invia un datagramma TCP, resta in attesa di una conferma di ricezione (acknowledgement). Se la conferma non arriva, l'applicazione reinvia lo stesso datagramma. La conferma di ricezione avrà la flag ACK (acknowledgement) impostata (1) e conterrà un numero sequenziale che permetterà al server di stabilire quale pacchetto di dati è stato confermato. Nel protocollo TCP, prima di poter inviare dati, è necessario stabilire una connessione tra il client ed il server. La connessione viene stabilita attraverso un processo chiamato three-way handshake, vale a dire: stretta di mano in tre passaggi:
Ora, parliamo di te, che vuoi diventare un hacker. Innanzitutto, devi diventare paranoico.
Con il tempo, sarai in grado di trovare cose ancora più paranoiche di queste, credimi. Per ora, cerca di mettere in pratica sempre questi consigli. Ora, scegliamo un obiettivo, per la nostra avventura di hacking. Potresti anche tentare di rendere legale la tua esperienza, chiedendo il permesso al soggetto obiettivo della tua attività di hacking, ma, probabilmente, non lo otterresti. Per i nostri primi capitoli, il nostro obiettivo sarà il Centro NASA di Ricerca di Moffett Field, California (Ames Research Center). Il nostro obiettivo sarà di entrare in ogni loro server accessibile da Internet, per poi accedere a tutte le loro reti interne. Il nostro obiettivo è di raccogliere quante più notizie possibili sul versante Internet della loro rete, senza interferire troppo con i loro server. Il primo strumento che utilizzeremo è il database WHOIS, che contiene alcune informazioni utili su ciascun nome di dominio, compresi i registrar, i nameserver, gli spazi di indirizzi IP di rete, e così via. WHOIS è un protocollo che si serve di database distribuiti in varie regioni del mondo. Per ciascuna area geografica, l'autorità internazionale per l'assegnazione e la registrazione delle risorse numeriche di Internet, la Internet Assigned Numbers Authority (IANA), ha delegato un'organizzazione che sovrintende all'assegnamento e alla registrazione delle risorse numeriche di Internet ( Regional Internet Registry o RIR), che si occupa anche della gestione del database regionale. È possibile interrogare il database di competenza, direttamente dal sito web di ciascuna di queste organizzazioni. Al momento esistono cinque di questi registri nel mondo, ciascuno con la sua area di competenza:
Per il NASA Ames Research Center, interrogheremo ARIN, poichè l'organizzazione si trova negli USA. È possibile interrogare il database ARIN in due modi: utilizzare il motore di ricerca di ARIN, oppure utilizzare il comando Linux: whois We’ll do it both ways.
|
|||||||||
Becoming a Hacker | Disclaimer: questo è un link a contenuti ospitati su server esterni. |