Вы находитесь на странице: 1из 58

1.

Introducción a BadStore

Índice:

1. ¿Qué es BadStore?
2. Herramientas.
3. Instalando BadStore.
4. Reconocimiento rápido.
5. -->Escaneo con nmap.
6. -->Archivo robots.txt.
7. Cross Site Scripting.
8. -->XSS Reflejado.
9. -->XSS Persistente.
10. -->Robo de Cookies.
11. SQLi
12. -->Accediendo como admin
13. Bypass uploader y Deface
14. Fuerza bruta sobre mysql
15. Dumpeo de archivos mediante INTO OUTFILE

Articulo escrito para la segunda e-zinde de bl4ck-p0rtal por 11Sep.

2. 14/12/2011 00:16 #2

1. ¿Qué es BadStore?
Antes de comenzar con definiciones y demás, quiero aclara que este ar ticulo no pretende ser una guía exhaustiva acerca del ataque a BadStore,
solo pretende ayudar a iniciar a aquellos que comienzan en este mundo con una aplicación real, practica y eliminar el temor de implicaciones
legales por cometer algún error.
BadStore es un iso que pesa 10mb que te arranca una distribución Trinux con un servidor web donde está alojada una aplicación vulnerable más
específicamente un tienda online.

Es un LiveCd por lo que no nos tenemos que preocupar por los destrozos que podamos
ocasionar, una vez reinicies todo quedara como nuevo. La principal ventaja es que al terminar no tienes que preocuparte.

2. Herramientas
A continuación, listare las herramientas necesarias para llevar acabo las actividades
del artículo.
o LiveCD BadStore
o Máquina vir tual (yo usare VirtualBox)
o Nmap
o Servidor Web
o Medusa

Nota: No explicare instalación de cada uno para evitar hacer el articulo mas largo de
lo que sera, así que la instalación de estas herramientas corre por su cuenta.

3. Instalando BadStore.
Antes de instalar BadStore, necesitamos descargarlo ¿verdad? Así que vamos a su página
web http://www.badstore.net y presionamos donde dice DOWNLOAD THE DEMO (necesitaremos
registrarnos para poder descargar el LiveCd).

Una vez llenamos el formulario podremos ver el link de descar ga y lo guardamos en el


PC.
Una vez descargado tenemos dos opciones:

o Grabar la iso en un CD.


o Configurar la maquina virtual para trabajar desde el iso.

He de suponer que ya tienen la Maquina vir tual instalada así que la configuraremos.
Como mencione antes, usare Virtualbox, y al ejecutarlo veremos algo como esto:
Para crear una nueva máquina vir tual hacemos clic en el botón Nueva.

Hacemos click sobre Siguiente hasta que nos pida nombre y tipo de SO.
Hacemos clic sobre Siguiente y le asignamos la cantidad de memoria ram que le daremos a la maquina vir tual, yo la dejare como esta aunque
para BadStore con 100MB es suficiente.

Hacemos clic sobre Siguiente y elegimos el disco duro (lo dejaremos como esta).

Hacemos clic sobre Siguiente y dejamos esta opción como está.


Hacemos clic sobre Siguiente y elegimos el tipo de almacenamiento.

Hacemos clic en Siguiente y elegimos el tamaño para el disco, yo usare 70MB.

Hacemos clic sobre Siguiente y luego sobre crear.


Ahora vamos a Configuración.
Y en Red, elegimos adaptador de puente:

Y ya tenemos nuestra maquina virtual configurada.


Ahora la iniciaremos, nos saldrá el asistente para la primer ejecución, hacemos clic en
Siguiente y a partir de acá ocurrirán dos cosas.

o Si quemaste el LiveCd, entonces deja esta opción como esta, inserta el CD y deja que botee.
o Si quieres trabajar con el iso seguiremos los siguientes pasos.

En la interfaz actual hacemos clic sobre el botón amarillo de la derecha.

Ahora buscamos y seleccionamos la iso.


Hacemos click en Siguiente y luego en Iniciar.
Una vez aparezca esta pantalla, presionamos Enter y tipemos el comando ifconfig.

Y copiamos la dirección ip inet addr en mi caso: 192.168.1.66

Nota: Para 'sacar' el cursor de la maquina virtual debes presionar Ctrl Derecho
Ahora en nuestro navegador tipiamos la dirección ip y voilá ya tenemos BadStore lista
para ser atacada.
BadStore, aprende seguridad Web sin meterte en líos

BadStore es un Live CD con Trinux , que ocupa únicamente 10MB. No pide apenas recursos para arrancar (64MB de RAM), por lo
que podéis arrancarlo desde una máquina virtual sin problemas. BadStore arranca con su inicio un servidor Web con el sitio Web de
BadStore, que simula una tienda virtual vulnerable, a la que le podremos hacer todo tipo de perrerías. Una vez que la hayamos “dejado
fina”, podremos reiniciar y tenerla lista para continuar.

Entre otras vulnerabilidades que presenta, podréis explotar XSS, Sql Injections, Path Traversal, modificar las cookies, etc.

Tenéis más información en su sitio oficial:http://www.badstore.net/

Podéis descargar la ISO de BadStore desde aquí.


BadStore, SQLi y otras chicas del montón

- Badstore: Máquina virtual con aplicación web vulnerable.

- W3af: Escáner de vulnerabilidades web.

- SQLMap: “automatic SQL injection and database takeover tool”

El primer paso es identificar las vulnerabilidades, como sabéis, la forma típica suele ser introducir alguna comilla en algún formulario.
Si probamos a pasarle una doble comilla en el campo “Search” pasa lo siguiente:
Vemos que tiene toda la pinta de que va a ser vulnerable .

Para intentar encontrar más vulnerabilidades de este tipo vamos a utilizar el escáner W3af. Más de una vez escuché que la interfaz
gráfica no va demasiado fina, lo cual es verdad si seleccionamos demasiados plugins, pero usando los típicos como “sqli” y “xss” no
suele dar problemas. Por supuesto que no va a encontrar todas las vulnerabilidades de una aplicación, al igual que cualquier otro
software de este tipo, pero está al nivel de los de pago en cuanto a las detecciones, aunque suele encontrar más falsos positivos que
éstos.

Como vemos en la imagen la interfaz es sencilla de configurar, simplemente elegir “empty profile” y veremos que los plugins están
colocados por grupos. Del grupo “Audit” seleccionamos “sqli” y de “Discover” hacemos lo propio con “webSpider”. Para la salida es
cómodo seleccionar que, a mayores de mostrar los resultados en la propia aplicación, los almacene en otro formato para su posterior
consulta, elijo “html” en este caso.
Al pulsar en el botón iniciar veremos como empieza a trabajar:
Y tras finalizar nos mostrará los resultados encontrados, 6 SQLi en este caso. Si seleccionamos en alguno, podemos consultar con más
precisión que parámetro es vulnerable y la cadena con la que lo descubrió:
Podemos consultar además los resultados en formato html:
En este punto tenemos localizados los parámetros vulnerables, así que llegó el momento de explotarlos. Para hacerlo también de forma
automática utilizaremos la herramienta SQLMap, lo primero es confirmar que no estemos ante un falso positivo, yo suelo hacerlo
pidiéndole que identifique la versión del SGBD que utiliza la aplicación con el siguiente comando:

NOTA: En este ejemplo se intenta atacar el parámetro “searchquery”.

Código: [Seleccionar]
./sqlmap.py -u "http://192.168.122.63/cgi-bin/badstore.cgi?searchquery=hi&action=search&x=0&y=0" -b
Como vemos que parece que funciona le decimos ahora que nos identifique el nombre de la BD que utiliza la aplicación:
Código: [Seleccionar]
./sqlmap.py -u "http://192.168.122.63/cgi-bin/badstore.cgi?searchquery=hi&action=search&x=0&y=0" --current-
db
Podríamos decirle también que intente identificar las tablas de esa BD, esto llevará un rato porque prueba con los nombres co munes:
Código: [Seleccionar]
./sqlmap.py -u "http://192.168.122.63/cgi-bin/badstore.cgi?searchquery=hi&action=search&x=0&y=0" --tables -D
badstoredb
Ahora haríamos lo mismo para las columnas y seguiríamos utilizando los parámetros que nos ofrece la herramienta hasta obtener la
información que creamos oportuna. Enumero aquí algunos interesantes para los que os apetezca probarlos
Código: [Seleccionar]
wizard, is-dba, tor, gpage, cleanup, beep, current-user, dump[-all], agent ...

BadStore, aprende seguridad Web sin meterte en líos II


Continuando con la pasada entrada donde hablábamos sobre Badstore, hoy vamos a comenzar a analizar algunas de las
vulnerabilidades que presenta este portal, las explotaremos, y analizaremos la información que es posible obtener.

Nada más comenzar nos encontramos con un textbox en el que podemos buscar un producto determinado en la tienda. Si no
insertamos ningún valor y pulsamos sobre la lupa, el portal nos devuelve la siguiente información:

Como se puede ver hace una select de algunas columnas de la tabla itemdb, pero en el WHERE no contiene nada porque nosotros no
hemos introducido ningún valor en el textbox.

Se puede intuir que ésta llamada a BBDD es vulnerable a SQL Injection. Por ejemplo para devolver todos los productos almacenados
en la tabla podríamos insertar la query:
Código: [Seleccionar]
' or '1'= '1' --

Para así anular el WHERE y toda la parte del IN (itemnum, sdesc, idesc). Importante que después del “–” haya un espacio. Un
equivalente al uso de “–” para comentar código sería el uso de la almohadilla:
Código: [Seleccionar]
' or '1'= '1 #

Con esto se devolverían todos los productos de la BBDD:


Otra vulnerabilidad interesante es la del libro de visitas. Si probáis a insertar el siguiente script, muy simple:
Código: [Seleccionar]
<script>alert(‘XSS’)</script>

Os daréis cuenta que se trata de un XSS persistente, ideal para realizar un ataque por ejemplo con Beef.
Continuemos, si ahora accedemos a la sección de login y ponemos una simple comilla:
El sistema nos presentará el siguiente error:

De nuevo tendremos otro caso de SQL Injection, que podremos explotar por ejemplo con:
Código: [Seleccionar]
' or '1'=1' –

De esta manera estaremos entrando con el primer usuario de la tabla donde se encuentren los usuarios de la BBDD, que en este caso
parece que se trata de “Test User”:

¿Y vosotros que más vulnerabilidades os habéis encontrado en Badstore?


**NOTA** Recor dar que no necesariamente tiene que ser con v irtualbox, hay otros programas con los cuales ustedes pueden virtualizar
maquinas, yo os recomiendo VMSoftware. Lo he elaborado con vir tual box por que es el que tengo en mano.
1. Montando Bad Store con Virtual Box

Hola a todos a continuación voy a contribuir con un pequeño manual sobre como montar BadStore con v irtual box.

Cabe destacar que todo lo que verán a continuación esta hecho desde Linux Mint, así que también se puede en debían, ubuntu y parecidos.
Inclusive también se puede desde windows per o cada cosa con sus debidas configuraciones, así que si te surge alguna dud a en el fallo de X
proceso lo mejor será que consultes google.

0.-¿Qué es BadStore?
BadStore es un .iso de 11 MB aproximadamente que arranca un sistema Linux (Tr inux) en modo live, el cual podremos practicar la explotación
de vulnerabilidades web de una forma segura. Una vez que booteamos el BS el nos dará una IP, la cual ingresandola en el navegador nos
mostrara una pagina web con decenas de vulnerabilidades para practicar.

Los requerimientos del sistema de BS son los siguientes:


(Pentium 200MMX, 64 MB RAM),
(HD 20 MB)

Las vulnerabilidades que podemos pract icar son las siguientes:

* Cross Site Scripting (XSS)


* Inyecciones SQL y de comandos
* Modificación de Cookies
* Tampering de parámetros y formularios
* Director y traversal
* Navegación forzada
* Cookie snooping
* Tampering de logs
* Intercepción de mensajes de error
* Denegación de servicio

1.- Consiguiendo BadStore:


Pueden dirigirse a la pagina oficial y descargarlo, cabe destacar que hay que estar registrado o bien también pueden descargarlo directamente
del siguiente mirror que me he dado a la tarea de subir. Debo señalar que el .iso esta 100% igual a de la página oficial, solo que en una
descarga más rápida y directa.

2.- Instalando/Configurando Virtual Box:


Esto es algo que se puede hacer googleando, pero de igual manera os enseñare a hacerlo con tres prácticos pasos.
a) Ir a la siguiente dirección: Downloads - VirtualBox
b) A continuación descar guen el virtual box que más se adapte a vuestra computadora.
c) Sigan los pasos del instalador, en caso de estar en linux solo ponerse cómodos y ver como se hace todo solo como por arte de magia.

**NOTA** Recor dar que no necesariamente tiene que ser con v irtualbox, hay otros programas con los cuales ustedes pueden virtualizar
maquinas, yo os recomiendo VMSoftware. Lo he elaborado con vir tual box por que es el que tengo en mano.
Instalación BadStore con VirtualBox (2/?)
19:24 BadStore, BadStore y VirtualBox, Instalación BadStore, Instalación BadStore con VirtualBox (2/?), Instalando Badstore, jchierro, VirtualBox 2 comments

¿Qué es BadStore? (1/?)

En este tutorial enseñaré a instalar BadStore con VirtualBox, requisitos:

 Tener una copia ISO de BadStore, la pueden descargar en la entrada anterior.


 Tener descargado y instalado VirtualBox, su instalación es muy sencillo(un par de clicks en siguiente).

Empezamos:

Iniciamos VitualBox y procedemos a crear una nueva máquina virtual presionando sobre "Nueva".
Indicamos el nombre de la nueva máquina, sistema y versión.
Asignamos la cantidad de ram que veamos oportuna. Cada uno elige...
Si no poseen un disco duro anterior deben elegir la opción "Crear disco duro virtual nuevo".
Ahora nos toca elegir si almacenamiento sea "reservado dinamicamente" o "tamaño fijo", yo prefiero la primera opción. También dependo del uso que le den.
Asignamos el tamaño del disco duro virtual con 1GB tiene mas que suficiente.
Creamos la nueva máquina virtual.
Una vez finalizadas las respectivas configuraciones para la nueva máquina virtual, la iniciamos.

Como es la primera que iniciamos la máquina nos saldrá el asistente pulsamos sobre "siguiente", ahora debemos indicar la ruta donde se encuentra la ISO de
BadStore para bootearla.
Elegida la ruta para bootear, iniciamos por fin la máquina.

Iniciada la máquina, se empezará a cargar la ISO tarda solo unos minutos.


Cuando esté cargada la ISO, nos aparece la terminal donde solo debemos presionar "Enter" para activarla. En la terminal escri bimos "ifconfig" para que nos
muestre la ip donde se encuentra cargada BadStore.

Copiamos la ip que indico y la pegamos sobre el navegador que usemos.


Ya tenemos nuestro BadStore 100% funcional.
NOTA: Si tienen problemas al cargar BadStore deben cambiar las opciones de adaptadores de red como muestro en la siguiente captura.

Вам также может понравиться