Hackear en 60 segundos o locura de cuarentena

Una breve historia sobre un cliente inadecuado y encontrar una vulnerabilidad en un sitio en 1 minuto .

imagen

No esperaba que esta historia en particular fuera mi primer artículo sobre Habré. Estoy escribiendo mientras hace calor!

Todo lo que lee más adelante no es un llamado a la acción o un intento de "comprometer" a nadie.

5 de abril de 2020.
Vi un mensaje en linkedin : “Buenas tardes. Estamos buscando un desarrollador para finalizar el proyecto en yii2 ... tel: + 79 ... whatsapp "

Publicado en whatsapp :" Buen día. Soy de linkedin, envíe TK, si corresponde.
En respuesta, recibió un gran mensaje con enlaces al sitio, un tablero en trello y un pequeño TK.

imagen

Estudiado Trello . Según la junta, al menos 4 desarrolladores trabajaron en el proyecto.

6 de abril de 2020

Debido a la cuarentena, en mi opinión, la gente está empezando a volverse loca. Esto es lo que vi en WhatsApp cuando desperté:

imagen

Todo parece ser nada, leer y olvidar. Pero algo dentro no daba descanso, había una sensación de incompletitud, de lo que realmente quería deshacerme.

No quedaba nada más que entrar en el proyecto del "delincuente" y deshacerse de las sensaciones desagradables en su interior: D.

La cuenta atrás ha comenzado.

00:00

Abro el sitio.

Veo el formulario de búsqueda e intento verificar la inyección SQL que conocía anteriormente :

' UNION SELECT
1,group_concat(username,0x7c,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
fRom user-- -

Como era de esperar, no funciona , pero valió la pena intentarlo.

00:20

El sitio tiene la oportunidad de registrarse de dos maneras: como usuario y como empresa .

Basado en las capturas de pantalla vistas en trello , decidí registrarme y trabajar con la cuenta personal de la Compañía .

Complete los campos donde el frente permite las líneas

SELECT * FROM users;

Solo para mejorar el "efecto de presencia" de los desarrolladores cuando buscan en la base de datos.

00:40

Después de un registro exitoso, se nos redirige a la página de perfil de la Compañía .
Abra el elemento de menú "Cargar documentos" (muy conveniente, no es así: D) e intente cargar el archivo php .

imagen

Primero descargué adminer.php , ya que estaba disponible. El archivo se cargó correctamente y los desarrolladores me prepararon cuidadosamente una redirección a la página con un enlace al archivo.

imagen

Se abrió por el enlace: /upload/certified/15861775921.phpy funcionó correctamente.

¡Ese fue el principio del fin!

1:00

A continuación, cargue el php-web-shell más simple a través del mismo formulario.

Primero debe comprender quiénes somos y dónde estamos:

pwd && whoami

imagen

Veamos la lista de archivos de directorio del sitio:

ls /var/www/admin/data/www/_/

imagen

Vemos la estructura estándar del marco Yii2 , que esperábamos allí.

Tenemos acceso a la base de datos, que se puede ingresar en el adminer.php previamente cargado :

cat /var/www/admin/data/www/_/config/db.php

imagen

De hecho, me sorprendió que tales vulnerabilidades aún existan. Y aún más porque se pueden encontrar tan fácil y rápidamente.

Por cierto, este fue un proyecto de una compañía de los EAU, que se dedica al suministro de productos industriales y de perforación para las industrias de petróleo, gas y perforación.

Fui agregado a la lista negra en WhatsApp después del último mensaje y no podía hablar sobre la vulnerabilidad, así que dejé los huevos de Pascua en el servidor para los desarrolladores.

¡No se olvide de verificar el tipo de archivo en el lado del servidor y, en general, preste más atención a la seguridad de su código!

All Articles