lunes, 13 de diciembre de 2010

Advisory - Symantec Intel Handler Service Remote DoS


Hola!,

quería dejarles el ultimo advisory de una vulnerabilidad que descubrí hace ya un tiempo investigando otro bug.

El análisis y una descripción tenica la pueden encontrar acá: Symantec Intel Handler Service Remote DoS

Saludos.

lunes, 29 de noviembre de 2010

aadp4olly v0.2 & aadp4immdbg


Hola!,

queria hacerles saber que una nueva version de aadp4olly ha sido releseada. Entre las mejoras, podemos citar las siguientes:

v0.2 (29/11/2010)
--

- added Anti-Antidebugging features for the following tricks:
* BlockInput
* SuspendThread
* UnhandledExceptionFilter
* Process32Next
* Module32Next
* ZwQuerySystemInformation
* ZwQueryObject
* TerminateProcess
* ZwOPenProcess
* FindWindow

- now, the plugin should support XP (ALL), Windows Vista (ALL) and Windows 7 (ALL) OS.

Quedan algunos bugs de la version v0.1.3, en especial los reportados por Peter Ferrie que tienen que ver con una falta de comprobacion sobre algunos punteros, pero van a ser fixeados en la proxima version (v0.3) en la cual ya estoy trabajando!.

Como nota final, les puedo adelantar que con la proxima version de aadp4olly voy a liberar los sources de aadlib, la libreria anti-anti-dbg en la cual se basa el plugin.

La ultima version de aadp4olly la pueden conseguir en la web del proyecto: aadp


Junto con esta nueva version de aadp4olly, he releseado aadp4immdbg, que seria basicamente el mismo plugin pero para ser utilizado con ImmunityDebugger.

Saludos!,

Hasta la proxima!.

UPDATE (02/12/2010): fue agregada una nueva modificacion del plugin aadp4olly, aadp4ollysnd es una version de aadp4olly pero ajustada para trabajar con el OllySND. Gracias a Guan de Dio por esta modificacion.

domingo, 28 de noviembre de 2010

Lamerz!



Hola!,

este pequeño post es para contarles algo sobre lo cual tal vez ya esten al tanto.

La semana pasada, un compañero de la lista de Crackslatinos me señalo un post en un blog, ese post era el siguiente:

http://martik-scorp.blogspot.com/2010/11/martk-unpacker.html

Seguramente, ese link no les va a funcionar, sin embargo, todavia se puede acceder desde la cache de google: http://goo.gl/0J0o9

Bajo una vista rapida no parece nada del otro mundo, otra tool para desempacar ... pero mirando detenidamente, veo que tiene muchas similitudes con FUU:

Epa!, los mismos plugins que FUU?, las mismas tools que FUU?. Bueno, pero FUU es open source bajo GPLv3, con lo cual, cualquiera puede agarrar el source, agregar nuevas funcionalidades y hacer su propio release, obviamente bajo la misma licencia que el proyecto original, ademas, esta obligado a dar creditos al autor original. Obviamente, las modificaciones hechas:


7. Additional Terms. “Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: * a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or * b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or * c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or * d) Limiting the use for publicity purposes of names of licensors or authors of the material; or * e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or * f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.

Pero cual fue la sorpresa? bueno, primeramente, no habia ninguna mejora a simple vista pero lo que si se podia observar era que todas las strings habian sido editadas:
Y peor todavia, en los plugins los creditos habian sido editados tambien, atribuyendole los creditos a un tal MART!K:

Para los detallistas, se puede observar que los espacios sobrantes en las strings fueron reemplazados por espacios en blanco, lo cual me da la idea de que ni siquiera se tomo el trabajo de compilar nuevamente el proyecto sino que mediante algun tipo de editor de recursos como ResHackers, simplemente edito los strings, cambio un icono y un BMP.

Al ver esto, me senti un boludo, por que? porque todo el laburo que habia hecho y compartido con la comunidad, de buena fe y con muchas ganas, habia sido plagiado.

Luego de ver todo esto, decidi enviar un mail al autor y aca estan los mails intercambiados con el:

---------------
from +NCR/CRC! [ReVeRsEr] to Martik.Panosian@gmail.com
date Tue, Nov 23, 2010 at 2:05 PM

subject FUU & MART!K Unpacker
mailed-by gmail.com

Hi!, i'm the author of FUU (and MART!K Unpacker too¿?), i saw your blog and post about FUU, sorry, MART!K Unpacker. You are stealing a project, and idea just replacing strings???? come on!!! please, write your own version!.

BR,
NCR
---------------

La respuesta fue la siguiente:

---------------
from martik panosian to "+NCR/CRC! [ReVeRsEr]"
date Tue, Nov 23, 2010 at 2:32 PM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com
signed-by gmail.com

hello, yes, you right, but the source code is free, isnt it? btw, i appreciate your work. i dont see any wrong thing with what i was done!
---------------


A lo cual conteste:
---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Tue, Nov 23, 2010 at 2:34 PM
subject Re: FUU & MART!K Unpacker
mailed-by gmail.com

yes, but i don't see any link or mention to the original project, so .....
---------------

Y agregue lo siguiente:

---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Tue, Nov 23, 2010 at 2:37 PM
subject Re: FUU & MART!K Unpacker
mailed-by gmail.com


in the readme and license you saying that YOU create the software and that's no true, so, please add a mention to the original project and author.


BR,

NCR
---------------

Despues de un rato, respondio lo siguiente:

---------------
from martik panosian to "+NCR/CRC! [ReVeRsEr]"
date Tue, Nov 23, 2010 at 2:49 PM
subject Re: FUU & MART!K Unpacker
mailed-by gmail.com
signed-by gmail.com


ok, you right. i will mention to your blog and original software as soon as possible. sorry about that. p.s. now im on mobile. as soon as i get my pc, i'll fix that.
---------------

Con lo cual respondi:
---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Tue, Nov 23, 2010 at 2:50 PM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com


Thanks!
---------------

Luego de esto, la mencion fue agregada pero los creditos al proyecto y autor original tanto en el binario como en los plugins seguian (y siguen) sin aparecer, con lo cual, envie tres nuevos mails al autor y obviamente, ya no tuve mas respuestas de su parte:

---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Tue, Nov 23, 2010 at 3:02 PM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com


btw, i can't see any new feature in your version, it would be great if you contribute to the original project or add something new to your own version.


Cheers,

NCR
---------------

---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Wed, Nov 24, 2010 at 11:44 AM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com

Thanks for adding the mentions to FUU in your blog. Btw, you should do it in your package too and release the modified source code of you tool, remember that the FUU project is under GPLv3, so, if you release a modified version of my sources, then, you must release those modified sources.


Have a nice day.

---------------

---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Wed, Nov 24, 2010 at 11:54 AM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com


one last thing: the log messages must remain as the original, for example, in the aspack plugin it says: "Developed by: Mart ik Panosian" and we all know that is not true, so, please, do it in the right way.
GNU legal team was contacted in order to verify that you are complying with the GPLv3 license.
---------------

Luego, MCKSys, de la lista de Crackslatinos, hizo la denuncia pertinente a la gente de blogger y esta fue la siguiente:

---------------
from MCKSys Argentina reply-to crackslatinos@googlegroups.com to crackslatinos@googlegroups.com
date Wed, Nov 24, 2010 at 9:38 PM
subject Re: {CrackSLatinoS} Malas noticias NCR

mailing list Filter messages from this mailing list
mailed-by googlegroups.com

signed-by googlegroups.com


Bueno, algo es algo. Reescribo el mensaje recibido por la denuncia que hice:
Hemos recibido su aviso de incidente de la DMCA en http://martik-scorp.blogspot.com/2010/11/martk-unpacker.html con fecha del 23.11.2010 y hemos revisado el contenido que supuestamente infringe la ley. De acuerdo con nuestra política, hemos dejado el contenido sin conexión y se ha informado de la reclamación al autor del blog. Si en esta entrada vuelve a aparecer el contenido objeto de la infracción, le rogamos que nos informe de ello para tomar las medidas oportunas.

Atentamente,

El equipo de Blogger

Esperemos que sirva para algo...
---------------

Luego de eso, su post en el blog fue removido.

Ademas, otra persona muy reconocida del ambiente, Nicolas Brulez, al cual le agradezco la gentileza, hizo un pequeño analisis sobre este tal "MART!K":

http://omgwtfhax.org/

Luego, en los foros de ARTeam y tuts4you me dieron mas ejemplos sobre este tipo, que al parecer, es un lamer bien conocido en el ambiente (no lo era hasta ahora por mi), se encarga de rippear muchos de los releases que la scene va sacando, de hecho, si miran en su web van a ver muchos releases de grupos conocidos pero obviamente rippeados por el.

Agradezco tambien a Guan de Dio por poner un mensaje en su blog: http://guandedio.no-ip.org/

Ah, algo que me olvide de mencionar es que la licencia de este tal "MART!K Unpacker" no es la GPLv3 sino "MART!K License".


Que quiero exponer con todo esto? pues que un software OpenSource es libre pero no en el sentido de "Cerveza gratis" como bien dice la GNU, sino en el sentido de que cada uno puede agarrar ese codigo, modificarlo, distribuirlo, copiarlo pero siempre y cuando reconozca al autor original y coloque los creditos correspondientes, aunque la licencia no lo este obligando, siempre es de buena educacion dar creditos al autor correspondiente.

Asi que por favor, a no chorear!!! :)

Hasta la proxima!.

Saludos.

UPDATE (14/12/2010): Parece que el mismo día que armé este post, y al ver que su post original en su blog fue removido por la gente de Blogger, el amigo Mart!k abrió un nuevo blog en wordpress con el mismo post sobre "su" unpacker: http://martik2scorp.wordpress.com/2010/11/28/martk-unpacker-1-0/. Triste! pero ... que se puede esperar de un lamer?.

sábado, 13 de noviembre de 2010

Nuevo plugin para Ollydbg - aadp4olly v0.1

Hola!,

esta vez queria presentarles un nuevo proyecto en el cual he estado trabajando estas ultimas tres o 4 semanas en mis ratos libres. Se trata de un nuevo plugin para Ollydbg, aadp4olly o Anti-Anti-Debugger Plugin for Ollydbg.

Este nuevo plugin sirve para ocultar a Ollydbg de los trucos anti-dbg mas comunes como IsDebuggerPresent, NtGlobalFlags, etc; si bien ya hay plugins de este estilo para Ollydbg desde hace mucho tiempo, queria hacer mi propia version para incluir todos los trucos que necesito en mis sesiones de debugging con packers.

En esta primera version pueden encontrar trucos anti IsDebuggerPresent, NtGlobalFlags, HeapFlags, ZwSetInformationThread, OutputDebugString, ZwQueryInformationProcess y GetTickCount, por el momento, todos desde ring3.

En proximas versiones voy a continuar agregando mas trucos y posiblemente no solo en ring3 sino en ring0.

Cualquier comentario, sugerencia, pedido para agregar algo, etc, no duden en comentar aqui o escribirme directamente.

Obviamente, el proyecto es Open Source, como todo lo que he hecho hasta ahora.

Sin mucho mas que decirles, les dejo la pagina del proyecto: aadp

La descarga directa del plugin es: aadp4olly

Espero que les sea util!.

Aca les dejo un screenshot:


Hasta pronto!.

UPDATE (14/11/2010): aadp4olly ha sido actualizado a la version 0.1.1. Se fixeo un pequeño bug cuando se cerraba la ventana del plugin (reportado por marciano).
UPDATE (18/11/2010): aadp4olly ha sido actualizado a la version 0.1.2. Se incluye un fix para XP SP0 que permite que las opciones para hookear las funciones "Zw" funcionen en dicho OS (reportado por LCF-AT).
UPDATE (21/11/2010): aadp4olly ha sido actualizado a la version 0.1.3. Se incluye un nuevo fix para las funciones Zw reportado por LCF-AT.

martes, 12 de octubre de 2010

Nuevo plugin para FUU - dePeX

Hola!,

despues de un tiempo sin ningun post queria decirles que en el blog de FUU hay un nuevo post anunciando un nuevo update para FUU.

Además, hay una pequeña reseña del packer.

Acá pueden verlo!.

Saludos.

domingo, 19 de septiembre de 2010

Tutorial - Writing Dynamic Unpackers for Fun with TitanEngine

Hola!,

hace rato que tenia este tutorial guardado a medio terminar y como soy de los que siempre terminan lo que empiezan decidi que era un buen momento para hacerlo.

En este tutorial se intenta explorar un poco toda la funcionalidad de TitanEngine para construir diferentes tipos de herramientas. Debo aclarar que no es la version final del tutorial, me quedaron un par de cosas que hubiera querido agregar pero si me detenia mas tiempo el tutorial iba a quedar en el olvido.

De todas maneras, las voy a agregar pero cuando tenga un poco mas de tiempo.

Cualquier correccion que quieran hacer ya saben donde encontrarme. Si les parece que habria que agregar algo mas o detallar algo no duden en escribirme.

Este tutorial va a ser agregado como documentacion en la web del proyecto FUU. Por ahora solo tengo la version en español pero pronto lo vamos a hacer en ingles.

Bueno, aca les dejo los links para la descarga: Descarga1 - Descarga2

Espero que les sea util!.

Hasta pronto!.

sábado, 18 de septiembre de 2010

Lo que dejo la Ekoparty 2010

Un año más y una edición mas de la Ekoparty.

En esta edicion hubo muchas charlas, trainings, talleres, stands, etc. Debo reconocer que tambien tuvo sus cosas malas pero eso no fue motivo para opacar el resto del a conferencia que particularmente para mi, este año fue la excusa para juntarme con amigos y divertirnos.

La primer experiencia este año en la Eko la tuve dictando, con Ricardo Narvaja, Ariel Coronel, Marcos Accossatto y Daniel Kasimirow, el training de Introduccion al Cracking. Fueron dos dias bastante moviditos enseñando este noble arte de analizar y comprender las protecciones de software que andan dando vuelta por ahi. A mi cargo tuve la tarea de explicar el tema de Loaders, Cracking en .NET, Cracking en Delphi y Cracking en Java.

Luego, vinieron los dias de charlas. Creo que ya es tradicion en la Eko que la acreditacion comience tarde y en consecuencia las charlas se atracen mas de una hora. Tanto yo como mucha gente estuvimos en la puerta 7.30 AM (como se pidio) para la acreditacion que comenzaria una hora mas tarde. Sin dudas este es un punto que podrian mejorar en las proximas ediciones pero bueno, el resto de la conferencia hizo que ese mal sabor desaparezca.

Este año la verdad es que vi pocas charlas de las cuales rescato las siguientes:

Understanding the Win SMB NTLM weak nonce vulnerability (Hernán Ochoa, Agustín Azubel): en esta charla Hernan y Agustin nos contaron un poco como fue que encontraron una serie de bugs en la implementacion de la autenticacion de SMB, dieron diferentes muestras de que se puede hacer con los bugs que ellos encontraron y como fue que MS intento de apaciguar el impacto de estas vulnerabilidades. Combinando los las diferentes vulnerabilidades que encontraron se puede lograr ejecutar codigo en la maquina remota y esa fue la ultima demo que dieron. Una charla bien técnica que me gusto mucho y de la cual aprendi bastante.

Distinguishing Lockpicks: Raking vs Lifting vs Jiggling and More (Deviant Ollam): al igual que el año pasado, el maestro del lockpicking dio una charla sobre las diferentes herramientas que se utilizan en este noble y entretenido arte. Dio una breve repaso por cada una de las herramientas que se utilizan y como diferenciarlas entre si. Fue una charla como para distendesrse un poco y aprender algo poco común, al menos para mi. Creo que gracias a Deviant, cada año hay mas y mas gente intresada en el lockpicking, mucha gente se junta en el stand de Deviant para jugar al GringoWarrior y cada vez hay mas gente que logra abrir las cerraduras muy facilmente.

WPA Migration Mode: WEP is back to haunt you... (Diego Sor y Leandro Federico Meiners): esta charla en particular me gusto mucho. No soy un entendido en el ambiente de la seguridad wireless pero la charla se entendio perfectamente. Estuvieron mostrando un ataque hacia aparatos CISCO cuando estan en el modo WPA Migration Mode. Basicamente, estos aparatos cuentan con un modo en el cual pueden operar con clientes que sean WEP y WPA. Si una empresa esta migrando toda su seguridad wireless de WEP a WPA puede poner estos CISCOs en ese modo pero el problema es que como estos aparatos operan al nivel mas basico de seguridad entonces todo termina siendo WEP y como WEP esta roto, entonces, la seguridad de la empresa se va al tacho :P

Understanding the Low Fragmentation Heap: From Allocation to Exploitation (Chris Valasek): esta charla fue muy pero muy técnica y trataba sobre el Low Fragmentation Heap en Windows. La verdad es que se me hizo un poco pesada pero explico con lujo de detalles como es que funcionan cada una de las partes del mecanismo de LFH en windows. Muy recomendable la lectura de su super paper!.


Atacking VoIP… un paraíso! (Giovanni Cruz): esta charla me sorprendio. Pense que iba a ser muy densa e imposible de seguir pero sin embargo fue una de las que mas me gusto. Giovanni mostro un par de ataques que se puede realizar sobre aparatos que soportan VoIP que basicamente son los mismos ataques que se vienen realizando desde que se creo el primer standard para VoIP, hace diez años atras.


2x1 Microsoft Bugs: 'Virtual PC hyper-hole-visor' + 'Windows Creation Vulnerability (MS10-048) (Nicolas Economou): otra charla que me gusto mucho, muy tecnica tambien. A mi me facinan las cosas de kernel y Nico se encargo de darme, al menos a mi, esa dosis de kernel que me hacia falta. Nico estuvo contando un poco como fue que descubrio los bugs en el hypervisor de VirtualPC y el bug en kernel denominado Windows Creation Vulnerability. Mostro con lujo de detalles ambos bugs y la manera en la cual los exploto asi como las implicancias que ambos bugs tienen sobre la seguridad en windows.

Pentesting Driven por FOCA (Chema Alonso): otro año mas, Chema estuvo hablando en la Eko. En esta ocasion, nos mostro una tool muy interesante llamada FOCA para jugar con la metadata almacenada en los sitios webs. Mostro un par de ejemplos en los cuales utilizando FOCA se pueden encontrar cosas muy interesantes como un documento xls con todos los usuarios de un site o incluso un site con permisos para subir una shell php :) Luego de esa charla, yo y varios amigos salimos corriendo a bajarnos la FOCA y a jugar un rato :)

Exploiting Digital Cameras (Alfredo Ortega, Oren Isacson): en esta charla, Oren y Alfred, nos estuvieron mostrando como fue que reversearon las camaras CANON. Ahi se encontraron con un interprete que les permitio ejecutar codigo y poder ademas comprometer una PC con solo la memory card de la camara. Otra charla muy etretenida y de las que mas me gusto.

Hanging on a ROPe (Pablo Solé): La primer parte de esta charla no incluia nada nuevo. Basicamente, se estuvo hablando de ROP o lo que hace años se conoce como ret2libc. En resumen, son un conjunto de tecnicas que le permiten al exploit writter poder bypassear, por ejemplo, DEP en Windows. Pero no solo eso, tambien se pueden utiilzar para bypassear protecciones en MAC OSx, Iphone, etc; Lo que si me gusto y es para resaltar fue la tool que presentó para armar un ROP Shellcode de manera automatica utilizando deplib. Fue interesante ver los problemas que se encontraron, como los solucionaron y finalmente la manera "generica" para armar todo un shellcode ROP con unas pocas lineas de Python.

Esas fueron, a mi criterio, las charlas mas interesantes de la Eko de este año. De todas maneras, no puedo dejar de mencionar la charla mas esperada de la Eko que fue Padding Oracles Everywhere (Juliano Rizzo, Thai Duong). En esta charla se libero un 0day para Microsoft ASP.NET.

Hubo otra charla mas que segun la gente en twitter fue muy interesante fue Jackpotting Automated Teller Machines (Barnaby Jack) en la cual se hablo de como hackear ATMs.

Bueno, eso fue un pequeño resumen de las charlas de la Eko este año. Hubo muchas mas y seguramente mas interesantes que estas pero al menos a mi estas fueron las que mas me gustaron.

Ademas de estas charlas hubo muchas otras cosas asi que si este año se las perdieron no falten el proximo!.

Ah, me olvidaba de dejarles la posta de CLS en la Eko!:


Hasta pronto!.

miércoles, 15 de septiembre de 2010

Training de Intro al cracking en la Eko 2010!

Hola!,

ayer termino el segundo dia de training de "Introducción al cracking y anti-cracking" en la Ekoparty 2010. La verdad es que tanto del lado de los instructores como del lado de las personas que asistieron al training quedamos todos contentos. Estuvo muy bueno, fue una muy buena experiencia y sobre todo, nos divertimos mucho enseñando todo lo que aprendimos en CracksLatinoS! durante todos estos años.

Quisiera agradecer a la gente de la organizacion de la Ekoparty 2010 que se porto de 10! con nosotros!.

Ah, y no se olviden, mañana arrancan los dos dias seguidos de charlas en la Eko, asi que no se lo pierdan!.

Cuando pase la conferencia voy a hacer un par de post con el resumen y mi opinion sobre cada charla!.

Para terminar, aca les dejo una postal del training!:



Hasta entonces!.

miércoles, 18 de agosto de 2010

TRAINING de Introduccion al Cracking y anti-cracking en la Ekoparty 2010


Hola!,

queria comentarles que este año, junto a unos amigos y de la mano de Core Security Technologies, vamos a estar dando un training en la conferencia de seguridad mas imporantante de Latinoamérica y alrededores.

El training es una introduccion al cracking y anti-cracking. No quiero adelantar mucho pero les puedo decir que va a estar muy bueno. No hay precedentes, al menos en Latinoamerica, de un curso de este estilo.


Para mas informacion, pueden visitar el blog de la conferencia acá o dirigirse a la página oficial de la Ekoparty a la sección de Trainings.

Espero verlos por allá!.

CracksLatinoS cumple 10 años!!!


Allá por el año 2000 un grupo increible de gente se estaba juntando para compartir lo que sabian sobre computadoras y en especial sobre como quitar limitaciones a programas. La lista original creo recordar que alguna vez se dijo que estaba en e-listas y luego paso a Yahoo para finalmente quedarse en Google groups. En aquella lista, como dije anteriormente, un grupo de personas compartian sus conocimientos adquiridos de manera autodidacta con todo aquel que estuviera dispuesto a leer, sin mas interes que el de enseñar por gusto y para ayudar al resto de la comunidad. De esa lista fundanda originalmente por Tank y Ricardo Narvaja salieron grandes exponentes que durante estos 10 años han dado que hablar y han dejado una huella en el mundo del cracking, como el mismisimo Ricardo Narvaja y tantos otros que hoy dia siguen enseñando sobre cracking de manera desinteresada.

Para todos ellos, este pequeño homenaje en hoy, su cumpleaños nro 10!!!!.

No puedo dejar de agradecer a todos ellos por todo lo que me enseñaron!!!, estoy muy orgulloso de pertenecer a semejante grupo que considero una familia y en la cual he hecho muy buenos amigos que hoy dia hasta trabajan junto a mi.

Feliz cumpleaños CracksLatinoS! y vamos por otros 10 años mas!.

Web del grupo: http://groups.google.com/group/CrackSLatinoS

martes, 3 de agosto de 2010

HP OpenView NNM OvJavaLocale Buffer Overflow Vulnerability

Hola!,

este post es para dejarles el advisory de un bug que encontre (fixeado de manera silenciosa) por la gente de HP.

Link al avisory: HP OpenView NNM OvJavaLocale Buffer Overflow Vulnerability

Saludos.

jueves, 22 de julio de 2010

QuickPost - FUU - Blog and Twitter

Hola!,

este post es solo para dejarles saber que he creado un blog y un twitter exclusivos para las novedades que vayan saliendo sobre FUU.

Blog: http://fuuproject.wordpress.com
Twitter: http://twitter.com/fuuproject

Disfruten!

viernes, 16 de julio de 2010

New FUU Plugin - deExeFog!

Hola!,
quienes me conocen, saben que continuamente estoy intentando hacer algo, escribiendo algun tutorial, programando alguna toolcita, etc; ahora, quiero hacer una cosa: por cada nuevo plugin de FUU que haga voy a escribir un post comentando un poco los trucos que utiliza el packer para poder facilmente identificar las zonas importantes a la hora de desempacar.
En este primer post, vamos a hablar de un packer sencillo, exeFog, mas particularmente, nos centraremos en exeFog v1.x, desconozco si existe alguna version 2.x, si alguno tiene un exe, dll, ocx o lo que sea packeado con alguna otra version de exeFog, no tiene mas que enviarla para que la pueda estudiarla y agregarle soporte al correspondiente plugin.

La idea de este y los siguientes post no es la de realizar un analisis detallado sobre el packer como suelo realizar en los tutoriales, sino que veremos las partes importantes nada mas como para vencerlo y que son utilizadas luego en el plugin.

Voy a basarme en este crackme: http://www.tuts4you.com/request.php?1093

Por ejemplo, si cargamos el programa packeado en Olly (sin plugins) y le damos a F9 (Run), veremos que Olly se detiene en una exception, mas especificamente, un DIVISION_BY_ZERO:


Esto se debe a un viejo y conocido truco anti-debug conocido como IsDebuggerPresent pero en este caso, el truco no invocando explicitamente a la API IsDebuggerPresent, sino realizando un inline de esta funcion.

Si comenzamos a tracear, veremos que primeramente, llegamos a un loop en el cual se desexorea codigo, este codigo no es mas que otra parte del stub de desempacado del programa:


Como vemos, primero coloca en EBX un puntero a una zona un poco mas abajo de la instruccion "loopd", coloca en ECX un offset, en este caso "0x3c8" y en AL la key para xorear, en este caso "0x8c", luego, solo va indexando en EBX+ECX y xoreando cada byte, luego, vuelve a tomar otro byte en AL y a repetir la operacion.

Una vez que pasamos esto, si llegamos a la zona del inline IsDebuggerPresent:


Como pueden observar, solo esta accediendo al flag "BeingDebugged" que se encuentra en la PEB:
typedef struct _PEB {
BYTE Reserved1[2];
BYTE BeingDebugged;
BYTE Reserved2[1];
PVOID Reserved3[2];
PPEB_LDR_DATA Ldr;
PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
BYTE Reserved4[104];
PVOID Reserved5[52];
PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine;
BYTE Reserved6[128];
PVOID Reserved7[1];
ULONG SessionId;
} PEB, *PPEB;
Se encuentra en el campo [2] de la PEB del proceso (movzx eax, byte ptr ds:[eax+2]).

Como vemos, a ese byte, primero le aplica un NOT y luego un AND con 1, con lo cual, si ese byte esta en 1 (quiere decir que el proceso esta siendo debuggeado), el resultado de esas dos operaciones sera 0 y si el byte esta en 0 (quiere decir que el proceso no esta siendo debuggeado) pues el resultado de esas dos operaciones dara 1.

Cual es el truco en todo esto? pues que este valor es utilizado como divisor y dividendo en una division un poco mas adelante:


Como vimos, el resultado del NOT y AND lo colocaba en EBX pero a su vez quedaba en EAX tambien, con lo cual si el resultado del NOT y AND es 0 pues sera 0 / 0 = ERROR!!!.

Para solucionar esto, simplemente debemos de setear ese byte a 0 para que el resultado del NOT y AND sea 1. Podemos hacerlo de varias maneras, la mas rapida es: cuando estemos en el EP (EntryPoint) del packer, simplemente hacemos CTRL+G y ponemos "EBX" y cambiamos el valor del segundo byte a 0. Por que asi? pues porque EBX siempre apunta a la PEB cuando estamos parados en el EP:


Luego, tenemos dos partes importantes mas:

1) Donde resuelve los imports.
2) Donde salta al OEP (Original Entry Point)

Ambas zonas son facil de encontrar, miremos un poco el codigo y vamos a ver que aqui resuelve las dlls importadas por el programa:


Si miramos los registros en este momento, podremos ver que EBX contiene un puntero al string de la dll importada:


Luego, en esta zona, veremos que resuelve las funciones importadas por cada dll:


y si miramos los registros, veremos que EAX contiene el puntero al string de la funcion importada y EDI el puntero al lugar en la IAT donde esa funcion deberia de encontrarse en el programa original:


Ah, antes de continuar, queria comentarles que ademas, exeFog, realiza comprobaciones en los primeros bytes de las APIs a las cuales va a llamar para ver si hay un breakpoint colocado ahi:


Ahi pueden ver un ejemplo de como, luego de resolver la funcion y colocar el puntero en EAX, verifica que el primer byte de esa funcion no contenga un breakpoint (0xCC). Con colocar hardware breakpoints o colocar los breakpoints por software en la segunda instruccion de la API (o en el RET) bastara para bypassear la comprobacion.

Bien, finalmente, el lugar en el cual se salta al OEP es este:


Llegado al "ADD", ESP contiene el offset al EP y EBP la ImageBase del programa, con lo cual, al sumarlo dara como resultado el OEP y al tomar el RET quedaremos parados ahi:



Para realizar el plugin, los pasos que realice fueron los siguientes:

1) Buscar el patron del loop que desexorea el codigo.
2) Pasar el loop anterior y realizar una busqueda de los patrones de codigo que resuelven la IAT, nos dan el salto al OEP y realizan la verificacion de BeingDebugged. Esto lo hago seteando callbacks para cada una de las tareas.
3) Cuando salta el callback en el truco anti-dbg lo unico que hago es colocar EAX en 1 luego el AND y antes del MOV EBX, EAX, con eso me aseguro de que EAX siempre es 1.
2) Cuando salta el callback de LoadLibraryA solo tomo el valor de EAX y lo voy agregando a la IAT.
4) Cuando salta el callback de GetProcAddress simplemente tomo los valores de EAX y EDI y los agrego en la IAT.

La el plugin (dll) lo pueden conseguir aca: http://tinyurl.com/2arrnct

El source code del plugin lo pueden conseguir aca: http://tinyurl.com/2wz5bty

Hasta el proximo post!.

miércoles, 7 de julio de 2010

FUU v0.1.1 Beta - Minor Release


Hola!,

bueno, luego de un tiempo sin actualizaciones al final sacamos una nueva version de FUU. Esta nueva version es mas que nada un minor release para corregir un par de cosas que habian quedado muy feas en la primera version.

Alguna de las cosas que se corrigieron son la funcion de "Refresh" en la GUI y un par de errores logicos en el codigo, tanto de la GUI como de los plugins. Ademas, se agrego la posibilidad de poder guardar el dumpeado resultante del proceso de unpacking en el lugar que uno elija.

Tengo que agradecer a toda la gente que se acerco a darme una mano con el proyecto, como GUAN, Eddy, Marciano, Mario Vilas y Erisoft. Todos ellos estuvieron ayudandome tanto para testear la herramienta y reportar bugs, como para colaborar con codigo e ideas para futuras versiones como con samples para poder realizar pruebas "particulares".

Un amigo, GUAN de Dio, se ha sumado al proyecto como colaborador migrando la version de 32 bits a 64 bits. Lamentablemente, en este release no pudimos incluirla porque estamos teniendo problemas con el SDK TitanEngine y su soporte para 64 bits con MASM y VS (Visual Studio), pero esperamos prontamente poder solucionar esto y lanzar finalmente una version de 64 bits.

Quisiera ademas aprovechar un poco para aclarar algunas cosas. He visto por al red algunos comentarios de algunas personas diciendo cosas del estilo: "Para que usar FUU si PEiD con plugins va mejor". Bueno, primero que nada quisiera aclarar que la idea principal de FUU es la de un proyecto OpenSource donde todo el mundo pueda colaborar. PEiD en cambio es un proyecto No-OpenSource. Ademas, agregar que la palabra "Universal" en FUU no significa un unpacker generico sino que con esa palabra intentamos describir lo que en un futuro FUU puede llegar a ser: al ser un proyecto OpenSource en el cual todo el mundo interesado puede colaborar con sus plugins y unpackers, entonces, podriamos desarrollar un unpacker para cada proteccion conocida hasta el momento, eso es lo que quiero decir cuando digo que FUU es "Universal Unpacker".

En fin, cualquier sugerencia, reporte de bugs, aporte para el proyecto es bienvenido y solo tienen que sumarse a nuestra lista de correo o enviarme un mail (en el caso de respoderle a una persona en particular de manera privada hace que el proyecto deje de tener sentido, la idea es que todos discutamos en la lista las ideas y aportes para FUU).

Nuevamente, agradecer a todos aquellos que colaboraron con el proyecto!!!.

Las ideas aportadas fueron muy buenas y sin dudas las vamos a ir agregando de a poco en los posteriores releases.

Ah, antes de que me olvide, prometo actualizar de manera algo mas periodica que hasta ahora la seccion de plugins, subiendo nuevos sources de nuevos plugins (siempre y cuando el tiempo me lo permita).

Web del proyecto: FUU

FUU v0.1.1 Beta Download link: FUUv0.1.1b

Disfruten!.

Hasta el proximo release!.

lunes, 14 de junio de 2010

XnView MBM Processing Heap Overflow

Hola!,

queria solo dejarles un advisory en el cual participe haciendo el analisis tecnico de la vulnerabilidad.

El que descubrio el bug no he sido yo sino un amigo, Mauro Olea, y entre los dos hemos escrito el advisory de dicho bug.

Link al advisory: XnView MBM Processing Heap Overflow

Saludos.

domingo, 30 de mayo de 2010

Tutorial - Arbitrary Memory Overwrite en Drivers en Kernel

Hola!,

hace un tiempo en la lista de CLS se armo una discusion sobre si se podia o no allocar en la NULL Page (0x00000000) desde usermode asi que decidi hacer un pequeño tutorial sobre como explotar Arbitrary Memory Overwrites en Drivers en Kernel y como utlizar esta tecnica de allocar en la NULL Page.

Espero que les guste!.

Aqui les dejo el tutorial: Explotando Arbitrary Memory Overwrite en Drivers en Windows

Saludos.

sábado, 15 de mayo de 2010

Quick Post - Tutorial por marciano - Hackeando juegos de NES con emulador

Hola!,

solo queria dejarles un tutorial que escribio mi amigo marciano sobre como modificar juegos para NES.

Me parecio que vale la pena difundirlo porque es interesante y ademas no he visto este tipo de tutoriales en español (aunque posiblemente existan).

En fin, les dejo el link:

Hackeando juegos de NES con emulador por marciano

Hasta la proxima!

viernes, 14 de mayo de 2010

Tutorial - Unpacking en 64 Bits PARTE I

Hola!,

aca les dejo un nuevo tutorial. Va a formar parte de una serie de tutoriales dedicados al unpacking en 64 bits.

Unpacking en 64 bits PARTE I

Espero que les guste!.

Hasta la proxima!.

miércoles, 12 de mayo de 2010

Adobe Director Memory Corruption Vulnerability


Hola!,

Solo queria dejarles el link al advisory de un bug que descubri un par de meses atras y del cual ayer salio el advisory.

Adobe Director Memory Corruption Vulnerability


UPDATE 12/08/2010: Se realizo un update del advisory con informacion tecnica adicional. El analisis lo hizo un amigo, marciano, asi que gracias a el por la ayuda!.

---------------------------------------------------------------------------------
Adobe Director DIRAPI.DLL Invalid Read Vulnerability
1. Advisory Information

Title: Adobe Director DIRAPI.DLL Invalid Read Vulnerability
Advisory Id: CORE-2010-0405
Advisory URL: http://www.coresecurity.com/content/adobe-director-memory-corruption
Date published: 2010-05-11
Date of last update: 2010-05-11
Vendors contacted: Adobe
Release mode: Coordinated release
2. Vulnerability Information

Class: Input validation error [CWE-20]
Impact: Denial of service
Remotely Exploitable: Yes (client-side)
Locally Exploitable: No
CVE Name: CVE-2010-0128
Bugtraq ID: N/A
3. Vulnerability Description

Adobe Director is prone to a vulnerability due to an invalid read in DIRAPI.DLL, when opening a malformed .dir file. This vulnerability could be used by a remote attacker to execute arbitrary code, by enticing the user of Adobe Director to open a specially crafted file.
4. Vulnerable packages

* Adobe Director 11.5
* Adobe Director 11 (Version: 11.0.0.426)

5. Non-vulnerable packages

* Adobe Director 11.5 (Version: 11.5.7.609)

6. Solutions and Workarounds
See the Adobe Security Bulletin [1] available at http://www.adobe.com/go/apsb10-12/.
7. Credits

This vulnerability was discovered and researched by Nahuel Riva, from Core Security Technologies. Publication was coordinated by Jorge Lucangeli Obes.
8. Technical Description

The vulnerability occurs at offset 0x68174813 of the dirapi.dll module of Adobe Director. Improper validation of input data leads to a crash in the memory read instruction. This vulnerability could result in arbitrary code execution, although it was not verified.

Version: 11.0.0.426
Module crash: Dirapi.dll Version: 11.0.0.426

Crash:
68174813 |. 8906 |MOV DWORD PTR DS:[ESI],EAX
68174815 |> 8B4C24 14 |MOV ECX,DWORD PTR SS:[ESP+14]
68174819 |. 51 |PUSH ECX
6817481A |. E8 3197F5FF |CALL
6817481F |. 8946 04 |MOV DWORD PTR DS:[ESI+4],EAX
68174822 |. 83C6 08 |ADD ESI,8
68174825 |. 4D |DEC EBP
68174826 |.^ 75 C8 \JNZ SHORT DIRAPI.681747F0

EAX=00000000
DS:[02889B20]=???

Registers:
EAX 00000000
ECX 00000068
EDX 00000001
EBX FFE4B4D4
ESP 0012DFB8
EBP 0000373D
ESI 02889B20
EDI 01BC9964
EIP 68174813 DIRAPI.68174813
C 0 ES 0023 32bit 0(FFFFFFFF)
P 1 CS 001B 32bit 0(FFFFFFFF)
A 0 SS 0023 32bit 0(FFFFFFFF)
Z 1 DS 0023 32bit 0(FFFFFFFF)
S 0 FS 003B 32bit 7FFDD000(FFF)
T 0 GS 0000 NULL
D 0
O 0 LastErr ERROR_NEGATIVE_SEEK (00000083)
EFL 00250246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty -??? FFFF 00000000 00000000
ST1 empty -??? FFFF 00000000 00000000
ST2 empty -??? FFFF 00000000 00000000
ST3 empty -??? FFFF 00000000 00000000
ST4 empty 0.0000106994366433355
ST5 empty 0.6322773098945617676
ST6 empty -0.0034003453329205513
ST7 empty 1041416.9375000000000
3 2 1 0 E S P U O Z D I
FST 4220 Cond 1 0 1 0 Err 0 0 1 0 0 0 0 0 (EQ)
FCW 007F Prec NEAR,24 Mask 1 1 1 1 1 1

Stack Trace:
Call stack of main thread
Address Stack Procedure / arguments Called from Frame
0012DFC4 68175563 DIRAPI.681747A0 DIRAPI.6817555E
0012DFE4 6817003B DIRAPI.68175290 DIRAPI.68170036
0012E018 6817020D DIRAPI.6816FF40 DIRAPI.68170208
0012E01C 00A923C8 Arg1 = 00A923C8
0012E020 00000011 Arg2 = 00000011
0012E024 00000003 Arg3 = 00000003
0012E028 0012E050 Arg4 = 0012E050
0012E02C 00001100 Arg5 = 00001100
0012E048 680F6D50 DIRAPI.681701A0 DIRAPI.680F6D4B
0012E04C 00000000 Arg1 = 00000000
0012E050 00000003 Arg2 = 00000003
0012E054 00000091 Arg3 = 00000091
0012E058 0012E07C Arg4 = 0012E07C
0012E05C 00001100 Arg5 = 00001100
0012E068 6800CFC0 DIRAPI.680F6D30 DIRAPI.6800CFBB
0012E088 680817EC DIRAPI.6800CF80 DIRAPI.680817E7
0012E0B4 680823E3 DIRAPI.68081760 DIRAPI.680823DE
0012E0C8 680836A7 DIRAPI.68082380 DIRAPI.680836A2
0012E638 680839E2 DIRAPI.68082EA0 DIRAPI.680839DD 0012E634
0012E63C 00A86E8C Arg1 = 00A86E8C
0012E640 0012F5EC Arg2 = 0012F5EC
0012E644 00000000 Arg3 = 00000000
0012E648 00000000 Arg4 = 00000000
0012E64C 0000001A Arg5 = 0000001A
0012E674 68042D8C DIRAPI.68083970 DIRAPI.68042D87 0012F5EC
0012E678 00A86E8C Arg1 = 00A86E8C
0012E67C 0012F5EC Arg2 = 0012F5EC
0012E680 00000000 Arg3 = 00000000
0012E684 00000000 Arg4 = 00000000
0012E688 0000001A Arg5 = 0000001A
0012E6B0 6800A111 DIRAPI.68042C90 DIRAPI.#88+7C
0012E6B4 00A92588 Arg1 = 00A92588
0012E6B8 0012F5EC Arg2 = 0012F5EC
0012E6BC 00000000 Arg3 = 00000000
0012E6C0 0000001A Arg4 = 0000001A
0012E6DC 2018BB23 Director.2018BB1E
0012E83C 2027E776 ? Director.2018BAB0 Director.2027E771

9. Report Timeline

* 2010-04-14: Vendor contacted.
* 2010-04-14: Vendor requests PoC file.
* 2010-04-14: Core replies with the PoC file and the draft advisory.
* 2010-04-14: Adobe replies that will investigate the issue and sets a preliminary release date for June/July.
* 2010-04-15: Core agrees with the preliminary release date.
* 2010-04-28: Core requests an update on the situation, and asks whether Adobe was able to confirm if the bug is exploitable.
* 2010-04-28: Adobe replies that the issue was investigated and is scheduled to be fixed in the next release of Adobe Shockwave Player, planned for May; they did not carry out further exploitability research.
* 2010-04-28: Core requests a specific publication date for the fix.
* 2010-05-06: Adobe informs Core that the release date for the fix has been set to May 11th.
* 2010-05-07: Core asks Adobe if they want to provide the text for the "Solutions and Workarounds" section of the advisory.
* 2010-05-07: Adobe replies with the text for the "Solutions and Workarounds" section of the advisory.
* 2010-05-11: Advisory published.

10. References

[1] Adobe Security Bulletin http://www.adobe.com/go/apsb10-12/.
11. About CoreLabs

CoreLabs, the research center of Core Security Technologies, is charged with anticipating the future needs and requirements for information security technologies. We conduct our research in several important areas of computer security including system vulnerabilities, cyber attack planning and simulation, source code auditing, and cryptography. Our results include problem formalization, identification of vulnerabilities, novel solutions and prototypes for new technologies. CoreLabs regularly publishes security advisories, technical papers, project information and shared software tools for public use at: http://www.coresecurity.com/corelabs.
12. About Core Security Technologies

Core Security Technologies develops strategic solutions that help security-conscious organizations worldwide develop and maintain a proactive process for securing their networks. The company's flagship product, CORE IMPACT, is the most comprehensive product for performing enterprise security assurance testing. CORE IMPACT evaluates network, endpoint and end-user vulnerabilities and identifies what resources are exposed. It enables organizations to determine if current security investments are detecting and preventing attacks. Core Security Technologies augments its leading technology solution with world-class security consulting services, including penetration testing and software security auditing. Based in Boston, MA and Buenos Aires, Argentina, Core Security Technologies can be reached at 617-399-6980 or on the Web at http://www.coresecurity.com.
13. Disclaimer

The contents of this advisory are copyright (c) 2010 Core Security Technologies and (c) 2010 CoreLabs, and may be distributed freely provided that no fee is charged for this distribution and proper credit is given.
14. PGP/GPG Keys

This advisory has been signed with the GPG key of Core Security Technologies advisories team, which is available for download at http://www.coresecurity.com/files/attachments/core_security_advisories.asc.

---------------------------------------------------------------------------------

Chau!

martes, 27 de abril de 2010

Tool - FUU - [F]aster [U]niversal [U]npacker


Hola a todos!,

Si, si, no estoy muerto! sigo aca!. Durante este tiempo estuve haciendo algunas cositas, entre ellas, una nueva tool, llamada FUU, Faster Universal Unpacker.

Primero que nada quiero comentarles que esta tool nacio por la curiosidad de saber de que se trataba TitanEngine. TitanEngine es un SDK desarrollado por la gente de ReversingLabs. Se trata de una libreria llena de funciones listas para ser usadas y que tienen como finalidad la creacion de tooles del estilo de unpackers, decrypters, decompressors, etc. TitanEngine fue presentado en BlackHat en 2009 y fue ahi donde lo conoci.

Ahora bien ... que es FUU? FUU es basicamente una GUI mediante la cual se puede acceder a diferentes tipos de tools. La mision principal de FUU es la de darnos una manera facil de poder desempacar programas empacados, comprimidos o encryptados con los packers/compressors y crypters mas conocidos como UPX, ASPack, etc; Ademas, cuenta con algunos plugins extras como "Generic OEP Finder", "Crypto Signatures Detector" y "Generic Unpacker"; estos plugins fueron diseñados por la misma gente que hizo PEiD.

La tool esta creada (tanto la GUI como los plugins) estan hechos en ASM. Particularmente, la GUI, esta armada con RadASM.

Por que "Universal"?. El termino, en este caso, no esta usado de la manera que uno puede llegar a pensar, es decir, en un algoritmo que engloba la comportamiento general en varios packers y permite con una sola funcion, desempacar varios clases de packers/crypters/compressors; sino que cuando le puse "Universal" pense en que podriamos agregar cuantos plugins quisieramos para poder analizar y desempacar tantos packers como queramos, hasta llegar al punto que abarquemos todos (o al menos la gran mayoria) los existentes.

En este primer release pueden encontrar, entre muchos bugs, 4 plugins para desempacar UPX, ASPack, BeRoExePacker y FSG y ademas, los plugins mencionados anteriormente. En proximas versiones se continuaran agregando plugins para diferentes packers/crypters/compressors y alguna que otra tool extra, ademas de fixear bugs :)

El proyecto esta hosteado en googlecode:

http://code.google.com/p/fuu/

Si quieren, pueden mirar el source code aqui: http://code.google.com/p/fuu/source/browse/

Ademas, he creado un grupo en Google Groups por si alguien quiere sumarse para discutir algun tema particular, reportar bugs, pedir algun feature o algun plugin especial. El grupo lo pueden encontrar aqui: http://groups.google.com/group/faster-universal-unpacker

La GUI esta distribuida bajo licencia GPL y cada plugin (menos los extra) estan distribuidos bajo LGPL.

La primer release la puede bajar directamente desde aqui:

http://fuu.googlecode.com/files/FUU%20v0.1%20Beta.rar


En breve publicare un tutorial explicando como fue que cree esta tool y ademas como se crea un plugin con TitanEngine.

Espero que les guste y les sea util. Comentarios, sugerencias y bugs son bienvenidos siempre!.

Antes de finalizar, quisiera agradecer a Guan De Dio y marciano por aguantarme y responder todas las preguntas que siempre estoy haciendoles, por ayudarme con los problemas que suelo encontrarme y que no se como afrontar y a InDuLgEo por diseñar el main logo de la tool :P Gracias a los tres!.

Un abrazo!

Hasta la proxima!.

martes, 23 de marzo de 2010

Tutorial - Keygenning ZtreeWin

Hola!,

Queria contarles que aqui pueden encontrar un nuevo tutorial con un analisis sobre el algoritmo utilizado en ZtreeWin para generar el serial, con kgn incluido :P.

Espero que les guste!.

Hasta la proxima!.

lunes, 15 de marzo de 2010

Tutorial - Cracking en Java

Hola!, aquí les dejo un pequeño tutorial sobre un interesante crackme en Java.

Trata sobre la serializacion y deserializacion de objetos, muy original la idea.

Espero que les guste.

Saludos.

jueves, 11 de febrero de 2010

ActionScript & JIT Spray

Hola!,

La semana pasada se ha presentado en BlackHat DC 2010 una nueva técnica llamada JIT Spray (es como el HeapSpray pero utilizando código ActionScript) que permite bypassear DEP (Data Execution Prevention) y ASLR (Address Space Layout Randomization); esto permitiria explotar bugs en IE8 sobre Windows 7 dado que hasta ahora las técnicas conocidas habían quedado obsoletas.

El paper de Dionysus Blazakis se puede encontrar aquí.

Además, pueden visitar http://reversinglabs.wordpress.com/ para leer un post muy interesante sobre como debuggear este código JITeado.

Slds!.