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

domingo, mayo 23, 2021

Una microhistoria con algunos proyectos Open Source en el mundo de los videojuegos, la creatividad y el entretenimiento.

Hace unos días mi compañero y amigo Sergio Sancho nos hablaba de cómo F’ (o F Prime) había permitido el desarrollo de un software de vuelo autónomo para que un drone que se encuentra a millones de kilómetros pudiera volar de forma autónoma por el Planeta Rojo, aunque es impresionante, no debemos olvidar que se ha conseguido con piezas de Software Libre u Open Source.

Figura 1: Una microhistoria con algunos proyectos Open Source
en el mundo de los videojuegos, la creatividad y el entretenimiento.

Ciertamente, existe una cantidad inimaginable de Software Libre y Open Source, ya sea desde pequeños scripts que hacen cosas muy sencillas como gprint - una librería del lenguaje Python que permite un uso de los colores mas sencillos en la terminal - hasta sistemas operativos completos como GNU/Linux (realmente Linux es el Kernel, es decir el “corazón” del sistema operativo).

Hoy quería hacer un pequeño recorrido sobre programas y proyectos en el mundo de los videojuegos y la creatividad a lo largo de la historia, que fueran Open Source y que estuvieran fuera de lo que en general utilizamos. No esperéis un recorrido completo, sino algunas pinceladas en algunos proyectos de estos años que se han creado gracias a la colaboración de una comunidad. Una especie de homenaje a las microhistorias de nuestro compañero Fran Ramírez y Rafael Troncoso que nos cuentan en su libro sobre la historia de la informática y los hackers, pero con este enfoque.

Figura 2: Libro de "Microhistorias: anécdotas y curiosiades de la historia
de la informática (y los hackers)" de Fran Ramírez y Rafel Troncoso 0xWord.

Los que vivíais por los años 80, recordareis con mas o menos cariño los ordenadores de la época, como el Commodore VIC-20, el Commodore 64, las computadoras Spectrum o la mítica Amstrad que tanto significa para Chema Alonso. En aquella época los videojuegos que existían para estos ordenadores estaban completamente basados en texto, es decir, no tenían la capacidad de mostrar sprites (imágenes) y mucho menos de renderizar gráficos en 3D.

Figura 3: Sinclair ZX Spectrum.

En aquella época nació un genero de videojuegos que aun hoy existe y es el denominado “roguelike”. En estos videojuegos, básicamente, el personaje que controlas tiene una sola vida y cuando es derrotado, tiene que volver a comenzar desde el principio. El género se creo a partir del videojuego Rogue de ahí su nombre el cual fue lanzado en 1980. Debido a la fama del genero en la época, surgieron montones de juegos de la misma temática, uno de ellos, fue de los primeros Open Source y es el NetHack.

NetHack, fue lanzado en 1987 por el NetHack DevTeam el cual fue un fork (bifurcación) de Hack otro roguelike de la época, el equipo fue lanzado actualizaciones regulares del mismo hasta 2003, donde dejaron de sacar nuevo contenido y las siguientes mejoras que recibió fueron simplemente de compatibilidad con nuevas plataformas. Debido al parón en el desarrollo, y gracias a que era Open Source, muchos fan comenzaron a modificar el código para crear su propia versión del juego, permitiendo que nuevas personas pudieran disfrutar del juego.

Figura 4: Imagen de una partida de NetHack

Ahora voy a salir un poco del tema para hablar un poco mas de los roguelike, este genero es uno de los mas antiguos y de alguna forma a pesar del tiempo que ha existido su popularidad es limitada frente a otros géneros como los shooter. Afortunadamente, en estos últimos años varios videojuegos, como por ejemplo The binding of Isaac o Hades, han tenido bastante éxito revitalizando la forma de jugar y su dinámica, haciéndolos muy ligeros de jugar y divertidos.

En el otro extremo tenemos Dwarf Fortress, un juego de estos profundos, de los cuales necesitas una guía para jugar al lado, por la cantidad de posibilidades, variables y eventos que ocurren a la vez. En este juego tú no controlas a un solo personaje, controlas a una civilización entera de enanos, los cuales tienen que sobrevivir, comiendo, bebiendo, entreteniéndose, trabajando, descubriendo nuevos lugares mientras cavan hacia lo mas profundo de las montañas. Todo ello mientras evitan ser atacados por otras civilizaciones, destruidos por desastres naturales, o por seres oscuros de lo más profundo de la tierra.

Figura 5: Portada en Steam de Dwarf Fortress

Volviendo al Open Source y sin salirnos de los videojuegos, cuando yo era joven, me encantaba jugar a cuatro videojuegos distintos. El primero de ellos y el que mas recuerdo es el Imperium III: Las grandes batallas de Roma, un RTS (Real-Time Strategy). También jugaba al Patrician III, un juego de simulación y gestión naval y de comercio. El Zoo Tycoon 2, un simulador de funcionamiento de un zoo en el cual se debía crear y mantener un zoo completo. Y por último el RollerCoaster Tycoon, que era como el anterior, pero en este caso se debía gestionar un parque de atracciones. Ninguno de estos era Open Source pero si tenían en común que eran de simulación y gestión, un genero que ha apasionado a multitud de personas a lo largo del tiempo. El problema es que en general envejecen muy mal y en solo unos pocos años ya se notan anticuados, con mecánicas repetitivas y carentes de mucha dificultad, todo esto claro porque se han jugado ya muchas horas a los mismos.

Pero en el año 2004 alguien tuvo la genial idea de crear un simulador Open Source e irlo actualizando con la ayuda de la comunidad. Este proyecto se llama OpenTTD el cual es un simulador de negocio. Para ser mas exactos un simulador de transportes, en el cual tienes que gestionar el transporte de pasajeros y mercancía tanto por tierra, como por mar y aire. Este proyecto surgió como alternativa moderna y Open Source a un videojuego de 1994 llamado Transport Tycoon Deluxe. Este proyecto a diferencia del anterior, sigue en continuo desarrollo y cuenta con muchísimas mejoras respecto al original, como multijugador masivo con hasta 255 jugadores, mapas mas grandes o compatibilidad con sistemas modernos. 

Figura 6: Imagen de una partida de OpenTTD

Dejemos de hablar de videojuegos y cambiemos de tipo de software. Casi todo el mundo conoce Photoshop. Es el programa de edición de imagen omnipresente en cualquier empresa que se dedique a trabajar con imágenes, cosa que esta muy bien ya que la suscripción incluye soporte, actualizaciones, sincronización en la nube y muchas cosas mas. El problema viene cuando nosotros, como personas individuales, queremos realizar retoques medianamente decente a nuestras imágenes pero no queremos pagar una suscripción o pagar cientos de euros en comprar un software que vamos a utilizar unos minutos.

Es por ello que existen soluciones alternativas Open Source que en la mayoría de aspectos no tienen nada que envidiar a las soluciones comerciales que ofrecen algunas empresas. Uno de estos proyectos Open Source, y de los posiblemente mas conocidos, es el editor de imágenes GIMP, que realmente poco hay que decir de él. Es una alternativa fantástica para editar imágenes, tiene la mayoría de herramientas con las que cuenta Photoshop y no tiene coste ninguno, además de que tenemos la posibilidad de modificarlo a nuestro gusto, ya que podemos acceder a su código fuente. 

Pero qué ocurre si, en lugar de editar imágenes, queremos dibujar, ya sea un cómic, la portada de un libro, o cualquier otra cosa. Afortunadamente gracias a los desarrolladores Open Source tenemos soluciones para todo, en este caso la solución es Krita.

Figura 7: Artwork de la mascota de Krita creado con el mismo programa

Krita es un proyecto Open Source que es una joya en su categoría. Es un software de dibujo de nivel profesional, el cual es completamente gratuito (en algunas tiendas como la de Windows o la AppStore de MacOs, tiene un coste simbólico, pero en su propia web se puede obtener de forma 100% gratuita), y se lanza para casi cualquier plataforma (actualmente si no me equivoco esta en Windows, MacOS, GNU/Linux - como appimage y en flatpak - y para Android). Permite la utilización de múltiples pinceles, es compatible con tabletas gráficas de casi cualquier marca, tiene un formato propio muy eficiente, puede trabajar con otros formatos de terceros y está traducido a multitud de idiomas.

Si lo que quieres es crear contenido en el estilo Pixel Art y animarlo, también existe una herramienta Open Source para ello, y ésta es Aseprite. Es un editor de imágenes tipo Pixel Art bastante potente y multiplataforma, que además de permitirte crear imágenes estáticas te permite editarlas para poder exportarlas a otros programas distintos. Aunque este software tiene un modelo de financiación diferente. Todo es Open Source y se puede encontrar su código en Github, pero si lo queremos utilizar, debemos o pagar para obtener el instalador en su pagina web oficial o con el código fuente generar una build nosotros mismos para poder utilizarlo.

Otros proyectos dentro de los gestores de archivos de vídeo y sonido, o de nuestras copias de seguridad de nuestros CD, DVD y BluRay, tenemos soluciones comerciales como Plex, el cual nos permite mantener nuestra colección ordenada y con un acceso sencillo y muy bonito. Por ello, han surgido alternativas, como Emby, que era Open Source, pero a medias.  Solo algunas partes del programa eran Open Source y algunas librerías usadas no lo eran, y por ello se creó lo que sería una alternativa de la alternativa que en este caso se llama Jellyfin, con código completamente abierto y que tiene las mismas funciones que los dos anteriores.

Figura 8: Pantalla principal de Jellyfin

Y para terminar este collage de proyectos Open Source alrededor de los videojuegos, la creatividad y el entretenimiento, quiero hacer una mención especial a uno que permite que se utilicen proyectos Open Source alternativos en Windows, sin tener Windows. Al principio he hablado del Kernel de Linux, el cual digamos es la alternativa Open Source mas conocida a los sistemas operativos de Microsoft y Apple, pero existen muchas otras alternativas. Por ejemplo FreeBSD, el cual es el sistema detrás de consolas como la Nintendo Switch o la PlayStation 4, y tenemos un caso bastante poco conocido por el gran público, pero no por ello menos interesante como es ReactOS, el cual se podría denominar como un sistema operativo compatible con aplicaciones de Windows, sin utilizar ningún código de Microsoft

Figura 9: Captura de la ultima versión de ReactOS. Muy al estilo Windows.

¿Qué significa esto? Pues que esta creado para poder ejecutar los programas y drivers creados para Windows, de forma nativa, es decir, sin ningún tipo de cambio y de forma directa. Esto se hace de forma lenta y ardua, ya que se debe re-implementar todo el código de Windows, sin conocerlo para que funcione sin fallos. Por ello, aunque existe una lista de programas compatibles, ésta es muy escasa y en general se tratan de programas antiguos. Aunque esto no quita lo interesante de tener una alternativa más Open Source que lleva muchos años. De él se habló por aquí cuando iba por la versión ReactOS 0.3

Como podéis ver, los proyectos Open Source son muy diversos, y generalmente de alta calidad, aunque obviamente no tienes presupuestos millonarios detrás. Lo que suelen tener detrás es un equipo formado por montones de personas apasionadas por escribir código, que les encanta desarrollar proyectos que todo el mundo pueda disfrutar y que sueñan con cambiar un poco el mundo. Solo un poco.

Saludos,

Autor: Guillermo Peñarando Sánchez, Developer en Ideas Locas CDCO de Telefónica.

miércoles, noviembre 30, 2011

Hacking Remote Apps: Jailbreaking con Excel (IV de IV)

**************************************************************************************************
- Hacking Remote Apps: Jailbreaking con Excel (I de IV)
- Hacking Remote Apps: Jailbreaking con Excel (II de IV)
- Hacking Remote Apps: Jailbreaking con Excel (III de IV)
- Hacking Remote Apps: Jailbreaking con Excel (IV de IV)
Autores: Juan Garrido "Silverhack" y Chema Alonso
**************************************************************************************************

Saltar la política de No Macros

Cuando le echamos un vistazo a la política de seguridad de No Warnings but disable all macros, pensamos que iba a ser la aplicación de la política de Disable VBA in Office Applications, pero solo para Excel. Sin embargo, nos sorprendió ver que no era así.

Para saltar esta política basta con abrir el documento desde una ubicación de confianza, es decir, desde una Trust Location. Estas rutas son directorios especiales a los que no se aplica ninguna política de seguridad de Excel por motivos de implementación - según conversaciones con miembros del equipo de seguridad de Microsoft -. Así, basta con buscar una de esas ubicaciones, como la de la ruta dónde se almacena el libro pro defecto de Excel, y guardar allí nuestro archivo.

Figura 16: Guardando el fichero en una ubicación de confianza

Una vez guardado, bastará con abrir ese mismo fichero y acceder al contenido VBA sin ninguna alerta ni nada, lo que nos dejará usar todos los comandos implementados en nuestra querida navaja suiza basada en Excel.

Figura 17: Y ya se pueden ejecutar las macros

Trusted Locations o Ubicaciones de Confianza

La configuración de las Trusted Locations puede hacerse desde el Active Directory y, como se puede ver en la figura siguiente, hay una política para deshabilitar todas las ubicaciones de confianza. Sin embargo, muchos componentes del sistema Excel, como la personalización del libro por defecto, hacen uso de esas ubicaciones, por lo que podría dejar un Excel menos funcional que dejándolo sin macros con la política de deshabilitar.

Figura 18: Ubicaciones de Confianza en la política de seguridad de Excel

Para saber exactamente qué ubicaciones de confianza están configuradas en el Excel que se está utilizando, se debe ir a las opciones y configurar, dentro del Trust Center o Centro de Confianza, la opción de Ubicaciones de Confianza. Ahí se podrán ver las rutas excluidas de las políticas de seguridad.

Figura 19: Rutas de confianza aplicadas en una instancia de Excel concreto

Todo archivo que se abra desde una de esas ubicaciones se saltará la política de seguridad que se haya configurado en Active Directory.

Saltar las restricciones de software

Por supuesto, no solo las políticas tienen su importancia a la hora de fortificar una plataforma como Excel. En la primera parte hablamos de las Software Restriction Policies o las ACLs como forma de hacer más robusta una plataforma Excel. Sin embargo, si está activado VBA, siguiente los trucos de Didier Stevens, es posible llevarte tu propia herramienta allí incrustada.

Para la presentación en Defcon 19 de estos contenidos, llevamos un fichero Excel con el regedit y el cmd de ReactOS, para poder saltar cualquier lista negra generada por medio hashes, firmas digitales o ubicaciones, ya que el programa está dentro del Excel.

Figura 20: Ejecutando el interfaz de comandos de ReactOS desde VBA

Con esto, es posible llevase casi cualquier herramienta que se os ocurra y sea necesaria para realizar un ataque. Por ejemplo: ¿Herramientas puramente de hacking?

No solo Excel

Excel es una herramienta poderosa, y de hecho nosotros seguimos investigando las posibilidades de esta aplicación desde el punto de vista de hacking - dentro de poco os publicaremos algún truco nuevo - pero nos gustaría recordar que el problema en Terminal Services y Citrix no es sólo con Excel o cualquier aplicativo de Microsoft Office, sino que cualquier herramienta, cualquiera, con capacidades de realizar cosas en el sistema se podría convertir en un problema. 

OpenOffice, LibreOffice, un compresor, un visor de documentos, o una aplicación a medida, podrían ser un arsenal en manos de un atacante con tiempo y/o talento para usarlo.

**************************************************************************************************
- Hacking Remote Apps: Jailbreaking con Excel (I de IV)
- Hacking Remote Apps: Jailbreaking con Excel (II de IV)
- Hacking Remote Apps: Jailbreaking con Excel (III de IV)
- Hacking Remote Apps: Jailbreaking con Excel (IV de IV)
**************************************************************************************************

lunes, diciembre 31, 2007

El "Windows Like"

Una de las cosas que se miman, se debaten y se redebaten en la creación de una nueva versiónde Windows es el interfaz de usuario. Puede que a algunos les guste más otros escritorios porque traen más cosas o hacen más efectos como las ventanas gelatinosas o los cubos rotores. Bien, para gustos los colores, pero lo que sí es cierto es que en el interfaz de Windows se busca el equilibrio entre estética y funcionalidad dejando ya superada la fase de los juguetes sufrida en el periodo Windows 98 a Windows ME dónde se añadía toda nueva chorrada gráfica al escritorio. ¿Lo consigue hoy en día?. Para muchos el interfaz AERO es pobre y para otros recargado. Puedes pensar lo que quieras, ya que las opiniones son como los culos, cada uno tiene el suyo.

Para mi es muy cómodo. Las cosas están dónde "ya-se-que-están", otras veces están "dónde-deben-estar" y otras "aparecen-cuando-las-necesitas". Estas cosas, estos pequeños detalles, hacen que para muchos de los que usamos windows a dirario el interfaz de Windows siga siendo el más comodo del mundo. (Eh, recuerda que a ti te puede gustar lo que quieras).

Para conseguir este efecto, en el diseño de un nuevo interfaz, dentro del equipo de trabajo se utilizan pedagogos, psicólogos, y usuarios conejillos de índias de distintos niveles, desde el usuario nuevo, hasta el power-user. Estos son sentados delante del nuevo interfaz y se les solicita que hagan cosas.

De estas acciones se sacan métricas tan divertidas como el "Tiempo de descubrir una nueva función", "Tiempo de encontrar una función conocida", "Tiempo de búsqueda de una solución", etc... Al final, si las métricas no son las deseadas, se vuelven a retocar el interfaz para conseguir mejorar esas métricas.

¿Y por qué os cuento todo este rollo? Pues para hablaros del "Windows Like". El Sistema Operativo de código abierto que intenta crear un OS con el interfaz de Windows. Se llama ReactOS, y se lleva mucho tiempo hablando de él. Tras tener "ciertos problemillas legales con ciertas partes del código" (ahí queda el eufemismo y el que quiera que le busque los tres pies al gato) ya ha liberado la versión Alpah 0.3.3 y en ella corre un larga lista de programas ya.

Reactos 0.3

En la sección de "Media", podéis ver unos vídeos de Reactos en funcionaiento. En uno de ellos se maneja el Interfaz Gráfico y en él podéis ver como se usan aplicaciones cómo Firefox, Mirc, Network Stumbler, el AbiWord o el editor de fotos, pero a mi me mola especialmente ver el de la Línea de Comandos, je..

Yo lo usé en las presentaciones que hicimos de Window Server x64 e IA64 con Intel para correrlo virtualizado sobre los servers x64 en Virtual Server R2 y me encantó, pero en youtube lo podéis encontar siendo usado para cosas más chulas como correr el Quake II o jugar al Unreal Tournament.

Es una versión alpha, ni tan siquiera beta, pero si quieres enredar un rato estos días de fiesta... es para echarle un ojillo.

Saludos Malignos!

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares