Búsqueda y colecciones
El menú Buscar reúne las colecciones y la búsqueda recursiva por nombre o contenido de archivo. Ambas muestran los resultados en una lista ordenable con la ruta de origen de cada archivo, y ambas funcionan con el visor y la vista previa rápida.
- Ctrl-F: busca en la carpeta actual y en todo lo que contiene. Todas las palabras deben
coincidir:
main rsencuentramain.rs, ya | bencuentra cualquiera de las dos. Una palabra en minúsculas no distingue mayúsculas; si tiene alguna mayúscula, la coincidencia es exacta. También puedes usar patrones glob como*.log, frases entre comillas, rutas con barra comosrc/liby-wordpara excluir coincidencias, además de los filtrosext:rs,toml,type:file,type:dir,type:link,size:>10M,size:1M..50M,mod:<7d(modificado en la última semana),mod:>1yein:src(una carpeta en cualquier parte de la ruta). Las búsquedas recientes aparecen bajo el formulario, primero las hechas en la misma carpeta; haz clic en una, o pulsa Ctrl-P y Ctrl-N en el campo de consulta, para reutilizarla. El diálogo se abre con la consulta y las opciones que dejaste en él la última vez, en la carpeta donde estás. Los nombres coinciden en cualquier alfabeto sean cuales sean las mayúsculas del patrón glob, y las letras acentuadas coinciden sin importar cómo las guarde el sistema de archivos. Las coincidencias cercanas a la carpeta de búsqueda aparecen primero, mientras se sigue leyendo el resto del árbol. - Alt-K: reúne los archivos marcados, o el archivo actual, en una colección en el otro panel. Una colección guarda referencias, así que el contenido de los archivos no se copia.
- Alt-V: elige una colección guardada en una lista desplazable que muestra cuántas entradas tiene cada una y una estimación de su tamaño. Pulsa F7 o N para crear una. Las colecciones se conservan al reiniciar Borg.
- Esc: oculta los resultados y conserva el cursor, la posición de desplazamiento, las marcas, el filtro y la agrupación.
- Alt-Shift-R: vuelve a mostrar los resultados ocultos. Un análisis sigue en marcha mientras sus resultados están ocultos.
- Alt-D: abre Tamaños de carpeta para buscar carpetas por tamaño total o por número de archivos. Los archivos ocultos se incluyen por defecto. Alt-D abre el diálogo de Ctrl-F en Totales de carpeta; cambia el campo Buscar para alternar entre los dos modos. Ctrl-C detiene un análisis.
- Alt-S: calcula los tamaños de la carpeta seleccionada. Alt-Shift-D: abre un árbol de tamaños de la carpeta actual.
- Alt-W: maximiza o restaura el panel de resultados activo. Los resultados se abren en un
panel normal por defecto. Puedes hacer clic en los controles
[+](maximizar),[=](restaurar) y[-](plegar) de la barra de título. Plegar oculta la vista; Alt-Shift-R la recupera con su disposición y su selección. - Ctrl-S: filtra los resultados por nombre o ruta de origen. Un filtro vacío lo muestra todo.
Buscar dentro de los archivos
Sección titulada «Buscar dentro de los archivos»Escribe texto en Con el texto en el diálogo de Ctrl-F para ver los archivos bajo la carpeta que
lo contienen. El patrón de nombre sigue aplicándose, así que *.rs con fn main en Con el
texto encuentra los archivos Rust que lo tienen. Las opciones junto al campo funcionan como en la
barra de búsqueda: Alt-C distingue mayúsculas y minúsculas (si no, una búsqueda en minúsculas
encuentra cualquier combinación), Alt-W busca palabras completas y Alt-R interpreta el texto como
una expresión regular. También puedes hacer clic en las opciones. Ctrl-P y Ctrl-N en el campo
recuperan las búsquedas recientes de la barra de búsqueda y de búsquedas anteriores. Una búsqueda
de texto solo muestra archivos, así que no admite totales de carpeta ni un mínimo de archivos, y
Tamaños de carpeta no tiene el campo Con el texto.
Cada resultado muestra la primera línea que coincide, con su número de línea, en la columna
Coincidencia, y la línea de estado añade el número de línea a la ruta del archivo. F3 abre el
archivo en el visor en esa coincidencia, con la barra de búsqueda abierta con la consulta, para que
Enter pase a la siguiente, y Ctrl-Q lo muestra ahí en la vista rápida, con la consulta marcada. Los
archivos Markdown y JSON se abren como código fuente en ambos, porque la búsqueda leyó el archivo
tal cual, y s cambia a la vista formateada. F4 abre el archivo en el editor de Borg en esa
coincidencia, con la coincidencia seleccionada y la barra de búsqueda abierta con la consulta, y
Alt-E hace lo mismo en el otro panel, para que los resultados sigan a la vista. Borg lee los
archivos en segundo plano, y la línea de contexto cuenta los archivos leídos. Los archivos binarios
(un byte NUL en los primeros 8 KiB) y los de más de 64 MiB quedan sin leer y cuentan como binarios o
demasiado grandes. Ctrl-C detiene la búsqueda, que se para en 20.000 archivos como cualquier
búsqueda.
Ctrl-R en los resultados, o Reemplazar en archivos… en el menú Archivo, reemplaza el texto en
los archivos marcados, o en todos los archivos que muestran los resultados si no hay ninguno
marcado. Escribe lo que va en su lugar y pulsa Enter; deja el campo vacío para quitar el texto. Una
segunda pregunta indica el texto y los archivos, y empieza en No. Pulsa Y para cambiarlos. Borg
no guarda una copia del texto anterior. Los interruptores de la búsqueda se aplican, así que una
búsqueda de palabras completas reemplaza palabras completas, y con una expresión regular $1
devuelve el primer grupo. Borg escribe cada archivo como guarda su editor, así que los permisos y
los enlaces se mantienen. Omite los archivos que no son texto, que pasan de 32 MiB o que cambiaron
mientras la tarea se ejecutaba. La tarea aparece en Alt-J, y los resultados se actualizan cuando
termina.
Analizar archivos con reglas
Sección titulada «Analizar archivos con reglas»Pon Buscar en Coincidencias de reglas en el diálogo de Ctrl-F para analizar los archivos bajo la carpeta con reglas YARA: las que incluye Borg y las tuyas. El patrón de nombre, el Tamaño mínimo y Omitir resultados de compilación, cachés y archivos ignorados siguen aplicándose. Son las reglas las que deciden qué buscar, así que el diálogo deja de mostrar Con el texto y Mínimo de archivos.
Cada resultado muestra en la columna Coincidencia la regla más grave que coincide con el archivo, cuántas más coinciden y los primeros bytes que encontró esa regla, como texto entre comillas o en hexadecimal. F3 abre el archivo en el visor en esos bytes, con la barra de búsqueda rellenada con ellos, y F4 y la vista rápida también se abren ahí. La línea de contexto cuenta los archivos analizados y las reglas usadas. Los archivos de más de 64 MiB quedan sin leer y cuentan como demasiado grandes, y el análisis se para en 20.000 archivos como cualquier búsqueda. Ctrl-C lo detiene.
Las reglas propias de Borg buscan:
reverse_shell: una shell interactiva a través de/dev/tcp,ncosocatejecutando una shell, o una shell lanzada en un pseudoterminal.download_and_run: un script descargado y enviado directamente a una shell por una tubería.decode_and_run: base64 decodificado y ejecutado como comando de shell o como código Python.crypto_miner: la dirección de un pool de minería, o la configuración de un minero común.upx_packed: un ejecutable empaquetado con UPX, que se desempaqueta a sí mismo en memoria.execve_shellcode: la ruta de la shell que construye el código de un exploit antes de iniciar una shell.ssh_key_planted: una clave pública añadida a un archivoauthorized_keys.reboot_job_fetch: una tarea cron que se ejecuta en cada arranque y descarga, decodifica o ejecuta algo desde una carpeta temporal.password_prompt: un diálogo de AppleScript que pide una contraseña con la respuesta oculta, como hacen los programas que roban datos en macOS.launch_agent_from_temp: un agente o daemon de arranque de macOS que inicia un programa desde una carpeta temporal o compartida.preload_write: una escritura en/etc/ld.so.preload, que carga una biblioteca en todos los programas de Linux.history_wiping: el historial de la shell desactivado, o los registros del sistema vaciados.agent_unattended: un agente de programación con IA iniciado con las aprobaciones desactivadas, como hizo el ataque a la cadena de suministro de Nx para buscar secretos en las máquinas.hidden_prompt: una serie de caracteres de etiqueta Unicode invisibles, que pueden ocultar instrucciones para modelos de IA en prompts, archivos de reglas y páginas web.pickle_runs_code: un pickle, el formato en que Python y PyTorch guardan modelos, que ejecuta un comando al cargarse.
Pon tus propias reglas en la carpeta rules junto a config.toml:
~/.config/borg-commander/rules, o la misma carpeta bajo $XDG_CONFIG_HOME o $BORG_CONFIG_DIR.
Borg lee todos los archivos .yar y .yara que hay ahí y en las carpetas inferiores, cada uno en
su propio espacio de nombres, así que dos archivos pueden usar los mismos nombres de reglas. Cada
archivo se compila por separado. Un archivo con un error se omite entero, la línea de estado lo
nombra con el mensaje del compilador, la línea de contexto cuenta los archivos omitidos y los demás
archivos siguen funcionando. Como cada archivo se carga por separado, un archivo que usa include
también se omite, y los archivos que incluye funcionan por su cuenta.
Las reglas pueden importar los módulos hash, math, string, time, elf, macho, pe,
dotnet y dex; un archivo que importa magic, cuckoo o console se omite. Las variables
filename, filepath y extension contienen el nombre, la ruta y la extensión del archivo
analizado, como esperan los conjuntos de reglas escritos para THOR y LOKI, y filetype y owner
quedan vacías. El metadato severity de una regla fija la importancia de una coincidencia: alert,
critical o high dan una alerta, warning, medium o suspicious una advertencia, y notice,
low o info un aviso. Sin él, un score de 80 o más da una alerta, de 60 o más una advertencia,
y por debajo un aviso. Una regla sin ninguno de los dos cuenta como advertencia. Sus campos
description y false_positives aparecen con cada coincidencia.
Borg no incluye conjuntos de reglas públicos, porque sus licencias varían. Descarga los que te merezcan confianza en la carpeta de reglas y revisa cada licencia antes de usarlos en el trabajo:
- YARA Forge reúne en paquetes probados reglas de muchas fuentes públicas; cada regla conserva la licencia de su fuente.
- signature-base es gratuito para uso no comercial (CC BY-NC 4.0).
- Los protection artifacts de Elastic se publican bajo la Elastic License 2.0.
- Las reglas de ReversingLabs se publican bajo la licencia MIT.
Las reglas coinciden con patrones de bytes y no saben nada de intenciones. Los instaladores, las herramientas de seguridad y sus datos de prueba también coinciden, y un archivo con el que no coincide ninguna regla puede ser malicioso igualmente. Toma las coincidencias como pistas. Analizar la memoria con reglas explica lo que un análisis no puede ver.
Encontrar ejecutables empaquetados
Sección titulada «Encontrar ejecutables empaquetados»Pon Buscar en Ejecutables empaquetados en el diálogo de Ctrl-F para listar los programas bajo la carpeta cuyo código es tan denso como los bytes comprimidos o cifrados. Los empaquetadores y los protectores dejan código así, igual que el malware que oculta su código hasta que se ejecuta. Borg lee las partes de cada archivo ELF, Mach-O y PE que el cargador mapea como ejecutables, incluida cada parte de un binario Mach-O universal, y mide la entropía de hasta 1024 bloques de 4 KiB repartidos de forma uniforme por ellas. Un programa aparece en la lista cuando al menos el 70 % de esos bloques llega a 7,2 bits por byte. El código compilado de la forma habitual queda muy por debajo. El patrón de nombre, el Tamaño mínimo y Omitir resultados de compilación, cachés y archivos ignorados siguen aplicándose, y el diálogo deja de mostrar Con el texto y Mínimo de archivos.
La columna Coincidencia indica la proporción de bloques con entropía alta y la entropía más alta encontrada, como “97% alta · máx. 8”. F3 abre el programa en las filas hexadecimales del visor, en el primer bloque con entropía alta, con la franja de entropía que describe Visor y vista rápida al lado. La línea de contexto cuenta los programas leídos y los demás archivos, en los que Borg no sabe encontrar código. Ctrl-C detiene la búsqueda, que se para en 20.000 archivos como cualquier búsqueda. Un programa empaquetado solo muestra su código real mientras se ejecuta, y el Análisis de entropía de todos los procesos examina los programas de esa forma.
Trabajar con los resultados
Sección titulada «Trabajar con los resultados»Haz clic en el encabezado de una columna para ordenar por ella, y otra vez para invertir el orden. Los menús Izquierda y Derecha también permiten ordenar, y el menú Buscar añade la ordenación por carpeta de origen y la agrupación por carpeta o por tipo de archivo. Enter sobre el encabezado de un grupo lo pliega; Insert marca los archivos coincidentes que contiene. Las marcas se conservan al ordenar o filtrar, y el pie también cuenta los archivos marcados que el filtro oculta.
F3 y Ctrl-Q abren el archivo original y, tras una búsqueda de texto, lo abren en su primera coincidencia. La vista rápida sigue al cursor por los resultados y muestra cada archivo en su coincidencia, con la consulta marcada como la marca la barra de búsqueda. Alt-E abre el archivo en el editor de Borg en el otro panel, para que los resultados sigan a la vista. Esc o F10 cierra ese editor y devuelve el foco a los resultados, y la vista rápida vuelve si estaba abierta antes. F5 copia a una carpeta real; si el otro panel es una colección, F5 añade referencias a ella. F6 necesita una carpeta real como destino. En una colección, F8 quita referencias y deja los archivos intactos; en los resultados de búsqueda, F8 pide confirmación para eliminar los archivos originales. Shift-F8 también elimina los archivos originales desde una colección, tras confirmarlo. Si marcas una carpeta y archivos que contiene, la tarea procesa la carpeta una sola vez. Mostrar original o Alt-O abre la carpeta del archivo en el otro panel, con el cursor en el archivo. Left o Esc ocultan los resultados, y Alt-Shift-R los recupera tal como los dejaste. Tab cambia de panel incluso si el shell tiene un comando a medio escribir. El shell siempre permanece en una carpeta real. F10 siempre pregunta antes de salir.
Por ahora, las acciones de Git y de archivos comprimidos solo funcionan en paneles de carpetas reales. Para usarlas con un archivo de una colección, abre antes su carpeta con Mostrar original.
Límites de la búsqueda
Sección titulada «Límites de la búsqueda»La búsqueda lee los nombres de archivo y los metadatos en un proceso en segundo plano que puedes cancelar, y se detiene al llegar a 20 000 coincidencias. La línea de contexto indica si la búsqueda ha terminado, los errores y las entradas omitidas, y si se alcanzó ese límite. Las carpetas ocultas solo se recorren cuando Mostrar archivos ocultos está activado. La búsqueda no sale del sistema de archivos donde empezó y no sigue enlaces simbólicos a carpetas. La ventana de búsqueda permite limitar los resultados a archivos o a carpetas y fijar un tamaño mínimo.
Totales de carpeta y árbol de tamaños
Sección titulada «Totales de carpeta y árbol de tamaños»Elige Totales de carpeta para medir todos los archivos que hay bajo cada carpeta antes de
filtrar por nombre, tamaño o número mínimo de archivos. Borg conserva las 20 000 carpetas
coincidentes más grandes y las ordena por tamaño; haz clic en Archivos para ordenarlas por número
de archivos. Usa un patrón como node_modules o *cache*, o * para ver todas las carpetas bajo
la carpeta de inicio.
Los totales suman el contenido de los archivos. Al eliminar una carpeta, el espacio en disco que se libera puede ser otro. Las carpetas anidadas también cuentan en los totales de sus carpetas superiores. Nunca se siguen enlaces simbólicos, los análisis no salen del sistema de archivos donde empezaron y una carpeta que se contiene a sí misma (mediante un montaje bind o una carpeta con enlace duro) se cuenta una sola vez. Cuando un total está incompleto por uno de estos límites, o porque no se pudo leer o se dejó fuera una subcarpeta, se muestra con ≥. Los análisis de carpetas solo leen metadatos y no abren el contenido de los archivos. Los resultados aparecen cuando termina la medición, y puedes cancelar el análisis en cualquier momento.
Árbol de tamaños de carpetas muestra en el panel actual el total de la carpeta de inicio y de sus subcarpetas. Right despliega una rama, o entra en ella si ya está desplegada; Left pliega una rama o selecciona su carpeta superior. Enter abre la propia carpeta. Haz clic en la flecha de una rama para plegarla o desplegarla, o en el encabezado de una columna para ordenar por nombre, tamaño o número de archivos las carpetas del mismo nivel. Esc oculta el árbol, y Alt-Shift-R recupera sus ramas, marcas y cursor. Las operaciones con archivos actúan sobre las rutas reales, y si marcas una carpeta y una subcarpeta suya, una tarea de copia o eliminación solo recibe la carpeta.
Qué dejan fuera las búsquedas
Sección titulada «Qué dejan fuera las búsquedas»Mientras Omitir resultados de compilación, cachés y archivos ignorados está marcado, las
búsquedas por nombre omiten las carpetas generadas: node_modules, .git, las cachés y los
entornos virtuales de Python, carpetas como target y dist que están junto a un archivo de
compilación (Cargo.toml, package.json) y cualquier carpeta marcada con un archivo
CACHEDIR.TAG. También omiten los archivos excluidos por .gitignore, .ignore, .rgignore o
.borgignore, y los patrones glob de [search] exclude.
Para cambiar lo que se deja fuera, pulsa F4 en el diálogo de búsqueda o haz clic en F4 Editar.
Puedes activar o desactivar las carpetas generadas y los archivos de exclusión, y añadir (Ins),
editar (Enter) o quitar (Del) patrones. Los cambios se guardan en el archivo de configuración. Una
carpeta excluida sigue apareciendo si su propio nombre coincide, y la línea de contexto indica
cuántas carpetas se dejaron fuera. Añade excluded:yes a una consulta para buscar en todo por una
vez, o hidden:yes para incluir los archivos ocultos. Los análisis de tamaño siempre lo leen todo.
En macOS, las búsquedas y los análisis de tamaño que empiezan por encima de
~/Library/Containers y ~/Library/Group Containers los omiten: leer ahí hace que macOS retenga
la lectura hasta que alguien responda si se permite acceder a los datos de otra app. Una búsqueda
que empieza dentro de una de estas carpetas sí la lee.
El historial de búsqueda se queda en esta computadora y solo tú puedes leerlo. Define
history = false en [search] para dejar de guardarlo.
Búsqueda instantánea con un índice
Sección titulada «Búsqueda instantánea con un índice»Buscar → Indexar esta carpeta para búsqueda instantánea mantiene un índice de todos los
nombres bajo la carpeta activa, de modo que Ctrl-F en ella, o en cualquier carpeta que contenga,
responde al instante. La línea de contexto indica cuándo se creó el índice. Borg reconstruye los
índices en segundo plano al iniciarse y cada vez que un índice tiene más de 15 minutos, y el
índice anterior sigue respondiendo hasta que el nuevo está listo. Una búsqueda que no deja nada
fuera, o que usa otras exclusiones, lee las carpetas directamente, igual que una búsqueda de texto,
porque el índice solo guarda nombres. Vuelve a elegir la opción del
menú para dejar de indexar y eliminar el índice. Los índices se guardan en la carpeta de caché,
junto a los análisis de tamaño, e [index] en la configuración enumera las carpetas indexadas.
Contar tamaños en segundo plano
Sección titulada «Contar tamaños en segundo plano»Para medir tamaños sin dejar de usar los paneles de archivos normales, pulsa Alt-I o elige
Buscar → Contar tamaños en segundo plano. Borg analiza todas las carpetas que hay bajo la
actual, incluidos los archivos ocultos, y completa el total de cada carpeta cuando termina con
ella. Mientras tanto, puedes seguir navegando o usar la consola. Las carpetas que aún se están
midiendo muestran un total creciente marcado con ≥, y los totales se conservan si sales de una
carpeta y vuelves. El pie del panel muestra el progreso; pulsa Alt-I de nuevo, o haz clic en
el pie, para detener el análisis y conservar los totales medidos hasta ese momento. Al iniciar una
tarea de copia, movimiento o eliminación se detiene el análisis de tamaños en curso. Los análisis
terminados comparten su caché con el árbol de tamaños y con Totales de carpeta.
Análisis de tamaño guardados
Sección titulada «Análisis de tamaño guardados»Los análisis terminados se guardan en esta computadora. Totales de carpeta y el árbol de tamaños
reutilizan un análisis guardado de la misma carpeta con el mismo ajuste de archivos ocultos.
Cuando vuelves a abrir una carpeta que ya se midió, sus tamaños guardados aparecen al instante,
marcados con ~, con la fecha de la medición encima del árbol. Ctrl-R vuelve a analizar en
cualquiera de las dos vistas de tamaño, y Ctrl-C cancela. El árbol anterior sigue visible
mientras se actualiza, y se mantiene si el nuevo análisis se cancela o falla. Los listados normales
de carpetas también muestran los totales guardados cuando existen. Los cambios hechos fuera de Borg
pueden dejarlos desactualizados, y navegar nunca inicia por sí solo un análisis recursivo. Las
tareas de copia, movimiento y eliminación de Borg descartan los análisis guardados que abarcan las
rutas que modificaron.
La caché local de SQLite conserva todas las carpetas medidas de hasta 16 carpetas de inicio. Los
árboles cargan las subcarpetas de una rama al desplegarla. Una rama muestra hasta 20 000 carpetas,
y Totales de carpeta conserva las 20 000 coincidencias más grandes; estos límites de visualización
no detienen el análisis ni cambian los totales. Una fila “Archivos en esta carpeta” recoge los
bytes guardados directamente en una carpeta desplegada. Los errores y las subcarpetas omitidas
marcan los totales como incompletos. La caché está en ~/.cache/borg-commander, o bajo
XDG_CACHE_HOME si está definida; BORG_CACHE_DIR cambia la ubicación. La caché solo guarda
mediciones que se pueden volver a generar, y es independiente de las colecciones. Un archivo con
enlaces duros cuenta una vez por cada ruta que tiene. Todos los tamaños miden el contenido de los
archivos, así que lo que un archivo ocupa en disco puede ser más o menos.
Esta guía sigue la rama main · Borg 0.11.0 · 1f6bce6
Puede que la última versión publicada no incluya todo lo que se describe aquí. Notas de la versión
Traducción de la guía en inglés. Las correcciones son bienvenidas. Los comandos y los atajos de teclado no se traducen.