Mostrando entradas con la etiqueta nfs. Mostrar todas las entradas
Mostrando entradas con la etiqueta nfs. Mostrar todas las entradas

domingo, 24 de abril de 2016

Guía Kevgir Parte (II)

Buenas tardes hackers, continuamos con la segunda parte y última de la PoC. En la anterior vimos de manera general los servicios disponibles en el servidor y la explotación del FTP y Tomcat.



NFS 2049
El NFS, es un servicio para poder compartir carpetas en la red. Mediante una llamada de procedimiento remoto RPC, se muestran los programas en equipos remotos con el comando rpcinfo. Si ejecutamos showmount, muestra la información de montaje en el servidor NFS. Montamos con mount el backup, previa creación de la carpeta en /tmp/nfs en la maquina victima y copiamos el .zip a nuestra maquina kali linux. 
De esta forma, mediante el servicio NFS, obtenemos un backup con información posiblemente muy útil. 


El archivo .zip se encuentra protegido con contraseña. Por tanto mediante un ataque por diccionario obtendremos dicha pass. Descomprimimos el archivo.


Usando grep, haremos una búsqueda recursiva de la password, en la carpeta html




JOOMLA 8081


Es un sistema de gestión de contenidos (CMS). Permite crear sitios dinámicos e interactivos. 
Con la consola de Metasploit, usando un auxiliar identificaremos la versión.


Haciendo uso de robots.txt, nos lista una serie de directorios de Joomla.


Hacemos nikto, para realizar un escaneo en busca de vulnerabilidades web



Como pueden observar, nikto es una potente herramienta que nos arroja información bastante útil para nuestra fase de pentesting.

Vista esta vulnerabilidad, ya podemos ir navegando en los distintos directorios! 
Pero antes de nada pasaremos un escaner para analizar las vulnerabilidades del CMS con joomscan.


Existen 19 vulnerabilidades encontradas. Explotaremos una de ellas Joomla Remote Admin Password Change Vulnerability.
Escribimos la URL que nos indica y en el campo token escribimos el siguiente carácter '. Una vez nos de la posibilidad de cambiar la contraseña, ya podremos acceder al panel de administración de Joomla. 


A partir de este momento, tenemos la posibilidad de modificar absolutamente todo del sitio web como administradores que somos. 
Desde la configuración global, podemos modificar por el ejemplo el nombre del sitio.


Configuración del sistema



En configuración del servidor, modificamos el media setting para permitir archivos PHP.


También nos arroja información de la existencia de una BBDD MySQL.


En Media Manager, creamos una carpeta para subir un script escrito en PHP, con el fin de ganar un shell



La subimos y el resultado es negativo, Possible IE XSS Attack found
Habrá que probar suerte con otro servicio, y "gaining access" con el mismo script PHP.


REDIS 6379
Redis es un motor de base de datos en memoria, basado en el almacenamiento en tablas de hashes (clave/valor) pero que opcionalmente puede ser usada como una base de datos persistente. Más información aquí

A través de Telnet, comprobamos si Redis tiene algún tipo de autenticación.



Bingo! No existe ningún tipo de seguridad.
Verificamos más información del sistema mediante el siguiente comando.




Mediante un auxiliar de Metasploit, podemos obtener más información del sistema



Usando otro auxiliar, podemos aprovechar la funcionalidad expuesta por Redis para lograr subir archivos. Quizás sea posible subir la shell escrita en PHP, anterior y así "gaining access". 

 

Mediante este método se ha podido subir la shell. A continuación lo único que habrá que hacer es interactuar con la URL y probar si nos devuelve el resultado tras la ejecución de los comandos.


El resultado es simplemente una shell de usuario en el navegador.



Jenkins 9000



Simplemente usando un auxiliar y un exploit en Metasploit, obtenemos el usuario y contraseña del login, y una sesión meterpreter. 

Ejecutamos el auxiliar


Login succesful admin:hello ;)

Ahora ejecutamos el siguiente exploit.



Con esto tendríamos una de las muchas shell conseguidas en esta PoC, con la diferencia que obtenemos en esta una sesión meterpreter. Una vez llegado a este punto podemos eejcutar una serie de opciones disponibles en meterpreter además de la shell de usuario obtenida.




Con esto, ya quedaría terminada esta pequeña guia sobre esta maquina vulnerable. No es complicada la explotación de este servidor, y sirve de práctica para nuevos iniciados en este mundo del pentesting para así seguir desarrollando vuestras habilidades como hackers.
Más adelante, se irán desarrollando más guías sobre nuevos retos que vayan surgiendo, para que sirva de ayuda para aquellos que quieran hacerla. 

Un saludo, naivenom.




lunes, 11 de abril de 2016

Guia Metasploitable 2: Parte 3


Hola hackers!!

Ésta es la tercera y última parte de la guía Metasploitable 2. En la segunda parte vimos como explotar las diferentes aplicaciones web que nos ofrece Metasploitable.
Retomaremos  la guía en el puerto 445, que es el siguiente en el escaneo con Nmap realizado en la primera parte de la guía.


PUERTO 445 SAMBA

Samba es el equivalente al SMB de Windows en los sistemas Unix. Permite compartir archivos e impresoras en una red local.
Para este puerto disponemos de varios escáneres en Metasploit mediante los que obtener información del servicio.

  • smb_version: nos muestra la versión del SMB.

Establecemos la IP de la máquina objetivo en RHOSTS y ejecutamos el escáner con el comando run. En este caso se trata de Samba 3.0.20-Debian.

  • smb_enumusers: mediante este escáner obtenemos los nombres de usuario de Metasploitable.

Hemos obtenido una buena lista de nombres de usuario con los que crear un diccionario por ejemplo para realizar un futuro ataque de fuerza bruta.

  • smb_enumshares: obtendremos las carpetas compartidas del objetivo.


Además de los escaneres, disponemos de un exploit mediante el cual obtendremos una shell con privilegios root.

Configuración del exploit.

Shell con privilegios root.



PUERTOS 512, 513, 514 SERVICIOS "r"

Estos servicios son herramientas con una parte cliente y otra servidor que permiten la conexión remota entre máquinas (terminal remota y trasferencia de archivos).

El puerto 513 corresponde a rlogin y se utiliza como terminal virtual (parecido a telnet).
El puerto 514 (rsh) es utilizado para ejecutar comandos en una máquina remota sin necesidad de acceder a ella.

Estos servicios han sido configurados erróneamente para permitir el acceso remoto desde cualquier máquina. Para aprovechar ésta mala configuración, nos conectaremos al puerto 513 mediante el cliente rsh-client y como usuario root (al no ser necesario introducir la contraseña).

 Conexión por el puerto 513.


PUERTO 1099 JAVA-RMI

Se trata de un mecanismo de Java para invocar un método de forma remota. Proporciona una forma simple de comunicación entre servidores en aplicaciones basadas exxclusivamente en Java (para la comunicación entre otras tecnologías debe utilizarse CORBA o SOAP).

Para la explotación de este puerto disponemos de un exploit en Metasploit.

 Configuración del exploit.

 Shell obtenida con privilegios root.



PUERTO 2049 NFS 

Este puerto se utiliza para que cualquier aplicación pueda acceder al sistema de archivos NFS (Network File System). Un atacante podría utilizar este puerto para montar un disco virtual y accceder a éste como si fuera de manera local permitiéndole ver y modificar archivos.

Para poner esto en práctica, primero veremos los directorios compartidos del equipo remoto mediante el comando showmount.

 Directorios compartidos.

 En este caso tiene el directorio raiz / compartido. Lo siguiente será crear una carpeta en nuestro equipo y montar el directorio remoto en ella.


Como podéis ver en la captura anterior, una vez tenemos el directorio montado, podemos acceder a él y ver o modificar lo que queramos como si se tratara de una carpeta de nuestro pc.


PUERTO 3306 MYSQL

Éste puerto es el utilizado por el servidor de bases de datos MySQL. Actualmente es el sistema de gestión de bases de datos más popular, principalmente en sitios de internet.

Si le pasamos un escáner de vulnerabilidades como Nessus, éste nos indica que es posible conectarse a la db sin necesidad de contraseña.


Una vez dentro podemos hacer lo que queramos puesto que disponemos de privilegios root.



PUERTO 5432 POSTGRESQL

PostgreSQL es un sistema de gestión de bases de datos relacional orientada a objetos y de código abierto.

En Metasploit disponemos de un auxiliar con el que hacer un ataque por fuerza bruta para intentar obtener usuario y contraseña.


  • PASS_FILE: archivo con la lista de contraseñas para probar (una contraseña por linea).
  • USERPASS_FILE: archivo con una lista de usuario contraseña (separados por un espacio y un par usuario/contraseña por linea).
  • USER_FILE: archivo con una lista de nombres de usuario (uno por linea).
Además de las opciones anteriores, debemos establecer RHOSTS con la IP del objetivo y los THREADS (número de palabras que probará cada vez) para que, en caso de tener unas listas muy extensas, no tarde mucho en comprobarlas.

 Usuario y contraseña encontrados!!

Además del auxiliar visto, disponemos de un exploit mediante el cual obtendremos la tan ansiada shell.

 Configuración del exploit.

Aprovechamos  que tenemos los credenciales obtenidos con el auxiliar e introducimos usuario y contraseña en las opciones del exploit, junto con RHOST.

Con todo configurado, lanzamos el exploit.

 Shell sin privilegios.

Ahora mismo no disponemos de privilegios root, para ello, en esta ocasión, vamos a utilizar el exploit udev_netlink. 

En la captura anterior podéis ver que el último comando introducido es background, esto es así porque para usar el siguiente exploit, es necesario tener una sesión previa, con background dejamos la sesión en segundo plano pero abierta.

 Shell con privilegios root.


Establecemos el número de la sesión (opción SESSION) obtenida anteriormente y que tenemos en background (para ver el número de sesión utilizamos el comando sessions -l), y una carpeta (opción WritableDir) con permisos para escritura(/tmp).

Lanzamos el exploit y ya tendremos la shell con privilegios root.


PUERTO 5900 VNC

VNC es un software libre de escritorio remoto, basado en una estructura cliente-servidor el cual permite tomar el control del servidor remotamente a través del cliente, pudiendo compartir la pantalla, controlar el ratón y teclado, en definitiva como si estuviéramos en frente del pc.

Analizando la máquina Metasploitable 2 con Nessus, éste nos indica que la contraseña para el servicio VNC es "password". Nos conectaremos con un cliente vncviewer.

VNCViewer con privilegios root. 


PUERTO 6667 IRC

Se llama IRC a una red de comunicación en tiempo real en la que puedes hablar con varios usuarios a la vez. Estos usuarios están conectados a una de las redes IRC como puede ser freenode, Hispano, etc. Éstas a su vez están divididas en canales de diferentes temáticas.

Existe un exploit en Metasploit que aprovecha un backdoor malicioso añadido al archivo Unreal3.2.8.1.tar.gz entre Noviembre 2009 y Junio 2010.

Configuración del exploit.

Shell con privilegios root.


PUERTO 8180 TOMCAT

Apache Tomcat funciona como un contenedor web con soporte de servlets (servlet: clase en el lenguaje de programación Java utilizada para ampliar las capacidades de un servidor). Tomcat puede funcionar como un servidor web por sí mismo.

Primero intentaremos obtener algo de información mediante el auxiliar tomcat_administration.

Credenciales obtenidos.

Con los credenciales en nuestro poder, podemos usar el exploit Apache Tomcat Manager Application Deployer Authenticated Code Execution. Éste exploit puede usarse tanto en plataformas Windows como Unix, cambiando el payload acorde a la plataforma.

Configuración del exploit.

Configuramos los campos PASSWORD y USERNAME con los credenciales obtenidos anteriormente, los típicos RHOST/RPORT con la IP y puerto de la máquina objetivo y LHOST/LPORT con la IP y puerto de la máquina atacante. Lanzamos el exploit.

Shell obtenida sin privilegios.

Para escalar privilegios podemos usar el exploit visto anteriormente (udev_netlink).


Hasta aquí la última entrega de ésta guía Metasploitable 2. Espero que os haya sido de utilidad y hayáis aprendido con ella. Como siempre está hecha con fines únicamente educativos, no nos hacemos responsables del mal uso que se le pueda dar. 

Un saludo.

Google Analytics