(http://www2.one2m.ca/wp-content/uploads/Cloudflare.png&t=11b31c043152c30b0886524e2b37a19d)
¿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: www.remoteexecution.info
Entonces cojo mi consola y hago ping www.remoteexecution.info la cual nos arroja una ip:
(http://i48.tinypic.com/x1c03n.jpg)
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:
(http://i50.tinypic.com/11grdqe.jpg)
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:
<?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: www.sitioweb.com/cloud.php?find=remoteexecution.info
La cual la web nos devolverá el resultado:
(http://i50.tinypic.com/2hg4dhv.jpg)
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: http://secuity2.hostingfire.org/cloud.php?
Espero les sirva.
Saludos.
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):
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
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:
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.
hola a todos manes yo encontre un video tutorial xd en google aqui los posteo y comparto con ustedes la URL saludos
http://www.youtube.com/watch?v=5T285lYlWD4 (http://www.youtube.com/watch?v=5T285lYlWD4)
Muy útil en mi parecer... Gracias
Saludos,
Dedalo
Existen muchos metodos para obtener dichas ip, tambien con un simple who.is sacas todo...
Dejare otro code en Python para obtener la IP Real
# 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.
Esperemos que los de cloudflare no se haigan dado cuenta.
Gracias.