Edición Especial: Nada es sagrado
Encriptándole la computadora a Dios
¿Si Dios tuviera una computadora, qué antivirus usaría? Ni idea, pero sé qué sistema le pondría: TempleOS.
Tras una revelación religiosa y siguiendo instrucciones divinas, Terry Davis creó su propio lenguaje de programación, HolyC (“C sagrado”), y con él construyó TempleOS, el sistema que permite a la gente hablar con Dios.
Podemos decir que esas instrucciones divinas eran bastante particulares: una resolución y paleta de colores específicas, no tener conexión a Internet ni a otros sistemas y correr todo con privilegios de sistema.
Lo más interesante está en la parte de “hablar con Dios”. TempleOS incluye un programa llamado “AfterEgypt”, un oráculo que permite “recibir la palabra de Dios” en forma de texto generado aleatoriamente por el sistema.
Pero nuestros planes para hoy son otros: vamos a encriptar el sistema de Dios y pedirle rescate. Porque si hay algo que le hace falta a este mundo es una nueva cepa de ransomware.
Y porque la Ley Canónica no dice nada al respecto.
Heretic, el primer ransomware para TempleOS
Programar ransomware para un sistema como TempleOS puede parecer un desafío:
Primero tuve que familiarizarme con la arquitectura del sistema.
El siguiente paso fue aprender los fundamentos de HolyC y armar un prototipo que al menos pudiera listar los archivos del disco.
Después me enteré de que TempleOS no tiene librerías criptográficas nativas. Eso significaba escribirlas yo mismo, sin educación formal en matemáticas (🫏).
Ahí me di cuenta que iba a tener que vivir el resto de mi vida con el ego herido por la derrota o con el cerebro quemado para conseguir la anécdota.
Y he aquí la anécdota.
Pensemos por un momento que, si tuviéramos librerías criptográficas, la respuesta sería tan simple como importar desde ellas el algoritmo de encriptación que más nos guste y ejecutarlo sobre los archivos. Y listo.
Pero no iba a ser tan fácil. Hablando en términos muy generales y ofendiendo a medio alumnado de Exactas, podemos decir que la criptografía es, en esencia, una serie de funciones matemáticas encadenadas para ocultar algo.
Entonces, ¿cuál es la función más simple que podría aplicar para “encriptar” estos archivos? Una que permita una clave fija y no demande demasiado tiempo de estudio e implementación.
La respuesta es XOR, una operación lógica que compara dos valores (bits en este caso): si son iguales devuelve 0, y si son distintos devuelve 1.
Suena complejo, pero pude expresarlo en menos de 15 líneas de código. Para probarlo definí una clave de encriptación simple y armé algunos archivos de texto que serían las víctimas.
Y así nació Heretic.
En apenas unos segundos terminó su ejecución y efectivamente, los archivos quedaron totalmente ilegibles. XOR no es la mejor alternativa para cifrar datos, pero para este proyecto de verano basta y sobra.
Como es una prueba de concepto, el malware solo busca archivos de texto y el proceso es totalmente reversible. Si se vuelve a ejecutar Heretic, se restaura el valor original del documento de texto.
Todo muy lindo, pero a nuestro ransomware le falta algo: es hora de dejar una nota de rescate para documentar nuestra hazaña.
Con esto tenemos el primer (y único) ransomware para TempleOS.
Podemos verlo en acción en este video:
Queda claro que este es un experimento de los tantos que nos gusta hacer en el DC5411, y pueden descargarlo acá.
En términos prácticos, XOR no debería usarse como método criptográfico para nada serio (aunque algunas cepas como Chaos Ransomware lo implementan). De la misma forma, tampoco vamos a usar TempleOS en producción.
Pero este experimento es también una excelente excusa para contar una historia como la de Terry Davis, aprender un lenguaje nuevo y romper un sistema diferente.
¡Nos vemos la próxima!







