Obteniendo IP Real en Sitios Protegidos por CLOUDFLARE

Iniciado por CalebBucker, Junio 21, 2012, 03:08:01 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 21, 2012, 03:08:01 PM Ultima modificación: Agosto 09, 2014, 09:46:59 AM por Expermicid

¿Alguna vez te topastes con un sitio web protegido por CloudFlare? ¿No suspistes como obtener la IP real del sitio web?  Pues en esta entrada te enseñare como obtener la IP real de un sitio web protegido por CloudFlare, sera simple y rapido.

¿Que es CloudFlare?

CloudFlare protege y acelera cualquier sitio web en línea. Una vez que su sitio web es una parte de la comunidad CloudFlare, su tráfico de Internet pasa a través de nuestra red global inteligente. De manera automática, optimizar la entrega de sus páginas web para que los visitantes obtener el mejor tiempo de carga de página y el mejor rendimiento. También bloquean las amenazas y limitar los robots rastreadores abusivo y de perder su ancho de banda y recursos del servidor. El resultado: powered CloudFlare sitios web de ver una mejora significativa en el rendimiento y una disminución en los ataques de spam y otros

Cuando un sitio web esta protegido por CloudFlare, esta "esconde" la IP real del mismo, entonces esto evita que el sitio pueda ser denunciado u objeto de un ataque DDOS, entonces cuando un atacante quiera realizar dicho ataque, lo primera que hara sera hacer un PING, entonces el sitio le arrojara una IP falsa, la cual el atacante enviara el DDOS a dicha ip y el sitio no caera porque no esta atacando a la IP real.

¿Como se que un sitio esta protegido por CloudFlare?

Es muy facil, yo tomare un sitio protegido por CloudFlare y hare lo que hace un atacante, lo primero que hago es hacer PING  a una web cualquiera:

Ejemplo: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Entonces cojo mi consola y hago ping No tienes permitido ver los links. Registrarse o Entrar a mi cuenta la cual nos arroja una ip:


Como ven la ip que nos arroja es 108.162.197.178 entonces copiamos dicha IP y la pegamos en nuestro navegador para comprobar si es la IP de dicha web.

& oh!! Sorpresa... la ip nos arroja DNS ERROR:


Como ven, ahí comprobamos que el sitio web esta protegido por CloudFlare, entonces la pregunta del millon...

¿Como obtengo la IP real de un sitio protegido por CloudFlare?

Actualmente existen muchas formas de obtener la IP real, pero algunas no son efectivas, otras no funcionan y otras nos hacen perder el tiempo.

En este caso, les dejare un pequeño script en PHP, la cual realiza la funciona de buscar la IP real de cualquier sitio web protegido por CloudFlare.

Script:
Código: php
<?php

/*
* getCF.php
* I got tired of looking up the DNS records of these various hosts
* to find the real IP of a CloudFlare protected Server.
* www.bigkesh.com
* orgy[at]bigkesh[dot]com
* Usage: php getCF.php domain.com
* Usage2: www.yoursite.com/getCF.php?find=domain.com
*/

if (!isset($argv[1]) && !isset($_GET['find']))
{
    die("Argument needs to be a valid hostname.\n");
}

$lookupArr = array("mail.", "direct.", "direct-connect.", "cpanel.", "ftp.");

foreach ($lookupArr as $lookupKey)
{

    if (isset($_GET['find']))
    {
        $newline = "<br />";
        $lookupHost = $lookupKey . $_GET['find'];
    }
    else
    {
        $newline = "\n";
        $lookupHost = $lookupKey . $argv[1];
    }

    $foundHost = gethostbyname($lookupHost);

    if ($foundHost == $lookupHost)
    {
        echo "{$lookupHost} had no DNS record.{$newline}";
    }
    else
    {
        echo "{$lookupHost} = {$foundHost}{$newline}";
    }
}

?>


Copiamos todo el código y lo guardamos con el nombre que ustedes quieran... la subimos a un hosting cualquiera, puede ser gratis o de paga.

Veamos como funciona:

Yo he guardado el código con el nombre cloud.php entonces la he subido a mi hosting y hago la consulta desde el navegador.

Ejemplo: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

La cual la web nos devolverá el resultado:


La ip que nos arrojo es: 170.210.156.90 entonces quiere decir que esa es la IP real del sitio web, con lo que ya podemos proceder a realizar cualquier cosa con dicha IP.

Recuerden colocar el find= después del código para cada consulta y solo colocar la web directa, mas no  http ni www

Pueden utilizar el script desde mi hosting: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta?

Espero les sirva.

Saludos.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Junio 21, 2012, 03:37:54 PM #1 Ultima modificación: Junio 21, 2012, 03:52:02 PM por andresg888
Gracias por compartir.

A continuación publico otra forma de obtener la ip real del host mediante un bruteo a las dns (lo cuál es practicamente lo mismo que hace el script pero en este caso sería a mano):

Código: php
MacBook-de-Andres-Gomez:~ andresgo$ sudo  nmap -sV -sS -F www.remoteexecution.info
Password:

Starting Nmap 6.00 ( http://nmap.org ) at 2012-06-21 15:32 UYT
Nmap scan report for www.remoteexecution.info (108.162.197.78)
Host is up (0.80s latency).
Other addresses for www.remoteexecution.info (not scanned): 108.162.197.178
Not shown: 96 filtered ports
PORT     STATE  SERVICE   VERSION
80/tcp   open   http      cloudflare-nginx
443/tcp  closed https
8080/tcp open   http      cloudflare-nginx
8443/tcp closed https-alt

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 33.10 seconds


Código: php
MacBook-de-Andres-Gomez:~ andresgo$ sudo  nmap --script dns-brute -sn www.remoteexecution.info

Starting Nmap 6.00 ( http://nmap.org ) at 2012-06-21 15:33 UYT
Nmap scan report for www.remoteexecution.info (108.162.197.78)
Host is up (0.83s latency).
Other addresses for www.remoteexecution.info (not scanned): 108.162.197.178

Host script results:
| dns-brute:
|   DNS Brute-force hostnames
|     www.remoteexecution.info - 108.162.197.178
|     www.remoteexecution.info - 108.162.197.78
|     mail.remoteexecution.info - 170.210.156.90
|     ipv6.remoteexecution.info - 108.162.197.178
|     ipv6.remoteexecution.info - 108.162.197.78
|     ipv6.remoteexecution.info - 2400:cb00:2048:1:0:0:6ca2:c54e
|     ipv6.remoteexecution.info - 2400:cb00:2048:1:0:0:6ca2:c5b2
|     direct.remoteexecution.info - 170.210.156.90
|_    ftp.remoteexecution.info - 170.210.156.90

Nmap done: 1 IP address (1 host up) scanned in 43.94 seconds


Como se puede observar, 170.210.156.90 es la ip del host que aloja a remoteexecution.

Aprovecho también para comentar que el script publicado por CalebBucker puede ser ejecutado por línea de comandos (basta con tener php instalado), de esta manera nos ahorraríamos tener que subirlo a un hosting.

Ejemplo de ejecución:

Código: php
MacBook-de-Andres-Gomez:~ andresgo$ php cf.php remoteexecution.info
mail.remoteexecution.info = 170.210.156.90
direct.remoteexecution.info = 170.210.156.90
direct-connect.remoteexecution.info = 170.210.156.90
cpanel.remoteexecution.info = 170.210.156.90
ftp.remoteexecution.info = 170.210.156.90


Saludos,


Excelente aporte CalebBucker para tener presente.
Gracias por el comentario andresg888  ;D.
Saludos.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

hola a todos manes yo encontre un video tutorial xd en google aqui los posteo y comparto con ustedes la URL saludos

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
¡ aprender de los errores , llegaria muy lejos !

Muy útil en mi parecer... Gracias


Saludos,
Dedalo
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Existen muchos metodos para obtener dichas ip, tambien con un simple No tienes permitido ver los links. Registrarse o Entrar a mi cuenta sacas todo...

Dejare otro code en Python para obtener la IP Real
Código: php
# Cloudflare > real ip
# Coded by Dan
# Shoutouts to Mx. And Hax0r.

import socket

def getsite():
    global site
    site = raw_input("[!] Enter the URL: ")
    if site[:7] == "http://":
  site = site[7:]

getsite()

def getip():
    list = ["cpanel.","ftp.","mail.","webmail.","direct.","direct-connect.", "record."]
    print("[!] Trying to grab the real IP using different protocols.")
    for item in list:
  try:
     ip = socket.gethostbyname(item + site)
     print "[+] " + item + site +  ", " + ip + " found."
  except:
    print("[-] " + item + site + " not found.")

getip()


Saludos.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Esperemos que los de cloudflare no se haigan dado cuenta.
Gracias.