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 organizacionalEspecialmente 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.

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.

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 .


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.

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

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

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

Descomprima el programa con el siguiente comando.
upx -d flag

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

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

Esta es la respuesta Como resultado, obtenemos nuestros puntos.

¡Nos vemos en los siguientes artículos!
Estamos en un canal de telegramas: un
canal en Telegramas .