sábado, septiembre 30, 2023

De Hacker a Hacker: Pablo González entrevista a Fernando Rubio Román de @MicrosoftES

Para hoy domingo os voy a dejar la última de las entrevistas entre hackers que ha hecho nuestro nuestro compañero a Pablo González a otro "hacker"  en este caso dedicado a ayudar a los profesionales a hacer una migración a la nube y un uso de la misma de manera segura. El gran Fernando Rubio Román, que es Azure Technical Specialist Manager en Microsoft, además de estar certificado como CISSP.
La charla dura 37 minutos, y os la he subido a mi canal de Youtube para que la podáis disfrutar mientras estáis relajados este domingo, que ambas personas son también grandes divulgadores de tecnología como ya sabéis.

Como es habitual en estas sesiones de "De Hacker a Hacker", en la charla, hablan de muchas cosas que tienen que ver también con formarse, con el impacto de la la seguridad en las soluciones profesionales para las empresas, en el nuevo mundo tecnológico de las compañías, etcétera.
Pero como puedes ver en la imagen superior, también se tocan temas de mucha actualidad, como el impacto de la Inteligencia Artificial en Ciberseguridad, o el uso de las tecnologías de Cloud Computing de forma segura, que tiene que responder Fernando Rubio Román en la entrevista. Aquí tienes el vídeo completo.


Y sobre todo, como sentirse atraído por esta pasión que es para nosotros la ciberseguridad. Si te apetece, puedes ver todas las sesiones que hemos tenido hasta el momento en la lista de reproducción de "De Hacker a Hacker".

Además contactar con ellos de forma privada utilizando sus buzones públicos en la plataforma de MyPublicInbox. Sus cuentas son las que ves en la Figura 2 y la Figura 6 para que contactes con Pablo González y Fernando Rubio Román .
Y nada más por hoy sábado, disfrutad del fin de semana, aprended lo que podáis, recargad pilas para la próxima semana, y quiero listo a todo el mundo para hackear el futuro de cada uno el lunes a las 08:00.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  



viernes, septiembre 29, 2023

WriteUp del Reto Hacking Web3 Overworld & Nuevo Reto DEX Knowledge en Level_Up!

Apunto de finalizar el mes de septiembre lanzamos el WriteUp del reto Overworld y publicamos el mes de septiembre, en este caso un reto para entender conceptualmente el funcionamiento de un DEX o un Exchange Descentralizado. Seguimos avanzando en el aprendizaje de la Web3 y de la seguridad que rodea a ésta. 

Figura 1: WriteUp del Reto Hacking Web3 Overworld
& Nuevo Reto DEX Knowledge en Level_UP!

Cada vez son más los usuarios que juegan con Level_UP! y que quieren conocer la seguridad sobre este campo. Es más, si estás por Albacete la semana que viene pásate por Navaja Negra para ver el taller sobre Seguridad en Web3 dónde Level_UP! es protagonista, y lo impartiré con nuestro compañero Álvaro Núñez-Romero.

impartido por Álvaro Núñez-Romero.

Además, pronto tendremos novedades para que podamos disfrutar de Level_UP! en una testnet y seguir el aprendizaje sin necesidad de desplegarlo en local. Si quieres montar tu CTF sobre Web3Level_UP! es tu entorno Open Source con el que poder hacerlo. Queremos facilitar el aprendizaje, sin necesidad de desplegarlo en local, por lo que utilizaremos alguna testnet y pronto daremos noticias.


Dicho todo esto, vamos con el artículo de hoy. Vamos a dar solución al Reto Overworld. La dificultad de Overworld es de tipo 3, aunque puede resultar sencillo para muchos players, ya que dependerá cómo todo de la intuición y conocimiento de cada uno. Los puntos en juego son 100.

Reto: Overworld

Leyendo la página del reto podemos entender que el objetivo es conseguir la flag, como siempre, y que para ello debemos trabajar con el concepto de Token. Podremos crear y quemar tokens. El acertijo que hay que resolver es si podemos conseguir llegar a los 255 tokens. Si leemos las funciones faucet y burning encontramos que no podemos o no deberíamos poder llegar a los 255 tokens que son necesarios para conseguir la flag. Vamos a ver cómo podemos jugarlo. 

Tras desplegar el reto nos fijamos en que la variable balances almacena un mapping entre direcciones y números enteros sin signo de 8 bit. Este detalle es importante. En otras palabras, el contrato almacena la cantidad de tokens que tiene cada usuario, pero no podrá almacenar más de 255, ya que el tipo de dato es un entero sin signo. Al ser un entero sin signo, el rango de valores va de 0 a 255. Para conseguir la flag, el requisito es conseguir tener 255 tokens.

Figura 4: Función getFlah()

El problema viene cuando vemos que usando la función faucet para mintear tokens y la función burning para quemar tokens pues se controla que no se pueda llegar a 255. Si revisamos bien la función burning comprueba la suma, pero no la resta. Al final, quemar tokens es una resta de enteros, por lo que si se valida la suma no tendrá validez.

¿Qué ocurre si tengo 0 tokens y pido quemar 1? Se produce un Underflow y consigo el valor máximo, es decir, 255. Si intento mintear tokens y llegar a 255 no voy a poder, porque el require de la función faucet no me lo va a permitir. En el caso de burning se comprobaría que 1 + 0 no es 255, pero realizaríamos la operación inversa, quemar tokens y daríamos “la vuelta” al marcador, pero por el límite inferior. Es decir, hacemos un underflow.

Figura 5: Función burning()

¿Esto no lo controla Solidity? La respuesta es sí y no. Hasta la versión 0.8 del compilador no y si nos fijamos la versión de compilación del código es la 0.6.2, por lo que el lenguaje no controla los límites inferiores, ni superiores de las variables de tipo entero. Esto puede ser un gran problema, como se ve en el reto. Debe ser el programador quién lo controle. ¿Cómo avanzamos? 

Figura 6: Función burn()

La solución más rápida y sencilla sería si tengo 0 tokens en un inicio y lo puedo ver invocando al objeto contract.mytokens() desde la consola de Javascript del navegador y quiero llegar a 255, puedo solicitar quemar una unidad a mis tokens. Debería comprobarse que no tengo tokens y que no puedo quemar, pero la comprobación no se hace correctamente, como se puede ver en el fragmento de código de la Figura 6.

Figura 7: Resultado obtenido 255 tokens tras quemar 1 token con 0 token de saldo
 
Ahora, si invocamos un contract.burning(1) se restaría una unidad a nuestros 0 tokens provocando el desbordamiento (underflow) y pasaríamos a tener el valor máximo que sería 255. Justo lo que necesitsamos tener para lograr la flag.

Figura 8: Conseguimos la flag y validamos la flag.

Ahora toca validar la flag para conseguir los puntos. Podemos visualizar la flag con contract.getFlag() y, posteriormente, validarlo contra el contrato base con la instrucción base.validateFlag(contract.address, contract.getFlag()).

Nuevo reto: DEX Knowledge

Publicamos el nuevo reto del mes de septiembre en Level_UP! Es el reto número 16 y tiene una dificultad de 3 sobre 5. Habrá 150 puntos en juego y permite conocer el concepto de DEX o Exchange Descentralizado. La idea del reto consiste en que el player pueda conocer los conceptos básicos de un DEX para intercambiar tokens y delegarlos para que un DEX pueda intercambiarme los valores.

Figura 9: Nuevo reto "DEX Knowledge"

No será tan sencillo el reto, por lo que tendremos que estudiar las condiciones que debemos cumplir para conseguir el acceso a la flag y poder superar el reto y sumar los puntos. Os animamos a jugar con DEX Knowledge en Level_UP! que pronto tendréis novedades para jugar en una testnet. Nos vemos en el Taller  de Seguridad Web3 de Navaja Negra y seguiremos aprendiendo sobre la seguridad de los SmartContract.

Seguiremos resolviendo retos y creando nuevos retos para el aprendizaje en seguridad en Web3 y recuerda que si quieres aprender de estas tecnologías, tienes Bit2Me Academy, que es una plataforma online para aprender de Web3, BitCoin, Tokenomics o Ethereum con cursos gratuitos además del libro dedicado a "Bitcoin: La tecnología Blockchain y su investigación" de Yaiza Rubio y Félix Brezo que seguro que te ayudan a ponerte las pilas.

Más artículos de Web3, Blockchain & SmartContracts
Saludos,

Autor: Pablo González Pérezescritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root",  “Pentesting con Powershell” y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica.  Para consultas puedes usar el Buzón Público para contactar con Pablo González

Contactar con Pablo González

jueves, septiembre 28, 2023

App de MyPublicInbox para dispositivos Android: Descárgala desde Google Play

Este verano el equipo de MyPubublicInbox ha estado trabajando en una primera versión de una App de MyPublicInbox para dispositivos Android, tanto SmartPhones como tablets, lo que permitirá a los usuarios de la plataforma tener un acceso más cómodo a la plataforma, poder leer los mensajes y contestar de manera más cómoda, pero también a todo el resto de las funciones.


Esta es la primera versión, y aún estamos en el proceso de discusión y verificación de la versión para dispositivos Apple, pero si eres usuario de Android ya puedes descargarla desde Google Play e instalarla en tu terminal para que sea más cómodo entrar en MyPublicInbox desde tu dispositivo móvil.


Como os he dicho, la app está basada en una experiencia webview responsive, pero el equipo está trabajando en mejorar en las siguientes versiones la experiencia, y en tener una estrategia Mobile-First para la evolución de la plataforma, así que veréis como va mejorando de forma rápida en nuevas versiones.

Pantallas de terminales smartphone Android

Desde la app podéis acceder no solo al envío y recepción de mensajes, sino a la configuración de vídeo conferencias, el acceso a los servicios de la plataforma, etcétera, ya que no habrá nada que esté en la versión web que no esté en la versión Mobile.

Pantallas de terminales tablets Android

Personalmente, ver crecer un proyecto como MyPublicInbox, poquito a poco, es una pasada, y ver la cantidad de usuarios que se comunican a través de la plataforma que nació aún no hace cuatro años, nos encanta. Es una pasada ver cómo una idea pequeña va creciendo hasta convertirse en una plataforma con usuarios de tantos paises.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


miércoles, septiembre 27, 2023

Tipos de interés en Europa y Bit2Me Loan para pedir préstamos con criptomonedas

En la actualidad, el panorama económico europeo se ve influenciado profundamente por las tasas de interés establecidas por el Banco Central Europeo (BCE) y la tasa de inflación. Estos factores tienen un impacto significativo en las decisiones financieras de las personas y las empresas. Una de las soluciones innovadoras que ha surgido en este entorno es Bit2Me Loan, una plataforma que ofrece préstamos en criptomonedas.

Figura 1: Tipos de interés en Europa y Bit2Me Loan
para pedir préstamos con criptomonedas

Según el último comunicado del BCE, se decidió un aumento de 25 puntos básicos en los tipos de interés oficiales, tanto en el tipo de interés de las operaciones principales de financiación como en los tipos de interés de la facilidad marginal de crédito y de la facilidad de depósito. Esto lleva los tipos de interés al 4,50%, 4,75% y 4,00% respectivamente. Esta decisión se basa en la evaluación del Consejo de Gobierno sobre las perspectivas de inflación, que prevé una inflación media del 5,6% en 2023, del 3,2% en 2024 y del 2,1% en 2025.


Esta subida de los tipos de interés busca controlar la inflación y asegurar que vuelva a situarse en el objetivo del 2% a medio plazo. Sin embargo, este panorama económico presenta desafíos para quienes buscan financiación puesto que las condiciones se han endurecido, frenando así la demanda y generando incertidumbre en el mercado.

Ventajas de Bit2Me Loan

En este escenario, Bit2Me Loan presenta una alternativa novedosa y atractiva para aquellos que deseen utilizar sus criptomonedas como aval para obtener préstamos de hasta un millón de euros, manteniendo sus criptomonedas y con aprobación urgente.

Una de las ventajas fundamentales de Bit2Me Loan es la eliminación de intermediarios. En los préstamos tradicionales, los bancos y otras instituciones financieras actúan como intermediarios, lo que puede aumentar los costos y los tiempos de espera. Con Bit2Me Loan, los préstamos se gestionan directamente a través de la plataforma, lo que agiliza el proceso y permite una mayor transparencia.
Otra ventaja destacable es la de poder usar las criptomonedas como garantía. A diferencia de los préstamos convencionales, Bit2Me Loan permite obtener financiación poniendo como colateral Bitcoin, Ethereum o B2M, el token propio de Bit2Me. Esto brinda a los interesados la libertad de utilizar los fondos en criptomonedas para obtener liquidez inmediata en USDT, USDC o EURt, tres "stablecoins" cuya cotización está pegada al euro.

Además, Bit2Me Loan ofrece flexibilidad en las condiciones de préstamo. Los prestatarios pueden personalizar los plazos sus necesidades, lo que facilita la adaptación a sus capacidades de pago y minimiza la carga financiera.

La seguridad también es una prioridad en Bit2Me Loan, al igual que en toda la suite de Bit2Me. Actualmente se están posicionando como la plataforma más segura, fácil y completa del mercado, y no es para menos. Bit2Me está registrada en el Banco de España y, a diferencia de otros players del sector, tiene su sede en territorio nacional, lo que garantiza a los usuarios una mayor tranquilidad en sus operaciones.


Bit2Me Loan no tiene verificaciones crediticias que demoren el proceso de aceptación del crédito y no tiene comisiones de apertura, como ocurre con los préstamos tradicionales. Además, tampoco tiene impacto en la calificación crediticia de quien lo pide, por lo que no le perjudica o beneficia de cara a pedir un préstamo en una entidad tradicional.

En un escenario económico marcado por los tipos de interés y la tasa de inflación en EuropaBit2Me Loan se presenta como una opción atractiva y novedosa para aquellos que buscan préstamos accesibles y seguros. La eliminación de intermediarios, la disponibilidad de fondos en criptomonedas, la flexibilidad en las condiciones y la seguridad son ventajas significativas que ofrece esta plataforma.

Sin embargo, como en cualquier decisión financiera, es importante que los usuarios analicen detenidamente la situación y consideren sus capacidades de pago antes de solicitar un préstamo. Bit2Me Loan representa una opción interesante dentro del panorama actual, pero es necesario evaluar cada caso individualmente.

Autor: Bit2Me

martes, septiembre 26, 2023

Telefónica Open Gateway: Developer Hub & Partner Program (APIs & Soluciones)

Dentro del marco de la iniciativa de Open Gateway, en Telefónica hemos lanzado el Developer Hub y el Partner Program, con los que empresas y desarrolladores van a poder aprovechar las capacidades de nuestras redes. Aquí os dejo más información de cada uno de ellos por si te quieres animar a ser parte de la comunidad que estamos construyendo.


El Developer Hub es un laboratorio para desarrolladores, donde los creadores de experiencias e innovadores tecnológicos, pueden testear de forma anticipada, y gratuita, nuestras telco APIs estandarizadas bajo la iniciativa Open Gateway. Con el Developer Hub, los desarrolladores pueden enriquecer sus aplicaciones o crear nuevos servicios en multitud de sectores: Fintech, Identidad, Antifraude, Movilidad inteligente, Gaming, Web3 o Metaverso, entre otras muchas.


Con el nuevo Developer Hub se puede acceder a betas de producto para experimentar y crear casos de uso reales basados en nuestros servicios de red. Además, los miembros recibirán notificaciones anticipadas sobre los lanzamientos de nuevas APIs, y tendrán acceso a las últimas herramientas, kits de desarrollo, ejemplos de código, guías de usuario, documentación técnica y formaciones de apoyo que facilitarán la construcción de nuevas experiencias digitales aprovechando el potencial de la red.
En el caso de que existiese alguna duda, también se brinda soporte técnico a lo largo de todo el proceso, con el que se podrá contactar con nuestros expertos de Telefónica Open Gateway siempre que se tenga alguna duda o incidencia.

Próximamente contará con un entorno de pruebas, en el que los desarrolladores podrán probar y validar sus propios casos de uso acompañados del equipo de la compañía. De esta forma, diseñarán mejores servicios extremo a extremo para clientes finales, tanto B2B, como B2C. Si eres desarrollador y quieres formar parte de esta comunidad, ya puedes unirte al Developer Hub a través del formulario disponible en la web:

Telefónica Open Gateway Partner Program, tiene como objetivo aprovechar las capacidades de la red para ofrecer soluciones a empresas de todos los sectores, brindando a sus clientes APIs Telco estandarizadas, globales, intuitivas y fáciles de integrar. Este nuevo programa de partners va dirigido dirigido a empresas, agregadores, hyperscalers, startups, etc con conocimientos técnicos y relaciones con usuarios de APIs (desarrolladores) que ofrezcan soluciones propias verticales o de casos de uso, marketplaces o plataformas de APIs.

Figura 6: Telefónica Open Gateway Partner Program

De esta forma, las empresas van a poder impulsar su negocio con nuestras APIs Telco estandarizadas, enriqueciendo su oferta de servicios de consultoría, integración o desarrollo para terceros y potenciando la experiencia de los usuarios de sus clientes. Además, se ofrece acceso a una variedad de recursos, donde se incluyen whitepapers, documentación técnica y comercial sobre nuestro repositorio de APIs Telco estandarizadas.


En todo momento, el equipo de Telefónica Open Gateway estará disponible para resolver cualquier cuestión. El Partner Program, brinda soporte técnico y de negocio End2End durante todo el proceso como el asesoramiento sobre nuestras soluciones o el acceso a un servicio de consultoría y análisis de pipeline, entre otros.


Para convertirse en parte del Partner Program, hemos habilitado un formulario dentro de la web de Telefónica Open GatewayUna vez completado y enviado, el equipo pasará a evaluar vuestra solicitud y comunicará la resolución tan pronto como sea posible, para que podáis empezar a potenciar vuestra actividad de negocio aprovechando las capacidades de las APIs Telco estandarizadas para añadir valor a vuestras soluciones.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, septiembre 25, 2023

Master Ciberseguridad 2023-2024 del Campus Internacional de Ciberseguridad: Últimos días de registro

Ya está cerca el cierre del proceso de matriculación de la próxima edición del Máster de Ciberseguridad del Campus Internacional de Ciberseguridad que da comienzo este 10 de OCTUBRE de 2023 y termina en 2024, donde yo participo como Mentor de los programas de Máster. Este programa en concreto lo dirige el gran Sergio de los Santos, y tiene un año de duración, con un programa amplío para enfocarte en todas las áreas del mundo de la ciberseguridad.
En esta nueva edición del Máster de Ciberseguridad, que como he dicho dirige  Sergio de los Santos y que dará comienzo el 10 de Octubre de 2023, los alumnos tendrán un plantel de profesores de primer nivel, muchos de ellos han sido o son compañeros míos, entre los que están Carmen TorranoJuanjo SalvadorPablo San EmeterioJavier EspinosaJuan Antonio Gil o José Rodríguez, entre otros.
Pero es que, además, participan con algunas Clases Magistrales en directo algunos de los mejores profesionales de este país, como son Vicente AguileraMiguel Ángel de CastroJosé Torres o el gran Pablo González, con los que podrás aprender sobre temas muy especializados. En total hay anunciadas ya siete sesiones de estos profesionales.
El programa del curso, que puedes consultar en la web, tiene los siguientes módulos. Entre ellos, un Trabajo de Fin de Máster donde habrá alguno que propondré yo para los que quieran hacerlo. Como podéis ver, el programa es muy ambicioso, así que más vale que vengas con ganas de estudiar y aprender.
Además, los alumnos recibirán como material de estudio libros de 0xWord como complemento de estudio. En concreto, el libro de "Máxima Seguridad en Windows: Secretos Técnicos" de Sergio de los Santos, y el de "Ethical Hacking: Teoría y practica para la realización de un pentesting" de Pablo González.
Por último, todos los alumnos tendrán una sala de conversaciones en MyPublicInbox con los profesores del programa de formación - y conmigo - y recibirán Tempos de MyPublicInbox por si quieren hacer consultas a profesionales.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, septiembre 24, 2023

Ruinas Antiguas e Inteligencia Artificial: Cómo revivir el juego 'Nine Men's Morris' (Juego del Molino) en Python con ChatGPT

Desde la más lejana antigüedad y en todas las culturas, los juegos de mesa han sido una constante en la historia humana. Estos juegos, más allá de ser simples pasatiempos, son unos complejos retos de estrategia, táctica y resolución de problemas. A lo largo de los años, juegos como el "Senet", el "Go" y el "Chaturanga" (el que se supone que es el antecesor del ajedrez moderno) han desafiado a las mentes de sus jugadores. Otro de los juegos más estudiados es el Juego real de Ur, que data del 2600 a.c..  Precisamente de este juego y la mentalidad hacker creativa, hablamos en nuestro libro de "Microhistorias: anécdotas y curiosidades de la historia de la informática (y los hackers)"

Figura 1: Ruinas Antiguas e Inteligencia Artificial: Cómo revivir el juego
'Nine Men's Morris' (Juego del Molino) en Python con ChatGPT 

Y es que la relación entre los juegos de mesa y la informática ha crecido en las últimas décadas. La creación de máquinas y programas capaces de competir (y a menudo superar) a campeones humanos en juegos como el ajedrez o el Go (donde las máquinas ya son las campeonas indiscutibles como AlphaGo) son la prueba de cómo los principios de estos antiguos juegos han sido incorporados y emulados en el mundo digital como base de aprendizaje al razonamiento. 
Estos logros no solo demuestran el poder y la capacidad de la informática moderna, sino que también es un homenaje a la rica tradición y complejidad de los juegos de mesa que han acompañado a la humanidad durante miles de años. Pero en este caso, vamos a utilizar la informática moderna (en concreto la Inteligencia Artificial) para traer al mundo real (en este caso digital) un juego también de la antigüedad.

Historia del juego "Nine Men's Morris" a.k.a. "Mill"

Pero vamos a centrarnos en esta historia. Hace unos 500 años, durante la construcción del Castillo Ćmielów en Polonia, se talló un tablero de juego en una losa del suelo de arenisca (pieza recientemente encontrada en las ruinas del castillo) Aunque la razón exacta de su existencia no está clara si fue creado por los obreros o los habitantes del castillo por ejemplo - ¡gamers, gamers, gamers everywhere! -, este descubrimiento nos conecta con la historia de los juegos de mesa que se han jugado en diferentes culturas a lo largo de los milenios, como antes hemos comentado. 

El juego del que hablamos se llama "Nine Men's Morris", también conocido como "Mill" (Juego del Molino), es un juego de estrategia para dos jugadores con orígenes que se remontan a la más lejana antigüedad.


El juego se lleva a cabo en un tablero con 24 puntos interconectados por líneas como el que se observa en la siguiente figura:


El objetivo principal del juego es formar "molinos", es decir, una línea recta de tres piezas ya sea horizontal o verticalmente al estilo tres en raya. Cada jugador comienza el juego con 9 piezas. Siempre que se forma un molino, el jugador puede eliminar una de las piezas del oponente del tablero.
El objetivo final es reducir las piezas del oponente a dos o bloquearlas por completo, impidiéndoles realizar cualquier movimiento. El juego termina cuando uno de los jugadores queda con solo dos piezas (y por lo tanto no puede formar molinos) o cuando un jugador no puede realizar un movimiento legal. El otro jugador es declarado ganador. En el vídeo de arriba puedes ver en detalle las reglas y un ejemplo de juego.

Fases del juego

a) Fase de movimiento:
  • Una vez que se han colocado todas las piezas en el tablero (por turnos), los jugadores comienzan a mover sus piezas.
  • En su turno, un jugador mueve una de sus piezas a un punto adyacente vacío.
  • Si un jugador forma un molino durante esta fase, puede eliminar una pieza del oponente siguiendo las mismas reglas que en la fase de colocación.
b) Fase de salto:
  • Cuando un jugador se queda con solo 3 piezas, entra en la fase de salto o vuelo.
  • En esta fase, el jugador puede mover una de sus piezas a cualquier punto vacío del tablero, no solo a un punto adyacente.
  • Si forma un molino, puede eliminar una pieza del oponente.

Reviviendo Mills en Pyhton con ChatGPT

Vamos a hacer un sencillo experimento. Utilizando ChatGPT en su versión GPT-4 (también funciona en GPT 3.5), vamos a pedirle que genere el juego en Python para dos jugadores (humano vs humano), una versión más sencilla sólo para comprobar las reglas en los movimientos. Si queremos una versión en la que juegue la máquina la cosa se complica un poco, pero sería factible. 

Figura 7: Libros de Python para Pentesters y Hacking con Python
de Daniel Echeverri publicados en 0xWord.

Vamos a intentar crearlo sin modificación alguna por nuestra parte, sólo comprobaremos el funcionamiento y si no es correcto, le volvemos a decir a ChatGPT que lo compruebe y nos genere un nuevo código. Esta implementación debe de tener todas las reglas en cuenta, los posibles movimientos tanto legales como ilegales, molinos, salto, etc. Como prompt de base he utilizado este sencillo, sin pensar ninguna técnica especial en prompting:

“Necesito crear un programa en python que simule un tablero y las reglas de juego de Mills o Molinos. El código debe de ser totalmente funcional permitiendo una partida de dos jugadores con todas las reglas implementadas, así como el análisis de todos los posibles movimientos para que la máquina compruebe si es o no legal. El tablero quiero implementarlo en modo texto y utiliza emojis para las fichas.”

Para conseguir un resultado final decente y jugable, he tenido que darle algunas vueltas al código generado ya que había algunos errores. A la primera no ha funcionado correctamente la lógica del juego, pero después de algunas iteraciones hemos conseguido una versión más o menos funcional (y con emojis y todo):

Figura 8 Momento de la partida del juego generado por ChatGPY
y optimizado en una primera fase donde es jugable.

Estamos lejos aún de una versión perfecto, sólo quedarían afinar algunos temas de la lógica, depuración de errores, etcétera, pero el código final es lo bastante decente como para afinarlo y llegar a una implementación interesante del juego. 

Figura 9: Solicitando el mismo Prompt a ChatGPT 3.5

Ya sabes, ChatGPT es una magnífica herramienta, pero requiere siempre de tu supervisión final como ser humano, así que si quieres aprender, te dejo el siguiente reto. Aquí tienes el mismo ejemplo en ChatGPT 3.5, pero sin terminar, para que lo acabes tú.

Figura 10: Respuesta de ChatGPT 3.5 a la petición

Y éste es el código que nos ha generado en Python para resolver el juego. ¿Funciona¿ ¿Es correcto? ¿Hay que tocarlo?

Figura 11: Código en Python para el juego del molino generado por ChatGPT 3.5

Ahora tú tienes que resolver el problema completo. O bien por medio de Prompt Engineering, o bien por medio de tocar el código en Python, hasta dejarlo resuelto.

Conclusiones

La “resurrección” de un juego ancestral como "Nine Men's Morris" o “Molinos” (o cualquier otro) mediante la inteligencia artificial nos muestra la capacidad de la tecnología para preservar y simular su funcionamiento, sino que también nos puede servir para aplicarlo a otras áreas. La habilidad de la IA para descifrar, aprender y adaptarse a estructuras complejas, como las reglas de un juego, abre enormes posibilidades en campos como la medicina, la investigación científica y la ingeniería. 

Esta fusión de lo antiguo con la tecnología moderna puede abrir puertas a innovaciones inesperadas y realmente fantásticas, desde la simulación de escenarios históricos hasta la predicción y solución de problemas contemporáneos pasando por la decodificación de idiomas o acertijos ancestrales.

Happy Hacking Hackers!!! 

AutorFran Ramírez, es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox