Mostrando entradas con la etiqueta seguridad informatica. Mostrar todas las entradas
Mostrando entradas con la etiqueta seguridad informatica. Mostrar todas las entradas

1/6/12

Escribir por amor al arte

Los que me conocen, y saben que tengo un blog. Saben que esto lo llevo por amor propio, ego, seguramente alguna carencia de afecto, pero realmente el punto máximo, era poder salir en la Wikipedia. Pero no sólo eso. ¡Quería ser reconocido como investigador de seguridad informática!  Supongo que ahora podré dejar de escribir en el blog, y creo que me pondré al noble arte de cultivar bonsais.

Fuera de bromas, como todo el mundo que escribe en blogs, esto lo hago por la fama, el dinero, las mujeres, e indiscutiblemente la cantidad ingente de cervezas que permite consumir cuando quedas con alguien del gremio. En última instancia ya está eso, de aprovechar la ventana de: "Mira que bueno soy, y deberías contratarme", el problema es hacer demasiado hincapié en el tema de las cervezas... Tras 2 entrevistas infructuosas -eso de decirle al entrevistador: ¿Por que no hacemos la entrevista en el bar? Yo es que sin alcohol, no soy tan sincero...-

En resumen, que para ello quería una entrada cortita, es que algún alma caritativa, ha considerado que debe existir una referencia hacía mi en la Wikipedia en ingles. ¡Y puedo prometer que no he sido yo! ¡Enserio! -Vale, tuve que pagar a 5 personas para que lo hiciese, pero... yo no fui-  Y como es obvio tras ver la entrada, me he puesto muy contento. A pesar de ser sólo una reseña.

Así que muchas gracias a los que entran a investigar como pueden cotillear el móvil de su novia -sí, muchos hacéis esa búsqueda en google, que os tengo controlados!-, a los que entran de forma voluntaria al blog, y a los que de verdad saben de informática, entran al blog, -y salen decepcionados al ver OTRA entrada que no trata de seguridad informática-, y muchos besos y abrazos al que me ha metido 18 palabras en la Wiki

NOTA: Presumo mucho con la tontería del alcohol, pero... soy abstemio, así que si pensabas tratar de invitarme a algo, tendrá que ser coca-cola... ¡Es que no me gusta el sabor del alcohol, soy un friki de libro!

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.

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.

21/2/12

WhatsPcap 1.1

WhatsPcap, analizador de paquetes offline. No siempre se puede realizar una captura en directo, este programa está ideado para leer capturas realizadas desde nuestro teléfono móvil. Concretamente adaptado para wireshark, o su versión para móviles shark. Como se utizaría lo podéis encontrar aquí.

Caracteristicas:
-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.
-No requiere estar funcionando mientras se realiza la captura.
-Funciona tanto con Wireshark para pc, como sus versiones en móviles.

Posibles problemas:
-Probado en españa (No he tenido oportunidad de probar con otros paises).
-Probado con Android.
-No está añadida capturar iconos. Se ven caracteres "raros".
-No tiene aún adaptada la función de grupos.

En caso de querer colaborar / o fallos que no detecte algún mensaje enviado o recibido. No dudéis en poneros en contacto conmigo. Me gustaría conocer si está funcionando correctamente en otros países. En caso contrario adaptar la aplicación.

19/2/12

WhatsPcap ¡Un sniffer, para un uso offline!

Definitivamente. ¡Mi equipo está loco! y he visto que no se puede confiar en él. Me deja tirado en los mejores momentos. Le voy a cambiar por un Ipad, que están de moda, y seguro que funciona mejor que Windows 7.

Mientras tanto, le he cogido un cariño especial a mi HTC, él sólo me deja tirado por culpa de su poca batería, y por darle mucho tute. Pero sé que cuando se apaga, realmente siente lástima por dejarme tirado, sin embargo mi equipo, sonríe con sus reinicios, y se pone a instalar muy lentamente las actualizaciones al apagar en relación a la prisa que note que tengo.

Hoy vamos a jugar un poquito con nuestro equipo portatil, nuestro móvil. Y es que intentar hackear, es divertido en cualquier situación, y un ordenador por pequeño que sea, siempre es mucho más evidente, y un pequeño lastre. Para nuestra aventura necesitamos (Poned voz de Art Attack!):
-Un móvil
-Android
-Fing (Opcional)
-Una herramienta de envenenamiento arp (Sirve, Droidsheep)
-Shark
-WhatsPcap
-Una red propia, y las medidas para hacerlo todo legal y chachi (uis, ha dicho chachi!)

La primera aplicación en encender, será fing. Un escaner de red, que me tiene enamorado. Verificamos clientes móviles, en la red. Saldrá el tipo es decir, apple, htc, bla bla bla. Este escenario, sería el adecuado, debido a que este tipo de dispositivos tendrán funcionando WhatsApp. Ya podemos cerrarla.

Seguimos con droidsheep, fácil de usar. Simplemente tenemos que activar, las 2 opciones inferiores, y la aplicación se encarga de todo. Start, y la dejamos en segundo plano. Es decir, dando a HOME. Para poder abrir nuestra última aplicación en el móvil.



Shark, es un clon, de whiresark para pc. Digo clon, salvando las distancias. Realmente me refiero a su comportamiento "base". Es decir, la captura de trafico dentro de una red. Como en el caso anterior, simplemente hay que encender dicha aplicación, presionar start y dejarla en segundo plano, en este caso, ya podemos apagar nuestra pantalla, que ellas se encargaran de seguir funcionando. Recordar que en algunos móviles, se desconecta el wifi, cuando se apaga la pantalla. Se sale de mi idea, explicar como solventarlo, pero es un fallo a tener en cuenta.



Ahora es nuestro momento, de utilizar whatsapp, en nuestro otro móvil. Podemos enviar mensajes, recibirlos. Podemos estar horas, minutos, o segundos, todo quedará reflejado en la captura que estamos realizando en el primer móvil con el que hemos trabajado. Este es el momento, de parar shark. La captura nos la ha guardado en la raiz de la tarjeta SD. Con una extensión .PCAP.

El paso más sencillo, una vez tenemos la captura en la SD y nuestro móvil conectado al ordenador, o la captura ya copiada al mismo, es encender whatspcap, localizar el fichero, y presionar Leer. En pocos segundos, tendremos un registro de toda la información capturada.


Notas de abordo:
-Espiar a la novia, a los amigos, a tu gato (en sus ratos libres hacen cosas muy raras). No es legal. No facilito herramientas con este fin, si no dar la oportunidad de cacharrear.
-Las herramientas que explico corresponden a sus autores, no tengo nada de que ver en ellas salvo en la que da título a esta entrada. Agradezco opiniones sobre nuevas herramientas.
-Un abrazo a los que me ayudan enviándome mensajes cuando hago las pruebas. Que les tengo martirizados.

4/8/09

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

Poco a poco voy a ir soltando y desplegando conocimientos para que todo el mundo pueda optar a entender un poco más lo que utiliza y lo que programa.

¿Qué es un crypter?
Pese a que podré ser colgado por un experto, podríamos definir sin equivocarnos que un crypter será la herramienta que nos transforme un fichero A en un fichero B, realizando cambios (muchos o pocos), sobre el fichero original A, y añadiendole o no alguna funcion que antes no tenia.

¿Para que nos sirve un crypter?

-Habitualmente se utiliza para evitar la decompilación del código, al menos tratar de complicarlo.
-Saltar la heuristica de los antivirus.
-Simplemente camuflar un fichero bajo la apariencia de otro (normalmente, haciendo creer que es inofensivo)

¿Hay tipos de crypter?
Existen 2, pese a que podriamos catalogarlos en más.
-Runtime pueden llegar a ser ejecutados, sin que sean detectados por un anti virus por ejemplo.
-Scantime no son ejecutados, simplemente cuando un antivirus scanea en busca de firmas, heuristica, etc, no detectará nada extraño sobre este fichero.

¿Como funciona un crypter?
Lo normal es que existan 2 ficheros, el primero se encangará de realizar el pastel, es decir, mezclar, batir y aliñar nuestro programa. El segundo, será un lanzador o stub, se encargará de situar el código de nuestro programa en memoria.

¿Puedes ser más técnico?
Aquí es la zona que a mi me gusta, y en la que creo despistaré a unos cuantos.
Previo a entrar en materia supongamos que tenemos un fichero virusmortal.exe, el código de mi virusmoral, será: linea que hace todo el mal.

Un crypter, leera el código de mi programa, en este caso situará en una variable: "linea que hace todo el mal", suponemos que los antivirus detectan por firma la palabra "mal". nota; tristemente el funcionamiento de los antivirus es bastante parecido a esto.

Si guardamos el contenido de la variable, de nuevo en un fichero nuestro antivirus (de ahora en adelante AV), saltará y nos avisará. Por lo tanto algo tiene que hacer el crypter, dependiendo del programador, aplicará una tecnica, ya sea dar la vuelta a la cadena, o encriptarla con xor, con base64, por comodidad yo utilizaré base64.

El programa pasará la cadena que tenia en la variable, por una funcion que me codificará el el texto almacenado, en base64, nos quedaría: "bGluZWEgcXVlIGhhY2UgdG9kbyBlbCBtYWw=". Si guardamos esto de nuevo en virusmortal.exe, NO funcionará, ha perdido el poder de ser ejecutado. Tendriamos un fichero en scantime.

Aquí es donde entra a funcionar el stub, este tambien es un fichero ejecutable, suele funcionar con un código similar a este pseudocódigo:
-Busco mi ruta
-Leo todo mi código
-Ejecuto en memoria todo lo que hay debajo de mi.

Como se puede observar si ejecutamos este fichero, no pasará nada, pues por si solo es completamente inofensivo. Un crypter nos mezclará el código obtenido antes en base64 y pondrá encima de dicho código el stub. El código finalmente quedaría:
-Busco mi ruta (ej: c:\bichito_encriptado.exe)
-Leo todo mi código: Rutinas varias para ejecutar código, des-encriptar, etc.
-Ejecuto en memoria el código des-encriptado: "bGluZWEgcXVlIGhhY2UgdG9kbyBlbCBtYWw=".

El stub... Un poco más a fondo.
Tal y como se ha podido ver, una gran parte del trabajo lo tendrá el stub. Para el programador, es el que más juego puede proporcionar pues se le pueden añadir tantas rutinas como se quiera. Es decir, podriamos meter todo lo necesario para tener un fichero con nuestro código virico, pero no solo eso, si no a su vez que este se replicase por usb por ejemplo. Cosas que se me ocurren podrian ser:
-Replicacion de usb.
-Replicacion por programas de P2P.
-Modificar el fichero host. Para esquivar actualización de los Av.
-Añadir rutinas que imposibiliten o dificulten el analisis. Is debugger present, anti-anubis....
-Crear un nuevo proceso, para asi poder mostrar que la aplicacion funciona y no un simple mensaje de error...
-Modificar algún fichero de sistema o varios, ej: Salvapantallas para que pueda cargar nuestro amigo, taskmngr,explorer,firefox...

Por supuesto cuantas más opciones más fácil será detectarlo, pues facilitas las firmas a las compañias AV, si detectan ejecución en memoria, más leer fichero... blanco y en botella.


NOTA IMPORTANTE: Toda esta información es para aquellos que os dedicais al analisis, 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.