Mostrando entradas con la etiqueta Ofuscar. Mostrar todas las entradas
Mostrando entradas con la etiqueta Ofuscar. Mostrar todas las entradas

5 ago. 2011

Algoritmos de Encriptación de las Password de los CMS

Este breve post lo dedico a los Algoritmos de Encriptación de las Password de los CMS (Content Management System "Sistema de gestión de contenidos") que son las clásicas interfaces que controlan una o varias bases de datos donde se aloja el contenido del sitio web, como por ejemplo Joomla, phpBB, SFM, etc... "¿ De que me sirve esto ?" preguntaran, pues bueno, frente a una incursión SQLi en un 90% de los casos las passwords estarán encriptadas, y muchas en formatos que distan mucho de los clásicos y simples MD5, y si los hashs no son MD5 o SHA1 costará encontrar una web que nos desencripte las contraseñas, para ello tendríamos que usar algún software que desencripte por fuerza bruta o diccionario y obviamente tendremos que saber en que está encriptado. Para descifrar los hashs a mi me gusta bastante el hashcat que soporta la mayoría de los algoritmos. 

Así que les dejo una lista con los CMS y el algoritmo de encriptación:

27 sept. 2010

[Video] Indetectando Malware by demonio666vip

Bueno... la verdad es un método que tiene mucho tiempo, pero sin duda es muy interesante y fácil de llevar a cabo:




Autor: demonio666vip

9 sept. 2009

Ofuscar un Exploit (JavaScript)

En el presente se mostrará como ofuscar un Exploit en JavaScript y saltarse el antivirus.

Aprovechando que hace poco salió un exploit para firefox 3.5, vamos a explicar cómo modificarlo para que no lo detecte el antivirus. Es muy sencillo: tan sólo requiere tocar el código html a mano, para quitar los strings que identifican al exploit, y usar un ofuscador online de código javascript.

Para probar este exploit, vamos a necesitar la versión 3.5 del firefox, que puede bajarse de aquí. Además, necesitamos privilegios de admin, porque si no el exploit falla. Esto no lo pone en el report de milw0rm, pero se ve cuando se prueba.

PASO 1: quitar los strings que identifican al exploit.

Si nos fijamos, el exploit contiene los siguientes strings. Todos ellos hay que quitarlos, ya que algún antivirus puede haberlos usado para identificarlo (pese a lo que digan, las heurísticas no se usan demasiado):

Firefox 3.5 Vulnerability
Firefox 3.5 Heap Spray Vulnerabilty
Author: SBerry aka Simon Berry-Byrne
Thanks to HD Moore for the insight and Metasploit for the payload


Y, por supuesto, todas las referencias a milw0rm.com hay que quitarlas también (hay una al final del todo).

PASO 2: ofuscar el código javascript.

Antes de nada, vamos a comprobar que, realmente, nuestro antivirus detecta el exploit. Bajamos el código de milw0rm, lo guardamos como exploit.html y lo intentamos abrir ...



Lo que haremos será ofuscar el código javascript con una herramienta online, una cualquiera, y guardar de nuevo exploit.html. Para ofuscarlo, he elegido ésta herramienta, pero basicamente cualquiera servirá.



Una vez ofuscado:



Y ahora repetimos el proceso: guardamos el código como exploit.html, sustituyendo el javascript por el OFUSCADO y quitando los strings que hacen referencia a que esto es un exploit, lo ejecutamos ... ¡¡y no nos detecta el antivirus!!



El paso final, sería substituir el shellcode de calc.exe por el de una shell inversa, por ejemplo:

char code[] =
"\xe8\x30\x00\x00\x00\x43\x4d\x44\x00\xe7\x79\xc6\x79\xec\xf9\xaa"
[...]


Esta shell puede bajarse de metasploit. Una vez bajada la shell, la pegamos en el exploit original substituyendo a la de calc.exe y ofuscamos todo el javascript con la herramienta online.

Como habéis visto, es relativamente sencillo ofuscar un exploit en un lenguaje complejo, como pueda ser javascript, para que el antivirus no lo detecte.

7 sept. 2009

Ofuscar una Shell (PHP)

En el presente se mostrará como ofuscar una shell en php y saltarnos el antivirus.

De nuevo, vamos a poder comprobar que los antivirus no son capaces de hacer mucho más que comparar con firmas (hashes). Cualquier mínimo nivel de ofuscación se los salta.

En esta "práctica", lo que haremos es subir a virustotal, un conocido servicio de antivirus online, la shell c99.txt, que podría decirse es la más típica shell en php. La subiremos, analizaremos, ofuscaremos y volveremos a subir y analizar. Y el resultado es ... el que todos esperamos. Los siguientes pantallazos ilustran el experimento.

En primer lugar, subimos la shell a virustotal. Por supuesto, casi todos los antivirus la detectan.



Una vez comprobado esto, copiamos el código de la shell y la subimos a codeeclipse, que tiene un servicio online de ofuscación de código php. El proceso es muy sencillo, tal y como vemos a continuación:







Finalmente, subimos la shell ofuscada a virustotal, y ...



Seguramente, cambiando los nombres de las funciones que se llaman c99xxx tendríamos que nuestra shell es totalmente indetectable para los antivirus. De hecho, además de con c99, he probado con otra shell menos conocida y virustotal no la ha detectado tras ofuscarla.

Fuente: http://hacking-avanzado.blogspot.com/

5 sept. 2009

Ofuscar

La ofuscación se refiere a encubrir el significado de una comunicación haciéndola más confusa y complicada de interpretar.
En computación, la ofuscación se refiere al acto deliberado de realizar un cambio no destructivo, ya sea en el código fuente de un programa informático o código máquina cuando el programa está en forma compilada o binaria, con el fin de que no sea fácil de entender o leer.
La ofuscación binaria se realiza habitualmente para impedir o hacer más difícil los intentos de ingeniería inversa y desensamblado que tienen la intención de obtener una forma de código fuente cercana a la forma original.
Como un efecto lateral, la ofuscación, en ocasiones, hace que los programas resultantes sean más pequeños (aunque puede hacer que los programas sean más grandes en otros casos).

El Código ofuscado es aquél código que, aunque se tiene el código fuente, ha sido enrevesado específicamente para ocultar su funcionalidad (hacerlo ininteligible).
Algunos tienden más a la ofuscación que otros. C, C++ y Perl son los más citados como fácilmente ofuscables. Las macros de preprocesador son usadas a menudo para crear código complicado de leer enmascarando la gramática y sintaxis estándar del lenguaje del cuerpo principal de código.
Aparte de los lenguajes más conocidos, existen lenguajes de programación esotéricos. Además, también se puede buscar que el código fuente resulte una obra de ascii art. Existen otros programas ofuscados llamados quine que al ejecutarse la salida debe ser el código fuente del programa.
También hay programas ofuscadores que pueden actuar sobre el código fuente, código objeto o ambos para dificultar la ingeniería inversa.

Ejemplos:

Un ejemplo simple de ofuscación es llamar a las variables o funciones con palabras reservadas del lenguaje añadiendo algún símbolo
int int_;
Con esta línea definimos una variable de tipo entero.

long int _int(int int_){return int_-int_};
Con esta línea definimos una función con un parámetro entero que devuelve un valor long int, que por otra parte siempre será 0.

_int-_int;
Esto equivale a poner 0.

(_int-_int)!;
Esto equivale a poner 1.

(((!(int_-int_)<<!(int_-int_))<<(!(int_-int_)<<!(int_-int_)))|(!(int_-int_)<<!(int_-int_)));
Esto equivale a poner 10.

Fuente: http://es.wikipedia.org/