Insanely News

Diffusione di informazioni obiettive e costruttive.

Insanely News

Categoria: Informatica

arp

ARP – ADDRESS RESOLUTION PROTOCOL “Dalla saga Man-In-The-Middle”

 ARP – ADDRESS RESOLUTION PROTOCOL

[InsanelyNews] ARP – Come professionista IT, a volte mi soffermo a pensare alle comunicazioni di rete in termini di indirizzamento IP.

Come tutti sappiamo, tuttavia, gli indirizzi IP sono solo un meccanismo per identificare un nodo su una rete.

I nodi di rete possono anche essere identificati dal loro indirizzo di controllo di accesso ai media o dall’indirizzo MAC.

Un indirizzo MAC è un indirizzo a livello hardware che identifica in modo univoco un’interfaccia di rete sulla rete. Esistono anche indirizzi MAC virtuali, ma questa discussione si concentrerà sugli indirizzi fisici.

Come funziona ARP

Quando un dispositivo deve inviare dati a un altro dispositivo su una rete IP, deve essere in grado di determinare l’indirizzo MAC del dispositivo ricevente. 

È qui che entra in gioco l’Address Resolution Protocol, o ARP. Il lavoro di ARP è determinare l’indirizzo MAC che corrisponde a un dato indirizzo IP.

Naturalmente, le comunicazioni di rete sarebbero molto lente se fosse necessario eseguire una traduzione ARP per ogni singolo pacchetto inviato attraverso una rete.

Per migliorare le prestazioni, i dispositivi utilizzano una cache ARP.

La cache ARP è semplicemente un elenco di indirizzi IP noti ai mapping degli indirizzi MAC.

Pertanto, se un dispositivo deve determinare l’indirizzo MAC che corrisponde a un particolare indirizzo IP,

esamina la cache ARP per determinare se l’indirizzo MAC del destinatario è già noto.

MAC mancante

Se l’indirizzo MAC del destinatario non viene visualizzato nella cache ARP,

il dispositivo che deve trasmettere i dati a un determinato destinatario invia una richiesta ARP attraverso la sottorete locale.

La richiesta ARP è essenzialmente una richiesta per il destinatario di rispondere con il suo indirizzo MAC.

In che modo il mittente è in grado di inviare una richiesta ARP al destinatario quando non conosce l’indirizzo MAC del destinatario?

Il motivo per cui il mittente ha bisogno dell’indirizzo MAC del destinatario, in primo luogo, è che il mittente possa inviare dati al destinatario.

Se l’indirizzo MAC del destinatario è sconosciuto, il mittente non può trasmettere i dati direttamente al destinatario.

In pratica, il mittente trasmette un messaggio broadcast attraverso la sottorete locale.

I messaggi broadcast sono diversi dalle normali comunicazioni IP perché vengono inviati a tutti gli host nella subnet.

Pertanto, una richiesta ARP comporta la trasmissione dell’indirizzo IP del destinatario e chiede agli host della subnet di

verificare se stanno utilizzando l’indirizzo IP contenuto nella richiesta ARP.

L’host il cui indirizzo IP è referenziato all’interno della richiesta ARP risponde con una risposta ARP, contenente il suo indirizzo MAC. 

Dopo aver ricevuto questa risposta, il dispositivo che ha avviato la richiesta aggiorna la sua cache ARP e può iniziare a comunicare con il destinatario.

In superficie, il funzionamento di ARP può sembrare completamente teorico. Tuttavia, il sistema operativo Windows espone molte di queste funzionalità tramite un comando che viene chiamato ARP in modo appropriato. In effetti, il comando ARP è stato una parte del sistema operativo Windows per decenni.

 Il Comando ARP

Il comando ARP consente di visualizzare e modificare la cache ARP di un dispositivo.

Per mostrarti come funziona, considera che prima di iniziare a scrivere questo articolo,

ho trascorso un po ‘di tempo a comunicare con un server sulla mia rete con un indirizzo IP di 147.100.100.151. Poiché il mio PC ha recentemente comunicato con questo server, le informazioni del server dovrebbero essere nella cache ARP del mio PC. Pertanto, se volessi cercare l’indirizzo MAC del server, potrei farlo inserendo il seguente comando:

ARP -A 147.100.100.151

Puoi vedere l’output del comando nella figura seguente:

arp

In questo caso, ho specificato l’indirizzo IP di un particolare server, ma è possibile esaminare la cache ARP nella sua interezza. Per fare ciò, basta inserire il comando ARP -A senza specificare un indirizzo IP. Fare così farà sì che l’intera cache venga visualizzata.

 

OK,  ti starai chiedendo se ci sia un uso pratico e reale per questa utility…

Che ci crediate o no, c’è qualcosa per cui il comando ARP funziona davvero bene.

Supponiamo per un momento che si verifichi un conflitto di indirizzi IP sulla rete, a causa del fatto che a due host viene assegnato lo stesso indirizzo IP.

Supponiamo anche che tu riesca a rintracciare l’host incriminato e assegnargli un nuovo indirizzo IP, ma che un dispositivo Windows sulla tua rete stia riscontrando problemi nella comunicazione con uno di questi host anche se il conflitto dell’indirizzo IP è stato risolto.

Il problema è probabilmente correlato alla scrittura di una voce non valida nella cache ARP come risultato del conflitto dell’indirizzo IP.

È quindi possibile utilizzare il comando ARP per verificare e correggere il problema.

Un attimo fa, ti ho mostrato come usare il comando ARP per guardare un particolare indirizzo IP all’interno della cache ARP.

Le informazioni visualizzate per questo indirizzo nella cattura della schermata precedente erano corrette, poiché nessun conflitto di indirizzi IP si è verificato sulla mia rete.

Per ragioni di discussione, tuttavia, facciamo finta che le informazioni restituite dalla ricerca cache non siano corrette. In tale situazione, potrei usare l’opzione -D per rimuovere la voce dalla cache ARP. Il comando effettivo sarebbe:

ARP -D 147.100.100.151

Se volevo creare una nuova voce della cache ARP con l’indirizzo MAC corretto, potrei usare l’opzione -S per creare una voce statica. Le voci statiche sono voci aggiunte manualmente alla cache ARP. Vale la pena notare, tuttavia, che le voci statiche vengono rimosse al riavvio del sistema.

Devo essere onesto con te in quanto non ho mai dovuto creare una voce di tabella ARP statica.

Ricordare che le voci della tabella ARP vengono create automaticamente come risultato del tentativo di comunicare con un host.

Pertanto, se si rimuove una voce in conflitto dalla cache ARP, una nuova voce prenderà il suo posto la prossima volta che si tenterà di comunicare con l’host.

Supponendo che il conflitto dell’indirizzo IP sia stato risolto, la nuova voce della cache ARP dovrebbe contenere informazioni corrette.

Pulisci dopo il conflitto

Il comando ARP probabilmente non è una di quelle cose che ti sorprenderesti ad usare quotidianamente. Anche così, questo comando può fornire informazioni sul modo in cui funziona il processo di risoluzione degli indirizzi. È utile per ripulire dopo un conflitto di indirizzi IP, ma potrebbe essere ancora più utile come strumento di formazione educativa per chi è nuovo al networking.

kali

Kali Linux, setup your own web application pentesting lab

Without any preface, let me get straight to the point. In this tutorial, we will be installing Damn Vulnerable Web Application (DVWA) on a Ubuntu virtual machine. Our attacker machine would be Kali Linux, which is also installed as a virtual machine (or virtual box). The host can be any OS, and doesn’t matter since we won’t be using it at all. An alternate configuration is when your host is either Kali or Ubuntu, in which case you need only one VM, to install their the other OS. Alternatively, you could just use a single Kali machine both as attacker as well as victim (running the vulnerable application). However, that makes things less realistic.

Contents

  1. Pre-requisites
  2. Installing DVWA

Disclaimer : No cool stuff in this tutorial, just straightforward installation.

Pre-requisites

You need to have Kali Linux (rolling release) and Ubuntu (I’m using 16.04) up and running. If you aren’t familiar with virtual machines and stuff, then take a break of a few days, get familiar with them, install and run a few Linux (any flavour) VMs, drink some coffee, etc. Once you’re comfortable with virtual machines (and have Kali & Ubuntu up nd running), proceed onward.

You also need some minimal knowledge of linux, networking, and web applications. As an exercise, you could try getting some free web host (a pathetic one will suffice, since you are only doing this for learning and won’t need anyone to use your website), and deploy a wordpress site. Tinker around the website, install themes and stuff to get a feel for it. Then, go one step further and deploy a wordpress instance on your linux virtual machine. This time, don’t use the wordpress UI to do things, but instead try and figure out stuff manually. Install themes, modules, etc. on your own by placing them in the correct directory. Just tinker away, in short, till you have some level of familiarity with web applications.

Now, you are familiar with web apps, virtual machines, and linux (not networking though). The task above were pretty simple but for now you can move ahead with the tutorial with the given amount of expertise. Also, the pre-reqs listed above are for the entire web pentesting series, and most probably you’ll be able to follow this tutorial without completing some of them, since this is the first and very basic installation tutorial.

Important: Make sure you use the same version of stuff as me. This will avoid scenarios where our systems behave differently (in which case you’ll have to use google-fu to figure our how to deal with unexpected stuff happening).

Ubuntu Version – 16.04.1 LTS
XAMPP Version – 7.1.1 (you’ll install this later in the tut)

Installing DVWA

This is a fairly simple procedure.  Below are screenshots with explanation. At the end of the tutorial, I have listed commands that you need to type to get all this done (you can simply copy paste the commands). The unnecessary steps are not present in list of commands (in screenshots they are there to enhance your understanding oh what’s going on).

Overview-

  1. First we will download DVWA.
  2. Then we read it’s doc and find out what to do.
  3. After reading doc, we realize we need to install XAMPP, we do that.
  4. After installing XAMPP, we test if it works by starting it and opening localhost on our machine.
  5. Once we’re sure that XAMPP works, we will proceed and copy DVWA files to htdocs folder of XAMPP.
  6. Now we check if localhost/DVWA-master leads us to the vulnerable app. If it does, then we did everything right.
Open Damn Vulnerable Web App website in your browser. Click on download. You’ll get an archive, extract it.
Navigate to the extracted archive. Get a lay of the land. You’ll find that there is documentation available in docs folder.
Here is the relevant section of the documentation. We need to install XAMPP. You can get it to work
with any other equivalent software bundle, but for ease, let’s stick to the recommended way.
Proceed to download the XAMPP bundle. I went with the latest version (going with latest version
poses a slight problem for us, while DVWA is flawed, our PHP version is perfectly patched. For now, let’s
ignore this. If this cause hinderance at a later stage, then we’ll deal with it)
Navigate to downloads directory and run the installer for XAMPP
Realise that you forgot to run the installer as root! (kudos if you ran as root and didn’t make the
same mistake as me)
Run installer as root
It’s a simple installer. You’d know what to do.
Wait for it to finish.
Start the XAMPP server (note that the directory is lampp in linux systems)
Check if your server is running by typing 127.0.0.1 or localhost on your browser. XAMPP is now up
and running properly. Let’s run our vulnerable app on XAMPP now.
As suggested by the documentation, we simply move our folder into the htdocs directory.
Open the localhost/DVWA-master URL and you’ll see that everything works as expected. Our initial
setup is successfully done.

There is still further configuration to be done, but I don’t want to extend the tutorial any further. After the next section, there is link to part 2 of this series.

Commands

For below commands to work, ensure the following-

  • xampp-linux-x64-VERSION-installer.run – this file downloaded and is located in Downloads folder
  • DWVA-master directory is located in home folder (the archive to be downloaded and extracted to obtain this directory).
  • Replace VERSION with the version you have downloaded (7.1.1.0 in my case)
Here are the commands-
  1. cd ~/Downloads
  2. chmod a+x xampp-linux-x64-VERSION-installer.run
  3. cd ~
  4. sudo ./xampp-linux-x64-VERSION-installer.run
  5. sudo mv ~/DWVA-master/ /opt/lampp/htdocs/

Part 2 : fixing the problems and finishing the configuration. Here’s the link –

Configuring DVWA

Extras

  1. Read about localhost (what does this URL signify – 127.0.0.1)
  2. Commands used – ls, cd, mv, sudo. Use man pages to find out what these mean (eg. type man mv into the terminal)

Powered by WordPress & Theme by Anders Norén

English English Italian Italian