Script Kiddies: come trovano l'IP del mio server?

89

Ho creato un sito su Digital Ocean senza un dominio ancora, quindi c'è solo l'IP. Nonostante non ne racconti nessuno della sua esistenza o la pubblicizzi, ottengo centinaia di notifiche da fail2ban che vari IP stanno tentando di hackerare la mia porta SSL o sono alla ricerca di file PHP.

Ma come fanno a sapere che io esisto? Da dove prendono l'IP?

    
posta microwth 12.02.2016 - 13:53
fonte

7 risposte

132

Non puoi nascondere il tuo indirizzo IP su Internet. Non sono segreti.

Praticamente ciò che dice @DeerHunter. È banale scansionare l'intero internet. Se lo desiderano, possono scegliere come target le goccioline oceaniche digitali conosciute online.

Possono farlo su un timer in modo che quando vai offline o online, continui a provare come potrebbero essere bersagli di alto valore che potrebbero diventare vulnerabili in un momento.

Consentitemi di darvi un esempio di codifica molto approssimativo . Supponiamo che il tuo indirizzo IP sia 104.16.25.255 . Prendiamo l'indirizzo IP di www.digitalocean.com in modo da poter controllare facilmente gli indirizzi IP associati. www.digitalocean.com restituisce 104.16.25.4 . Analizziamo tutto: 104.16.25. *

La scansione è incredibilmente semplice da un punto di vista della programmazione

Supponiamo di voler provare e trovare tutti gli indirizzi IP associati nelle vicinanze. Assumi che i programmi possano gestire numeri e schemi molto bene. Ecco un esempio di incremento di un intero:

i++;

Aumenta il valore corrente di i di 1 . Supponiamo che i inizi come 1 . Dopo i++ , otterrai 2 . Dai un'occhiata a questo ciclo dolorosamente semplice:

for (int i = 1; i < 256; i++)
{
    scanIpAddress("104.16.25." + i);
}

Una variante bash alternativa a una riga sarebbe la seguente:

for ip in 'seq 1 255'; do scan_thingy_command 192.168.0.$ip --options -oG lol.txt; done

Hai appena eseguito la scansione di 104.16.25.1 e modificato i da 0 a 1 . Mentre l'intero ciclo continua, passerà da 104.16.25.0 a 104.16.25.255 . Non ho tempo per scansionare e guardare adesso, tuttavia, è possibile che questo piccolo blocco non solo appartenga a digitalocean .

Per trovare più obiettivi su DigitalOcean, un programmatore può modificare ulteriormente i numeri. Ad esempio, introdurre un altro ciclo che annida il ciclo sopra menzionato all'interno e aggiungi j : scanIpAddress("104.16." + j + "." + i); . Ciò consentirà loro di scansionare 104.16.1-255.1-255 .

Da lì, possono continuare ad andare indietro e ad annidarsi per loops fino a quando non ottengono l'intero internet. Ci sono altri modi più efficienti per farlo, come ad esempio il masscan, ma questo è il modo più semplice.

Anche in questo caso si può fare anche sulla riga di comando con una riga:

for oct1 in 'seq 1 255'; do for oct2 in 'seq 1 255'; do for oct3 in 'seq 1 255'; do for oct4 in 'seq 1 255'; do scan $oct1.$oct2.$oct3.$oct4 --stuff; done; done; done; done 

Altri metodi

L'esempio precedente era un esempio approssimativo . Potrebbero fare di più, il loro codice potrebbe essere diverso e potrebbero utilizzare metodi e / o programmi completamente diversi. Tuttavia, il concetto è praticamente lo stesso.

È anche possibile che i programmi in questione abbiano come target tutti in massa.

Quindi, come posso nascondere i miei articoli online?

Se è online, qualunque cosa tu stia nascondendo, lo troveranno ... o cercheranno di trovarlo.

Tuttavia, a seconda del tuo server web, puoi provare link come .htaccess . Se stai usando i controlli di accesso - di nuovo, questo dipende dal tuo server web - allora è probabile che sarai in grado di impedire ad altri di visualizzare / accedere a pagine.

Tuttavia, ciò non ti proteggerà dai tentativi di accesso senza sito web. E se neghi loro l'accesso a pagine Web inesistenti, ora sanno che sei veramente online e possono concentrare i loro attacchi più facilmente! Tuttavia, è ancora buono pratica.

Ecco un esempio di .htaccess deny per Apache (2.4 e successive):

Require ip 192.168.1.100

Nell'esempio precedente, stai negando a tutti l'accesso a quella cartella, ad eccezione dell'indirizzo IP. Tieni presente che 192.168.1.100 è un indirizzo IP locale. Dovrai sostituirlo con il tuo indirizzo IP pubblico.

Inoltre, tieni presente che se l'utente malintenzionato esegue un proxy / VPN sul tuo computer, loro possono ancora accedere a tali pagine. Se l'utente malintenzionato ha già accesso al sito Web, può modificare il file .htaccess o rimuoverlo. Niente è al 100%.

Non mettere nulla online se non sei pronto per essere scansionato. Ognuno ha un piano fino a quando non viene scansionato in bocca.

    
risposta data 12.02.2016 - 14:19
fonte
57

Lo spazio per gli indirizzi IPv4 è limitato a soli 4.294.967.296 indirizzi. [nota 1] Dato abbastanza larghezza di banda, diventa banale scansionare ogni singolo indirizzo IP, soprattutto se sei il proprietario di una botnet composta da migliaia di dispositivi hackerati.

Con IPv6 [nota 2] , le cose sono un po 'più complicate: con più di 300.000.000.000.000.000.000.000.000.000.000.000.000.000 di indirizzi , diventa poco pratico elencarli tutti. Tuttavia, ci sono ancora vari modi con cui gli indirizzi possono essere scoperti; ad esempio, in un caso recente Motore di ricerca di Internet delle cose Shodan è stato catturato usando i server NTP per scoprire nuovi host IPv6 quando sincronizzavano i loro orologi.

L'essenza di questo: se non sei pronto per essere sondato, non dovresti essere su Internet. La scansione dell'intero Internet IPv4 può essere eseguita in pochi giorni e anche il tuo indirizzo IPv6 verrà scoperto, a meno che non lo usi affatto.

Nota 1: alcuni di questi non sono disponibili perché sono stati riservati per scopi speciali.
Nota 2: IPv6 è disponibile solo per Digital Utenti oceanici quando lo hanno abilitato .

    
risposta data 12.02.2016 - 16:29
fonte
25

But how do they know that I do exist?

Non sanno che tu esistono. Non sanno che stanno parlando con tu : sanno solo che stanno parlando a un computer con un particolare indirizzo IP. Gli indirizzi IP sono molto simili ai numeri di telefono. Se componi un prefisso legittimo seguito da un numero casuale con il numero giusto di cifre, c'è una buona possibilità che tu possa parlare con qualcuno, specialmente se il prefisso ha molti abbonati. Ciò non significa che tu "sapessi che quella persona esiste": significa solo che hai scoperto che il loro numero di telefono è connesso.

Where do they get the IP from?

Non lo capiscono da nessuna parte. È solo un numero di 32 bit e non ce ne sono davvero tanti. 134.183.96.2 lì, questo è un indirizzo IP. L'ho preso schiacciando la mia tastiera (e cancellando cifre non valide). Probabilmente appartiene a qualcuno perché quasi tutti gli indirizzi IP lo fanno. I malintenzionati scansionano sistematicamente lo spazio degli indirizzi; troveranno qualsiasi indirizzo IP perché "trovare" significa semplicemente "generare numeri validi sufficienti".

    
risposta data 12.02.2016 - 19:28
fonte
2

But how do they know that I do exist?

Sanno che qualcosa esiste su quell'indirizzo IP perché il loro scanner le dice così. Molto probabilmente non sono venuti a cercarti, ma si sono imbattuti in quell'indirizzo IP eseguendo la scansione di grandi blocchi o dell'intero Internet.

link

    
risposta data 13.02.2016 - 04:51
fonte
2
  1. Gli indirizzi IP sono finiti.
  2. Gli indirizzi IP sono assegnati in blocchi.

Così puoi scansionare tutti gli IP dal tuo PC di casa tra circa un anno, anche se il tuo ISP potrebbe notare e chiederti cosa stai cercando di tirare. Alcuni blocchi hanno maggiori probabilità di contenere server scarsamente protetti, in particolare i blocchi assegnati ai provider di hosting. Scansionare solo questi blocchi è molto economico, veloce e facile e la probabilità di successo è relativamente alta.

Scansionare da un singolo IP è problematico, perché il tuo IP verrà presto bloccato, quindi queste persone usano botnet, o l'equivalente commerciale: i servizi cloud. Non è necessario creare la propria botnet. Invece puoi affittare una botnet .

    
risposta data 14.02.2016 - 14:46
fonte
1

Molto probabilmente non sanno che l'IP dato ti appartiene in particolare. Ma conoscono il pool IP che appartiene alla tua società di hosting e usano queste informazioni per cercare host attivi. È possibile utilizzare iptables per migliorare la sicurezza della propria casella o limitare il numero di connessioni e tipi di connessioni, ma a parte questo non c'è nient'altro che si possa fare. Internet doveva essere usato per condividere informazioni. Se non vuoi condividere basta scollegare la scatola (scatola di sviluppo). Se si tratta di una scatola di sviluppo, sarebbe una buona idea spostarla localmente e non fornire accesso ad essa al di fuori della tua LAN.

    
risposta data 14.02.2016 - 17:28
fonte
1

Perché è un compito facile scansionare gli indirizzi IP per le porte aperte.
Molti strumenti come ZMAP ( 1300x più veloce di NMAP ) puoi scansionare l'intero internet in poche ore se hai una connessione internet decente.

Come se si volesse scansionare l'intero internet sulla porta 80 quindi (il proprio ISP potrebbe chiedere):

sudo zmap -p 80 0.0.0.0/0

E ZMAP non analizzerà gli indirizzi IP privati (come nel file blacklist.conf)

    
risposta data 19.01.2019 - 05:37
fonte

Leggi altre domande sui tag