.

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

viernes, 3 de agosto de 2018

SecTalks: BNE0x03 - Simple


En esta entrada, vamos ha realizar un hackeo de la siguiente máquina de Vulnhub:


  • SecTalks: BNE0x03 - Simple

Web Oficial: https://www.vulnhub.com/entry/sectalks-bne0x03-simple,141/

Descarga: https://github.com/sectalks/sectalks/tree/master/ctfs/BNE0x03


En la web oficial podemos ver las siguientes instrucciones:
Una vez que cargue la máquina virtual, trátela como una máquina que puede ver en la red, es decir, no tiene acceso físico a esta máquina. Por lo tanto, no se permiten trucos como editar el BIOS de la VM o la configuración de Grub. Solo se permiten ataques remotos./root/flag.txt es tu objetivo final.


Vamos a ello.

Realizo un nmap:









Solo tiene el puerto 80 abierto




















Pruebo credenciales por defecto: admin/admin, root/root, etc., y nada.


También pruebo con : -'/-' , ‘or ’1'='1

Inspecciono el código fuente y no veo nada raro:



























Hago un escaneo con "dirb"




Pruebo con el directorio:
http://192.168.0.22/core/




No encuentro nada.

Otro: http://192.168.0.22/docs




Son artículos sobre PHP que tampoco tienen nada.

Seguimos:
http://192.168.0.22/skins/




Después de revisar todos los directorios y no encontrar nada vuelvo a la página inicial:




Como me da la opción de registrarme, voy a probar




Pongo la contraseña: D123456n

Una vez acepto el registro, estoy directamente dentro:








Se puede subir un archivo




Voy a intentar subir una shell.

Teniendo la versión de la web: "CuteNews 2.0.3", decido por mirar en BBDD de Exploit, a ver si me encuentro alguna.

Me encuentro con un Exploit adecuado a la versión:
https://www.exploit-db.com/exploits/37474/




Pasos indicados en el exploit:

1 - Registrarse como nuevo usuario


2 - Iniciar sesión


3 - Vaya a Opciones personales


4 - Seleccione Subir Avatar / Ejemplo: Evil.jpg


5 - Use los datos de sabotaje y cambie el nombre del archivo Evil.jpg a Evil.php

----------------------------- 2847913122899 \ r \ nContenido-Disposición: form-data; name = "avatar_file"; filename = "Evil.php" \ r \


6 - Su Shell: http://127.0.0.1/cutenews/uploads/avatar_Username_FileName.php

Ejemplo: http://127.0.0.1/cutenews/uploads/avatar_toxic_Evil.php



Ahora busco una shell en PHP

En pentestmonkey.net






Me descargo la que aquí observamos: ph-reverse-shell-1.0.tar.gz

Edito el texto y cambio los parámetros que me indica, que son la IP desde la que vamos a escuchar la comunicación (nuestro terminal de linux) y el puerto.



Una vez que ya lo tengo, guardo, y lo subo.




No me ha hecho falta cambiar la extensión, coge sin problema el .php

Guardo.

El siguiente paso, antes de ejecutar o comprobar la shell subida a la web, es poner en nuestro terminal de Linux o Kali, Netcat en escucha al puerto indicado.



Ahora sí, podemos ir al navegador, y poner la ruta a la que se sube el avatar del perfil de usuario, o lo que es lo mismo, la shell en PHP que hemos subido.

http://192.168.0.26/uploads/avatar_DANIEL_rshell.php

La escucha al puerto 5000 da sus frutos:



Estoy dentro.

WHOAMI / PWD



IFCONFIG




Ls –lah




Uname –a



Cat etc/passwd




Despúes de probar a entrar en los diferentes directorios, veo que no tengo acceso a ninguno, es un usuario muy limitado.

Intento hacer "sudo su", pero me encuentro ante un terminal sin TTY.

Ejecuto el comando de python: python -c 'import pty; pty.spawn("/bin/sh")'




Ya tengo un terminal con TTY

Intento hacer "sudo su" con claves por defecto (admin, root, vacio, etc.)

No consigo entrar.

Voy a ver si encuentro algún exploit para la versión del kernel o el sistema operativo.

El "uname –a" me devolvió:



V 3.16.0

Encuentro en la base de datos de exploit:
https://www.exploit-db.com/exploits/37292/




Como no consigo ser root, voy a intentar descargar mediante wget el exploit, pero en un directorio que me lo permita.

Mi opción /tmp




Se ven las letras de manera doble, no sé porqué, pero el terminal me las está doblando.




Busco como compilar en c









Soy root!!











miércoles, 27 de abril de 2016

Metasploit - (Exploits y Payloads) - 3ªParte - Atacando un objetivo

Después de ver en la segunda entrada: Metasploit - Primeros pasos (Exploits y Payloads) - 2ªParte, el desarrollo y uso de Metasploit, en esta vamos a pasar a realizar un ejemplo real de la potencia que puede llegar a tener esta herramienta.

Para realizar esta práctica vamos a necesitar una máquina virtual (vmware) que supongo que ya la estás realizando para hacer tús prácticas, y una iso de Metasploitable 2 , un sistema de servicios vulnerables los cuales pueden ser explotados usando metasploit.
Solo tendrás que descargar una versión .iso de "Metasploitable 2" e instalarla como una nueva máquina virtual en Vmware.

Una vez la tengas instalada arrancas Metasploitable, la primera vez puede que tarde un poco de tiempo en cargar.
Como ya he dicho anteriormente, esta es una herramienta vulnerable que está creada por la gente de Metasploit para realizar pruebas de penetración, etc.






















Este será el aspecto de Metasploitable trás arrancar.
Nos pedirá un login. Para muchos tipos de pruebas es innecesario tocar nada más, simplemente dejarla así, pero para realizar esta práctica será más facil que sepamos el número de Ip que tomo esta máquina virtual.
De esta manera, donde indica "Login" ponemos "msfadmin" y pulsamos intro.
Después nos pedirá una pass, donde volvemos a introducir "msfadmin".

Ahora ya estaremos dentro del terminal de Metasploitable.
Para saber la IP metemos el comando "ifconfig".




















En mi caso la IP: 192.168.1.35

Sabiendo esto, dejamos la máquina abierta según está y nos vamos a nuestro Kali Linux o donde sea que estamos utilizando Metasploit.

Para hacerlo lo más real posible, vamos a ver que puertos pueden ser vulnerables dentro de la máquina objetivo, en este caso la de Metasploitable 2.

Dentro de "msf" (recuerdo que para arrancarlo, si lo hemos apagado la forma más rápida, es desde nuestro terminal de linux, el comando "msfconsole"), usamos el comando "nmap" y la ip del objetivo, para saber los puertos que tenemos abiertos.
Podemos usar -sV para saber las versiones que se están utilizando, lo cual nos facilitará mucho a la hora de buscar el "exploit" que utilizaremos para intentar vulnerar el sistema.















Para no ir más lejos, nos fijamos en el primer puerto que se nos muestra, el 21.
Este es el destinado a los servicios de "FTP" y como vemos está "open" (abierto).
En lo siguiente y muy importante que tenemos que fijarnos es en la versión que está utilizando:
"vsftpd 2.3.4".
Pues manos a la obra. Nos vamos a apoyar en lo ya visto en la entrada anterior, la segunda parte de este artículo.
En nuestro terminal "msf" introducimos la orden: #show exploits , pero de esta manera lo que conseguimos es que nos salgan todos los disponibles en sistema, así que vamos a ser más precisos.
Ya que sabemos la versión de FTP  ("vsftpd 2.3.4") vamos a aprocecharlo, así que utilizamos el comando: #search vsftpd







Por suerte nos a salido en la busqueda el exploit de la versión que tiene el FTP de nuestro objetivo.
Como ya vimos en la entrada anterior tomamos este exploit con el comando:
#use exploit/unix/ftp/vsftpd_234_backdoor
Vemos las opciones del exploit con: #show options
Introducimos cambios y las correspondientes direcciones de nuestro objetivo con:
#set RHOST 192.168.1.35
El puerto en este caso no hace falta cambiarlo ya que viene por defecto debido al exploit.
(TODO ESTO SE MÁS DETALLADAMENTE EN LA ENTRADA 2) 















Ya tenemos el exploit preparado para actuar sobre la dirección de nuestro objetivo.
En este caso no utilizaremos Payload ya que el "exploit" utilizado está creado especificamente para la vulnerabilidad concreta del FTP.

De esta manera ya solo nos queda ejecutarlo, asi que introducimos el comando "exploit" que será el que comience con la ejecución.





Según esta imagen, ya hemos tomado control de 192.168.1.35

¿Como lo comprobamos?
Muy facil, como ahora estamos dentro del FTP de la máquina atacada, lo que estamos viendo en nuestro terminal es justamente el interior de esa máquina, así que podemos meter un comando que nos verifique esto.
Yo introducire el comando para reiniciar "reboot" y pulso intro.
Nuestro terminal quedara a la espera...
Si inmediatamente nos vamos a ver que esta sucediendo en la máquina virtual de Metasploitable que dejamos abierta, veremos que está ocurriendo algo. Se está cerrando.












Finalmente se reiniciará y se volverá a abrir. Lo hemos conseguido!

Si volvemos a nuestro terminal "msf" podemos ver que nos indicará algo como:

192.168.1.35 - Command shell session 1 closed. Reason: Died from EOFError

Evidentemente nos encontrabamos dentro de 192.168.1.35, y nuestro terminal nos indica que esa sesión a muerto y por tanto hemos salido de ella.

Esto ha sido todo por el momento, seguimos con nuevas e interesantes entradas.

Un saludo y h@ppy h@cking!!


martes, 26 de abril de 2016

Metasploit - Primeros pasos (Exploits y Payloads) - 2ªParte

Bueno, vamos a ver como funciona esto.

Como ya hemos visto en la entrada anterior: Metasploit 1ªParte, tenemos para trabajar una serie de exploits. Podemos acceder a estos de una manera muy sencilla, mediante el comando "Show":
#show exploits



















Metasploit nos devolverá todos los exploits que tiene en su base de datos y podemos utilizar.
Vienen ordenados de tal manera que por columnas podemos ver en primer lugar el nombre y clase del "exploit" y a lo que vulnera.
En la siguiente la fecha del exploit, y en la tercera "Rank" el grado de gravedad=efectividad de dicho exploit.
Finalmente en la última columna de descripción, vemos a que esta destinado este exploit, sistema operativo, parte de él (app, etc.).

Para seleccionar cualquiera de ellos es muy facil, solo tenemos que teclear el comando "use" y el exploit elegido.






Para asegurarnos que tenemos accionado el exploit, como podemos apreciar en la imagen, pasa a color rojo.
Una vez que lo tenemos, para ver características/configuración del mismo, usamos el comando:
#show options





En este caso, tiene un Host y un Puerto de destino, que son a los que queremos atacar.
¿Como configuramos los datos de nuestro objetivo?
Muy facil,  con el comando "set". En este caso si queremos meter una dirección a la que queramos atacar, por ejemplo 192.168.1.0:
#set SVRHOST 192.168.1.0
Que queremos cambiar el puerto, pues lo mismo:
#set RPORT 69






Aquí lo tenemos cambiado y listo para lanzar.

El otro elemento que hemos dicho con anterioridad con el que podemos trabajar en Metasploit son los Payloads.
El proceso sería exactamente el mismo que con los "exploit"
Según estamos, con nuestro exploit seleccionado y ya configurado, para ver los "payload" que tenemos no tenemos más que: #show payloads
Eso sí, Metasploit viene preparado, de manera que reconoce el "exploit" que hemos seleccionado y al sistema operativo que pertenece, de manera que nos filtrara los resultados enseñandonos solo los "payloads" de este sistema operativo.




















Una vez elegido el que sea a nuestro gusto y uso, con el comando set y la ruta lo montamos.
#set PAYLOAD (nombre)
Ahora como ya hicimos anteriormente:
#show options  y vemos como ahora tenemos por un lado el "exploit" y por otro el "payload".







Si quisieramos realizar alguna modificación, como ya hemos visto, lo hariamos por medio del comando "set".


VER TERCERA PARTE


Metasploit - Primeros pasos (Exploits y Payloads) - 1ªParte

Esta entrada está dedicada a una herramienta que a mi me gusta mucho, ya que aunque a priori para los iniciados puede parecer complicada al desarrollarse su actividad exclusivamente por terminal, todo lo contrario, es muy facil de usar y además puede ayudarnos mucho dandonos resultados muy efectivos a la hora de desarrollar y ejecutar exploits.

Y es que se puede decir que Metasploit, nos da toda las facilidades, ya que teniendola debidamente actualizada, nos proporciona información sobre vulnerabilidades de seguridad y nos ayuda a explotarlas y ejecutarlas en una máquina remota. 

Sin duda a mi me parece una de las herramientas más completas para trabajar con exploits y hacer pruebas de penetración de forma masiva.

Aviso de antemano, que el contenido y las pruebas que se van a ver en esta entrada están realizadas en Metasploit para sistemas Linux, y concretamente desde la versión que viene integrada dentro de "Kali Linux".

Dentro de Kali, podemos buscar y abrir la herramienta como Metasploit, que estará seguramente en la sección de "Herramientas de explotación".
La segunda opción es simplemente dentro de nuestro terminal de linux escribir el comando "msfconsole"...








...con lo cual y tras unos segundos de carga, se abrirá la herramienta dentro del propio terminal.




































Como vemos, queda en modo "msf".
Al estar desarrollado dentro del propio terminal de linux, su uso es muy parecido y comparte muchos comandos.
Para comprobar esto a la par que vemos que opciones de comando nos ofrece, no tenemos más que escribir "help" y pulsar intro.































Bueno, pues antes de empezar con la materia hay que aclarar algún concepto, aunque sea por encima, ya que alguno de los lectores de este artículo pueden ser principiantes.

Con Metasploit, como ya se puede deducir de su nombre, vamos a trabajar con "Exploits" y además lo haremos también con "Payloads".
¿Que es esto?
Pues bien, así en una explicación muy muy básica:

Exploit: Su nombre viene de "Explotar", "Explotación", etc. Todos sabemos que dentro de los sistemas informáticos, de los programas, existen una serie de vulnerabilidades que como puntos débiles que son, si los forzamos y sabemos desarrollar, conseguiremos vulnerar y por tanto tener acceso a sus recursos, datos, poder controlarlos, incluso destruirlos, etc.
Pues un "Exploit" será un programa o código programado que nos ayudará a forzar esa vulnerabilidad para conseguir unos objetivos concretos.
Un exploit no es ni mucho menos "malware" como en algunos sitios definen o presentan, ya que "malware" es algo creado para el mal, para una mala intención, y sin embargo un "exploit" no es ni más ni menos que una herramienta para acceder a un agujero que ya está ahí.
El ejemplo más claro, representa a un sistema como un fortín, un edificio protegido y blindado, pero que tiene una "vulnerabilidad", que se han dejado una ventana en el tercer piso abierta para que ventile.
El exploit lo que sería en este caso sería una información que nos advierte de esta ventana abierta y nos facilita lo único necesario para aprovecharla, una escalera alta para llegar a la ventana y colarnos dentro del edificio.

Payload: Es ese software o código, que nos ayuda a aprovecharnos de las debilidades del sistema una vez que ya lo hemos vulnerado.
Utilizando el ejemplo anterior, una vez que ya hemos accedido al fortín a través de la ventana abierta, el Payload será quien nos ayude a aprovechar la oportunidad que se nos presenta. Un payload nos ayudará a abrir las puertas que nos encontramos dentro de esta nueva habitación, otro a nos ayudará a conseguir datos valiosos, otro a abrir otras ventanas para tener más accesos, etc.


Una vez hemos aclarados estos terminos y completando esta información, en esta herramienta como ya hemos dicho trabajaremos con "exploits" y "payloads" y deberemos de tenerla actualizada siempre, para que estos sean los máximos posibles y esten actualizados a los últimos encontrados.
Siempre que arranquemos Metasploit, este nos indicará en su parte inferior de la pantalla inicial de cuantos "Exploits" y "Payloads" disponemos.

























Ir a la segunda parte