Attacco DoS (Denial of Service)

Dobbiamo essere sempre attenti ai diversi attacchi informatici a cui siamo esposti. Questa volta parleremo di a attacco informatico che attacca la disponibilità di un servizio, Riguarda Attacco DoS (Denial of Service). Questo attacco può essere effettuato in modo distribuito (DDoS), sarà normalmente effettuato tramite una botnet. Gli aggressori hanno l'obiettivo che gli utenti di un servizio non possano utilizzarlo, perché è saturo, sicuramente hai sentito parlare degli attacchi che PlayStation Network ha subito, è anche possibile che a causa di uno di quegli attacchi un giorno tu non possa giocare in linea.

Hai potuto vedere che il Attacco DoS e DDoSUna differenza che troviamo tra un attacco e l'altro è che nel primo utilizziamo una macchina e una connessione, e nel secondo verranno utilizzati molti computer, quindi l'attacco è molto più duro ed efficace.

NotaPer capire bene l'attacco, è necessario che tu sappia come funziona TCP/IP, o almeno avere nozioni di base di Reti.

Diversi modi per eseguire l'attacco


Per imparare la sicurezza ed essere in grado di proteggersi, è necessario sapere come si effettuano gli attacchi. In questo attacco possiamo vedere che può essere effettuato in molti modi, eccone alcuni, con una breve spiegazione:

SYN FloodQuesto attacco consiste nell'inviare richieste di connessione (pacchetti con flag SYN attivo) alla vittima da indirizzi IP di origine falsi, la quale risponderà con pacchetti contenenti l'ACK e i flag SYN attivi, e attenderà che l'origine della connessione risponda con l'ACK flag impostato, ma questo non accadrà mai.

Inondazione ICMPIn questo tipo, l'attaccante vuole consumare la larghezza di banda della vittima inviando numerosi pacchetti ICMP di grandi dimensioni, questo avviene tramite il ping.

Inondazione UDPQui verranno create grandi quantità di pacchetti UDP, che verranno inviati alla vittima su porte casuali.

Buffer in eccessoTipo di attacco "classico", l'attaccante invierà alla vittima più pacchetti di quanti il ​​buffer del servizio possa gestire, questo fa sì che il servizio non risponda alle richieste legittime, in quanto saturato.

Ci sono più tipi, come HTTP flood, Amplificazione NTP, eccetera.

Esempio di attacco DoS in Python


Ora vedremo un piccolo esempio di codice in Python che sarà basato sull'attacco SYN flood, il test verrà effettuato in modo controllato con macchine virtuali.
 import logging logging.getLogger ("scapy.runtime"). setLevel (logging.ERROR) from scapy.all import * conf.verb = 0 host = "192.168.56.1" port = 80 originIP = "192.168.1." endIP = 10 pacchetto_numero = 0 mentre True: pacchetto_numero + = 1 pacchetto = IP (src = (sourceIP + str (endIP)), dst = host) / TCP (sport = RandShort (), dport = porta) send (packet, inter = 0.0002) print ("Packet% d sent"% packet_number) endIP + = 1 if (endIP == 200): endIP = 10
Il codice è abbastanza semplice, stiamo usando la versione 3 di Python e usiamo la libreria Scapy, che è molto potente e ci rende le cose più facili.

La prima cosa che vediamo è importare le librerie necessarie, il registro serve per evitare l'avviso che Scapy lancia su IPv6. Allora si usa conf.verbo = 0, questo viene fatto in modo che Scapy non visualizzi le informazioni.

Successivamente viene creata la variabile ospite, che altro non è che l'IP del bersaglio del nostro attacco e la variabile porta che è il porto del nostro obiettivo.

In modo che non sia sempre lo stesso indirizzo di origine, ho creato una variabile che ha la base (origine IP) e un altro che verrà aggiunto alla fine (endIP), come puoi vedere, sono concatenati durante la creazione del pacchetto origineIP + str (endIP).

La variabile numero_pacchetto serve semplicemente per tenere traccia dei pacchi che sono stati spediti.

L'ultima parte è un ciclo infinito, che è quello che si occupa di tutto, creiamo il pacco e lo inviamo, mostriamo anche che il pacco è stato inviato, perché abbiamo le informazioni, e aggiorniamo le variabili endIP numero_pacchetto.
Se eseguiamo il codice e usiamo wireshark, possiamo vedere come vengono inviati i pacchetti, controlliamo che l'IP di origine sia ogni volta diverso, così come la porta.

Se la guardiamo, la colonna Origine dell'immagine precedente continua a cambiare, la colonna Destinazione no, poiché è la nostra vittima.

Contromisure


purtroppo le aziende subiscono molte perdite durante l'anno a causa di questo tipo di attacco, quindi è molto importante implementare contromisure, di seguito sono elencate alcune di quelle che dovremmo prendere in considerazione:
  • Configurare correttamente i sistemi Firewall o IDS o IPS
  • Limita il numero di pacchetti TCP SYN al secondo
  • Analizza il traffico di rete
  • Ricerca inversa dell'IP, serve per evitare lo spoofing

Se vuoi saperne di più sui problemi di sicurezza, puoi visitare la categoria dedicata alla sicurezza all'interno di Solvetic.

Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave