-->
42

Install BackTrack 4 Pre Final INTO Microsoft Windows

0
Filed under labs
Tagged as , , ,

First the important warning: The procedure below have not been tested on Windows Vista nor Windows 7 by me. So don't come back asking for support on those scenarios. Working solutions and fixes to whatever problem are welcome, of course :)

We will learn how to install BackTrack 4 Pre Final inside a Windows XP Installation without partitioning or disturbing it in any way, and take advantage of its native boot loader to boot BT. This is usefull if you don't have a 4Gb thumbdrive, dvd drive, or your computer just can't boot from USB media whatever reason.

I know, you find this very odd. I mean, is there anyone with a thumbdrive smaller than 4Gb, or without a good friend with one to borrow? Well I have many friends to borrow one, but I just wanted to find an alternative way of installing BackTrack. This is -plus the fact that I actually lack of a >4Gb thumdrive- how I got to this article searching the remote-exploit forums. All credits for the below procedure belong to the guys on that post.

 

Now get into our bussiness.

 

First step is to install WinGrub/Grub4DOS, which is the actual responsible for the whole thing to happen.
Download it from http://sourceforge.net/projects/grub4dos/ and install.

 

Next step is to edit the Windows boot loader configuation file so we can use it to boot BackTrack without disturbing the Windows installation. This file is named boot.ini and is located at C:\ with hidden attributes.

 

WARNING: editting this file manually can get your Windows installation unable to boot again!!!!

It will look like this:

 

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

It should then look something like this:

 

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
C:\GRLDR="Linux"

 

To avoid manual edition we will use WinGrub GUI. In the general options, select default from the profiles drop down menu. Then choose "install grub" from the Tools menu. Select the "BOOT.INI" radio button. Edit the Title entry, I entered Linux. Then click install. This will copy the file GRLDR to c:\ and create the directory c:\grub with needed files. It will also modify the hidden system file C:\BOOT.INI safely for you.

 

The next step is to install BackTrack itself. Wil will simply extract the /casper and /boot directories from the iso image into c:\. Se we will have a directory structure like this:

C:\
  |
   \_boot\
  |
   \_casper\

Now we have successfully installed BackTrack! :) See? No tragedy, end of the world, creepy alien clowns claiming your soul(?), whatsoever! ;)  There is some work left to do though.

 

Final step is to edit MENU.LST file (yes, the very same as any other Grub installation). It will be located at C:\boot\grub\menu.lst.

It should look exactly like this:

# By default, boot the first entry.
default 0

# Boot automatically after 30 secs.
timeout 10

splashimage=/boot/grub/bt4.xpm.gz

title BackTrack4 Pre Final Persistant USB
find --set-root /GRLDR
kernel /boot/vmlinuz BOOT=casper boot=casper persistent rw vga=0x317
initrd /boot/initrd.gz

title BackTrack4 Pre Final USB
find --set-root /GRLDR
kernel /boot/vmlinuz BOOT=casper boot=casper nopersistent rw vga=0x317
initrd /boot/initrd.gz

title BackTrack4 Forensics USB (no swap)
find --set-root /GRLDR
kernel /boot/vmlinuz BOOT=casper boot=casper nopersistent rw vga=0x317
initrd /boot/initrdfr.gz

title BackTrack4 in Text Mode USB
find --set-root /GRLDR
kernel /boot/vmlinuz BOOT=casper boot=casper nopersistent textonly rw quiet
initrd /boot/initrd.gz

title BackTrack Graphical Mode from RAM USB
find --set-root /GRLDR
kernel /boot/vmlinuz BOOT=casper boot=casper toram nopersistent rw quiet
initrd /boot/initrd.gz

title Memory Test
find --set-root /GRLDR
kernel /boot/memtest86+.bin

title Boot the First Hard Disk
root (hd0,0)
chainloader +1

 

Now we are fully done! This is what it is! The next step is just to reboot and test it.

 

Notice: There is a glitch regarding the splash image I experienced on my laptop. Somehow it makes the whole Grub menu invisible. It is no problem since you can still choose amongst the options, or let the default one to boot. But is quite uncomfortable if you are not familiarized with the list :) I gues that disabling the splash image should fix it. But I haven't test is yet :/

 

If you are still courious about WinGrub/Grub4DOS here is their Wiki:
http://grub4dos.sourceforge.net/wiki/index.php/Main_Page

 

I hope this to be usefull to you!

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D

Cuando el usuario se cansa

1
Filed under Uncategorized
Tagged as , , , , , ,

El usuario se cansa de llamar, se cansa de esperar, se cansa de reclamar lo que le corresponde, y también varias veces en el medio se cansa de apretar botones. Pero son todos diferentes cansancios. Hay como un balanceo de carga de voluntad entre estas diferentes tareas que representan el proceso de llamar al soporte del proveedor de Internet para reclamar por una irregularidad en el servicio.

No me voy a ir por las ramas de una crítica al mal servicio que dan la mayoría de los proveedores de Internet a sus usuarios hogareños. Por un lado, porque habría mucho que escribir. Pero más que nada porque no aportaría nada relevante a la noticia.

La noticia es sobre un usuario, del que solo -por lo menos yo- se conoce su nick, que se cansó. Se cansó como muchos usuarios. Se cansó de todas las cosas que mencioné antes. Pero, volviendo a lo que decía antes, hay una especie de balanceo de carga, y de esta manera quedan voluntades para encarar opciones alternativas. Es precisamente lo que hizo sLi con la ayuda de Gangsta Killa.

En este caso el problema fue el servicio de Speedy, el servicio de Internet de Telefónica de Argentina.

Yo no estoy a favor de andar haciendo deface a diestra y siniestra por cualquier gilada. Pero este es un caso totalmente justificado, y creo que hablan por miles de usuarios de Speedy. Que no solo son usuarios, son clientes, pagan un servicio, un servicio cuya calidad parece pésima. Y esto lleva a que algunos lleguen a estas instancias de hartazgo.

Acá tienen una captura de pantalla:

 

jojooo :p

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D

John Not Dead

0
Filed under Uncategorized

I’m here..I guess..wherever here one might conceive. I’m just quite a lot busy with work and stuff.

I’ll be posting something soon :)

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D

Hell’s Library, Bypassing Transparent Proxy Using Apache

0
Filed under labs
Tagged as , , , , , , ,

 

A feature of Apache Web Server allows anyone to establish an SSH connection through the boundaries of any enterprise network. This is done completly stealthy and undetectably, fooling firewalls, proxyes, and any other enterprise network filtering wildlife. As a matter of fact, virtually any protocol might be tunnelized this way -except, of course, for IPoAC ;-) . But I will take the example of SSH since it opens a very interesting, wide-spectrum, vector to further analisys.

Quite esoteric, ah? This is how all this black magic work

It is simple, most proxyes will allow outgoing HTTP trafic to any website. Proxys want the users to surf the web. That is their purpose to exist. And that is what we will expliot. But most of the proxyes will only let their users through the paths they know safe (or whatever filtering their administrators may have set). In the best scenario, the proxy will not allow one particular HTTP method called CONNECT. This method is the one used for SSL/TLS protocol. It establishes a tunneled connection between the client and a remote server, through the proxy server. Since it is used by SSL/TLS, some proxys will let the CONNECT method free to certain sites, and most probably only on port 443. This, plus some L7 filtering and maybe some DPI, describes the most secure environment one might ever find inside any enterprise network. On the other hand we have lazy-administrated proxys that will allow you do whatever you want. If this last is your scenario, don’t waste your time reading any further, go use it for some SSH simple tunneling ;-)

Back to our stuff, there is free access to any website listening on port 80 for some plain HTTP. And this is what we are going to do, talk plain HTTP to some server waiting for us on port 80.
Apache plus mod_proxy module will let us set up an HTTP server listening on port 80, and at the very same time an HTTP proxy. The proxying part is done by mod_proxy. This module turns Apache into a fully functional HTTP forward-proxy and reverse-proxy. For our purpose reverse-proxy is not necessary and will not be explained, sorry (I’ve wrote a tutorial explaining reverse-proxying with Apache here if interested). So, the exciting feature of mod_proxy is its ability to handle the CONNECT method. It will even handle it if the transparent proxy, at the boundaries of our enterprise network, does not allow the CONNECT method. This, because we will talk GET and POST with Apache, the CONNECT thing happens inside Apache, and outside of the control of the enterprise proxy. The end result: we can use the CONNECT method. This is good and not good, we will see further.

 

What is needed
A list of thing needed to achieve this implementation.

Client side

Server side

  • Apache Web Server 2.x (1.3 branch might work as well but it’s not tested)
  • A proxy server: for this test I used tinyproxy for its simplicity.
  • GNU/Linux Operating System: I will focus on the Ubuntu distribution.
  • A domain name (this is optional).
  • An Internet connection.

 

The server side: Apache configuration

This is an example virtual host configuration which I used for testing this implementation.

<VirtualHost *:80>

   ServerName proxy.mydomain.com

This directive enables DNS lookups so that host names can be logged. The value Double refers to doing double-reverse DNS lookup. That is, after a reverse lookup is performed, a forward lookup is then performed on that result. At least one of the IP addresses in the forward lookup must match the original address. It is paranoid but is a good security measure:

   HostnameLookups Double

This allows Apache to function as a forward proxy server answering requests:

   ProxyRequests On

This is the most important directive here. Here we set the list of ports we will let Apache to use the method CONNECT against. In this case we set only port 22, which is the OpenSSH server default:

   AllowCONNECT 22

This setting will deny access to anyone. Don’t worry, we will allow access to ourselves later:

   <Proxy *>

           Order deny,allow

           Deny from all

   </Proxy>

This directive tells Apache what hosts we are allowed to access to. Note that we can specify more than one using regular expressions. On this example we are allowing access to host1 and host2:

   <ProxyMatch (host1|host2)\.mydomain\.com>

           Order deny,allow

           Deny from all

Now we allow only our IP to access. Note that this IP must be the public IP address of the enterprise proxy:

           Allow from 200.5.26.161

   </ProxyMatch>

Now we set the log files (this is optional):

   ErrorLog /var/log/apache2/proxy.error.log

   CustomLog /var/log/apache2/proxy.access.log common

</VirtualHost>

And that is all with Apache configuration. Once started the proxy is ready.

 

Some extra security layer: Using SSL

It is possible to use SSL instead of plain HTTP. This would give us an extra security layer since ALL traffic would go encrypted. And a big advantage: ALL traffic will be indistinguishable from any other allowed normal HTTPS website browsing. Whoever can see our packets will se nothing but unreadable encrypted data anyway.
The disadvantages are two: HTTPS might be retricted to only a couple of sites, or disabled at all; to support SSL we will need more than a simple client that can talk to a web proxy, it will have to speak SSL.
Anyway if it is your desire, just add these directives to the VirtualHost config, as you would with any other HTTPS site:

SSLEngine On

SSLCertificateKeyFile ssl/apache.pem

SSLCertificateFile ssl/apache.pem

Of course you will need to generate your SSL certificates. If you don’t know how, look for my tutorial on reverse-proxying which I linked above, it is explained either.

 

The client side: Setting up you proxy client

On the client side the configuration is simple. Just set your OpenSSH client to connect to mydomain.com and to use as proxy the same, mydomain.com. We will use Corkscrew as proxy client. To do it you have to edit the file ~/.ssh/config. If it does not exist, don’t worry, just create it and edit with the editor that pleases you the most (I like vim, by the way). It should look like this:

 

Host mydomain.com ProxyCommand corkscrew mydomain.com 80 %h %p

That will make ssh use corkscrew to stablish the connection using mydomain.com as proxy.

Ok, now you red this a ~thousand times and believe have missed something. Where the hell is the devilish enterprise transparent proxy, that makes you have to take all this work to browse Facebook, in all this? You missed the "transparent" part. It will let us get to any plain HTTP webserver on port 80. Since our Apache proxy sits on port 80 doing plain HTTP, our transparent proxy can’t tell the difference. Hence, we got through it completely safe.

For the Windows users: You can do this in a easier way using PuTTy. Follow these instructions:

Set up the basic connection:

putty1

 

Set up the proxy connection:

putty2

 

If you will be using HTTPS, then you will need a proxy client than cant talk SSL/TLS. To the date, the ONLY proxy client I know capable of talking to an HTTPS proxy is proxytunnel. If you find another one, please let me know! :)

 

A practical use: Surf the web unrestricted

Ok, now we have our tunnelized connection. We have a shell, we are happy. Most of us would be just fine with that. A lot more people will not :p So, here comes into scene tinyproxy. To achieve some useful stuff we will set a tunnel over SSH to access our tinyproxy at home and browse the web through it. We will be forwarding tinyproxy’s port to our PC using OpenSSH port forwarding feature. To do this we just launch the OpenSSH client this way:

 

user@pc$ ssh -L 8080:myserver:8080 mydomain.com

That will open port 8080 on your PC which actually will be the 8080 port of your remote tinyproxy installation (myserver). Literally a tunnel inside the tunnel ;)

 

For the Windows users: 

Set up the port forwarding on PuTTy:

putty4

 

Now click "Add" button, and should see something like this:

putty3

That’s it. Now we save the session, so we don’t need to set it all again, and open it.

And now, the final step: configure our browser to use 127.0.0.1 on port 8080 as proxy.

Finally we can login to our SSH server and try pointing our browser to any website we know blocked by the enterprise transparent proxy! ;)

 

A hazardous use: Malware

Yes, this is a technic that can be very usefull for malware developmente. This can help them do wahtever they want, once inside an organization’s network. And it is a very high risk to take. Unfortunately there is no way of stopping it.

As far as I’ve been investigathing this, there have been only two approaches on the matter. But as you go further on their reading, you understand the better how difficult it is to detect these kind of tunnels: their approach is iseless unless you have control over all of the infraestructure components, which is not a real world scenario.

I’ll be investigating this a lot further, and will be publishing my findings here.

 

A stealthier twist: "Mask" your proxy as a simple http website

This is the BEST part of using Apache. You can set it up as normal web server, serving some webpage. This way whoever point to mydomain.com will see a normal and harmless website, and won’t be able to distiguish it from a non-proxying server.

For example, give it a fancy name like photoalbum.mydomain.com and mount some web image gallery manager on it.

To do this just add the DocumentRoot directive and set the ServerName directive like this:

    ServerName photoalbum.mydomain.com

    DocumentRoot /var/www/my_photoalbum

DocumentRoot should be the physical path, on the server filesystem, to the webpage you want to serve.

Voila! You have a completely unsuspected web site to the outside visitor’s eye ;)

 

The world destruction use: GLOBAL THERMONUCLEAR WAR
(my tribute to an epic movie ;)

Got your attention, ah? XD

I don’t put in doubt the fact that this article might help you achive such a super villain’s worthy development. But it is way far from this article’s scope ;)

 

The End

As you can see for yourself, possibilities are limited only by imagination…

I hope you enjoyed reading and using this stuff.

Stay tunned!

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D

Hell’s Gourmet PHP Comments Script Canape

0
Filed under labs
Tagged as , , , , ,

 

Very well, this a pretty small comments script (as its Canape part of the name makes evident) and is my first actual PHP code editing and understanding project. It came out as a funny add-on to a small static page I published just as a joke for a friend of mine, a couple of days ago. I have to admit it was funny…to code it and to use it!

You can see here the page I was talking about, if intrigued, as an example of its functionality (MeLL need some paper bags :p).

The engine:

<?php
session_start();
if (isset($_POST['message'])) {
    if (isset($_SESSION['token']) && $_POST['token'] == $_SESSION['token']) {
        $message = htmlentities($_POST['message']);
        $message2 = htmlentities($_POST['message2']);
        $fp = fopen('messages.txt', 'a'); // This is the file where comments wil be stored. Should be writable.
        fwrite($fp, "<p><strong>".date("d-m-Y H:i:s")."</strong><br /><b>$message</b><br/>$message2</p>");
        fclose($fp);
    }
}
$token = md5(uniqid(rand(), true));
$_SESSION['token'] = $token;
?>

We use a simple plain text file in stead of a database. Of course the file messages.txt must exist and be writeable by the webserver. This code MUST be placed above you HTML code. You can customize the way the comments will be displayed by editing the html tags that are hardcoded on the fwite function.

Now we show the comments:

<?php
readfile('messages.txt');
?>

This code you must place wherever you want the comments to be shown.

Finally, the comments form is placed:

<form method="POST">
<input type="hidden" name="token" value="<?php echo $token;?>" />
<P><b><font color="#FF0000">Tu nombre/nick:</font></b><BR><input type="text" name="message"><br /></P>
<P><b><font color="#FF0000">Tu comentario:</font></b><BR><textarea name="message2" cols="25" rows="8"></textarea><br /></P>
<input type="submit" value="Postea un comentario!">
</form>

Put wherever it pleases you the most :-)

You can customize the way the form looks like by editing the html tags of its components, of course.

And that’s it! Of course we make no validation to avoid empty comments or spam. The idea of thsi code is not to be used on very hig traffic websites…it’s just as simple as it can be. Even the licensing notice has more lines than the actual code!!!

The complete source can be downloaded here (right click > save link as).

Hope it be as usefull to you as to me!

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D

Subdominios con Facebook Connect

0
Filed under Uncategorized
Tagged as , , , ,

 

Si usan Facebook Connect en sus sitios y necesitan que la autentificación se mantenga a traves de los subdominios que tengan deben configurar su aplicación Facebook para que el Base Domain sea el dominio principal.

Por jemplo si tenemos el sitio a.pepe.com y b.pepe.com, y queremos que la autentificación con facebook se mantenga entre a y b, el valor de Base Domain debe ser pepe.com. Esto produce los sigueintes efectos:

  • Facebook JavaScript Client Library guarda el dominio pepe.com en la cookie de sesión, cosa que permite a todo los subdominios compartir la cookie.
  • Los servidores de Facebook pondrán a disposición de todos los subdominios, de pepe.com, la URL definida en "Connect URL" para que pueden intercambiar información de login, de sesion, etc.

Ahora, ¿qué pasa si tienen javascript utilizando document.domain? Simple. de nuevo tenemos a.pepe.com y b.pepe.com, y en ambas tenemos en JavaScript "document.domain = ‘foo.com’;".

Hay que tener cuidado al utilizar "document.domain" en un sitio con Facebook Connect. Esto es porque afecta la manera en que se comunica Facebook JavaScript library con la página de "cross-domain configuration channel" que utiliza Facebook Connect.

Si se usa document.domain para bajar un nivel del dominio en alguna página, hay que tomar una de estas acciones para que Facebook Connect funcione:

  • Incluir la misma configuración de document.domain en la página de "cross-domain communication channel". Hay que colocarlo antes del import del javascript de Facebook.
  • Especificar otra página de "cross-domain communication channel" ubicada en el dominio inferior (pepe.com en nuestro caso). Por ejemploi se cofnigura el document.domain de http://a.pepe.com como pepe.com, entonces hay que especificar otroa página de "cross-domain communication channel" para http://pepe.com.

 

Esto está explicado en la wiki de desarrolladores de Facebook que pueden en contrar acá (en inglés).

Espero que les haya servido.

¡Hasta la próxima!

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D

Wordpress bug: Remote admin reset password

0
Filed under Uncategorized
Tagged as , , , ,

 

No tengo muchas ganas de escribir, la cosa está jodida. No es broma hágan esto URGENTE:

En el archivo wp-login.php hay que agregar una comprobación is_array( $key ) para verificar que es un array.

Cambien la linea 190:

if ( empty( $key ) )

Para que quede de esta manera:

if ( empty( $key ) || is_array( $key ) )

Con lo cual ya no se podría hacer el reset de la pass sin antes verificar mail o user de administrador.

Más detalles acá http://blog.altosec.com.ar/2009/08/woprdpress-bug-remote-admin-reset-password/

UPDATE: Pueden usar Enigform, de mi amigo el Buanzo para evitar este tipo de cosas. Más info acá.

¡Hasta la próxima!

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D

Clarín miente

0
Filed under Uncategorized
Tagged as , ,

 

Un titular mentiroso. Simplemente eso.

Este artículo del Diario Clarín MIENTE. Joel Tenembaum no vendió música. Ni la descargó de la web. Utilizó redes P2P para descargar y compartir música. Nunca con fines de lucro. Lo que hace ese "error" es DESINFORMAR a los lectores.

Claramente el periodista que escribió la nota ignora completamente el tema que intentó abordar. Debe interiorizarse y comprender bien el tema antes de lanzarse a escribir sin más.

Me provoca una profunda pena que un diario tan prestigioso permita una atrocidad de ese calibre.

Me llama a la reflexión sobre la integridad del resto del contenido del diario…

No quiero pensar que esa nota fuera a propósito, para provocar desinformación, confusión, y miedo sobre un tema tan delicado como lo son los monopolios artificiales sobre bienes intangibles, la privacidad de la red, y los poderes de las organizaciones no guvernamentales, en los lectores.

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D

Una vulnerabilidad permite falsificar cualquier sitio “seguro”

0
Filed under Uncategorized
Tagged as , , , , , ,

 

Generalmente cuando uno visita un sitio como el del banco, o alguno otro donde uno requiera hacer una operación comercial con tarjetas de crédito o entregue información personal, uno debería verificar que el certificado SSL del sitio visitado es auténtico.
Aunque la realidad de que la mayoría de la gente no se molesta, ni sabe qué es o cómo se hace, es fácilmente comprobable, no le quita importancia; al contrario, entrega una cárga mucho más alta a los aparatos que existen para que esos sitios sean realmente seguros para sus clientes: Las Autoridades Certificadoras, y los productores de software.

Bien, en la última BlackHat, que tiene lugar en la famosa ciudad de Las Vegas, Dan Kaminsk, investigador de IOActive, y Moxie Marlinspike, investigador independiente, presentaron dos charlas separadas cubriendo prácticamente el mismo tema.

Es un serio problema en el sistema de emisión de certificados SSL sumado a la manera en que Secuer Socket Layer está implementado en los navegadores.

“Esta es una vulnerabilidad que afecta todas las implementaciones de SSL,” dijo Marlinspike, “porque casi todos los que alguna vez han intentado implementar SSL han cometido el mismo error.”

La cosa funciona así:

Digamos que tenemos un tipo con malas intenciones que tiene su propio dominio: "tevoyahacercagar.com.ar".  Este solicita un certificado a alguna CA, como VeriSign o Thawte. La CA, usando la información de Whois, le envía un eMail para que confirme que ese dominio es suyo. Ahora bien, digamos que este tipo solicita un certificado para un subdominio -cosa que es perfectamente normal y posible-, pero usando el caracter nulo \0 en la URL, como por ejemplo: "santanderrio.com.ar\0.tevoyahacercagar.com.ar". La CA le va a dar el certificado para ese subdominio porque efectivamente el tipo es dueño legítimo de "tevoyahacercagar.com.ar"

Hasta acá, todo bien. El tipo pidió un certificado para un subdominio bastante raro, poco común, y sospechoso, pero inofensivo hasta este momento.

Ahora bien, ¿qué pasa del lado del usuario? Bueno ese es el problema.
Resulta que existe una falla en l manera en que el SSL ha sido implementado en la mayoría de los navegadores. Este atacante que obtuvo el certificado para "santanderrio.com.ar\0.tevoyahacercagar.com.ar" puede engañar a los navegadores haciéndoles creer que es un certificado válido para el sitio "santanderrio.com.ar".  Lo que pasa es que estos navegadores volnerables paran de mirar cualquier caracter que sige a "\0" cuando verifican el nombre de dominio que contiene el certificado del atacante.

El tema se vuelve aún más grave (sí es posible) porque un atacante puede solicitar un certificado comodín (wildcard domain), como por ejemplo:"*\0.tevoyahacercagar.com.ar". Lo cual le habilita poder fraguar cualquier sitio en internet, facilitándole un espectro casi infinito de ataques.

Respecto al tema del caracter nulo, Marlinspike dice que no habiendo una razón válida para que haya caracteres nulos en un dominio, es un misterio que las Autoridaddes Certificadores los acepten.  Pero que haciendo que dejen de hacerlo no dentendrá a los que ya fueron emitidos. La unica solución es que los productores de software arreglen sus implementaciones de SSL para que verifiquen el dominio completo, sin detenerse en los caracteres nulos.

También dijo, Marlinspike, que va liberar una herramienta para aprovechar este error. Que en relidad es una versión mejorada de una herramienta que ya había publicado: SSLSniff. Lo que hace es permitir el sniffing del tráfico en un canal seguro protegido con SSL (generalmente una URL con https), de manera que pueda implementarse un ataque de man-in-the-middle. El navegador del usuario verifica el certificado enviado por SSLSniff, y creyendo que el atacante es un sitio legítimo, empieza la transmisión "segura" de datos -que pueden ser nombres de usuarios, password, números de tarjetas de crédito, detalles bancarios, o cualqueir otro dato que el usuario esté enviando-, a traves del atacante, hacia un sitio legítimo. De esta manera el atacante puede ver los datos desencriptados.

Un ataque así también puede implementarse para tomar control de las actualizaciones de Firefox o cualqueir otro software que utilize la lirería de actualización de Mozilla. Cuando la PC del usuario busca updates, SSLSniff lo intercepta y puede devolver código malicioso que es ejecutado con toda confiaza en la PC del usuario.

Firefox 3.5 es el unico navegador no vulnerable a este ataque, por ahora. Mozilla está trabajando en los parches para la rama 3.0.

Consejos para mitigar problemas:

  • Migrar a Firefox 3.5 lo antes posible.
  • Mantener siempre actualizado el software que se utilize.
  • Siempre verificar exhaustivamente el certificado de los sitios seguros que se utilizen.
  • Nunca aceptar certificados desconocidos o vencidos.
  • ¡Mucha suerte! ;-)

¡Hasta la próxima!

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D

BackTrack 4 Pre Final

0
Filed under Uncategorized
Tagged as , , ,

 

Gente, es un placer anunciarles que fue librada al público la versión Pre Final de BackTrack 4 (codename “pwnsauce“). Una imágen para VMWare será liberada en unos días. Se han realizado grandes cambios en BackTrack, se intentó documentarlos lo mejor posible. Ver BackTrack Guide PDF para más información.

Nota original en el blog de Offensive Security.

Y es cierto, se han hecho MUSCHISIMAS modificaciones en BackTrack 4 respecto de la versión 3.

Antes ya había publicado sobre la disponibilidad de la beta de BackTrack 4. Desde entonces la estuve usando intensivamente en mi Asus EEE, y no me puedo quejar de nada. Casi todo lo que necesitaba funcionó "right out of the box".

Están disponibles los Videos, BackTrack PDF, y la película de “Introducción a BackTrack 4”.

Remote-Exploit abrió nuevos subforos para esta release. ¡Pongan ahí sus reportes de bugs y sugerencias!

Importante: Si van a publicar links a las ISOs, no publiquen links directos a los archivos. Usen este link :

http://www.remote-exploit.org/cgi-bin/fileget?version=bt4-prefinal-iso

Las sumas md5sum y sha256sum pueden encontrarlas acá y acá.

Revisen el website de noticias de Remote Exploit

¡Que lo disfruten!

Si te gustó esta nota, podés invitarme una cerveza en agradecimiento. Y algún día quizá pueda yo invitarte una :D