Resolución de problemas con pwnable.kr 04 - flag. Archivos ejecutables empaquetados

imagen

En este artículo, analizaremos cómo y por qué se utiliza el empaquetado de archivos ejecutables, cómo encontrarlos y descomprimirlos, y resolver la cuarta tarea desde el sitio pwnable.kr .

Información organizacional
Especialmente para aquellos que quieran aprender algo nuevo y desarrollarse en cualquiera de las áreas de información y seguridad informática, escribiré y hablaré sobre las siguientes categorías:

  • PWN;
  • criptografía (criptografía);
  • tecnologías de red (Red);
  • inversa (ingeniería inversa);
  • esteganografía (Stegano);
  • búsqueda y explotación de vulnerabilidades WEB.

Además de esto, compartiré mi experiencia en informática forense, análisis de malware y firmware, ataques a redes inalámbricas y redes de área local, realización de pentests y escritura de exploits.

Para que pueda conocer nuevos artículos, software y otra información, creé un canal en Telegram y un grupo para discutir cualquier problema en el campo de ICD. Además, consideraré personalmente sus solicitudes personales, preguntas, sugerencias y recomendaciones personalmente y responderé a todos .

Toda la información se proporciona solo con fines educativos. El autor de este documento no tiene ninguna responsabilidad por los daños causados ​​a alguien como resultado del uso de los conocimientos y métodos obtenidos como resultado de estudiar este documento.

Empaquetar archivos ejecutables


Los archivos empaquetados son archivos que ocultan su código fuente mediante compresión o encriptación. A medida que avanza, dicho archivo descifra su código fuente y lo copia en otra sección. Los empaquetadores suelen modificar la tabla de direcciones de importación (IAT) o la tabla de búsqueda de importación (ILUT), así como el encabezado.

imagen

El embalaje se utiliza por los siguientes motivos:

  • un archivo empaquetado ocupa menos espacio;
  • para evitar la ingeniería inversa del programa;
  • el empaquetado encriptado también se puede usar de manera maliciosa al crear virus para encriptar y modificar el código del virus para que sea difícil de detectar con sistemas basados ​​en firmas.

imagen

Para analizar si un programa está empaquetado o no, puede usar PEid o DetectItEasy . Para desempacar, se utilizan programas apropiados o desempacadores universales, por ejemplo, Quick Unpack .

imagen

imagen

Empacadores famosos:


Solución de la tarea de bandera


Hacemos clic en el icono con la bandera de la firma y se nos dice que podemos descargar el archivo ejecutable.

imagen

No se nos da el movimiento inicial. Usaré Cutter para analizar el programa. Abra Cutter, especifique la ruta al archivo ejecutable.

imagen

Observamos un gráfico muy extraño del programa y la ausencia de la función principal.

imagen

Verifiquemos el programa en DetectItEasy, que dice que nuestro archivo está empaquetado con UPX.

imagen

Descomprima el programa con el siguiente comando.

upx -d flag 

imagen

Ahora, si lanza el programa en Cutter, puede observar la función principal y las líneas desempaquetadas.

imagen

Vemos una línea con UPX. Encuéntralo en la lista de líneas.

imagen

Esta es la respuesta Como resultado, obtenemos nuestros puntos.

imagen

¡Nos vemos en los siguientes artículos!

Estamos en un canal de telegramas: un canal en Telegramas .

Source: https://habr.com/ru/post/460028/


All Articles