Professional Documents
Culture Documents
En esta oportunidad
vamos a practicar un poco del llamado GEO-IP de seguro ya muchos lo conocen, geo-ip una
herramienta muy conocida por marketers, diseadores de pginas webs, programadores webs,
especialistas en seguridad informtica y por supuesto por muchos de nosotros que la usamos con
fines diferentes a los dems.
Pero para que sirve GEO-IP: Para llevar a cabo anlisis de trfico, detectar el fraude en internet
personalizar el contenido web. (Para ms informacin visiten http://www.maxmind.com).
Pero para que lo usaremos nosotros, para que ser bueno conocer esta utilidad, de que
nos servir? Muchos de nosotros nos dedicamos a obtener dinero de manera "ilegal" - muchos
usamos botnets, muchos usamos trfico adwords / bing / facebook, muchos hacemos phissing,
muchos de nosotros hacemos spam, entre muchas cosas ms.
As mismo muchos de nosotros despus de mucho trabajo de hacer spam y haber montado
nuestro scam tambin haber montado nuestra botnet a los dos das nos suspendieron la cuenta,
nos enviaron un correo notificndonos de que nuestra cuenta fue suspendida por uso ilegal del
servidor.
* Muchos dirn existen sitios donde permiten malware y otro tipo de material pero muchas veces es
costoso alquilar uno de esos sitios, no todos tenemos los recursos para comprar ese tipo de
servicios, es una razn ms para compartir este pequeo manual pero estoy seguro que ser muy
til para muchos.
Antes de empezar a detallar el funcionamiento del material quiero aclarar algunos puntos:
Bueno amigos teniendo todo claro empezamos con nuestra prctica de GEO-IP.
MATERIALES:
<?php
error_reporting(0);
function getRealIpAddr() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip=$_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
date_default_timezone_set('America/Argentina/Buenos_Aires');//seteo para que me de la fecha de
mi pais
$fecha = date("d M Y H:i:s" ) ;
$refer = $_SERVER['HTTP_REFERER'];
$consulta = $_SERVER['QUERY_STRING'];
$browser = $_SERVER['HTTP_USER_AGENT'];
$ruri = $_SERVER['REQUEST_URI'];
$fh=fopen("visitas.txt","a+" ) ;
$ip=getRealIpAddr();
fputs($fh,"$fecha|$ip|$refer|$consulta|$browser|$ruri\n" ) ;
fclose($fh);
?>
En esta imagen podemos ver dos registros con 2 IP's sospechosas (para identificar IP's
sospechosas ya es cuestin de costumbre si manejamos este tipo de scripts para registrar
nuestras visitas) nos vamos a maxmind.com/es/geoip_demo e ingresamos ambas IP's y clic en
enviar, esa herramienta nos dir a que pas pertenece la IP (existen otras herramientas ms de
este tipo). Luego de ver de donde son esas IP's (176.34.29.74 Tokio, Japn / 66.150.114.186
Atlanta, EE.UU) ya con mucha seguridad sabremos de que tenemos visitas indeseadas. Ahora
imagnense cuantas visitas de ese tipo tendremos en una sola hora, pues seran muchsimas.
Instalacin del mdulo GEO-IP en nuestra VPS (probado en CentOs 6 x86) ya esta
actualizado con los ltimos repositorios.
Lo primero que
haremos es
ingresar a nuestra
VPS desde
consola, para eso
podemos utilizar el
PUTTY Bitvise
Tunnelier (me gusta
ms el segundo)
Lo primero que haremos es instalar el compilador GCC con el siguiente comando:
Hasta aqu ya tenemos los paquetes necesarios para poder instalar el mdulo GEO-IP en nuestra
VPS. A continuacin todos los comandos que debemos de copiar y pegar en nuestra consola de
nuestra VPS.
Paso 2: Descargar la base de datos de IPs: Es conveniente descargar con cierta frecuencia esta
base de datos ya que se va actualizando.
Hasta aqu espero de que no hayan tenido problemas. Ahora tenemos que configurar nuestro
archivo llamado httpd.conf aadiendo las siguientes lneas (ruta de nuestro archivo httpd.conf en
el VPS -----> /etc/httpd/conf) las lneas las copiaremos al final del texto.
Paso 4: Configurar los bloqueos: Ahora realizaremos algunas practicas en nuestra propia PC
para poder darnos cuenta de como funciona esta herramienta.
Yo siempre recomiendo usar el deepfreezer, yo lo uso por aos y sin dudarlo puedo decir que es
una forma de mantener una PC limpia de bichos raros, mantener la PC libre de cookies, mantener
sesiones cerradas de todas nuestras cuentas, etc etc (aclaro no estoy diciendo de que sea mejor
que un antivirus cortafuegos y no debera de usarse).
Conseguirse un VPN un Sock Proxy como deseen llamarlo para usarlo en esta prueba
prueba.
Primero probaremos con nuestra propia IP para que vean el resultado:
Crearemos un archivo PHP llamado geo.php index.php c.php como deseen llamarlo, y
copiaremos el siguiente cdigo:
<html>
<body>
<?php
$country_name = apache_note("GEOIP_COUNTRY_NAME");
print "Pais: " . $country_name;
?>
</body>
</html>
Una vez creado lo subiran a su carpeta html de su VPS como vern en la siguiente imgen:
Como podrn observar lo que hace el mdulo GEO-IP es darnos la ubicacin del pas exacto
donde nos ubicamos. Ahora haremos lo siguiente, presta bastante atencin. Conctate a tu VPN y
escoge cualquier pas (VPN gratuitos hay muchos) de paga recomiendo xerobank lo uso hace 4
aos. Una vez conectado al pas de su eleccin proceda a realizar la misma accin, vaya al
navegador ingrese la IP de su vps y escriba la ruta de su archivo PHP, en mi caso geo.php.
Si hasta aqu esta todo correcto ahora procederemos ah usar otro complemento mas llamado
.htaccess. Para que sirve esta til y eficaz archivo, sirve para muchos usos algunas de ellas:
Proteger carpetas con usuario y contrasea
Crear pginas de error personalizables
Denegar o restringir el acceso a direcciones IP
Redireccionar a otras URL
Entre muchas cosas ms. Pero nosotros lo utilizaremos para lo siguiente: optimizar la
configuracin para evitar accesos de terceros a nuestra VPS con contenido ilegal.
Pasamos a la prctica, con nuestro block de notas abierto guardaremos un archivo llamado
.htaccess (el nombre lleva un punto por delante) una vez creado le quitaremos la extensin .txt al
archivo. Ese archivo creado ser modificado a nuestro gusto, pueden leer mas sobre directivas
.htaccess en google les recomiendo leer un poco.
Vayamos a la prctica: Usaremos nuestra PC y nuestra IP para esta prctica, lo primero que
haremos es crear una carpeta en nuestra VPS con cualquier nombre en mi caso la llamar AAA y
subir un archivo cualquiera en mi caso un .txt. Una vez echo esto en la URL de nuestro
navegador colocaremos la ruta de nuestra carpeta, seria http://ACA_IP/AAA/ Enter y lo que nos
mostrar ser el contenido de esa carpeta, ya sean imgenes, archivos de audio, archivos de texto
cualquier contenido que haya en aquella carpeta.
*** Con esta accin estamos demostrando de que cualquiera que tenga nuestra IP podr acceder
al contenido de nuestras carpetas y podr ver lo que tenemos alojado en nuestras carpetas
directorios.
Ahora amigos pondremos a trabajar a nuestro compaero .htaccess a este archivo le vamos a
poner una sola orden por ahora, le diremos a nuestro archivo de que nos impida el acceso para
poder visualizar el contenido de nuestro VPS y para eso pondremos el siguiente cdigo en el
.htaccess - Para saber nuestra IP pblica: www.cual-es-mi-ip.net
<Limit GET POST>
order allow,deny
deny from 181.64.60.34 // Aca colocamos nuestra IP
allow from all
</Limit>
Una vez colocado nuestro cdigo subimos nuestro archivo a nuestra VPS siempre dentro de la
carpeta html.
Ahora en la URL colocaremos nuestra IP con la ruta de nuestra carpeta http://ACA_IP/AAA/ pues
como era de esperarse nuestro archivo .htaccess nos deneg el acceso a la VPS con un mensaje
403 Forbidden. Simplemente el .htaccess no impidio el acceso al servidor y poder ver su contenido.
Lo que ahora harn es conectarse a la VPN, una vez conectados vuelven a abrir el archivo
.htaccess y en vez de nuestra IP colocan su nueva IP (ya saben si desean saber su IP pblica en
google colocan mi ip y listo) una vez colocado y subido el archivo vuelven a realizar la misma
operacin, entonces nuevamente vern el mensaje de error 403 Forbidden.
Ahora se desconectarn del VPN y sin cambiar la configuracin del .htaccess vuelvan a ingresar a
la misma ruta y vean los resultados. Ahora podrn acceder al VPS y ver el contenido de la misma.
*** En esta parte lo que hace el .htaccess es denegar el acceso a la IP pblica de nuestro modem
esto quiero que lo tengan claro, solo nosotros estamos siendo impedidos de ver el contenido
del servidor siempre y cuando nuestra IP este configurada en el .htaccess
*** Pero ahora que pasara si yo deseo bloquear a todos los usuarios que tenga una IP Peruana,
imaginense hacer una lista de todas las IP's peruanas sera un trabajo que jams acabaramos
alguno de Uds desean bloquear a cualquier otro pas sea Mxico, Chile, Espaa, Alemania, etc.
(solo espero que hasta aqu hayan entendido)
*** Lo que ahora haremos es lo siguente, vamos a decirle a nuestro archivo .htaccess que nos
bloquee a todos los visitantes provenientes de Per (OJO tenga siempre en cuenta actualizar la
bd de datos GEOIP.dat que lo pueden descargar de maxmind.com para tener siempre la lista
actualizada de IP's) Habrimos nuestro archivo .htaccess y colocaremos el siguiente cdigo:
Si Uds. colocan aquellos cdigos lo que harn es bloquear a todos esos pases mencionados, solo
deben de copiarlo a su archivo .htaccess guardarlo y subirlo y hacer las pruebas necesarias.
Estoy completamente seguro de que funcionar (OJO a sido probado testeado muchas veces y
actualmente lo estoy usando para muchas cosas).
*** Amigos pero que sucede si no tenemos inters en recibir visitas desde China o Rusia o EEUU o
Japn o India o cualquier otro pas en nuestro servidor web, imagnense hacer una lista de todos
los pases sera algo fastidioso. Para establecer un bloqueo utilizaremos un cdigo que lo que har
es bloquear a un continente completo por ejemplo Europa, Asia, Norte Amrica, Sud Amrica,
frica, Oceana. Lo que haremos es lo siguiente, si deseamos bloquear a toda Europa
colocaremos el siguiente cdigo en nuestro .htaccess lo guardamos y lo subimos a nuestro
servidor:
# Europa
SetEnvIf GEOIP_CONTINENT_CODE EU BlockContinent -------> EU = Europa
Deny from env=BlockContinent ------> Deny = denegar / BlockContinent = bloquear continente
Pues con esto ya toda Europa estar bloqueada, pueden hacer pruebas, indiquen a sus contactos
que viven en Europa (Espaa, Italia, Alemania, etc. etc.) que ingresen a su URL y vean resultados.
Ahora que pasara si deseo bloquea otros continentes, ac les dejo los cdigos:
# Antartica
SetEnvIf GEOIP_CONTINENT_CODE AN BlockContinent
# Africa
SetEnvIf GEOIP_CONTINENT_CODE AF BlockContinent
# Norte America
SetEnvIf GEOIP_CONTINENT_CODE NA BlockContinent
# Asia
SetEnvIf GEOIP_CONTINENT_CODE AS BlockContinent
# Sudamerica
SetEnvIf GEOIP_CONTINENT_CODE SA BlockContinent
# Oceania
SetEnvIf GEOIP_CONTINENT_CODE OC BlockContinent
*** Ahora que pasara si yo deseo bloquear Europa, Sud Amrica y dejar acceso a Colombia, en
este caso haremos una combinacin de cdigos y quedara as:
# Europa
SetEnvIf GEOIP_CONTINENT_CODE EU BlockContinent
Deny from env=BlockContinent
Este sera un ejemplo de como funciona el mdulo GEO-IP conjuntamente con nuestro archivo
.htaccess montado en nuestra VPS, Uds. pueden seguir haciendo ms pruebas con respecto a
denegar accesos a ciertos lugares, no es difcil, es solo entender el funcionamiento de esta
herramienta a la que considero muy til.
Vamos a explicar ahora para que ms nos puede servir, con esta pequea utilidad le indicaremos a
nuestro archivo .htaccess que si tenemos visitas provenientes de Europa y Norte Amrica sean
redireccionados a cualquier pgina web y que los visitantes de Chile sean redireccionados a
nuestro scam, para eso usaremos el siguiente cdigo que una vez copiado pegado y guardado lo
subimos a nuestro servidor:
RewriteEngine on
RewriteCond %{ENV:GEOIP_CONTINENT_CODE} ^NA$ --------> NA = Norte Amrica
RewriteRule ^(.*)$ http://www.bbva.cl$1 [L] -------> ACA RUTA ORIGINAL DEL BANCO
RewriteEngine on
RewriteCond %{ENV:GEOIP_CONTINENT_CODE} ^EU$
RewriteRule ^(.*)$ http://www.bbva.cl$1 [L]
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CL$ -------> CL = Chile
RewriteRule ^(.*)$ http://bbva/Portal/index.html$1 [L] ------> ACA RUTA DEL SCAM PARA CHILE
Explicacin: Visitantes de Europa y EE.UU sern redireccionados al sitios web original del banco
bbva de Chile, mientras tanto los visitantes de Chile sern redireccionados a nuestro sitio falso
donde tendremos alojado nuestro scam del banco bbva de chile. (Quiero recalcar si desean
aadir ms continentes ya tienen el cdigo descrito en este tutorial as mismo pueden hacer
combinaciones). Como siempre les aconsejo hacer las pruebas en sus PC con la ayuda de sus
contactos en todo caso con una VPN que tenga varios pases para poder hacer las pruebas.
En la imagen siguiente hice una prueba, configure VPS - configure .htaccess - monte scam en un
hosting gratuito. Despus de haber enviado unos 15 mil correos obtengo los siguientes resultados,
2 IP's sospechosas y para mi opinin es buen indicio porque si no tendra instalado esta utilidad
estoy ms que seguro que mis visitas de IP's extraas hubieran sido muchos ms, de eso no tengo
la menor duda.
Pero que sucede con esa IP' de Espaa y esa IP privada, la razn es sencilla no est actualizado
mi base de datos, entonces me quedara actualizarla al momento para tener la base de datos
actualizas, un proceso que no dura ms de 10 min. Pero para estar ms seguros de que no
tendremos de nuevo a esos visitantes agregaremos este cdigo a nuestro .htaccess lo copian
guardan y lo subes a su servidor VPS. (Con esto resolvemos nuestro problema)
Quiero aclarar de que esta tcnica no es 100% detectada yo solo puedo decirte de que esto te
ayudar a mantener mucho tiempo sus servidores en lnea y funcionando, si me preguntas cuanto
tiempo no lose.
Tambin quiero aclarar de que este mtodo yo ya lo implemente de otra forma, con 3 VPS -
Hosting - IFRAME no detectado por los navegadores por ahora.
Lo que te dejo es algo para que cada uno lo explote y le d el mximo rendimiento a esta utilidad,
yo estoy seguro de que al leer este tutorial te vendrn muchas ideas a la cabeza, como por
ejemplo muchos hacen trfico pero despus de 2 horas sus cuentas estn baneadas
suspendidas, las razones pueden ser varias te cito algunas:
Y se puede hablar ms del tema pero ya sera en otra oportunidad. La tarea ya de Uds. es ponerlo
en marcha y como dije ideas hay muchsimas para poder aprovechar esto al mximo.
Solo me queda despedirme y decirles que todas las preguntas, crticas son bienvenidas con
respecto al tema ya explicado en este tutorial, ya les dej mi correo pero ac va de nuevo:
oejalan@hotmail.com ----------------------------------------------------------------------------------------------------