¿Qué es un packer?

 

Upx packer compresorEn ocasiones hablo de reversing, packers, cracking en general, y doy por sabidos algunos conceptos que no todo el mundo conoce. Algunas herramientas, y para ello antes explicaré –a mi modo-, algunos aspectos previos.

La pregunta del título, dice ¿Qué es un packer?
Una herramienta, exactamente un programa, que permite entre otras cosas:

-Añadir, quitar, y/o modificar un código.
-Esconder o camuflar las partes del mismo.
-Comprimir o aumentar el tamaño del original
-Incluir gestión de licencias.
-Incluir liberáis y dependencias. Como un joiner.
-Y suele comportarse siempre de la misma manera*

¿Para qué utilizar un packer?
La utilidad principal es esconder el código. Un packer, tratará con mayor o menor éxito, camuflar el código de un programa, haciendo que la tarea de analizar, y comprender los procesos internos sea un posible fracaso.

¿Qué utilidad se le suele dar?
Los programadores, lo utilizan para evitar que los famosos y llamativos “Keygen”, “cracks”, etc. Sean fácilmente obtenibles, y a poder ser te rasques un poquito el bolsillo y compres la aplicación. –lo cual aprovecho para recomendarte encarecidamente, si te gusta. Paga por ello, si no quieres pagar busca otra aplicación-

En otras ocasiones lo utilizan para disminuir el tamaño del programa que han creado, o quizá para anexar las librerías que utilizan, de esta forma, similar a lo que ocurriría con un archivo comprimido, en un mismo ejecutable, transmiten todo lo necesario para hacerle funcionar.

Lo que era bueno para los programadores, se les ocurrió a los creadores de virus, realmente malware en general, que también podría ser bueno para ellos, por este motivo, cada vez más, puedes encontrar –en el siguiente post, explicaré como-, mucho malware que utiliza packers para esconderse.

¿Hay tipos de packer?
No lo llamaría tipos de packer, ya que en esencia, serán siempre “iguales”, tendrán mejores o peores sentencias de ofuscación, códigos destinados a comprimir el original, o técnicas anti-reversing. Pero esto son opciones que pueden llegar a tener, o no.

¿Una vez aplicado un packer, este se puede retirar?
Sí, una vez hemos localizado el packer que ha sido empleado –si hemos tenido suerte-, podemos buscar información sobre el mismo, o quizá existe un “unpacker”, público, que nos pueda facilitar la tarea. En caso contrario… Nos tocaría estudiar el código, y tratar de quitar a mano la protección. Algo que suele ser divertido y didáctico.

Más información:
Que es un packer (Muy completo)
Malware y packers (ESET)
¿Deben ser detectados los packers?

Keylogger del pasado

Almanaque regreso al futuroEn el anuncio de “Neutrex”, viene una chica del futuro, y lo único que nos trae es detergente. ¡Menudo viaje estúpido! ¡Prefiero mil veces que me traigan el almanaque de regreso al futuro!

Haciendo limpieza de los correos, determinando cosas que podía borrar, otras que quería guardar. Encontré uno, cuyo remitente era para mi desconocido, tenía el título: “Respecto a la web. Detalles de flash”. Y el adjunto: “Porfolio.rar”. Recibido ni más ni menos que en ¡2005! -¡Por el culo te la hinco!

No voy a presumir aquí de tío inteligente, ya que una vez descomprimido, quedaba el siguiente: “Porfolio.exe”. Alguien con conocimientos de seguridad informática, estudios, y muy atractivo cuando recibe algo por el estilo, lo pasa por virustotal, y en caso de duda, directamente al sandbox. Que para algo está, ¿no?

El entorno dispuesto, sandboxie actualizado, máquinas virtuales para estos menesteres, sin conexión a la red o con tráfico filtrado. En esas estábamos … Pues yo hice dobleclick, en el equipo que utilizo normalmente. Y claro el proceso de infección de un virus de 2005, dio comienzo. La cara de imbécil que se le queda a uno, no os podéis hacer una idea.

Tocaba hacer limpieza del equipo,  copiar el fichero a la máquina de análisis, y empezar un proceso de reversing, tenía que saber qué era, y que hacía. (Aquí comenzaron los sudores frios, golpes contra la pared, y creí oportuno colgarme el cartel “No debo ejecutar lo que no conozco”, en el cuello.)

Con tan hermoso cartel, diseñado en bonitos y llamativos colores, procedí con el análisis.

Peid nos indica:

Está comprimido con UPX, hay suerte ya que es una protección relativamente simple de saltar, y así poder ver lo siguiente:

Si reviso las strings del programa (cadenas de texto que contiene), se puede ver, con cierta seguridad que se trata de un keylogger, o capturador de teclas. ¡Alguien allá en 2005 quería mis contraseñas!

Un poco más abajo, existe otra cadena, que permite la identificación del programa, hay suerte ya que se utiliza uno público, y puedo determinar el nombre “IKLogger“. Para poder bajar una copia –si la encuentro-, y seguir intimando con nuestro desafortunado invitado.

No tiene demasiadas opciones, y quitarlo con autoruns de sysinternals, hace todo el trabajo, si bien en Windows 7, no ha sido capaz de llegar a utilizar los sistemas de persistencia. (Por otra parte, menos mal!). Sólo quedaba quitarme la espina de saber a que persona había enfadado tanto, allá por 2005.
IKLogger Traceando el código,  localizo una zona en la que carga los datos, del ftp, usuario y contraseña en los que guardará la información. Realmente guarda en un recurso del ejecutable toda la información relativa al mismo, eso sí. Con un sistema de “cifrado”.

Aquí he dejado de seguir analizando, para intentar conectarme al ftp. Siendo un poco iluso, tenía esperanza de que siguiera activo… Pero los años pasan para todos, y ya no existía  Así que me he quedado con las ganas… ¿Quizá para la siguiente infección?

WiNSoCk