Script Kiddies: ¿cómo encuentran la IP de mi servidor?

87

He configurado un sitio en Digital Ocean sin un dominio todavía, por lo que solo existe la IP. A pesar de no informar a nadie sobre su existencia o anunciarlo, recibo cientos de avisos de fail2ban de que varias IP están intentando piratear mi puerto SSL o están buscando archivos PHP.

¿Pero cómo saben que yo sí existo? ¿De dónde obtienen la IP?

    
pregunta microwth 12.02.2016 - 13:53
fuente

6 respuestas

128

No puedes ocultar tu dirección IP en internet. No son secretos.

Mucho más de lo que dijo @DeerHunter. Es trivial escanear todo el internet. Si lo desean, pueden dirigirse a las gotas de océano digitales conocidas que están en línea.

Pueden hacerlo en un temporizador para que cuando se desconecte o esté en línea, siga intentando, ya que pueden ser objetivos de alto valor que podrían volverse vulnerables en cualquier momento.

Déjame darte un ejemplo de codificación muy aproximado . Supongamos que su dirección IP es 104.16.25.255 . Obtengamos la dirección IP de www.digitalocean.com para que podamos verificar fácilmente las direcciones IP asociadas. www.digitalocean.com devuelve 104.16.25.4 . Vamos a escanear todo: 104.16.25.*

El escaneo es increíblemente fácil desde el punto de vista de la programación

Supongamos que queremos intentar encontrar todas las direcciones IP asociadas cercanas. Supongamos que los programas pueden manejar números y patrones muy bien. Aquí hay un ejemplo de un entero que se incrementa:

i++;

Esto incrementa el valor actual de i en 1 . Supongamos que i comienza como 1 . Después de i++ , obtendrás 2 . Echa un vistazo a este bucle dolorosamente simple:

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

Una variante alternativa de bash de una línea sería la siguiente:

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

Acaba de escanear 104.16.25.1 y cambió i de 0 a 1 . A medida que todo el bucle continúa, pasará de 104.16.25.0 a 104.16.25.255 . No tengo tiempo para escanear y mirar ahora, sin embargo, es posible que este pequeño bloque no simplemente pertenezca a digitalocean .

Para encontrar más objetivos en DigitalOcean, un programador puede cambiar los números aún más. Por ejemplo, introduzca otro bucle que anide el bucle mencionado anteriormente en el interior y agregue j : scanIpAddress("104.16." + j + "." + i); . Esto les permitirá escanear 104.16.1-255.1-255 .

Desde allí, pueden seguir retrocediendo y anidando bucles hasta que obtengan todo el internet. Hay otras formas más eficientes de hacer esto, como masscan, pero esta es la forma más básica.

Nuevamente, esto también se puede hacer en la línea de comandos con una línea:

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 

Otros métodos

El ejemplo anterior fue un ejemplo realmente aproximado . Pueden estar haciendo más, su código puede ser diferente y pueden estar usando métodos y / o programas completamente diferentes. Sin embargo, el concepto es prácticamente el mismo.

También es posible que los programas en cuestión estén dirigidos solo a todos en masa.

Entonces, ¿cómo puedo ocultar mis cosas en línea?

Si está en línea, lo que sea que esté ocultando, lo encontrarán ... o intentarán encontrarlo.

Sin embargo, dependiendo de su servidor web, puede probar enlace como .htaccess . Si está utilizando controles de acceso, nuevamente, esto depende de su servidor web, entonces es probable que pueda evitar que otras personas vean / accedan .

Sin embargo, eso no lo protegerá contra intentos de inicio de sesión que no sean del sitio web. Y si les niegas el acceso a páginas web inexistentes, ahora saben que estás realmente en línea, ¡y pueden enfocar sus ataques más fácilmente! Sin embargo, es todavía bueno práctica.

Aquí hay un ejemplo .htaccess deny para Apache (2.4 y versiones posteriores):

Require ip 192.168.1.100

En el ejemplo anterior, le está negando a todos el acceso a esa carpeta, excepto su dirección IP. Tenga en cuenta que 192.168.1.100 es una dirección IP local. Tendrás que reemplazarlo con tu dirección IP pública.

Además, tenga en cuenta que si su atacante está ejecutando un proxy / VPN en su máquina, ellos aún pueden acceder a esas páginas. Si su atacante ya tiene acceso al sitio web, puede editar el archivo .htaccess o eliminarlo. Nada es 100%.

Simplemente no ponga nada en línea si no está listo para ser escaneado. Todos tienen un plan hasta que se escanean en el puerto en la boca.

    
respondido por el Mark Buffalo 12.02.2016 - 14:19
fuente
53

El espacio de direcciones de IPv4 está limitado a solo 4,294,967,296 direcciones. [nota 1] Dado el ancho de banda suficiente, resulta trivial analizar cada una de las direcciones IP, especialmente si eres el propietario de una red de bots que consta de miles de dispositivos pirateados.

Con IPv6 [nota 2] , las cosas son un poco más difíciles: con más de 300,000,000,000,000,000,000,000,000,000,000,000,000 direcciones , se vuelve impráctico enumerarlos todos. Sin embargo, todavía hay varios medios por los cuales se pueden descubrir las direcciones; por ejemplo, en un caso reciente motor de búsqueda de Internet de las cosas Shodan fue detectado usando servidores NTP para descubrir nuevos hosts IPv6 cuando sincronizaban sus relojes.

La esencia de esto: si no estás listo para ser investigado, no deberías estar en internet. Se puede escanear todo Internet IPv4 en cuestión de días , y su dirección IPv6 también se descubrirá, a menos que No lo estamos usando en absoluto.

Nota 1: Algunos de estos no están disponibles porque se han reservado para fines especiales.
Nota 2: IPv6 solo está disponible para Digital Usuarios del océano cuando lo hayan habilitado .

    
respondido por el user2428118 12.02.2016 - 16:29
fuente
25
  

Pero, ¿cómo saben que yo sí existo?

No saben que usted existe. No saben que están hablando con usted : solo saben que están hablando con una computadora con una dirección IP en particular. Las direcciones IP se parecen mucho a los números de teléfono. Si marca un código de área legítimo seguido de un número aleatorio con el número correcto de dígitos, existe la posibilidad de que hable con alguien, especialmente si el código de área tiene muchos suscriptores. Eso no significa que "supieras que esa persona existe": solo significa que descubriste que su número de teléfono está conectado.

  

¿De dónde obtienen la IP?

No lo consiguen de ninguna parte. Es solo un número de 32 bits y realmente no hay muchos de esos. 134.183.96.2 allí, esa es una dirección IP. Lo conseguí combinando mi teclado (y borrando dígitos no válidos). Probablemente pertenece a alguien porque casi todas las direcciones IP lo hacen. Los malos simplemente escanean sistemáticamente el espacio de direcciones; encontrarán cualquier dirección IP porque "encontrar" simplemente significa "generar suficientes números válidos".

    
respondido por el David Richerby 12.02.2016 - 19:28
fuente
2
  

Pero, ¿cómo saben que yo sí existo?

Saben que algo existe en esa dirección IP porque su escáner se lo está diciendo. Lo más probable es que no hayan venido a buscarte, simplemente se encontraron con esa dirección IP al escanear fragmentos grandes o toda Internet.

enlace

    
respondido por el Oscalation 13.02.2016 - 04:51
fuente
2
  1. Las direcciones IP son finitas.
  2. Las direcciones IP se asignan en bloques.

Para que pueda escanear todas las IP de la PC de su hogar en aproximadamente un año, aunque su ISP se dé cuenta y le pregunte qué está tratando de obtener. Es más probable que algunos bloques contengan servidores mal protegidos, específicamente los bloques asignados a los proveedores de alojamiento. Escanear solo estos bloques es muy barato, rápido y fácil, y la probabilidad de éxito es comparativamente alta.

El escaneo desde una única IP es problemático, porque su IP se bloqueará pronto, por lo que estas personas usan botnets o el equivalente comercial: servicios en la nube. No necesitas construir tu propia botnet. En su lugar, puede alquilar una red de bots .

    
respondido por el Peter 14.02.2016 - 14:46
fuente
1

Lo más probable es que no sepan que la IP dada te pertenece en particular. Pero sí conocen el grupo de IP que pertenece a su empresa de alojamiento y utilizan esa información para buscar hosts activos. Puede usar iptables para mejorar la seguridad de su caja, o para limitar el número de conexiones y tipos de conexiones, pero aparte de eso, no hay nada más que pueda hacer. El internet estaba destinado a ser usado para compartir información. Si no desea compartir, simplemente desconecte la caja (caja de desarrollo). Si se trata de un cuadro de desarrollo, sería una buena idea moverlo localmente y no brindarle acceso fuera de su LAN.

    
respondido por el user100251 14.02.2016 - 17:28
fuente

Lea otras preguntas en las etiquetas