Académique Documents
Professionnel Documents
Culture Documents
Introduccin a BadStore
-->Escaneo con nmap. -->Archivo robots.txt. Cross Site Scripting. -->XSS Reflejado. -->XSS Persistente. -->Robo de Cookies. SQLi -->Accediendo como admin Bypass uploader y Deface Fuerza bruta sobre mysql 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 dems, quiero aclara que este ar ticulo no pretende ser una gua exhaustiva acerca del ataque a BadStore, solo pretende ayudar a iniciar a aquellos que comienzan en este mundo con una aplicacin real, practica y eliminar el temor de implicaciones legales por cometer algn error. BadStore es un iso que pesa 10mb que te arranca una distribucin Trinux con un servidor web donde est alojada una aplicacin vulnerable ms especficamente 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 continuacin, listare las herramientas necesarias para llevar acabo las actividades del artculo.
o o o o o
LiveCD BadStore Mquina vir tual (yo usare VirtualBox) Nmap Servidor Web Medusa
Nota: No explicare instalacin de cada uno para evitar hacer el articulo mas largo de lo que sera, as que la instalacin de estas herramientas corre por su cuenta.
3. Instalando BadStore.
Antes de instalar BadStore, necesitamos descargarlo verdad? As que vamos a su pgina 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 o Grabar la iso en un CD. 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 mquina vir tual hacemos clic en el botn 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).
Y ya tenemos nuestra maquina virtual configurada. Ahora la iniciaremos, nos saldr el asistente para la primer ejecucin, hacemos clic en Siguiente y a partir de ac ocurrirn dos cosas. o o Si quemaste el LiveCd, entonces deja esta opcin como esta, inserta el CD y deja que botee. Si quieres trabajar con el iso seguiremos los siguientes pasos.
Hacemos click en Siguiente y luego en Iniciar. Una vez aparezca esta pantalla, presionamos Enter y tipemos el comando ifconfig.
Y copiamos la direccin 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 direccin ip y voil ya tenemos BadStore lista para ser atacada.
Entre otras vulnerabilidades que presenta, podris explotar XSS, Sql Injections, Path Traversal, modificar las cookies, etc.
Tenis ms informacin en su sitio oficial:http://www.badstore.net/ Podis descargar la ISO de BadStore desde aqu.
El primer paso es identificar las vulnerabilidades, como sabis, la forma tpica suele ser introducir alguna comilla en algn formulario. Si probamos a pasarle una doble comilla en el campo Search pasa lo siguiente:
Para intentar encontrar ms vulnerabilidades de este tipo vamos a utilizar el escner W3af. Ms de una vez escuch que la interfaz grfica no va demas iado fina, lo cual es verdad si seleccionamos demasiados plugins, pero usando los tpicos como sqli y xss no suele dar problemas. Por supuesto que no va a encontrar todas las vulnerabilidades de una aplicacin, 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 ms falsos positivos que stos.
Como vemos en la imagen la interfaz es sencilla de configurar, simplemente elegir empty profile y veremos que los plugins e stn colocados por grupos. Del grupo Audit seleccionamos sqli y de Discover hacemos lo propio con webSpider. Para la salid a es cmodo seleccionar que, a mayores de mostrar los resultados en la propia aplicacin, los almacene en otro formato para su posterior consulta, elijo html en este caso.
Y tras finalizar nos mostrar los resultados encontrados, 6 SQLi en este caso. Si seleccionamos en alguno, podemos consultar con ms precisin que parmetro es vulnerable y la cadena con la que lo descubri:
En este punto tenemos localizados los parmetros vulnerables, as que lleg el momento de explotarlos. Para hacerlo tambin de forma automtica utilizaremos la herramienta SQLMap, lo primero es confirmar que no estemos ante un falso positivo, yo suelo hacerlo pidindole que identifique la versin del SGBD que utiliza la aplicacin con el siguiente comando:
Como vemos que parece que funciona le decimos ahora que nos identifique el nombre de la BD que utiliza la aplicacin: Cdigo: [Seleccionar]
./sqlmap.py -u "http://192.168.122.63/cgi-bin/badstore.cgi?searchquery=hi&action=search&x=0&y=0" --currentdb
Podramos decirle tambin que intente identificar las tablas de esa BD, esto llevar un rato porque prueba con los nombres co munes: Cdigo: [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 haramos lo mismo para las columnas y seguiramos utilizando los parmetros que nos ofrece la herramienta hasta obtener la informacin que creamos oportuna. Enumero aqu algunos interesantes para los que os apetezca probarlos Cdigo: [Seleccionar]
wizard, is-dba, tor, gpage, cleanup, beep, current-user, dump[-all], agent ...
Continuando con la pasada entrada donde hablbamos sobre Badstore, hoy vamos a comenzar a analizar algunas de las vulnerabilidades que presenta este portal, las explotaremos, y analizaremos la informacin que es posible obtener.
Nada ms comenzar nos encontramos con un textbox en el que podemos buscar un producto determinado en la tienda. Si no insertamos ningn valor y pulsamos sobre la lupa, el portal nos devuelve la siguiente informacin:
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 ningn 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 podramos insertar la query: Cdigo: [Seleccionar]
' or '1'= '1' --
Para as anular el WHERE y toda la parte del IN (itemnum, sdesc, idesc). Importante que despus del haya un espacio. Un equivalente al uso de para comentar cdigo sera el uso de la almohadilla:
Cdigo: [Seleccionar]
' or '1'= '1 #
Otra vulnerabilidad interesante es la del libro de visitas. Si probis a insertar el siguiente script, muy simple: Cdigo: [Seleccionar]
<script>alert(XSS)</script>
Os daris cuenta que se trata de un XSS persistente, ideal para realizar un ataque por ejemplo con Beef.
De nuevo tendremos otro caso de SQL Injection, que podremos explotar por ejemplo con: Cdigo: [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:
**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.
Hola a todos a continuacin voy a contribuir con un pequeo manual sobre como montar BadStore con v irtual box. Cabe destacar que todo lo que vern a continuacin esta hecho desde Linux Mint , as que tambin se puede en deban, ubuntu y parecidos. Inclusive tambin 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 explotacin 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 Modificacin de Cookies Tampering de parmetros y formularios Director y traversal Navegacin forzada Cookie snooping Tampering de logs Intercepcin de mensajes de error Denegacin de servicio
del siguiente mirror que me he dado a la tarea de subir. Debo sealar que el .iso esta 100% igual a de la pgina oficial, solo que en una descarga ms rpida y directa.
Tener una copia ISO de BadStore, la pueden descargar en la entrada anterior. Tener descargado y instalado VirtualBox , su instalacin es muy sencillo(un par de clicks en siguiente). Empezamos:
Iniciamos VitualBox y procedemos a crear una nueva mquina virtual presionando sobre "Nueva".
Si no poseen un disco duro anterior deben elegir la opcin "Crear disco duro virtual nuevo".
Ahora nos toca elegir si almacenamiento sea "reservado dinamicamente" o "tamao fijo", yo prefiero la primera opcin. Tambin dependo del uso que le den.
Asignamos el tamao del disco duro virtual con 1GB tiene mas que suficiente.
Una vez finalizadas las respectivas configuraciones para la nueva mquina virtual, la iniciamos.
Como es la primera que iniciamos la mquina nos saldr el asistente pulsamos sobre "siguiente", ahora debemos indicar la ruta donde se encuentra la ISO de BadStore para bootearla.
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.
NOTA: Si tienen problemas al cargar BadStore deben cambiar las opciones de adaptadores de red como muestro en la siguiente captura.