martes, 29 de enero de 2013

Solución al reto Explotame_By_Pekeinfo_v1


Con esta entrada comienzo la que espero sea la primera de muchas, relacionadas con el fascinante universo del arte de los exploits.

Quiero dejar claro que para mi es completamente nuevo y que aun estoy verde pero si consigo mantener las ganas con las que he resuelto éste exploitme, no tardaré mucho en conseguir retos más avanzados. 

El binario es obra de @pekeinfo y sin duda que ha sido todo un acierto haber creado un reto así. 

Esta solución muestra como explotar una vulnerabilidad por desbordamiento de pila (Stack Based Overflow) sobre Windows XP con SP3 y con DEP deshabilitado.

Es un reto muy sencillo, ideal para los que estamos empezando. Como siempre, cualquier crítica constructiva será bien recibida.

Los ficheros adjuntos son:

Para finalizar, quiero dedicar esta entrada a un excelente profesional que se llama Javier Rodríguez , al que se que valora mucho el arte de la explotación. Va por ti maestro ;)

Hasta el próximo exploit!!!

martes, 22 de enero de 2013

Entrevista a Ricardo Gómez a.k.a. APOKLIPTIKO



El 2012 ha sido para mí un año inmensamente productivo en el aprendizaje de temas relacionados con la seguridad de la información. Un año en el que he conocido gran cantidad de profesionales.

Profesionales que comparten su preciado tiempo y sus conocimientos con todos nosotros de manera altruista, sin recibir nada a cambio, salvo la satisfacción que se obtiene de hacer bien las cosas.

En agradecimiento a esas personas, que para mí son muy importantes, he decidido comenzar con una serie de entrevistas de cada uno de ellos, siempre que quieran, para dar a conocer su faceta técnica y humana.

Esta idea la he tomado reverseada de mi brother kinomakino y de flu-project, sencillamente porque me parece una idea estupenda poder conocer a tantos genios escondidos detrás de un Nick. Considero que con las entrevistas, de algún modo, se les reconoce y agradece, tantas horas de esfuerzo y dedicación compartidas con todos nosotros.

Para la primera de ellas, he decidido contar con Ricardo Gómez. Sin duda alguna es una de esas personas que me han ayudado a integrarme perfectamente en la lista CrackSLatinos, mostrando gran interés cuando publico algún que otro reto y al que no le importa en absoluto echarme una mano o incluso las dos, cuando me quedo bloqueado por falta de conocimiento.

Ha publicado más de 20 teorías de RCE en la lista de CrackSLatinoS. Fue ponente del primer evento de seguridad informática (Gu4y4s Hack) de su país, Ecuador, el año pasado. Amante del mundo de la ingeniería inversa y todo un experto en técnicas y análisis de malware.

Nos encontramos ante un gran profesional y una excelente persona. Por tanto y sin más preámbulos, damos paso a la entrevista.

¿Quién es Ricardo Gómez?
Un adicto a los bytes, fanático de la tecnología, geek empedernido. Estudié ingeniería comercial pero ya ves.... las PCs me atraen más. Creo que fui la “oveja negra” de la familia, todos mis hermanos tienen algo que ver con contabilidad pero para mi la informática es aquella amante que no puedo olvidar, esa que ha estado en mis noches de delirios y ha logrado que pase noches enteras sin dormir.

En la scene te conocemos por APOKLIPTIKO y ese nickname sugiere adjetivos como misterioso, oculto y enigmático. ¿Quién es APOKLIPTIKO?
Bueno, el nick nace de cuando empiezo a leer los tutoriales de Ricardo Narvaja y veo que nada se le resiste, me emociono y pienso “yo quisiera ser así, algo que inspire temor al programador” luego traté de mantener un bajo perfil por los problemas que tuvieron algunos conocidos de CLS y porque se suele asociar la palabra cracker con delincuente; pero al final decido que si no hay actos malos no hay consecuencias malas y comienzo a dar la cara. Así que ya no hay nada de misterio jajajaja.

¿De dónde viene tu pasión por el reverseado de binarios?
La verdad ni idea jajajaja. Desde muy pequeño me gustó la tecnología, a los 12 empecé cursos de computación, me hice conocido del director de la academia porque llegaba temprano (una media hora antes de clases) para “espiar” lo que daban en los cursos más avanzados, luego el director me dejaba pasar al laboratorio a escuchar las clases de programación y al poco ya estaba recibiendo clases de programación en cobol. Esa sensación de darle instrucciones a la máquina y dejar a los demás chiquillos de mi edad asombrados era única. Luego ya la programación no me basta, quiero saber más, porque funciona así, que pasa dentro del computador y comienzo a buscar información hasta que finalmente casi que de milagro cae un tutorial de Ricardo Narvaja en  mi poder, empiezo a leerlo y me doy cuenta que es lo que buscaba así que empiezo a devorar cuanta información relevante al tema se me cruza. Creo que lo de “destripar” siempre fue lo mío, mis juguetes de navidad terminaban desarmados a los dos días porque “quería ver como funcionaban”.

¿Cómo fueron tus comienzos en el mundillo de la seguridad?
Divertidos. No contaba con un computador y tenía que alquilar en un ciber. Esperar X tiempo hasta que el administrador del ciber me diga “ya puedes usar el internet” con una conexión de 56 Kbps, así que imprimía lo que encontraba para llegar a casa y leer: “ahora hacemos  lo que nos explican en la página http://www...... no lo repito acá porque está muy claro así que sigamos” jajajaja y tenía que volver al ciber a imprimir lo de la otra página jajaja. Poco a poco empiezo a avanzar y luego caigo en la lista de CracksLatinoS, y comienzo a conversar con gente que sabe mucho de reversing: Solid, Mintaka, RedH@wk, Arapumk, Shaddy y muchos más, a quienes no les molestaba que les hiciera las preguntas más simples.

¿Cómo ha sido para ti el paso por la lista CracksLatinoS?
Lo mejor. Caer en CracksLatinoS me ha enriquecido un montón, hay gente de todos lados y no se discrimina a nadie. Hay gente con un conocimiento altísimo que comparte su saber sin egoísmo. Para mi CLS es una familia, hay conflictos, risas, y de vez en cuando un zape! de parte del moderador jajaja. El ambiente que se maneja es único.
Recuerdo que cuando llegué y dije soy de Ecuador muchos se asombraron, era el primer ecuatoriano en la lista, sin embargo el trato siempre fue el mismo; contrario a lo que alguna vez un listero dijo que en la lista predominan españoles y argentinos y hay “racismo” y “preferencias”. Yo como minoría te digo que no importa de donde eres, CLS es una familia y punto.

¿Quiénes han sido decisivos en tu formación como profesional y por qué?
Hay mucha gente que me ha ayudado de una u otra forma, desde mi madre que me tenía una paciencia bárbara al verme horas sentado frente al PC, sin decirme nada, mi esposa que siempre me ha animado y ha cambiado tardes de paseo por una aburrida tarde viéndome frente a una pantalla mientras susurro código; hasta gente que me dio las primeras clases de cracking: el gran Solid que me tuvo una paciencia digna de un santo y mi tocayo Ricardo Narvaja quien siempre trata de ayudar cuando le preguntas, Shaddy, Arapumk... son tantos nombres y nicks. Decir que una o dos personas son decisivas es complejo, aparte que yo creo que un profesional debe ser persona antes que profesional.

Comentan las malas lenguas, que llevas una lista de morosos  en CracksLatinoS, incluso que ya hay más de algún Nick apuntado. ¿Qué de cierto hay en ello?
Si te contara la de morosos que hay. Estoy pensando pasarlos a papel continuo para un manejo más fácil del listado y por si hay problemas con el servidor. Te daré un nombre pero apaga la grabadora, ¿está apagada? vale, Amerikano.

¿Sólo por curiosidad, podrías decirme a que moroso corresponde el tutorial del LCGUnPackMe?
Esteeeeeee...... a ver que busco en la lista, pero va a llevar tiempo eh. Se fue el sistema..... jajajaja. Ya sale, ya sale, llevo unas cuantas páginas pero quiero entregar algo que valga la pena. Quiero dejar huella en el reversing.

¿Qué hay de la tabla?, ¿Cuándo se imparte?, ¿Y cómo empezó esto en CracksLatinoS?
La tabla fue una joda con Nando (Tena) parafraseando a Gaspar de “Los Simpsons”: “si no hay tute, hay tabla”, y cada que alguien decía algo tipo “logré romper X protección” venía la pregunta “¿Habrá tute?” si decían que no, nosotros sacábamos la frase del baúl. Luego Tena por cosas del trabajo ya no tiene el mismo tiempo para dedicarse a dar tabla así que quedé solo, y dado que ya el tiempo del que dispongo tampoco es el mismo de antes estoy reclutando gente dispuesta a dar tabla, en los tiempos que corren la gente ya no se asusta con la tabla así que se está pensando en integrar antorchas y rastrillos.

Como decía en el prólogo, fuiste ponente el año pasado en el Gu4y4s Hack. ¿Cómo fue la experiencia?, ¿Qué temas tocaste?
Hablé de trucos anti-análisis que se ven comúnmente en el malware. Se tocaron temas de anti-desensamblado y anti-debugging. Dentro de anti-desensamblado estaba lo que conocemos como ofuscado de código y referencias cruzadas inválidas. En anti-debugging se habló de como el malware se vale de las APIs o de estructuras del sistema como el PEB entre otras cosas.
Una experiencia super agradable, el resto de expositores tocaron temas super interesantes. La organización muy atenta en todo momento. Espero tener la oportunidad de compartir conocimiento este año nuevamente.

Mis espías me informaron que enviaste un c4p a la Rooted 2013. ¿Significa esto que estamos ante un ponente en potencia y que posiblemente te veamos pronto por España?, ¿Vas a intentarlo en la NCN?, ¿A qué otros eventos internacionales te gustaría ir como ponente y por qué?
Jajajaja ¡Joer! ¿Cómo te informas Longinos? ¿Ponente en potencia? Soy muy tímido en realidad, la única vez que pierdo la timidez es cuando hablo de reversing. Sí, enviamos un paper con un gran amigo (Nox) pero no quedamos entre los afortunados, la competencia es muy dura y hay gente con muchísimo talento. Estamos pensando en enviar un paper para la NCN pero aún no lo hemos decidido. Aparte de la Rooted me encantaría ir a la Eko Party de Argentina, por el nivel de conocimiento que se maneja en las exposiciones (y por el asado jajaja).

A parte de las ponencias, ¿En qué proyectos estás metido últimamente?
Bueno trato de darme un tiempo para todo, estoy aprendiendo algo de exploiting que es un tema que siempre me ha llamado la atención pero nunca me doy el tiempo para estudiarlo. Trato de aprender algo nuevo cada día. Tengo pendiente escribir una entrada decente en el blog de Nox (del cual soy invitado), terminar un tutorial de PEspin, varias tools que las cargo en la cabeza pero aún no las plasmo en código, y no se cuantas cosas más. Creo que si mi trabajo estuviera directamente relacionado con reversing me sería más fácil organizarme.

¿Cómo te ves en el futuro?
Mi sueño es trabajar en lo que me gusta pero de lleno, vivir del reversing. Estar en conferencias de seguridad como ponente y como alumno, solo estoy esperando que llegue la oportunidad, mientras tanto toca prepararse.

¿Qué libros nos recomendarías?
Hay tantos libros buenos dependiendo de lo que quieras aprender, por ejemplo tienes Windows internals si buscas tener una visión más clara del funcionamiento de Windows; Practical Malware Analysis de Michael Sikorski y Andrew Honig si te interesa el mundo del malware; The IDA Pro book de Chris Eagle te ayuda a manejar mejor una herramienta que tarde o temprano terminaras usando en el reversing. Todo es cosa de enfocarse y ver que aprender primero. 

¿Qué consejo le darías a alguien que quiere sumergirse en este mundo?
Practicar y leer. Esto es un mundo apasionante pero tienes que sentir verdadero amor por el reversing sino te aburres muy pronto porque suele pasar que no ves avances muy rápido, acá casi nada es mecánico, hay que ser creativo, paciente. 

¿A quién te gustaría que le hiciésemos la próxima entrevista?
Es que me la pones difícil... ¿qué te parece Nox?

Para finalizar, un pequeño juego. Te digo una palabra y dices lo primero que te venga a la mente. ¿Preparado?:
  • CracksLatinoS: familia
  • RCE: vida
  • Exploiting: la mejor forma de aprender del SO. Un mal necesario.
  • DBI: más que unpacking.
  • Ricardo: una gran persona, de él he aprendido lo que es la humildad y la constancia.
  • Solid: un grande, mi primer maestro de cracking y no lo dejé que me explique unpacking, hoy me arrepiento.
  • Nahuel: Buena persona solo que algo impaciente.
  • Marciano: casi no lo conozco, no se que decirte.
  • Nox: un gran reverser y gran persona. Espero que no deje de ser lo que es.
  • Trolling: conflictos o risas, depende de como se lo maneje y con quien.
  • Familia: núcleo de la sociedad. 
  • F1ACA: una palabra que la aprendí de Ricardo y ahora la dichosa palabrita no se aleja de mi jajaja.

Hemos llegado al final, ¿Algo más que quieras añadir?
Pues nada, agradecerte por el espacio que has hecho en tu agenda y en tu blog. Añadir que me gustaría tener más tutos como mi amigo Eddy Indulgeo quien es una máquina de hacer tutos (aquí en corto: se rumora que tiene changos trabajando en los tutos, que él solo dicta), pero bueno solo espero que el tiempo que he dedicado a ellos hayan servido al menos a uno.

Sólo me queda darte las gracias Ricardo, por compartir con todos nosotros un poquito de tu vida. Queda patente que no solo eres un magnifico profesional, amante de lo que haces, sino también un marido y padre ejemplar (me lo ha chivado Nox).

La siguiente entrevista, correrá a cargo de Josué Sílva a.k.a. Nox, otro que tampoco se queda atrás.



jueves, 10 de enero de 2013

Solución al reto bearchik's Errors Keygenme


Sin duda alguna, este ha sido hasta el momento uno de los mejores retos que he resuelto.

Seguro que de su lectura se obtiene bastante buena información.

Es inmensamente laborioso de tracear, debido principalmente a que emplea técnicas anti-reverse como:

  • Detección de BreakPoints (On Memory y On Software).
  • Infinitos SEH ( Structured Exception Handling).
  • ...
Por todo ello, si te apetece leer este tutorial, te ruego que te armes de paciencia porque será largo el camino.

Los ficheros anexados son:

sábado, 5 de enero de 2013

Solución al reto ksydfius's What Is This


Solución al reto ksydfius's What Is This, perteneciente al concurso 12 del 2012 de la lista CrackSLatinoS.

Se trata de un reto que por su naturaleza lo hace inmensamente divertido.

Mezcla componentes esteganográficos y la plataforma donde se desarrolla es como poco inusual.

Sin duda es uno de esos retos que no se olvida con facilidad.

La relación de fichero anexados es:
No quiero terminar esta entrada sin dar las gracias a todos los que de una manera u otra han contribuido en la resolución de este reto:
  • @Telecobydefault
  • @sisco_0
  • DrQ
  • Apuromafouser001
  • poxyran
  • @NoxOner
  • @RicardoGomez94
  • Negux
  • DAGR
Felices Reyes a tod@s.