Cuando tenía siete años me regalaron un velador una lámpara de Mickey Mouse.
Ya a esa edad me sorprendió tanto que al conectarlo se encendía todo el muñeco que ni bien me dejaron
solo un instante me fui hasta la cocina abrí un cajón y saqué un cuchillo con el cuchillo me dispuse
a desarmar ese Mickey Mouse que en esa época se conectaba 2:20.
Si no era iluminación LED hasta que de tanto insistir lo logré abrir.
Mi sorpresa fue descubrir que había una lámpara adentro que se encendía y el muñeco era semitransparente
y lo encendía.
Sin saberlo estaba haciendo mis primeras pruebas de ingeniería inversa porque eso es justamente la ingeniería
inversa saber qué es lo que hace funcionar a un método o un artificio técnico por ejemplo nace en la
Segunda Guerra Mundial cuando por ejemplo podían capturar algún avión o algún algún proyectil enemigo
que no detonaba entonces bueno hacían la ingeniería inversa la ingeniería inversa se denomina así porque
hay una metodología.
Cuando uno diseña un producto primero tiene la idea en la cabeza después agarra un papel y le da más
o menos forma.
Después empieza a ceñirse a todos los lineamientos técnicos a su producto lo prueba corrige errores
que se van dando porque como yo siempre digo entre la teoría y la práctica hay algo llamado realidad.
Y cuando se corrige se vuelve a probar se descubren nuevos problemas se busca corregir hasta que tenemos
el producto final.
Bueno la ingeniería inversa es justamente lo contrario nos dan el producto final y tenemos que ir hacia
atrás hasta lograr cuál es la idea exacta de la cabeza o de la mente de la persona que lo diseñó.
Básicamente que lo hace funcionar.
Cabe decir que en el mundo del software que es lo que nos incumbe porque seguridad informática también
hay piezas de hardware o llaves de hardware que se pueden someter a ingeniería inversa.
Pero en este caso en este curso que estoy dando sepan que hay muchos proyectos de código libre que utilizan
ingeniería inversa por ejemplo el OpenOffice el LibreOffice el andó OpenOffice son Suite completas que
permiten trabajar con documentos de Word de Excel y PowerPoint y generar a su vez otro tipo de formatos.
Y claro cuando tuvieron que interpretar cómo estaba codificado un documento de Microsoft de Word Excel
o lo que sea Obviamente Microsoft no les cedió el código fuente es decir la receta de cómo estaba hecho
así que tuvieron que hacer prueba de ingeniería inversa hasta obtener un resultado.
Samba es un artificio que se utiliza para a través del protocolo SMB o System sistema de mensajes en
bloques existen mesas Block poder conectar una computadora a un recurso de otra computadora.
Yo me quiero conectar a un disco de un disco rígido una unidad de dividí que estoy compartiendo en la
red y me puedo conectar a través de protocolo SMB.
Es un protocolo propietario de Microsoft así que cuando la gente que lleva adelante sistemas de Yukon
con Linux tuvo que integrar sus sistemas operativos en redes Microsoft tuvieron que estudiar y hacen
ingeniería inversa análisis de caja negra de el protocolo SMB hasta sacar su versión funcional y sin
ningún tipo de error que se llamó samba le pusieron Samba porque como no le ponían poner SMB porque
ya estaba registrada por Microsoft.
Fue muy gracioso porque agarraron un software de diccionario de software libre y le dijeron que les
ponga la primera palabra que aparecía en ese diccionario de cualquier lengua que tuviese las letras
S M y el programa respondió samba.
Así que por eso le pusieron samba.
En realidad es un baile brasilero pero es así.
Y después el proyecto Wynne que es un proyecto para poder correr programas es decir binarios los que
vamos a crackear en este curso que son para Microsoft para poder correrlos en sistemas operativos libres
como por ejemplo con Linux como son sistemas diferentes operativos hay que emular un entorno como si
fuese una máquina un windows o sea que tenga un registro que tenga una carpeta Windows que tenga una
dll que tenga esto.
Eso se hace con el proyecto Wilcock hay varios ejemplo de ingeniería inversa.
No solamente se puede utilizar la ingeniería inversa y el cracking de software para el lado oscuro digamos.
En realidad como dije mis cursos tienden a iluminar no más que oscurecer el conocimiento y su uso.
Cuántas cosas podemos llegar a hacer con este tipo de tecnologías.
Bueno podemos aprender estudiando el código fuente como ISACA aprender utilizando estudiando el código
fuente es decir la receta al comprender cómo funciona un sistema que estamos utilizando no facilita
el mantenimiento y se pueden detectar fallos qué significa.
Yo puedo tener un programa puedo hacer la ingeniería inversa si es una pieza de software vamos a tener
que ensamblarlo y de ese archivo punto ExE ver toda la receta y estudiarla pero no hacerle ninguna modificación
solamente estudiarla para aprender cómo está hecho y además para estudiar si hay algún posible fallo
así como se descubren algunas vulnerabilidades en los sistemas también.
También se pueden descubrir funciones malévolas o deshonestas ocultas en un software como por ejemplo
que te lo vendan como una calculadora y resulta que adentro tiene oculto un programa que te abre el
micrófono y la cámara y escucha todo lo que decís ok.
Como el programador tiene el código fuente la receta las líneas del programa y nada más que el archivo
compilado en el punto acceso cuando haces doble clic.
La máquina lo ejecuta pero no te deja ver el código haciendo ingeniería inversa uno obtiene el código
y puede ver si no hay algún tipo de blob binario es decir alguna especie
de instrucciones que no deberían estar o que no se sabe muy bien qué función cumple que para qué y para
qué está.
Otra de las cosas que podemos hacer del lado positivo digamos es estudiar cómo funcionan y qué grado
de peligrosidad real tiene un virus un troyano o algún tipo de amenaza.
Por ejemplo las empresas como Kaspersky Lab Adeje Avira ESET Caffi se la pasan haciendo ingeniería inversa
de los virus y ensamblando el código para encontrar qué es lo que hace y cómo bloquear su acción.
Por eso después venden o a veces regalan los estímulos los extintores que son unos programitas muy chiquitos
con un doble click y sirve para matar exclusivamente un virus en particular.
Otra de las cosas que se pueden hacer es aprender mucho mucho viendo el código fuente original como
si como decimos si uno quiere empezar a estudiar programación puede agarrar una pieza de software básico
como por ejemplo una calculadora o algo que sea muy muy fácil y ver cómo está programado.
Así uno se hace maestro con la práctica y por último se puede desbloquear rán software.
Si saben que un software es un software que infecta una computadora encripta disco rígido bloquea el
acceso al escritorio y pide rescate a pagar en bitcoins.
Lo que se hacen en estos casos es apagar esas máquinas sacar el disco rígido utilizar aplicaciones como
el BM Warrick Converter que lo que hace es agarrar esa máquina real ese disco rígido real y crear una
máquina virtual y después siguen trabajando sobre la máquina virtual con varios Ballers que permiten
hacer reposo y lo vamos a ver como el boli debajo del sofá y con eso van interrumpiendo o corriendo
paso por paso el software para tratar de ver cuál es la rutina que hace la comparación si uno le puso
bien o mal el código o lo que sea que le dé igual invertir la lógica colocar cualquier cosa que la máquina
vaya para adelante.
Así que se pueden hacer varias cosas bien con la próxima clase.