Hackpuntes para Obsidian: un tema para notas de pentest, red team y CTF

Tabla de contenido

Hackpuntes para Obsidian: un tema para notas de pentest, red team y CTF

Todas mis notas de auditoría acaban en Obsidian: la salida de nmap, los payloads que funcionaron (y los que no), las credenciales que van saliendo y el borrador de los hallazgos para el informe. Después de un par de años, el tema por defecto se me quedaba corto. Los comandos se leían con ligaduras, un -> se convertía en una flecha, y no había forma rápida de distinguir de un vistazo una vulnerabilidad de una credencial o de una nota de OPSEC.

Así que hice Hackpuntes, un tema con el aspecto de este blog: fondo #0d1117, acento turquesa, títulos con un ligero brillo y JetBrains Mono en todas partes. La versión 1.3.0 añade lo que más echaba de menos en el día a día de un pentest.

Hackpuntes para Obsidian: un tema para notas de pentest, red team y CTF

🚨 Callouts pensados para una auditoría

Los callouts son las cajas de color de Obsidian. Se escriben como una cita que empieza por [!tipo], y el tema añade ocho tipos nuevos con su propio icono y color:

> [!vuln] SQL injection en /login #critical
> El parámetro `username` se concatena directamente en la consulta SQL.

> [!creds] Credenciales
> `svc_backup : Summer2026!`, reutilizada en SSH.

> [!flag]- user.txt
> Plegado por defecto: un `-` detrás del tipo lo cierra, un `+` lo deja abierto.
CalloutAliasPara qué
[!recon][!enum]Puertos, servicios y versiones
[!vuln][!finding]Qué está roto y dónde
[!exploit]Payloads y pasos para reproducirlo
[!shell]Cómo se consiguió la shell y con qué usuario
[!creds][!credentials]Usuarios, contraseñas, hashes y tokens
[!flag]user.txt, root.txt y evidencias
[!loot]Ficheros y datos extraídos
[!opsec]Ruido, detecciones y qué evitar

La idea es poder recorrer una nota larga con la vista y saber al momento dónde está cada cosa. Cuando repasas una máquina tres semanas después, encontrar las credenciales en un bloque amarillo ahorra mucho scroll.

Hackpuntes para Obsidian: un tema para notas de pentest, red team y CTF

Los callouts propios de Obsidian ([!note], [!tip], [!warning]…) siguen funcionando y toman los colores de la paleta activa.

🔖 La severidad, a la vista

Las etiquetas #critical, #high, #medium, #low e #info se convierten en píldoras con el color de su severidad, también en español (#critica, #alta, #media, #baja). Funcionan en el texto, en las tablas y en el editor, así que la tabla de hallazgos de una máquina queda lista para pasarla al informe:

| # | Hallazgo | Severidad |
| - | -------- | --------- |
| 1 | SQL injection en el login | #critica |
| 2 | Subida de ficheros sin restricciones | #alta |

Hackpuntes para Obsidian: un tema para notas de pentest, red team y CTF

☑️ Checklists con más de dos estados

Una checklist de enumeración casi nunca es solo “hecho” o “pendiente”. Hay cosas en curso, cosas que hay que revisar, cosas fuera de alcance y, de vez en cuando, ese [!] que te cambia la tarde. El tema da a cualquier carácter entre corchetes su propia caja de color, como en una terminal:

- [x] Fuerza bruta de directorios
- [/] Fuzzing de parámetros en /api/v2
- [!] SQL injection en /login
- [k] Credenciales en .git/config
- [?] ¿El filtro de subida es solo de cliente?
- [-] Kerberoasting (sin Active Directory en el alcance)

Hackpuntes para Obsidian: un tema para notas de pentest, red team y CTF

En total hay 22 estados: [>] para dejarlo para más tarde, [l] para un host, [S] para el bounty… La lista completa está en el README del repositorio.

🎨 Cuatro paletas

La paleta por defecto es la del blog, en modo oscuro y claro. Con el plugin Style Settings se pueden elegir otras tres:

  • Pastel: colores suaves sobre fondo gris azulado, con tres fondos oscuros y 14 colores de acento. Salió de la sugerencia de un lector en LinkedIn.
  • Phosphor green y Phosphor amber: verde o ámbar sobre negro, como una terminal de fósforo de los 80.

Si además activas las CRT scanlines y los bloques de código como ventanas de terminal, el resultado es bastante difícil de distinguir de una sesión de los ochenta:

Hackpuntes para Obsidian: un tema para notas de pentest, red team y CTF

⚠️ Las paletas y el resto de opciones necesitan Style Settings (Settings → Community plugins → Browse). Los callouts, las etiquetas, las casillas y los diagramas funcionan sin ningún plugin.

🧪 Una bóveda de ejemplo: Kraken, de recon a informe

Un tema se entiende mejor con notas reales, así que junto al tema he publicado obsidian-hackpuntes-vault , una bóveda lista para abrir con el tema ya instalado. Está organizada por fases (01_recon, 02_enum, 03_exploit, 04_privesc, 05_report), trae plantillas para máquinas, hallazgos y un diario de la auditoría, y una máquina ficticia, Kraken, resuelta de principio a fin:

  1. Un escaneo inicial con un share SMB anónimo que menciona al usuario svc_backup.
  2. Una SQL injection en el login que podría permitir a un usuario malintencionado entrar como admin.
  3. Una subida de ficheros que solo valida la extensión en el navegador y acaba en una shell como www-data.
  4. La contraseña de la base de datos reutilizada por svc_backup en SSH.
  5. Un script de backup que root ejecuta con tar * en una carpeta escribible: wildcard injection y root.

Cada paso usa los callouts, las etiquetas y las casillas como se usarían en una auditoría, y la nota final reúne los hallazgos con su severidad y un diagrama con el camino de ataque.

Hackpuntes para Obsidian: un tema para notas de pentest, red team y CTF

Con Color numbered folders activado, cada carpeta numerada toma su color en el explorador. Es una tontería, pero con veinte máquinas abiertas se agradece.

⚙️ Instalación

Desde Obsidian: Settings → Appearance → Themes → Manage, busca Hackpuntes y pulsa Install and use.

Para la bóveda de ejemplo, descarga el ZIP del repositorio (o usa Use this template en GitHub), descomprímelo y ábrelo con Open folder as vault. Empieza por la nota Start here y luego Theme tour, que reúne todos los elementos del tema en una sola página.

🛠️ Bajo el capó

Algunas decisiones que no se ven pero se notan:

  • Sin ligaduras. En un tema de notas de pentest, !=, -> o -- tienen que verse tal cual se escriben. Un comando copiado de una nota con ligaduras puede acabar con el carácter equivocado, y eso cuesta tiempo en el peor momento.
  • La fuente va dentro del tema. JetBrains Mono está incrustada en theme.css, recortada a los caracteres que se usan (latín, puntuación, flechas y los caracteres de dibujo de cajas de la salida de tree), para que el tema se vea igual en el móvil sin instalar nada.
  • Menos de 100 KB y ninguna petición de red. La revisión de temas de Obsidian avisa de los ficheros grandes, y en un portátil de auditoría tampoco interesa que un tema cargue nada de fuera.

⭐ Y ahora qué

El tema y la bóveda son open source:

Si os resulta útil, una ⭐ en GitHub ayuda a que llegue a más gente, y las ideas y fallos son bienvenidos en los issues. La paleta pastel salió de un comentario, así que la próxima función puede salir del vuestro.