Descripción general
Los archivos binarios están compuestos por código de 0 y 1 que la computadora ejecuta directamente, y al abrirlos con un editor de texto normal, aparecen como caracteres corruptos. El comando `strings` busca y extrae cadenas de texto de cuatro o más caracteres imprimibles consecutivos dentro de estos archivos binarios. Esto permite identificar información útil como mensajes de error, rutas de archivos, URL o valores de configuración incluidos en el archivo binario.
Características principales
Las características principales del comando strings son las siguientes:
- Extrae cadenas legibles por humanos de archivos binarios.
- Por defecto, busca cadenas de 4 o más caracteres imprimibles consecutivos.
- Soporta varias codificaciones de caracteres (ASCII, UTF-16, etc.).
- Es útil para identificar nombres de bibliotecas o información de configuración utilizada por los programas.
Campos de aplicación de strings
strings se puede utilizar en una variedad de campos más allá de la simple verificación de archivos.
- Análisis de malware: Extrae información como direcciones de servidores C&C, nombres de archivos y llamadas a la API de binarios de malware.
- Depuración: Encuentra mensajes de error o cadenas de depuración incrustadas en archivos ejecutables para resolver problemas.
- Análisis de archivos desconocidos: Cuando la extensión de un archivo es incierta, se puede usar strings para verificar el texto interno y estimar la naturaleza del archivo.
Opciones principales
Hemos agrupado las principales opciones del comando strings según su propósito.
1) Opciones de extracción
2) Ayuda
Comando generado:
Combina los comandos.
Descripción:
`strings` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Familiarícese con las funciones del comando strings a través de varios ejemplos de uso.
Extracción de cadenas básicas de un archivo binario
strings /usr/bin/top
Extrae cadenas con la configuración predeterminada (4 o más caracteres) del archivo binario `/usr/bin/top`.
Extraer solo cadenas más largas
strings -n 8 /usr/bin/top
Utiliza la opción `-n` para extraer solo cadenas de 8 o más caracteres.
Mostrar cadenas y desplazamiento hexadecimal juntos
strings -t x /usr/bin/top
La opción `-t x` muestra el desplazamiento hexadecimal de inicio de cada cadena dentro del archivo. Útil para el análisis binario.
Uso con la tubería (|)
strings /usr/bin/top | grep error
Extrae y verifica solo las cadenas que contienen 'error' del archivo `/usr/bin/top`.
Extracción de cadenas con codificación UTF-16
strings -e l /path/to/binary
Utiliza la opción `-e` para extraer cadenas con codificación UTF-16. `l` significa little-endian, `b` significa big-endian.
Instalación
strings forma parte del paquete `binutils`, que se incluye por defecto en la mayoría de las distribuciones de Linux. No se requiere una instalación separada.
Debian/Ubuntu
sudo apt update
sudo apt install -y binutils
RHEL/CentOS/Fedora
sudo dnf install -y binutils
Consejos y precauciones
Aquí hay algunos puntos a tener en cuenta al usar el comando strings.
Consejos
- `strings` proporciona información mucho más limpia y útil que ejecutar `cat` en archivos binarios. `cat` puede mostrar contenido binario directamente, lo que podría dañar el terminal.
- Las cadenas extraídas pueden contener saltos de línea o espacios, por lo que conectarlas con `grep`, `awk`, etc., para un procesamiento adicional, puede hacerlas más útiles.