Mercurial en Kali Linux: Guía Rápida

 

 https://www.onlinetis.com/es/

Mercurial en Kali Linux: Guía Rápida

Configurar Mercurial (un sistema de control de versiones distribuido, similar a Git) en Kali Linux es bastante sencillo. Aquí tienes una guía rápida para instalarlo y ponerlo en marcha en español.


1. Instalación

Como Kali está basado en Debian, usas el gestor de paquetes apt. Abre tu terminal y ejecuta:

Bash
sudo apt update
sudo apt install mercurial

Para verificar que se instaló correctamente, escribe:

hg --version


2. Configuración Básica

A diferencia de Git que usa .gitconfig, Mercurial utiliza un archivo llamado .hgrc. Debes crearlo o editarlo en tu carpeta personal para identificarte en tus "commits".

  1. Crea el archivo: nano ~/.hgrc

  2. Pega lo siguiente (ajustando tus datos):

Ini, TOML
[ui]
username = Tu Nombre <tu@email.com>
verbose = True

3. Comandos Principales (Diccionario rápido)

Si vienes de usar Git, estos son los equivalentes o comandos básicos en Mercurial (usando el comando hg):

AcciónComando
Iniciar un repositoriohg init
Clonar un proyectohg clone [url]
Ver estado de archivoshg status
Añadir archivoshg add
Confirmar cambioshg commit -m "mensaje"
Enviar cambioshg push
Traer cambioshg pull
Actualizar carpeta de trabajohg update

Nota: En Mercurial, hg pull solo descarga los cambios al repositorio local (la base de datos). Para verlos en tus archivos, debes ejecutar después hg update.


4. ¿Por qué usarlo en Kali?

Aunque Git es el estándar actual, muchos proyectos antiguos de seguridad y herramientas forenses todavía se alojan en repositorios de Mercurial (como algunos espejos de código en Bitbucket o repositorios de Python antiguos).

 

Crear tu primer proyecto con Mercurial (hg) es un proceso muy limpio y directo. Vamos a montar un proyecto de prueba paso a paso para que domines el flujo de trabajo.


Paso 1: Crear la carpeta del proyecto

Primero, necesitamos un lugar donde trabajar. Abre tu terminal en Kali y crea un nuevo directorio:

Bash
mkdir mi-proyecto-hg
cd mi-proyecto-hg

Paso 2: Inicializar el repositorio

Ahora, le diremos a Mercurial que empiece a vigilar esta carpeta.

Bash
hg init

Esto creará una carpeta oculta llamada .hg. Ahí es donde Mercurial guarda todo el historial y la configuración local.

Paso 3: Crear archivos y revisar el estado

Vamos a crear un archivo sencillo para tener algo con lo que trabajar:

  1. Crea el archivo: echo "Hola Mercurial" > notas.txt

  2. Revisa qué está pasando:

    Bash
    hg status
    

    Verás una ? junto a notas.txt. Eso significa que Mercurial ve el archivo pero aún no lo está siguiendo.

Paso 4: Añadir y confirmar (Commit)

A diferencia de otros sistemas, aquí el proceso es muy directo:

  1. Añadir el archivo:

    Bash
    hg add notas.txt
    

    (Si ahora haces hg status, verás una A de "Added").

  2. Hacer el primer commit:

    Bash
    hg commit -m "Mi primer commit: Creación del archivo de notas"
    

Paso 5: Ver el historial

Para confirmar que todo se guardó correctamente en la línea de tiempo, usa el comando log:

Bash
hg log

Verás algo como esto:

changeset: 0:5a1b2c3d4e5f

user: Tu Nombre tu@email.com

date: Sun Mar 22 2026 ...

summary: Mi primer commit: Creación del archivo de notas


Resumen del flujo de trabajo diario

Si vas a seguir trabajando en el proyecto, el ciclo siempre será:

  1. Modificar tus archivos.

  2. hg status para ver qué cambió.

  3. hg commit -m "Descripción" para guardar los cambios (Mercurial permite hacer commit de archivos modificados automáticamente sin usar add cada vez).

Un pequeño tip de "pro": Si quieres ver exactamente qué líneas cambiaste antes de hacer el commit, usa hg diff.

 

En Mercurial, las ramas (branches) son "nombradas". Esto significa que el nombre de la rama se queda grabado en cada commit, lo que hace que el historial sea muy fácil de leer en auditorías o proyectos de seguridad.

Aquí tienes cómo experimentar sin romper tu código principal:


1. Crear una rama nueva

Supongamos que vas a probar un script de reconocimiento en tu proyecto. Vamos a crear la rama experimental:

Bash
hg branch experimental

En este momento, Mercurial sabe que el próximo commit que hagas pertenecerá a "experimental".

2. Trabajar en la rama

Vamos a crear un archivo que solo exista en esta rama:

  1. Crea el archivo: echo "script de escaneo" > scanner.py

  2. Añádelo: hg add scanner.py

  3. Haz el commit: ```bash

    hg commit -m "Añadiendo herramienta de escaneo en rama experimental"

    
    

3. Saltando entre ramas (El "Viaje en el tiempo")

Aquí es donde ocurre la magia. Si quieres volver a tu versión estable (llamada default en Mercurial):

  • Volver al código estable:

    Bash
    hg update default
    

    (Si miras tu carpeta con ls, verás que scanner.py ha desaparecido. No te asustes, está guardado en la otra rama).

  • Regresar a tus experimentos:

    Bash
    hg update experimental
    

    (¡Y el archivo vuelve a aparecer!)

4. Fusionar los cambios (Merge)

Si después de probar tu script ves que funciona perfecto y lo quieres en tu rama principal:

  1. Regresa a la rama principal: hg update default

  2. Trae los cambios de la experimental: hg merge experimental

  3. Importante: En Mercurial, el merge se completa haciendo un commit:

    Bash
    hg commit -m "Fusionando pruebas experimentales a la rama principal"
    

Tip de Kali Linux: Visualización gráfica

Como estás en Kali, es probable que tengas una interfaz gráfica (XFCE o GNOME). Puedes ver tus ramas visualmente con el comando:

Bash
hg view

(Si no lo tienes, se instala rápido con sudo apt install hkset).

Dato curioso: A diferencia de Git, en Mercurial una rama no se puede "borrar" fácilmente porque es parte del ADN del commit, pero puedes marcarla como cerrada cuando termines con hg commit --close-branch.

 

Tener una copia de seguridad (o trabajar en equipo) requiere conectar tu repositorio local con un servidor remoto. Aunque GitHub es famoso por Git, para Mercurial lo más común es usar Heptapod, SourceHut o incluso un servidor propio por SSH.

Aquí tienes cómo sincronizar tus herramientas de Kali con el mundo exterior.


1. El concepto de "Push" y "Pull"

En Mercurial, la comunicación con el servidor es muy estructurada. Imagina que el servidor es el "almacén central":

  • hg push: Envía tus cambios locales al servidor.

  • hg pull: Trae los cambios del servidor a tu base de datos local.

  • hg update: Aplica esos cambios descargados a tus archivos actuales.


2. Configurar la ruta remota

No necesitas comandos complejos para añadir un servidor. Solo edita el archivo de configuración de tu proyecto:

  1. En la carpeta de tu proyecto, abre el archivo: nano .hg/hgrc

  2. Añade una sección llamada [paths]:

Ini, TOML
[paths]
default = https://bitbucket.org/usuario/mi-proyecto
# O si usas SSH (más seguro en Kali):
# default = ssh://usuario@servidor.com//ruta/al/repo

3. Sincronizar por primera vez

Una vez configurada la ruta, el flujo es muy sencillo:

  • Para enviar tus ramas y commits:

    Bash
    hg push
    

    (Si es la primera vez que envías una rama nueva, Mercurial te pedirá confirmación con hg push --new-branch).

  • Para recibir lo que otros han subido:

    Bash
    hg pull
    hg update
    

4. Tip de Seguridad en Kali (SSH)

Como estás usando Kali, probablemente prefieras SSH para no estar escribiendo contraseñas en texto plano. Si ya tienes tus llaves SSH generadas (~/.ssh/id_rsa.pub), Mercurial las usará automáticamente si la URL del path empieza por ssh://.

¿Y si no tengo servidor? (El servidor instantáneo)

Mercurial tiene una función increíble para redes locales (útil en laboratorios o auditorías). Puedes convertir tu Kali en un servidor temporal con un solo comando:

Bash
hg serve

Esto levantará un servidor web en el puerto 8000. Cualquier persona en tu red local podrá entrar desde su navegador a tu IP (ej. http://192.168.1.15:8000) y ver todo tu código y el historial de commits.

 

Al realizar auditorías o pruebas de penetración en Kali, tus herramientas suelen generar archivos temporales, reportes JSON, capturas de pantalla o logs pesados que no deberían subirse al repositorio de código.

Para esto existe el archivo .hgignore. Aquí te enseño cómo configurarlo correctamente para un entorno de seguridad.

1. Crear el archivo .hgignore

En la raíz de tu proyecto, crea el archivo:

Bash
nano .hgignore

2. Configuración recomendada para Kali

Copia y pega este contenido. Está diseñado para ignorar archivos comunes de herramientas de hacking y de sistema:

Ini, TOML
syntax: glob

# Archivos de sistema y Python
*.pyc
__pycache__/
.DS_Store

# Reportes y logs de herramientas comunes
*.log
nmap_scans/
sqlmap_output/
*.pcap
*.pcapng

# Archivos temporales de editores
*.swp
*~

# Directorios de entornos virtuales
venv/
.venv/
  • syntax: glob: Le dice a Mercurial que use comodines sencillos (como el asterisco *). También puedes usar syntax: regexp si prefieres expresiones regulares complejas.

3. Activar el ignorado

Una vez guardado el archivo, Mercurial dejará de mostrar esos archivos cuando escribas hg status.

  1. Añade el propio archivo de ignorados (es buena práctica que el equipo sepa qué se ignora):

    Bash
    hg add .hgignore
    hg commit -m "Añadiendo lista de archivos ignorados"
    
  2. Verifica: Crea un archivo de prueba que debería ser ignorado:

    Bash
    touch escaneo_red.pcap
    hg status
    

    Si todo está bien, no debería aparecer nada en el status.


Un último truco de "Ninja" en Kali: hg purge

A veces, después de una sesión de hacking, tu carpeta está llena de archivos basura que no están en el repositorio. Si quieres limpiar tu directorio de trabajo y borrar todo lo que no esté bajo control de versiones:

  1. Instala la extensión (viene preinstalada, solo hay que activarla en tu ~/.hgrc):

    Ini, TOML
    [extensions]
    purge =
    
  2. Ejecuta:

    Bash
    hg purge
    

    ¡Cuidado! Esto borrará físicamente todos los archivos que no hayas añadido con hg add.

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux