26/3/12

¿Como es un joiner? ¿Para que es? y más...


Otra revisión hacia el mundo del malware. Ampliando la información.

¿Qué es un joiner?
Es un programa encargado de albergar uno o varios ficheros en su interior. Es decir, tenemos por ejemplo 3 ficheros. Un joiner, se encargaría de juntarlos en 1 solo fichero.

Lo más habitual es que no efectúe modificación sobre el fichero final. Si adjuntamos una foto y un bichito (virus). Cuando termine de trabajar el joiner, prácticamente siempre el antivirus detectará el fichero que se ha copiado.

Suele utilizar sistemas de cifrado, ya sea algo complejo o simple, para ocultar la información que le hemos añadido. Como siempre esto depende de quien lo este programando.

Imagen de un joiner subido a indetectables.net

Inclusive es bueno recordar, que no tiene por que tener un fin maligno, como muestra el propio Windows, de serie, trae su propio joiner. Link

¿Para que nos sirve?
Suele ser muy utilizado en el mundo del malware. De forma que podríamos juntar una imagen, un archivo de sonido,y un ejecutable. Irremediablemente el archivo final, tendrá que ser un ejecutable*, pero aparentemente estará limpio.

No obstante, no siempre se utiliza para el mal. Otro ejemplo rápido, sería un instalador de aplicaciones, contiene todas las carpetas, y librerías que utilizará el programa final. Y el resultado es sólo un fichero.

¿Hay tipos?
-Un instalador de software.
-Un ocultador de malware.
-Una juntador de peliculas o videos.
-Winrar tambien es un joiner. Convierte varios ficheros en 1.
-Una aplicación que permite juntar trozos de canciones y hacerla 1 solo fichero mp3.
-En resumen. Cualquier aplicación capaz de convertir varios ficheros en 1.

¿Como funciona?
Existen varias formas de hacerlo funcionar pondré 2 a modo ejemplo, si bien pueden ser muchas más, ya dependerá del programador en cuestión:
-Guardando todos los ficheros en un recurso del programa, los almacena ahí y luego una secuencia designa en que lugar copiarlos/ejecutarlos/etc.

-Guardando los datos en el EOF (Zona que se encuentra al final de un ejecutable, y que no afecta al funcionamiento del mismo). Posteriormente una función se encargaría de detectar la cantidad de ficheros adjuntados, prepararlos y copiarlos.
¿Puedes ser más técnico?
Sí. Puedo. ¿Siguiente pregunta?
Una imagen vale más que 1000 palabras. Explicaré el segundo método, debido a que es más simple de dibujar.

El final de un fichero, se puede modificar y almacenar, o esconder ahí información. Es el sistema que se suele utilizar, y el programa iniciar o joiner no se verá afectado.
Al igual que vimos en un crypter, un joiner tambien suele disponer de un stub. Este es el que se encarga de detectar la información adicional. No explicaré como realizarlo debido a que hay mucha información.

El joiner pregunta que ficheros debe adjuntar, el orden en que se copiaran / ejecutaran, etc. Una vez determinado. Edita el stub, y le añade al final todos y cada uno de los ficheros. Con una marca para separarlos ej: *FiN*. O sin marca, todo dependerá del programador. La marca se podría aprovechar para indicar que tiene que hacer el joiner. *Ejecutar*copiar*borrar*etc Podría ser una marca perfectamente, que también daría información sobre que acción realizará el joiner.

El stub... Un poco más a fondo.
Un joiner no destinado a aplicaciones

Revisará que información se le ha añadido. Y que debe realizar con esos ficheros. Realmente aquí, el fin lo pone la imaginación. Ya que es a gusto del consumidor las acciones que podrá realizar. Por poner algunos ejemplos:
-Ejecutar alguno de los ficheros anexos (ejecución estándar, no sobre memoria).
-Copiar los ficheros. Para sobrescribir algún fichero de sistema por ej.
-Podría detectar el sistema operativo, el antivirus, y en función de eso, ejecutar un fichero u otro.
-Se le podría añadir una función de descifrar, para poderle adjuntar los ficheros cifrados, y complicar un poquito el análisis.

*También podría ser un zip, rar,mp3,avi, etc, pero no quería extenderme demasiado. Y me enfoco a joiners del tipo software.

NOTA IMPORTANTE: Toda esta información es para aquellos que os dedicáis al análisis, detección, programación, por hobby o por trabajo. Nunca deberá ser utilizada para cometer maldades... Sobra recordar que ir infectando máquinas por ahí es un delito y tiene penas de prisión.

5/3/12

Hacking para tu novia (I)

Tengo intención de hacer una serie de artículos sobre seguridad informática, orientados a explicar y hacer entender a la gente de mi alrededor algunos conceptos. Serán varios, para no agobiar y seguramente, me tome varias licencias.

Estoy seguro que tanto a tí, como a mi, nos cuesta una barbaridad, explicar que es un ataque MitM, un envenenamiento del dhcp, dns, etc. En mi caso, me suelen mirar con la misma cara que pone mi perro, me escuchan, y parece que me entienden, pero sólo están pensando que estoy loco y que mi hobby, es demasiado raro.

¿A alguien más le han mirado raro cuando ha dicho que quiere comprarse: Rasberry pi? Tras mi explicación de que lo quería para tener un nuevo juguete con el que cacharrear, y divertirme un rato, las miradas de extrañeza pasaron a ser de aceptación.

Conceptos:

Ataque DoS (o "Ddos"): Pongámonos en situación. Un día sales de marcha con varias amigas. Y un tipo galán*, se acerca a invitar a alguna de ellas a tomar una ronda de chupitos. La cosa avanza, y ya son 6 rondas. Tú amiga comienza a no enterarse de nada de lo que ocurre, sólo es capaz de balbucear. Al terminar la noche, te toca arrastrarla hasta su casa. Está completamente K.O, no responde a nada. ¡Perfecto! Ese galán, ha efectuado ¡un ataque DoS a tú amiga! (Explicación Técnica)

Ataque MitM: De nuevo, sales con las amigas a cenar, el galán ya es familiar, y está cenando con vosotras. Se le ocurre hacer un chiste o broma. Sentado en medio de tú amiga y tú. Lógico, ¡está ligando con ella! Le pides amablemente que te pase el ketchup, y él le dice a tú amiga que por favor te pase la salsa más picante de toda la mesa. Le pasa el bote y él te lo entrega. Minutos después te está picando la garganta y estas maldiciendo la broma. ¡Te han hecho un ataque de Man in the middle! (Explicación Técnica)



Ataque MitM V2: En la misma cena, le indicas al galán que le pida a tú amiga el mechero. ¡No es bueno fumar! ¡y ahora jamás deberías hacerlo en un restaurante, por favor! Nuestro amigo, quiere enseñar su flamante mechero de broma, por lo que finge decirle algo, y finalmente te entrega su mechero trucado. Cuando tratas de encenderte el cigarro, un chorro de agua directo a tú cara. ¡Otro ataque MitM!



DHCP falso /Injector / etc: Todos sabemos, como os gusta a las chicas la ropita, y la de veces que os cambiáis. Tú amiga, y el galán (un tipo con una chispa formidable). Están en tú casa, han venido a buscarte. Estas preguntado que vestido deberías ponerte. ¿El rojo con escote, o el negro formal? El galan, se ha comprado en DealExtreme, un modulador de voz, como los de las películas. Y poniéndole enfrente de su boca. Sus palabras suenan como las de tú amiga. Antes de que ella pueda responder, el galán, utilizando el cachivache dice: ¡El rojo! Ese te quedará genial. Y tú, pensando que la respuesta ha sido de tú amiga, sales con el vestido escotado el resto de la noche. Lo siento. ¡Has sufrido un ataque de DHCP falso! (Explicación Tecnica)


Envenenamiento ARP: Realmente crees, que el galán es un imbécil. Y ya te aseguras de que todo lo que haces, se lo dices directamente a tú amiga. Pero has perdido el móvil. Y no tienes tú agenda, pero quieres hablar con tú amiga, curiosamente te encuentras con su chico. Nuestro galán. Y te ofrece de forma gratuita darte el número de teléfono de tú amiga, para que podáis quedar. ¡Qué majo! ¡Al final, no va a ser tan gilipollas! Anotas el número, y en casa decides llamar: -Zoo de Madrid. ¿Dígame? (Explicación Técnica)

*No me responsabilizo de las acciones efectuadas por el galán :P. Y no tengo relación alguna con él.

PD: Hay mucha licencia. Acepto ideas y modificaciones / Mejoras o incluso una 2ª versión de los ataques :D.

2/3/12

WhatSniff 1.2 (Estable)



Aprovechando un post de Security By Default, he actualizado la tool. Con las mejoras que trae WhatsPcap.

El visor de estatus aparece haciendo click derecho tanto en el form, como en la zona izquierda. Donde aparecen los números de teléfonos.

Para muestra un botón


Si tienes dudas de como utilizarlo "Manual versión anterior"
Un videotutorial. Muchas gracias por la relaización del mismo: Videotutorial

Esta nueva versión tiene:
-Lectura de mensajes enviados desde whatsapp.
-Lectura de mensajes recibidos desde whatsapp.
-Lectura de coordenadas enviadas y recibidas.
-Lectura de fotos, videos, etc enviado / adjuntado.
-Muestra terminales localizados en la red local, y su versión de whatsapp.
-Muestra número de teléfono del usuario de la red local. (Emisor).
-Muestra nombre de registro de whatsapp emisor.
-Localizador de estatus. El nick que se pone en whatsapp.

(YA NO FUNCIONA)- Link de descarga   (YA NO FUNCIONA)

El agradecimiento esta vez es para Alejandro Ramos, que me ha permitido utilizar el fallo descubierto por él.

Notas: Probada para localizar mensajes enviados  y recibidos desde whatsapp. Probada con números de teléfono en españa. Funciona en sistemas windows. Es posible que requiera las librerias de Visual Basic. En caso de no funcionar correctamente en Windows 7, ejecutadla como administrador.