
Tabla de Contenidos
- Introducción y Filosofía del Entorno Personalizado
- Primeros Pasos: Instalación y Configuración Base de Parrot OS
- Transición a Bspwm: El Arte del Window Management
- Personalización Profunda: Rofi, Dunst, Feh y Compton
- Polybar: El Cerebro de tu Escritorio
- Fuentes, Shell Avanzado y Utilidades Esenciales
- Seguridad y Bloqueo: Manteniendo tu Fortaleza
- Veredicto del Ingeniero: ¿Vale la pena este nivel de personalización?
- Arsenal del Operador/Analista
- Preguntas Frecuentes
- El Contrato: Tu Campo de Pruebas Personal
Introducción y Filosofía del Entorno Personalizado
La red es un campo de batalla, y tu estación de trabajo es tu cuartel general. Un cuartel desordenado, lento y mal equipado te pone en desventaja desde el primer momento. Parrot OS no es solo un conjunto de herramientas; es un lienzo. Bspwm, por otro lado, es el pincel. Un gestor de ventanas basado en la disposición de tejas (tiling window manager), te obliga a pensar de forma lógica sobre el espacio en tu pantalla. No hay superposición de ventanas por defecto, todo está dispuesto de forma ordenada, permitiendo un acceso rápido y una visión general clara de tus operaciones.
Esto no es solo estética. Es pura eficiencia. Menos clics, más contexto, más velocidad. Vamos a construir un entorno que se adapte a ti, no al revés. Cada comando, cada atajo, cada elemento visual debe tener un propósito.
Primeros Pasos: Instalación y Configuración Base de Parrot OS
Empezamos con la base: Parrot OS. Si aún no lo tienes, descárgalo directamente de la web. Utilizaremos VMware para la virtualización, una herramienta fiable para crear laboratorios seguros. Importa la ISO y procede con la instalación.
- Descarga Parrot OS: Asegúrate de obtener la ISO más reciente desde el sitio oficial.
- Importación en VMware: Crea una nueva máquina virtual, selecciona la ISO como disco de arranque y sigue las instrucciones. Recomiendo asignar al menos 4GB de RAM y 2-4 vCPUs si tu hardware lo permite.
- Instalación de la Máquina Virtual: Durante la instalación, configura tu particionado. Para un entorno de trabajo, un esquema simple con una partición raíz (`/`) y una de intercambio (`swap`) suele ser suficiente.
- Arranque Inicial: Una vez instalado, arranca Parrot OS.
- Actualización del Sistema: Este es un paso CRUCIAL. Ejecuta `sudo parrot-upgrade` para asegurarte de tener el sistema al día. Esto no solo trae las últimas actualizaciones de seguridad, sino también mejoras en las herramientas preinstaladas.
- Optimización de Recursos: En la configuración de VMware, ajusta los procesadores y la memoria asignados a tu VM. Un entorno de pentesting intensivo puede consumir muchos recursos.
En este punto, tienes una instalación limpia de Parrot OS. Es funcional, pero aún le falta la chispa de un entorno profesional. Es hora de inyectarle algo de magia.
Transición a Bspwm: El Arte del Window Management
Ahora viene la parte que separa a los aficionados de los profesionales: Bspwm (Binary Window System Manager). Es un gestor de ventanas que funciona enviando comandos a `sxhkd`, un demonio que procesa atajos de teclado. Su filosofía es simple: un programa para la gestión de ventanas, otro para la entrada de teclado.
-
Instalación de Bspwm y SXHKD:
sudo apt update sudo apt install bspwm sxhkd -y
-
Compilación de Bspwm y SXHKD (Recomendado para la última versión):
A veces, las versiones de los repositorios pueden quedarse cortas. Compilar desde fuente te asegura la vanguardia.
# Descarga el código fuente de bspwm y sxhkd git clone https://github.com/baskerville/bspwm.git git clone https://github.com/baskerville/sxhkd.git # Compila e instala bspwm cd bspwm make sudo make install cd .. # Compila e instala sxhkd cd sxhkd make sudo make install cd ..
Nota: Asegúrate de tener las dependencias de compilación instaladas (`build-essential`, `automake`, `pkg-config`, etc.).
-
Definición del Archivo .xinitrc:
Este archivo le dice a Xorg cómo iniciar tu entorno de ventanas. Copia el siguiente contenido a `~/.xinitrc` y hazlo ejecutable (`chmod +x ~/.xinitrc`).
#!/bin/sh user_params=$(echo "$@") if [ -z "$user_params" ]; then params="root" else params="$user_params" fi exec bspwm -a "pointer=250x100+10+10,resize+250x100+10+10,move+250x100+10+10" -m 0.75 -d $params -c ~/.config/bspwm/bspwmrc
Con esto, ya tienes Bspwm instalado, pero aún no está configurado. El archivo `.xinitrc` es esencial para lanzar Bspwm correctamente al iniciar sesión.
Personalización Profunda: Rofi, Dunst, Feh y Compton
Un entorno vacío no sirve de mucho. Necesitamos las herramientas que lo harán funcional y estético.
-
Instalación de Feh y Compton:
sudo apt install feh compton -y
feh
: Un visor de imágenes versátil, ideal para establecer fondos de pantalla.compton
: Un compositor que añade efectos de transparencia y sombreado a tus ventanas, mejorando drásticamente la estética.
-
Configuración del Archivo bspwmrc:
Crea el directorio `~/.config/bspwm` y dentro, el archivo `bspwmrc`. Este es el corazón de la configuración de Bspwm. Un ejemplo minimalista para empezar:
#!/bin/sh # Configuración de borde y espaciado bspc config border_width 2 bspc config window_gap 12 # Definición de colores bspc config normal_border_color "#444444" bspc config active_border_color "#888888" bspc config focused_border_color "#ff0000" # Definición del puntero para redimensionar bspc config pointer_modifier "Alt" bspc config pointer_action "move" # Configuración de espacios de trabajo (desktops) bspc monitor -d I II III IV V VI VII VIII IX X # Lanzar aplicaciones al inicio # bspc rule -a Gpick desktop='^1' state=floating follow=on # bspc rule -a Gpick state=fullscreen desktop='^1' # feh & # compton --config ~/.config/compton/compton.conf & # polybar example &
- Definición del `pointer_modifier` y `pointer_action` dentro de `bspwmrc`: Estos definen cómo interactúas con las ventanas usando el ratón (ej: Alt + clic izquierdo para mover).
-
Configuración del archivo `sxhkdrc`: Este archivo define tus atajos de teclado. Crea `~/.config/sxhkd/sxhkdrc`. Aquí es donde mapearás acciones a combinaciones de teclas.
# Bspwm # Terminal super + Return termite # Cerrar ventana super + shift + q bspc node -c # Navegar entre ventanas super + {h,j,k,l} bspc node -f {west,south,north,east} # Mover ventanas entre espacios de trabajo super + shift + {1-9,0} bspc node -s '^{1-9,10}' # Instalar Rofi sudo apt install rofi -y
-
Instalación de Rofi: Una herramienta versátil para lanzar aplicaciones, menús, scripts, etc.
sudo apt install rofi -y
Configura `rofi` para que se lance con un atajo de teclado en tu `sxhkdrc`, por ejemplo:
# Lanzar Rofi super + d rofi -show drun
-
Instalación de Dunst: Un demonio de notificaciones ligero y configurable.
sudo apt install dunst -y
Configura Dunst en `~/.config/dunst/dunstrc` y añádelo para que se inicie con Bspwm en tu `bspwmrc`.
- Fondo de Pantalla con Feh: Añade `feh --bg-scale /ruta/a/tu/fondo.jpg &` a tu `bspwmrc`.
-
Transparencia con Compton: Añade `compton --config ~/.config/compton/compton.conf &` a tu `bspwmrc`. Crea el archivo `~/.config/compton/compton.conf` con configuraciones como:
# Transparencia opacity-rule = [ "90:class_g = 'URxvt'", "95:class_g = 'Termite'", "85:class_g = 'Rofi'", "90:class_g = 'dunst'" ]; # Sombreado shadow = true; shadow-radius = 7; shadow-offset-x = -7; shadow-offset-y = -7; shadow-opacity = 0.7; # Otros efectos fading = true; fade-in-step = 0.03; fade-out-step = 0.03; # Ignorar ventanas específicas si es necesario # no-shadow = ["polybar", "dunst"];
Polybar: El Cerebro de tu Escritorio
Polybar es una barra de estado de alto rendimiento que te dará toda la información que necesitas al alcance de la mano: carga de CPU, uso de memoria, estado de red, fecha, hora, control de volumen, y mucho más.
-
Instalación de Polybar:
sudo apt install polybar -y
-
Instalación de Requisitos para Polybar:
Para algunas funcionalidades avanzadas y temas, necesitarás herramientas adicionales.
sudo apt install libpulse0 libpulse-dev libgtk-3-dev libjson-glib-dev python3-dev python3-pip -y
- Descarga de Temas para Polybar: Puedes encontrar temas pre-diseñados en GitHub o crear los tuyos. Copia la configuración (normalmente un archivo `config` y una carpeta `modules`) a `~/.config/polybar/`.
-
Configuración del `config.ini` de Polybar:
Adapta las opciones de pantalla, colores, fuentes y módulos a tus necesidades. Aquí defines qué mostrarás y cómo.
; Ejemplo de configuración básica en ~/.config/polybar/config.ini [colors] background = #000000 foreground = #ffffff primary = #ff0000 [bar/main] width = 100% height = 24 bottom = true background = ${colors.background} foreground = ${colors.foreground} border-top-size = 1 border-color-top = ${colors.primary} padding-left = 1 padding-right = 1 modules-left = bspwm i3 modules-center = date modules-right = pulseaudio memory cpu eth hackthebox cursor-click = pointer cursor-long-press = ew-resize [module/bspwm] type = internal/bspwm format-icons-occupied = format-icons-urgent = format-icons-empty = format-icons-sticky = label-focused = %icon% label-focused-background = #5f8700 label-occupied = %icon% label-active = %icon% label-urgent = %icon% label-empty = %icon% [module/date] type = internal/date interval = 1 date = %Y-%m-%d time = %H:%M:%S format-prefix = " " format-prefix-foreground = ${colors.primary} [module/pulseaudio] type = internal/pulseaudio format-volume-prefix = " " format-volume-underline = #88a0d0 label = %percentage%% [module/memory] type = internal/memory interval = 2 format-prefix = " " format-memory-unit = "" format-unit = "" label = %percentage_used:2%% [module/cpu] type = internal/cpu interval = 2 format-prefix = " " format-unit = "%" label = %percentage:2%% [module/eth] type = internal/network interface = eth0 interval = 3.0 format-connected-prefix = "E: " format-connected-underline = #ff0000 label-connected = %downspeed:10% format-disconnected = [module/hackthebox] type = custom/script exec = echo "HTB" interval = 3600 click-left = ~/.config/polybar/scripts/hackthebox.sh
- Scripts Personalizados para Polybar: Las utilidades como `ethernet_status.sh`, `hackthebox.sh`, y `s4vitar.sh` suelen ser scripts personalizados que interactúan con servicios o muestran información específica. Asegúrate de tenerlos y colócalos en la carpeta de scripts de Polybar (`~/.config/polybar/scripts/`). Personaliza el `s4vitar.sh` a tu gusto.
-
Fuentes Nerd Fonts: Para que los iconos y símbolos en Polybar se muestren correctamente, necesitas fuentes compatibles con Nerd Fonts.
# Descargar e instalar wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.0/Hack.zip unzip Hack.zip -d ~/.fonts/HackNerdFont fc-cache -fv
Asegúrate de seleccionar una de estas fuentes en la configuración de Polybar.
Fuentes, Shell Avanzado y Utilidades Esenciales
El shell es tu interfaz directa con el sistema operativo. Aquí es donde la velocidad y la inteligencia entran en juego.
-
Instalación de Powerlevel10k: Un prompt de Zsh muy rápido y personalizable.
# Clona el repositorio git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.config/zsh/powerlevel10k # Configura Zsh para usarlo echo "source ~/.config/zsh/powerlevel10k/powerlevel10k.zsh-theme" >> ~/.zshrc # Ejecuta la configuración interactiva p10k configure
Sigue las instrucciones interactivas. Te preguntará sobre la fuente, los iconos, y otras opciones. Asegúrate de seleccionar una fuente Nerd Font.
-
Configuración para Root: Copia la configuración de `~/.zshrc` a `~/.zshrc.root` (o `~/.zshrc` si eres root) y usa enlaces simbólicos si es necesario.
sudo ln -sf ~/.config/zsh/powerlevel10k/powerlevel10k.zsh-theme /root/.config/zsh/powerlevel10k sudo ln -sf ~/.zshrc /root/.zshrc
-
Compinit para evitar Warnings: Asegúrate de que tu `~/.zshrc` incluya la inicialización de `compinit` correctamente.
# Añade esto al inicio de tu ~/.zshrc autoload -U compinit && compinit -C -d ~/.zcompdump # -C para caché, -d para directorio
-
Instalación de Scrub (para rmk): Una herramienta para borrar archivos de forma segura.
sudo apt install scrub -y
-
Instalación de LSD: Una alternativa colorida y mejorada al comando `ls`.
sudo apt install lsd -y
-
Instalación de Bat: Una alternativa a `cat` con resaltado de sintaxis y numeración de líneas.
sudo apt install bat -y
-
Nuevos Aliases en `.zshrc`:
alias ls='lsd' alias cat='bat' alias rmk='scrub -p 100 -s' # Borrado seguro alias update='sudo parrot-upgrade'
-
Plugins para Zsh:
zsh-syntax-highlighting
: Resalta la sintaxis de los comandos que escribes.zsh-autosuggestions
: Sugiere comandos basados en tu historial.zsh-sudo
: Añade un `sudo` rápido con `Ctrl+U`.
Instálalos usando tu gestor de plugins de Zsh preferido (como `zplug` o `antibody`), o clona los repositorios en `~/.oh-my-zsh/custom/plugins/` si usas OhMyZsh y añadelos a tu `plugins=(...)` en `.zshrc`.
-
Instalación de FZF: Una herramienta de búsqueda de línea de comandos interactiva.
sudo apt install fzf -y
Integra `fzf` con tus comandos comunes (`Ctrl+T` para archivos, `Ctrl+R` para historial).
Seguridad y Bloqueo: Manteniendo tu Fortaleza
Un entorno sin bloqueo es una invitación abierta. Necesitas una forma rápida y segura de proteger tu sesión.
-
Glitchlock: Bloqueo de Pantalla H4x0r: Una herramienta divertida para un bloqueo de pantalla temático.
# Compila Glitchlock git clone https://github.com/H4ck3rJ4ck/glitchlock.git cd glitchlock make sudo make install cd ..
-
Atajo para Bloqueo de Pantalla: Añade a tu `sxhkdrc`:
# Bloquear pantalla super + shift + l glitchlock
- Fondo y Personalización del Bloqueo: Configura Glitchlock para usar tu fondo de pantalla y personalizar el icono.
-
Prueba de Conexión VPN HackTheBox: Asegúrate de que tu script de Polybar `hackthebox.sh` funciona y te permite conectarte a la VPN.
# Ejemplo de script hackthebox.sh #!/bin/bash if pgrep -x "htb-vpn" > /dev/null then sudo killall htb-vpn else htb-vpn & fi
-
Migración a Java 8: Para ciertos entornos de pentesting (especialmente con herramientas Java), tener una versión específica como Java 8 es crucial. Puedes usar `update-alternatives`.
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-openjdk-amd64/bin/java 1 sudo update-alternatives --install /usr/bin/javac java /usr/lib/jvm/java-8-openjdk-amd64/bin/javac 1
Veredicto del Ingeniero: ¿Vale la pena este nivel de personalización?
Absolutamente. La inversión inicial de tiempo en configurar un entorno como este se paga con creces en eficiencia, confort y control. Un entorno personalizado no es un lujo; es una necesidad para cualquier profesional serio. Te permite enfocarte en la tarea de seguridad, no a luchar contra tu propia estación de trabajo. Bspwm y Polybar juntos crean un flujo de trabajo sin interrupciones, donde cada acción es rápida y cada información es visible. Si buscas ser más rápido, más eficiente y tener un control granular sobre tu espacio de trabajo digital, invertir en esta configuración es el siguiente paso lógico en tu carrera.
Arsenal del Operador/Analista
- Sistema Operativo: Parrot OS (o Kali Linux, si prefieres)
- Gestor de Ventanas: Bspwm
- Barra de Estado: Polybar
- Lanzador de Aplicaciones: Rofi
- Notificaciones: Dunst
- Visor de Imágenes/Fondos: Feh
- Compositor (Transparencia/Sombras): Compton
- Shell: Zsh con Powerlevel10k y plugins (zsh-syntax-highlighting, zsh-autosuggestions, zsh-sudo)
- Utilidades de Terminal: LSD, Bat, FZF, Scrub, Glitchlock
- Virtualización: VMware Workstation/Player
-
Libros Recomendados:
- The Web Application Hacker's Handbook (para el pentesting web)
- Linux Command Line and Shell Scripting Bible (para dominar el shell)
- Mastering Bspwm (buscar guías y configuraciones avanzadas online)
- Certificaciones Relevantes: PenseB, OSCP (para validar habilidades en pentesting)
Preguntas Frecuentes
¿Es Bspwm adecuado para principiantes?
Bspwm tiene una curva de aprendizaje. Requiere una comprensión básica de la gestión de ventanas y la edición de archivos de configuración. Sin embargo, la recompensa en eficiencia lo hace valer la pena. Empieza con configuraciones sencillas y ve añadiendo complejidad.
¿Por qué no usar entornos de escritorio completos como GNOME o KDE?
Entornos de escritorio completos son pesados y vienen con muchas funcionalidades que un pentester o analista de seguridad rara vez usa. Bspwm, siendo un tiling window manager, es minimalista, rápido y altamente personalizable, permitiéndote optimizar cada recurso para las tareas de seguridad.
¿Necesito compilarlos todos desde fuente?
No es estrictamente necesario. Las versiones de los repositorios de Parrot OS pueden ser suficientes para empezar. Sin embargo, compilar desde la fuente te da acceso a las últimas características y a una mejor optimización si se hace correctamente.
¿Cómo gestiono múltiples proyectos o contextos en este entorno?
La clave está en la organización de tus espacios de trabajo (desktops) en Bspwm y en la creación de scripts para lanzar conjuntos de herramientas o entornos específicos. Por ejemplo, un espacio de trabajo para análisis web, otro para explotación, otro para análisis forense.
¿Qué herramientas específicas de Parrot OS recomiendas integrar?
Además de las que hemos configurado indirectamente (como las de red y sistema), Parrot viene con muchas herramientas preinstaladas. Puedes crear atajos o scripts para acceder rápidamente a herramientas como Metasploit, Wireshark, Burp Suite (si lo instalas), y las utilidades de hacking ético que prefieras.
El Contrato: Tu Campo de Pruebas Personal
Has visto cómo desmantelar y reconstruir un entorno de trabajo desde los cimientos. Ahora, el contrato es tuyo. Implementa esta configuración. Tómate el tiempo, sigue los pasos, y **personaliza cada aspecto a tu flujo de trabajo**. No copies ciegamente; entiende cada línea de configuración. El verdadero poder no reside en la herramienta, sino en la mano que la empuña y la mente que la dirige.
Tu desafío: dedica una hora a probar diferentes configuraciones de `compton.conf` para ver cómo afectan la transparencia y el rendimiento. Documenta los cambios y los resultados. ¿Puedes experimentar alguna degradación de FPS? ¿Qué ajustes te parecen más cómodos visualmente sin sacrificar la velocidad? Comparte tus hallazgos.
Ahora es tu turno. ¿Estás de acuerdo con mi análisis o crees que hay un enfoque más eficiente? Demuéstralo con tu configuración o ideas en los comentarios.