Академический Документы
Профессиональный Документы
Культура Документы
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
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).
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).
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.
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.
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:
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 ...
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 #
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”:
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.
**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
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.