Haxcra8

Embed Size (px)

Citation preview

  • 8/14/2019 Haxcra8

    1/68

    HACK X CRACK: EMPEZANDO A ESQUIVAR LOS CORTAFUEGOS

    HAKXCRKHAKXCRKHAKXCRK

    TEMPLO deconocimiento

    APACHE: Configuracin

    N 8 -- P.V.P. 4,5 EUROS

    NETCAT

    PERLPIPES

    Comparte ficherosdesde tu propio

    Servidor Web

    ARRAY DECONTROLESVECTORES

    OCX

    VISUAL BASIC:

    JUGANDO de nuevocon el NETCAT

    PC PASO A PASO: UN MODO DISTINTO DE ESTUDIAR INFORMTICA8 4 1 4 0 9 0 2 0 27 5 6

    80000

    PP

    AA

    SS

    OO

    PP A S O A S O

    Penetracin Inversaen PCs Remotos

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    FONTANERA INFORMTICA :ENCADENANDO PROGRAMAS

    SMTP: Descubre losprotocolos de Internet

    S E R I E R A WPROTOCOLOS

    S i n o e n t i e n d e s n i u n a p a l a b r a d e e s t a p o r t a d a , h a s l l e g a d o aL A R E V I S T A D E I N F O R M T I C A Q U E E S T A B A S E S P E R A N D O ! ! !

  • 8/14/2019 Haxcra8

    2/68

    PC PPAASSOOPP A S O A S Oaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    a

    HACK CRACKwww.hackxcrack.com

    LOS CUADERNOS DE

    EDITORIAL: EDITOTRANS S.L.C.I.F: B43675701

    Director EditorialI. SENTIS

    E-mail [email protected]

    Ttulo de la publicacinLos Cuadernos de HACK X CRACK.

    Nombre Comercial de la publicacnPC PASO A PASO

    Webwww.hackxcrack.com

    Deposito legal: B.26805-2002Cdigo EAN: 8414090202756Cdigo ISSN: En proceso

    Director de la PublicacinJ. Sents

    [email protected]

    Diseo grfico:

    J. M. VelascoContacto diseador [email protected]

    RedactoresAZIMUT, ROTEADO, FASTIC, MORDEA, FAUSTO,ENTROPIC, MEIDOR, HASHIMUIRA, BACKBONE,ZORTEMIUS, AK22, DORKAN, KMORK, MAILA,TITINA, SIMPSIM... ... ... ... ...

    Contacto redactores

    [email protected] de 130 personas: de Espaa, de Brasil, deArgentina, de Francia, de Alemania de Japn yalgn Estadounidense.

    Contacto [email protected]

    ImprimeI.G. PRINTONE S.A. Tel 91 808 50 15

    DistribucinCoedis S.L. Avda. de Barcelona 225. Molins de Rei.Barcelona. Tel 93 680 03 60 FAX 93 668 82 59WEB: www.coedis.com (mapa de distribucin en laweb)

    Copyright Editotrans S.L.NUMERO 8 -- PRINTED IN SPAINPERIOCIDAD MENSUAL

  • 8/14/2019 Haxcra8

    3/68

    PARA "LOS OTROS":

    1.- La intencin de la presente publicacin NO ES fomentar la piraterainformtica ni la delincuencia en la Red.2.- Cualquier texto publicado es VALIDADO por nuestra Asesora Jurdica,

    por lo que advertimos a cualquier persona, empresa u organizacin de lainutilidad de cualquier iniciativa jurdica en nuestra contra. Aun as, en casode cualquier iniciativa en contra de esta revista, deber ser debidamentepresentada y resuelta en la Razn Social que figura en nuestros documentosde constitucin.3.- Esta publicacin no se hace responsable del mal uso de los conocimientosque se exponen.4.- Esta publicacin NO FACILITAR los datos de nuestros colaboradoresni el origen de nuestros conocimientos salvo ORDEN JUDICIAL y, aun as,advertimos que algunos de esos colaboradores NO SON CONOCIDOS masque por sus NICKS (alias). Por ello, correr a cargo de los organismospertinentes su descubrimiento.5.- Esta publicacin NO SE HACE RESPONSABLE ni tienen por qu COMPARTIR

    las opiniones personales vertidas por sus colaboradores, por lo que NOSOMOS RESPONSABLES de las mismas.6.- Cualquier texto publicado estar bajo las protecciones de DERECHOSDE AUTOR y no se permite su copia, publicacin, modificacin o distribucinsin antes obtener el permiso de esta editorial. De este punto quedan exentosaquellos textos que han sido obtenidos de terceros y/o que estn sujetosa otras licencias (ya sean por parte de su autor o por terceros).7.- Si desean ponerse en contacto con nuestro departamento jurdico,rogamos enviar mail a [email protected]

    PARA NUESTROS LECTORES:

    Como podris ver, esta no es una revista mas, por primera vez tenis ante

    vosotros una publicacin LIBRE que os ofrecer la posibilidad de explorarla red tal y como debe explorarse ;)

    Esta publicacin responde a la pregunta mas veces expuesta en LA RED:Como puedo ser un hacker? Bien, ahora seguro que muchos ya se estn"sonriendo" y pensando lo ilusos que somos al intentar "eregirnos" en"portadores de LA LUZ", pensando que seremos una "escuela de lamers"y similares a otras publicaciones que, entre sus 100 pginas de revista solocontiene 5 de "material utilizable" (si es que puede llamarse as).

    Pues NO, lo siento, vosotros seris nuestros jueces y, llegado el caso,NUESTROS VERDUGOS.

    Nuestro objetivo es: ACABAR CON LA BASURA DE LA REDCABAR CON LA BASURA DE LA REDACABAR CON LA BASURA DE LA RED (lamers y dems"esencias") con el nico mtodo que conocemos: LA EDUCACINA EDUCACINLA EDUCACIN y con unnica bandera que ser por siempre nuestra firma: SOLO EL CONOCIMIENTOOLO EL CONOCIMIENTOSOLO EL CONOCIMIENTOTE HACE LIBREE HACE LIBRETE HACE LIBRE.Estos son nuestros pilares: LA EDUCACIN Y EL CONOCIMIENTOA EDUCACIN Y EL CONOCIMIENTOLA EDUCACIN Y EL CONOCIMIENTO. Para serun HACKER (maldita palabra mal entendida por unos y peor utilizada porotros) solo hace falta dos cosas: curiosidad y medios, a partir de ahora la

    curiosidad deberis ponerla VOSOTROS, porque los medios los facilitaremosNOSOTROS. En las siguientes lneas os descubrimos cmo podremosconseguir nuestros objetivos y definimos algunas de las palabras que mshan sido violadas y retorcidas en su significado.

    Hacker: Este trmino ha sufrido a lo largo de su corta historia una horribleconspiracin perpetrada por la ignorancia de los medios, eso quepersonalmente llamo "periodismo de telediario" (en clara alusin a losridculos artculos que no hacen mas que intoxicar nuestra percepcin delas cosas e insultar nuestra inteligencia). Ese tipo de periodismo unido a"otros poderes", desde los monopolios que deben justificar su incompetenciahasta los gobiernos que deben justificar sus intereses ocultos pasando porla industria del cine (normalmente demonolgica) y los medios informativos"de masas".

    Pues bien, HACKER no es mas que una persona que posee conocimientos

    avanzados sobre una materia en concreto, normalmente relacionados conla tecnologa aunque ni mucho menos limitado a ello. Ponen sus aptitudesal servicio de un nico objetivo: EL CONOCIMIENTO. Desean conocer elfuncionamiento de "las cosas" y no encuentran lmites en sus camino masque su propia curiosidad. No se dedican a destruir ni a causar estragosentre sus "victimas", no se dedican a robar ni a chantajear ni a regodearsede sus "conquistas", muy al contrario suelen advertir a terceros de lasdebilidades de sus sistemas y, desgraciadamente, esos "terceros" en lugarde agradecerles su aviso se dedican a denunciarlos o perseguirlos aunqueno siempre es as, por supuesto, muchas compaas y gobiernos hanaprendido lo valiosos que son los HACKERS y ahora algunos son colaboradores(o empleados) de estos. BILL GATES es un HACKER (el pap ventanas),como Linus Torvalds (el pap Linux) o Grace Hooper (la Almirante,

    creadora del Lenguaje COBOL), los autores del COREWARRobert ThomasMorris, Douglas McIlroy y Victor Vysottsky (precursores de loscreadores de virus informticos), Fred Cohen (el primer investigador yautor de los virus de la historia), Dennis Ritchie y Ken Thompson("hacedores" del Lenguaje C y co-creadores del SO UNIX), Gary Kildall(autor del sistema operativo CMP y CPM/86), Tim Paterson (autor delQuick & Dirty DOS), Morris (autor de "The tour of the Worm"), KevinMitnick (el ms buscado por el FBI), Phiber Optik (lder juvenil convertidoen smbolo de los hackers), Richard Stallman (impulsor del "softwaresoftware"softwarelibre"ibre"libre" y GNU), Johan Helsingius (primer conductor de un RemailerAnnimo), Chen Ing-Hou (autor del virus CIH -Chernobyl- ), Sir Dyistic(creadorutor del Back Orifice), David L. Smith (virus Melissa), Reonel

    Ramonez (virus LoveLetter),Vladimir Levin (Rob electrnicamente

    10 millones de dlares al Citibank), y muchos mas. Cmo? Pero no hemosdicho que los hackers no comenten delitos? Pues NO, vuelve a leer sudefinicin pero claro, de todo hay en la via del seor, y al igual que haydelincuentes entre el clero hay hackers que en un momento u otro hancaido en la ilegalidad, nadie es perfecto!!!!! y Bill Gates es un HACKER?Por supuesto, solo tienes que leerte su biografa. Sorprendido? Esperoque no, porque eso no es nada mas que un cero a la izquierda en comparacincon lo que vas a encontrar en esta revista.

    DECLARADECLARACICION DE INTENCION DE INTENCIONESONES

    PC PASO A PASO N 8 Pgina 3

  • 8/14/2019 Haxcra8

    4/68

    Pgina 4 PC PASO A PASO N 8

    EDITORIALel director sustituto (segundaparte):asumiendo riesgos

    Por segunda y ltima vez, vuestro esclavo AZIMUT hatenido que sustituir a nuestro director en la difcil tarea desacar adelante un nmero ms de PC PASO A PASO (Hackx Crack).

    En este nmero he tenido que tomar decisiones cuyasconsecuencias (buenas o malas) tendr que sufrir en ELFORO de -www.hackxcrack.com- Ya sabes que los lectores(y colaboradores) nos reunimos all para exponer nuestrasimpresiones y compartir conocimientos, pues bien, all metendris para ser crucificado y dar explicaciones respecto aeste nmero de PC PASO A PASO.

    El contenido del presente nmero 8 no es, ni de lejos, lo quetena pensado publicar en un principio. Decid dejar los

    troyanos en casita y apostar por EL CONOCIMIENTO. Estavez nuestros lectores, T, tendrs que trabajrtelo bastantesi quieres seguir avanzando.

    - Cmo? Qu? Este mes no tengo un troyano con el quejuguetear?

    S, lo tienes, pero tendrs que empezar a tomarte las cosasen serio: EL PARVULARIO SE HA ACABADO!!!, lo siento,todos sabamos que este da llegara y YA HA LLEGADO ;)

    Este mes te toca instalar LINUXnstalar LINUXinstalar LINUX, instalar el NETCATnstalar el NETCATinstalar el NETCAT paraLinux, compilar en PERLompilar en PERLcompilar en PERL y conocer las pipesonocer las pipesconocer las pipessi quieresdisfrutar de la racin mensual de troyano. Por si te parecepoco, para colmo, aprenderemos cositas interesantes sobre

    el protocolo SMTProtocolo SMTPprotocolo SMTP, seguiremos con nuestro curso de VisualisualVisualBasicasicBasic estudiando unas cosas muy raras llamadas arraysarraysarrays,vectoresvectoresvectoresy controles OCXcontroles OCXcontroles OCX;p y, para rematarlo seguiremosconfigurando nuestro propio Servidor Web basado en APACHEPACHEAPACHEy dndole caa al TELNETELNETTELNET.No, no te dejaremos solo ante tan titnico trabajo, estaremoscontigo a cada paso y recuerda algo MUY IMPORTANTE: Enecuerda algo MUY IMPORTANTE: Enrecuerda algo MUY IMPORTANTE: Enel foro de nuestra Web puedes compartir tus dudas.l foro de nuestra Web puedes compartir tus dudas.el foro de nuestra Web puedes compartir tus dudas. Nosllegan muchos mails preguntando por los temas explicadosen la revista, pero EL FORO es donde mejor y ms rpidoL FORO es donde mejor y ms rpidoEL FORO es donde mejor y ms rpidosern respondidasern respondidassern respondidasSolo me queda dar las gracias a todos los colaboradores yencomendar mi alma los dioses para que PC PASO A PASO8 sea de TU agrado :)

    Un abrazo muy fuerte, atentamente...

    -- AZIMUT, el que durante dosmeses ha tenido el placer deser tu servidor y esclavo --

    ... porque slo el poder del conocimiento... porque slo el poder del conocimiento... porque slo el poder del conocimientonos hace libres. nos hace libres. nos hace libres.

    INDICEINDICE3 DECLARACION DE INTENCIONESDECLARACION DE INTENCIONES3 DECLARACION DE INTENCIONES4 EDITORIALEDITORIAL4 EDITORIAL5 CURSO DE LINUXCURSO DE LINUX5 CURSO DE LINUX17 APACHE: COMPARTE ARCHIVOS7 APACHE: COMPARTE ARCHIVOS17 APACHE: COMPARTE ARCHIVOS26 SUSCRIPCIONES6 SUSCRIPCIONES26 SUSCRIPCIONES26 REVERSE SHELL6 REVERSE SHELL26 REVERSE SHELL43 GANADOR DEL CONCURSO SUSE LINUX3 GANADOR DEL CONCURSO SUSE LINUX43 GANADOR DEL CONCURSO SUSE LINUX

    44 CURSO DE VISUAL BASIC: MAS CALCULADORA4 CURSO DE VISUAL BASIC: MAS CALCULADORA44 CURSO DE VISUAL BASIC: MAS CALCULADORA51 CONCURSO DE SUSE LINUX 8.11 CONCURSO DE SUSE LINUX 8.151 CONCURSO DE SUSE LINUX 8.152252 PROTOCOLOS Y SU SEGURIDAD: SMTPROTOCOLOS Y SU SEGURIDAD: SMTPPROTOCOLOS Y SU SEGURIDAD: SMTP65565 BAJATE LOS LOGOS DE PC PASO A PASO (HXC)AJATE LOS LOGOS DE PC PASO A PASO (HXC)BAJATE LOS LOGOS DE PC PASO A PASO (HXC)65 COLABORA CON NOSOTROS5 COLABORA CON NOSOTROS65 COLABORA CON NOSOTROS66 SERVIDOR DE HXC. MODO DE EMPLEO6 SERVIDOR DE HXC. MODO DE EMPLEO66 SERVIDOR DE HXC. MODO DE EMPLEO

    67 NUMEROS ATRASADOS7 NUMEROS ATRASADOS67 NUMEROS ATRASADOS

  • 8/14/2019 Haxcra8

    5/68

    PC PASO A PASO N 8 Pgina 5

    1 - Presentacin

    Algunas personas que son verdaderos hackerssuelen decir que GNU/LiNUX es el mejor S.O.

    para programar. En la presente serie de artculosintentaremos demostrar que esta no es unaafirmacin gratuita.

    Tal vez una de las ventajas ms obvias seaque podemos mirar en sus entraas, modificartodo lo modificable y tener acceso de primeramano a todo aquello que se esconde tantobajo como sobre un S.O. Sin acceder a oscurostrucos ni caractersticas no documentadas. Sintener que andar mendigando nmeros de serieo cracks. Todo lo tendremos ah, disponiblepara que tomemos lo que queramos. Y, poruna vez, tendremos a la ley de nuestro lado.Este ser el objetivo principal de este artculo.

    Cul ser el precio de tanta maravilla? Trabajo.Mucho trabajo. En este mundo en el que muchagente ha trabajado antes desinteresadamentegenerando informacin, tecleando lneas decdigo que luego ponen a tu disposicin, etc...Slo se pide una cosa: Que tambin se trabajeleyendo esa documentacin y ese cdigo.Si no eres de esta opinin, tal vez el mundode GNU/LiNUX en particular y del Software Libreen general no sea el ms adecuado para ti ytarde o temprano te desi lusionars.

    Por ahora realizaremos una presentacin generalde lo que es GNU/LiNUX. Veremos cuales sonlos pasos, independientemente de ladistribucin, que se deben seguir para instalar

    este S.O. en nuestro ordenador y en el futuroiremos profundizando en las muchas facetasque lo definen (instalacin, administracin,programacin, seguridad, etc...).

    En concreto este mes nos centraremos, con elfin de seguir cierta coherencia con el resto delos artculos del presente nmero, en trespuntos:

    - Pipes: Como confrontacin del uso de unautilidad en dos SS.OO. distintos. De esta manerapodremos ir acostumbrndonos al way of lifede los sistemas UNiX.- Perl: Como ejemplo de cmo se utiliza unlenguaje de scripting- Netcat: Como ejemplo de cmo obtener elcdigo fuente de una aplicacin y como a partirde este generamos el ejecutable.

    Y todo ello tras una extensa presentacin deGNU/LiNUX.

    2- Qu es GNU/LiNUX?

    Normalmente una forma de definir LiNUX escomo la de " Sistema Operativo tipo UNiX libre".

    A estas alturas la mayora de la gente recinllegada al mundo de GNU/LiNUX se preguntarsi eso de GNU/LiNUX es "otra cosa" parecidaa eso de lo que han odo hablar mucholtimamente y que la gente llama LiNUX "asecas". Pues bien, no, no es "otra cosa";Estamos hablando de lo mismo. Pero paraentender el porqu, conviene referirnos a esteS.O. como GNU/LiNUX y no LiNUX, tenemos

    GNU/LiNUX

    - Presentacin y Significado: Software Libre NO ES Software Gratis ;)

    - Distribuciones y links de descarga- NETCAT en Linux: Descarga, compilacin y ejecucin

    - Compilando en Perl desde Linux

    - "PIPES" en Linux

  • 8/14/2019 Haxcra8

    6/68

    Pgina 6 PC PASO A PASO N 8

    que saber primero qu significa LiNUX y qusignifica GNU.

    LiNUX, inicialmente, es el fruto de un trabajode programacin de un chico llamado LinusTorvalds que all por 1991 mientras estabaen la universidad de Helsinki pasando fro (digoyo) y aprovechando la coyuntura de obtenersu primer i386, decidi realizar su "versinmejorada" del S.O. que l manejabahabitualmente: MiNiX. De esta manera obtuvolo que se denomina un kernelo ncleo de S.O.que es el corazn de todo S.O.. Desde laprimera versin operativa de este kernel seunieron a Linus Torvalds una gran cantidad degente que ofreci mejoras e increment lafuncionalidad de dicho ncleo. Desde entonces,el desarrollo del kernelde GNU/LiNUX es untrabajo realizado por muchsimas personas entodo el mundo y supervisado por Linus.

    MiNiX era una herramienta didctica queacompaaba al libro "Modern Operating Systems"del eminente profesor Adrew Tanenbaum. MiNiXera a su vez un S.O. basado en los sistemasUNiX en los que el autor trabaj comodesarrollador.El desarrollo de LiNUX plante un debate enocasiones agrio entre la comunidad MiNiXparticipando en esta "contienda" tanto LinusTorvalds como A. Tanenbaum. A pesar de seruna historia apasionante, tendremos que dejarlaaparcada por ahora. Est ampliamente difundidapor Internet la copia del grupo de noticiasdonde se desar ro l l este debate(comp.os.minix ) pero os recomiendo estapgina donde se realiza un anlisis detallado

    de la postura de ambos bandos:http://www.cab.u-szeged.hu/local/linux/linux-obsolote.html (No os asustis por el hngaro,tan slo se utiliza en el primer prrafo).

    El proyecto GNU (acrnimo recursivo quecorresponde a "GNU is Not UNiX") nace en1984 capitaneado por Richard M. Stallmancon la finalidad de desarrollar un sistema

    operativo UNiX-like , es decir, similar a lossistemas UNiX de la poca, denominado HURD('Hird of Unix-Replacing Daemons' donde HIRD

    significa 'Hurd of Interfaces Representing Depth'),con la particularidad de que sera desarrolladobajo los trminos de Free Software (AplicacionesInformticas Libres). Una vez ms, a pesar delo interesante del tema, debemos de ceirnosa una mera presentacin. Si queris ahondarms en los trminos GNU y Free Software osrecomiendo una visita a http://www.es.gnu.orgdonde encontraris la informacin necesaria.

    Lo que s es muy interesante es que a pesarde los intentos de realizar un UNiX libre porparte de GNU desde 1984, en 1991 seencuentran todava en pleno diseo de susistema HURD. Por lo dems en estas fechasGNU ha desarrollado ya una grandsima cantidadde aplicaciones libres disponibles en cdigofuente y que estn disponibles en Internet.Por otra parte LiNUX es tan slo un ncleo deS.O. hurfano que s ha logrado utilizar muchasde las aplicaciones GNU. Tras decidir Linus queel cdigo del ncleo de su S.O. tambin sedistribuira bajo los trminos de la licencia GNU,era una cuestin de conveniencia el surgimientode una plataforma mixta cuyo corazn fuerael ncleo LiNUX, pero que el resto fuera frutodel trabajo de GNU.

    Es por esto que cuando hablamos de un S.O.LiNUX, estamos refirindonos a un sistemaGNU/LiNUX.

    3 - Cmo puedo conseguirGNU/LiNUX?

    Pues de diversas maneras. Antes he mencionadoque GNU/LiNUX es Software Libre. Esto noquiere decir que sea gratuito, como dicen enalgunos sitios ( :oP ) sino que si t obtienesuna copia, puedes realizar tantas copias comoquieras, y puedes hacer con estas copias loque desees: Regalarlas, venderlas, modificarlas,etc.... Slo has de cumplir un requisito: Dejar

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

  • 8/14/2019 Haxcra8

    7/68

    PC PASO A PASO N 8 Pgina 7

    bien claro al que se lo des, vendas, etc.... quepuede hacer lo mismo que has hecho t y quesi te piden el cdigo fuente debers de

    facilitrselo.

    Esta manera de hacer las cosas es la que hapropiciado el que surja el concepto dedistribucin. Una distribucin o distro deGNU/LiNUX se da cuando una persona, grupode personas o empresas, deciden crear unsistema GNU/LiNUX y distribuirlo, ya seacomercialmente o no. Como a cada hijo demadre nos gustan las cosas a nuestra manera,es lgico que si te ofrecen la posibilidad decrear un S.O. a tu medida lo hagas si te sientescapaz. Si adems puedes fardar delante de lanovia o ganar un dinerito con ello, miel sobrehojuelas. Las primeras distros surgenprecisamente como trabajo de particulares(Slackware con Patrick Volkerding a lacabeza), luego surgieron las distros tipo "club-de-amiguetes-que-se-conocen-en-el-cole-con-ganas-de-hacer-cosas" como Jurix, y luego losmiembros del club crecen, les salen hipotecascomo sabaones y montan empresas que sededican a lo mismo que hacan pero cobrando:SuSE.

    Este sistema ha venido funcionando muy bienhasta la fecha pues ha mantenido la"competencia" entre distribuciones y ha puestoen evidencia a los que hace unos aos decanque era imposible que saliera nada serio deun grupo de adolescentes desperdigados porel orbe. As se ha logrado simplificar muchoaspectos como la instalacin, la disponibilidadde aplicaciones, la disponibi l idad de

    controladores, etc....

    Dicho esto, es fcil de adivinar que si queremosconseguir GNU/LiNUX, debemos de hacernoscon una distribucin. Y es entoncescuando surgen las c inco preguntasestrella:

    - Cul elijo?

    La que desees. Seguramente ya tienes algunareferencia. Personalmente te aconsejo que siquieres algo "a lo XP" o "a lo Mac" escojas

    entre Mandrake, Red Hat, SuSE..... Sondistribuciones planteadas hacia un usuariodomstico al que le importa muy poco cmoestn colocados los desages de su ciudad;tan solo le interesa que no se le atasque lafontanera domstica.Si por el contrario ests ms familiarizado conlos sistemas UNiX y no deseas gastarte unapasta en una licencia de Solaris (tm) a la horade tener un entorno UNiX domstico, puedesoptar por una Slackware, Debian, Knopix,Gentoo, etc..... Sin olvidar las arribamencionadas.

    - Cul es mejor?Esto es subjetivo. Todo depende de lo quequieras hacer. Todas pueden hacer lasmismas cosas; ahora bien, unas estnconcebidas para ser fciles de manejar a unusuario normal; otras para dotar de la posibilidadde adecuar el S.O. a tu hardware de una formasencilla, otras para aumentar la seguridad,otras para programar.....

    Si eres recin llegado a GNU/LiNUX comienzapor una en la que no te sientas cohibido porel cambio (e.d. una que te recuerde mucho aotro S.O. que hayas manejado). Mandrake,RedHat o Suse sern tu opcin.

    - Cul est en espaol?Todas ellas. Cuando las instalas puedes escogerel idioma que desees.

    - Merece la pena comprarla?En un pas en el que an se sacan navajas porno pagar una ronda, esta pregunta es muyinteresante. Podra parecer que aquel que pagapor algo que puede conseguir gratis es, comopoco, bobo. Pues puede que no lo sea. Hoypor hoy recomendara comprar distribucionesa dos tipos de usuario: Por un lado al novatillodesorejado y asustadizo (que hemos sido

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

  • 8/14/2019 Haxcra8

    8/68

    Pgina 8 PC PASO A PASO N 8

    todos) que se aferra a los manuales como aun salvavidas: Los paquetes comerciales suelenvenir con excelentes manuales, asistencia

    tcnica gratuita durante un ao, y el derechoa hacer con todo ello lo que le de la gana.Cuando el autor de este artculo comenz conGNU/LiNUX hubiese agradecido, no ya unmanual en su idioma vernculo, sino alguiencon quien hablar de ello.

    El segundo tipo de usuarios a los querecomendara gastarse algo de dinero y entrelos que me reconozco, seran aquellos quecreen en que el Software Libre es una opciny que debe ser apoyada en la medida de loposible.

    Finalmente: Aunque decidas comprarte unacaja que pone Nosequ-Linux, la relacincalidad/precio ser excelente. An no heconocido a nadie que se haya arrepentido decomprar una distribucin GNU/LiNUX en unatienda.

    Sealar como dato curioso que precisamentelas distribuciones ms afines al usuario "normal"son las ms comerciales. Pero ojo, an assiguen siendo Software Libre.

    - Dnde la consigo gratis?

    Posibilidad A: En Internet. Hay lugares comoh t t p : / / w w w . l i n u x i s o . o r g / ohttp://www.rediris.com donde puedes bajartelas imgenes de CD-ROM de la mayora de lasdistribuciones.

    Posibilidad B: Pedrsela a un amigo, conocidoo similar...

    Posibilidad C: Otra manera para los que noposeen una conexin rpida en casa, es acudira los revendedores que te envan contrareembolso los CDs a casa. Es el caso dehttp://www.opencd.com/ y suele ser una opcinbastante econmica.

    Posibilidad D: Revistas sobre GNU/LiNUX. Esmuy raro que un mes alguna de ellas no regaleuna distribucin. A veces incluso son

    distribuciones que funcionan directamente desdeel CD ( live-cd). Suelen ser muy buena opcinpara echar un vistazo al GNU/LiNUX sin miedoa cargarnos nada.

    Bueno, tras lo dicho, se ve que es muy fcilconseguir una distribucin; es ms, la mayorade vosotros seguro que tenis una cerca delordenador, pero an no os sents con fuerzaspara afrontar esas historias tenebrosas quehabis odo contar sobre discos duros que seestropearon, tarjetas 3D que jams realizaronsu funcin, escneres convertidos enestanteras.....

    Ha llegado el momento de la instalacin.

    4 - Instalacin de GNU/LiNUX

    Este tema ser tratado en mayor profundidaden nmeros posteriores. De todas formas voya intentar de dar una descripcin general sobrela instalacin de GNU/LiNUX sin centrarme enninguna distribucin concreta y dar una seriede consejos que puede que sea de utilidad.

    4.1 - No ests slo.

    En los 8 aos que llevo con GNU/LiNUX an nome he encontrado con una distribucin que enel propio CD de instalacin no traiga ladocumentacin necesaria para instalarGNU/LiNUX. Suele ser documentacin especficade esa distribucin y suele estar disponible en

    varios idiomas. Este es elPunto 0 que a partirde ahora no nos abandonar nunca: Leerprimero la documentacin. Se que cuesta. Yotambin paso de leerla muchas veces. Yotambin tengo que leerla tras haberme tiradode los pelos.

    Esta documentacin suele estar en directoriosque se llamanDoc, Documentation, Installation,

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

  • 8/14/2019 Haxcra8

    9/68

    PC PASO A PASO N 8 Pgina 9

    Installing, etc....

    4.2 - Preparando el sistema

    Antes de instalar cualquier S.O. convienerecopilar una serie de informacin sobre nuestroordenador con el fin de tenerla a mano en casode que la necesitemos durante la instalacin.

    Para GNU/LiNUX la informacin ms relevantesuele ser:

    Particiones de disco duro: GNU/LiNUXnecesitar de espacio en disco para serinstalado. Esto requiere de que dispongamosde espacio libre (ojo, con "espacio libre" nonos referimos a los MBs libres en C: o D: sinoal espacio no asignado a ninguna particin) enel disco. Como este no suele ser el caso comny el que ms dolores de cabeza levanta, vamosa asumir desde ahora que tenemos unordenador con un S.O. de Microsoft previamenteinstalado y que las particiones creadas por esteocupan todo el disco duro.

    En este caso tendremos que reparticionar. Elproceso de reparticionarconsiste en cambiarde tamao una particin existente (FAT32,NTFS, etc...) reducindola de tamao. De estamanera dispondremos de espacio libre en eldisco no asignado a ninguna particin. Estatarea se puede realizar con aplicaciones comoPartition Magic, GNUparted o incluso desde elpropio proceso de instalacin de algunadistribucin GNU/LiNUX como Mandrake. Una vez que hemos obtenido espacio libre en

    disco debemos de tener en cuenta como senombran las particiones de disco en GNU/LiNUX

    para utilizar esta informacin en el futuro.Como heredero que es de sistemas UNiX,GNU/LiNUX accede a cualquier dispositivohardware como si de un archivo se tratase.Estos archivos que representan al hardware dela mquina (discos duros, memoria, tarjetas desonido, etc....) se sitan en el directorio /dev(dev, como abreviatura de device, en inglsdispositivo ). La manera en que GNU/LiNUX ve

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

    Comentario de...!

    La intencin de este artculo NO ES explicar a fondo cmose instala una "distro" de LINUX ni entrar de lleno entemas como el "redimensionado" de particiones,configuracin de la conexin a Internet en Linux, y muchos

    otros temas. Todo eso ya llegar. :)

    La misin de este excelente artculo es ofrecerte una presentacin de lo que significa GNU/LiNUX yproporcionarte los conocimientos mnimos necesarios parapoder comprender (y seguir) los artculos presentados en

    este nmero 8 de PC PASO A PASO (Los Cuadernos deHack x Crack): NETCAT, Perl y "pipes".

    Si tienes cualquier duda respecto a los temas en los que no

    profundizamos, tienes a tu disposicin EL FORO DEHACK X CRACK (www.hackxcrack.com), donde hay unaseccin GNU / LiNUX precisamente para que preguntesy disfrutes de un mundo que, quizs a da de hoy,

    desconoces.

    Tarde o temprano, si sigues leyendo esta revista, te serimprescindible tener a mano una instalacin de LINUX.

    No lo dejes por mas tiempo, decdete YA!!! e inicia de unavez por todas tu camino en este Sistema Operativo. Estaeditorial est convencida de que, si LINUX fuese el SistemaOperativo "por defecto" y todo el mundo lo conociese, esta

    revista tendra un nivel que nada tiene que ver con lo quehas visto/ledo hasta ahora. Microsoft te lo pone todo "muyfcil", quizs s, o no, segn se mire; pero te oculta (y casiimposibilita) la posibilidad de APRENDER y entender el

    funcionamiento de "las cosas". Linux es exactamente locontrario, te OBLIGA a comprender el funcionamiento delas cosas, esa es, desde nuestro punto de vista, LA GRANDIFERENCIA.

    Un abrazo a todos los lectores ;)

  • 8/14/2019 Haxcra8

    10/68

    Pgina 10 PC PASO A PASO N 8

    las particiones de un disco duro ser lasiguiente:

    Para nombrar un disco duro escribimos / d e v / h d X Y q u e c o r r e s p o n d e a"/dispostivo/discoduroXY" (disco duro se escribehard disken ingls y su abreviatura es hd), laX corresponder a una letra que nos dir enqu canal IDE se encuentra el dispositivo y la

    Y corresponder a un nmero de particindentro de ese dispositivo.

    Adems, si por ejemplo tenemos una unidadde CD-ROM / DVD, nos referiremos siempre aeste tipo de unidades como /dev/hdX, sin elnmero, dado que dentro de un CD-ROM nopodemos realizar particiones.

    Un posible esquema de particiones antes deinstalar GNU/LiNUX podra ser el siguiente:

    Imaginemos que en el anterior caso mostradodeseamos utilizar parte del espacio del discosituado como maestro en el canal IDE 1.Reparticionando dicho disco duro dejaramosun espacio no asignado de por ejemplo 7GB.En este espacio es donde crearemos particionesGNU/LiNUX. Recomiendo crear estas particionesdesde los propios programas de instalacin deGNU/LiNUX.

    Frecuencias de refresco del monitor:Otro dato relevante y necesario al configurar

    GNU/LiNUX son las frecuencias derefresco horizontal y vertical del monitor,luego tendremos estos datos a mano.Se encuentran normalmente en el manualdel monitor y ltimamente no suelenser necesarios dado que la mayorade las distribuciones lo autodetecta.S sern necesarios para Debian, Slackware,etc.....

    Datos de la red: Tanto si tenemos una redmontada en casa o una conexin a Internetnecesitamos conocer los datos necesarios para

    configurar nuestra red.

    En prximos artculos realizaremos unainstalacin paso a paso. Advierto que noscentraremos en GNU/LiNUX-Debian. Las razonespara ello son que es una distribucin 100%libre y que su instalacin puede ser calificadade "complicada" en comparacin condistribuciones como Mandrake, SuSE o RedHatque son ms fciles de instalar incluso quecualquier S.O. de Microsoft.

    5 - Ya tenemos GNU/LiNUXinstalado; y ahora, qu?

    Pues a partir de ahora nuestro escenario detrabajo va a ser la consola. La consola es elmedio bsico de comunicacin con un sistemaUNiX. Normalmente utilizaremos en la consolauna shello intrprete de comandos. La shellque viene por defecto en la mayora de lossistemas UNiX es el sh o bash. Para abrir laconsola tenemos varias opciones: Si estamosen un sistema sin entorno grfico, la pantallamostrar una pantalla similar a esta llamadapantalla de login:

    Si tenemose n t o r n og r f i c o ,tambin senos pedire s t ainformacinan tes deentrar en l y entonces podremos abrir unalnea de comandos de dos maneras:a) Ejecutando un emulador grfico de terminalcomo rlogin, xterm, kterm, gnome-terminal, etc....b) Pulsando la combinacin de teclas++FX dondeXpuede ser 1, 2, 3,4, 5 o 6. Para volver al entorno grfico tecleamos++F7.

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

  • 8/14/2019 Haxcra8

    11/68

    PC PASO A PASO N 8 Pgina 11

    Esta pantalla muestra al sistema listo para queintroduzcamos nuestro login o nombre deusuario. Posteriormente se nos pedir elpasswordde este usuario:

    S i hemosmetido elnombre deusuario y elp a s s w o r d

    correctos,entraremos en el sistema; en otro caso, se nosmostrar un mensaje de error. Una vez dentrodel sistema ya hemos accedido a la shell pordefecto. El smbolo $, llamado prompt, quepodemos observar en la lnea de comandosindica que el sistema est listo para aceptarcomandos.

    En el ejemplo mostrado se ha utilizado unusuario llamado luis . Este usuario ha podidoentrar debido a que es un usuario de estesistema y tiene una cuenta shell. Tener unacuenta es tener un login y unpasswordvlidospara acceder al sistema.Normalmente los sistemas GNU/LiNUX permitencrear uno o ms usuarios durante la instalacin,pero siempre existir un usuario denominadorooty que es el administrador del sistema. Esteusuario siempre existir y su passwordserestablecido durante la instalacin.

    No conviene utilizar habitualmente la cuentade root, dado que este usuario, por ser elusuario administrador, puede alterar cualquieraspecto del sistema, y si no sabemos muybien lo que hacemos (e incluso si lo sabemos)podremos daarle i rreversiblemente.Es por esto que se recomienda encarecidamenteel uso de otro usuario, dado que un usuario

    normal no puede daar las partes crticas delsistema.

    En prximos artculos veremos como crearnuevos usuarios.

    5.1- Navegando por la shell

    Una vez que hemos accedido a nuestra cuentay el sistema est esperando que le demosrdenes, debemos de introducir un comando.

    Una de las cosas a tener en cuenta a partir deahora cuando manejemos la lnea de comandode GNU/LiNUX, es que aqu se distingue entremaysculas y minsculas. A esta forma decomportarse se le denomina case sensitive. Esoquiere decir que no sern lo mismo el comandols que el comandoLSo el archivo carta.txtqueCarta.txto CARTA.TXT.

    Algunos de los posibles comandos de los quedisponemos son:

    Tal vez los comandos ms importantes seandos que no aparece en esta tabla: el comandoman y el comando info . Estos comandos nosmuestran informacin detallada de casi cualquiercomando o programa que tengamos instalado

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

  • 8/14/2019 Haxcra8

    12/68

    Pgina 12 PC PASO A PASO N 8

    en nuestro sistema. Requieren que estinstalado el sistema man e info, cosa que ocurrepor defecto. Por ejemplo, si queremos conocer

    todas las opciones del comando ls podemosteclear man ls. Otra manera ms rpida deconseguir ayuda suele ser emplear el parmetrohelp en un comando o programa. Por ejemplo,ls -help, nos mostrar la ayuda "en lnea" dedicho comando.

    Una vez que se ha hecho una presentacingeneral de lo que es un sistema GNU/LiNUX,vamos a examinar algunas de sus posibilidades.En los siguientes puntos vamos a ver: Cmoutilizar un potente lenguaje descripting, Perl;cmo instalar y utilizar un programa a partirde su cdigo fuente, netcat; cmo utilizaralgunas de las herramientas avanzadas delshell, pipes.

    6 - Instalando un programa apartir de su cdigo fuente

    Normalmente las distribuciones utilizan comomedio de instalacin los llamados "paquetes".Estos no son ms que un archivo que contienetodos los archivos binarios (es decir, losejecutables y sus libreras) que componen unaaplicacin, as como informacin especficasobre dnde se debe de colocar cada uno delos archivos que componen el paquete o si lainstalacin de un determinado paquete requierede la instalacin previa de otros (dependencias)o bien si no es compatible con otros (conflictos).Existen varios formatos de paquetes: deb(Debian), rpm (RedHat/Mandrake/SuSE), ice(ICE), tgz(Slackware), etc...... Cada distribucin

    viene con una serie de paquetes en sus CD-ROMs y normalmente el proceso de instalarlosconsiste, ya sea en un sistema que estamosinstalando o en un sistema ya instalado, enseleccionarlos, resolver las posiblesdependencias y/o conflictos e instalarlos.

    Pero hay ocasiones en las que determinadoprograma no viene en nuestra distribucin.

    Entonces tendremos que buscarlo en Internet.Un buen punto de partida suele serwww.google.com/linux. Algunas de estas

    aplicaciones que podemos encontrar en Internetponen a disposicin paquetes para determinadasdistribuciones. En este caso bastara con bajardeterminado paquete e instalarlo de la manerausual.Pero si no encontramos el paquete especficopara nuestra distribucin o simplementedeseamos generar los ejecutables de maneraque se acoplen como un guante a nuestrosistema, la opcin sin lugar a dudas quedebemos tomar es la de bajarnos los cdigosfuente del programa. Como alguien del forodice, el secreto est en las fuentes ;o)

    El medio ms comn de bajarse el cdigo fuentede una aplicacin es bajarse un archivo tarballcomprimido. Tarballsignifica algo as como bolade estircol y recibe su nombre de las bolasque generan los escarabajos peloteros. La raznde llamar as a este tipo de ficheros es que sumisin es la de almacenar toda una estructurade directorios y su contenido en un nica archivoque llevar la extensin .tar. La razn de haceresto es que cuando los ordenadoresalmacenaban la informacin en una cintamagntica, esta careca de una FAT tal y comola conocemos hoy en da por limitaciones fsicas.De hecho, en la antigua carrera de informticaexista una nica asignatura que trataba estetipo de problemas (mtodo Warnier ).

    Ancdotas aparte, estos ficheros suelen ser deun gran tamao, por lo que se les suelecomprimir. Si el compresor que se ha utilizado

    para comprimir el archivo tarha sido el gzip,obtendremos una archivo con las extensiones.tar.gzo .tgz. Si el compresor ha sido compressel archivo llevar las extensiones tar.Zo tgZ. Ysi el compresor utilizado ha sido el modernobzip2 obtendremos archivos cuya extensin es.tar.bz2 o .tbz.

    Hoy por hoy los ms comunes son los

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

  • 8/14/2019 Haxcra8

    13/68

    PC PASO A PASO N 8 Pgina 13

    comprimidos con gzip o bzip2. La manera dedescomprimir este tipo de archivos es invocara tar (programa que sirve para restaurar o

    crear un archivo tarball) es la siguiente:- .tar.gz o tgz: tar xvfz nombre_del_archivo_tarball- .tar.bz2 o tbz: tar xvfj nombre_del_archivo_tarball

    Una vez descomprimido el archivo, se nos habrcreado un directorio dentro del cual se harestaurado la estructura original que contenael archivo tarball.

    A partir de este momento pasamos a la tareade compilar el programa, o dicho de otramanera, a la tarea de generar archivos binarios(ejecutables, libreras, etc....) a partir de sucdigo fuente.

    Hasta hace no mucho la tarea de compilar unprograma a partir de su cdigo fuente era unatarea un tanto ardua que requera de ciertosconocimientos del sistema y del compiladorutilizados. Esto es debido a que los programasFree Software distribuyen su cdigo fuente demanera que pueda ser compilado en la mayorparte de las plataformas y SS.OO. existentes.

    Afortunadamente de unos aos a esta partehan surgido herramientas como las autotoolsque simplifican mucho el proceso de generaruna aplicacin a partir de su cdigo fuente.

    Actualmente el proceso de compilacin einstalacin de una aplicacin a partir de sucdigo fuente consta de cuatro pasos:

    - Descomprimir el archivo tar y entrar en eldirectorio:

    $ tar xvfz archivo_fuente.tgz

    $ cd archivo_fuente_dir

    - Configurar las fuentes para ser compiladas:

    archivo_fuente_dir $ ./configure

    En caso de que necesitemos instalar algn otro

    programa o librera para poder compilar elnuestro se nos dir en este punto.

    - Compilar las fuentes e instalarlas:

    archivo_fuente_dir $ make

    archivo_fuente_dir $ su --

    Password:

    archivo_fuente_dir # make install

    Obsrvese que en la ltima tarea nos hemosconvertido en administrador (su -- ) con el finde poder instalar los archivos binarios compiladosen su lugar.

    A pesar de que, como se ha comentado, estasuele ser la secuencia normal a la hora deinstalar un programa, conviene que siempreleamos dos archivos que siempre acompaana las fuentes de un programa: README (lame)e INSTALL (instalacin). Estos archivos contieneninformacin precisa sobre como instalar unprograma concreto.

    Ahora vamos a practicar lo visto con un casoreal. Para ello nos vamos a bajar el cdigofuente del netcaten su versin 6 para podercompilarlo bajo GNU/LiNUX de la siguiented i r e c c i n :http://freshmeat.net/projects/nc6/?topic_id=87Esta versin soporta los protocolos tanto IPv4e IPv6, por si localizamos algn servidor quesoporte este protocolo.

    Vamos a bajarnos el archivo nc6-0.4.tar.bz2por ser el ms comprimido y el que menostiempo tardar en descargarse.Una vez descargado, seguimos los pasos arriba

    descritos:

    luis@el_chaman $ tar xvfj nc6-0.4.tar.bz2

    luis@el_chaman $ cd nc6-0.4

    luis@el_chaman ~/nc6-04 $ ./configure

    luis@el_chaman ~/nc6-04 $ make

    luis@el_chaman ~/nc6-04 $ su --

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

  • 8/14/2019 Haxcra8

    14/68

    Pgina 14 PC PASO A PASO N 8

    Password:

    root@el_chaman ~/nc6-04 $ make install

    Si todo ha ido bien, en/usr/local/bin tendremosel ejecutable del netcat: nc6.

    Ahora si quisiramos conocer el funcionamientode este programa teclearamos

    root@el_chaman ~/nc6-04 $ nc6 --help

    Usage:

    nc6 [options...] hostname port

    nc6 -l -p port [-s addr] [options...] [hostname] [port]

    Recognized options are:

    -4 Use only IPv4

    -6 Use only IPv6

    -h, --help Display help

    -l, --listen Listen mode, for inbound connects

    -n Numeric-only IP addresses, no DNS

    -p, --port=PORT Local source port

    -q, --hold-timeout=SEC1[:SEC2]

    Set hold timeout(s) for local [and remote]

    -s, --address=ADDRESS

    Local source address

    -t, --idle-timeout=SECONDS

    Idle connection timeout

    -u, --udp Require use of UDP

    -v Increase program verbosity (call twice for max

    verbosity)

    -w, --timeout=SECONDS

    Timeout for connects/accepts

    -x, --transfer File transfer mode

    --recv-only Only receive data, don't transmit

    --send-only Only transmit data, don't receive

    --buffer-size=BYTES

    Set buffer size

    --mtu=BYTES Set MTU for network connection transmits

    --nru=BYTES Set NRU for network connection receives

    --half-close Handle network half-closes correctly

    --disable-nagle

    Disable nagle algorithm for TCP connections

    --no-reuseaddr

    Disable SO_REUSEADDR socket option (only in

    listen mode)

    --sndbuf-size Kernel send buffer size for network sockets

    --rcvbuf-size Kernel receive buffer size for network sockets--version Display nc6 version information

    Un ejemplo de uso de netcat sera:

    luis@el_chaman $ nc6 localhost 25

    que realiza un telnet al puerto 25. Todos losejemplos que se traten o hayan tratado en larevista utilizando netcat los podremos realizar

    ahora desde nuestro equipo GNU/LiNUX.

    7 - Un lenguaje de scripting enGNU/LiNUX: Perl

    A pesar de que las propias shell poseen unpotente lenguaje descripting (sh script, csh script,ksh script, etc....) muchas veces se opta porutilizar lenguajes descripting disponibles params plataformas, o, simplemente ms adecuadospara tareas concretas. Este es el caso de Perl

    (Practical Extraction and Report Language) queest disponible para casi cualquier plataformasy adems es un lenguaje descripting(dado quees interpretado) muy adecuado para tareas dered as como manejo de archivos o textos. Todoesto nos interesa mucho dado que podemosrealizar scripts que realicen tareas potentessobre red y tener la seguridad de que aunquelo ejecutemos en distintos SS.OO., funcionarnsin hacer cambio alguno (siempre y cuandoesos SS.OO. tengan instalado un intrpretePerl)Tradicionalmente ha sido el lenguaje con el quesen hecho la mayora de los CGIs en la WWW.

    Perl viene con casi todas las distribuciones, asque no tendremos que buscar por Internet,aunque si somos de los que nos gusta compilarlodesde las fuentes, el lugar que debemos visitarsin lugar a dudas es CPAN (www.cpan.org)donde podremos encontrar miles de pginasde documentacin, mdulos,scripts de ejemplo,etc.....

    Para escribir un script en Perl debemos de crearun archivo de texto al que le pondremos laextensin .pl y cuya primera lnea sea

    #!/usr/bin/perl

    o la ruta donde tengamos instalado perl. Estaes la manera en la que losscripts UNiX llaman

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

  • 8/14/2019 Haxcra8

    15/68

    PC PASO A PASO N 8 Pgina 15

    al intrprete adecuado, en este caso el Perl.Haciendo esto, nos ahorramos el tener queinvocar al intrprete desde la lnea de comando,

    tal y como hacemos en este ejemplo:

    luis@el_chaman $ perl archivo.pl

    Cosa que tambin es correcta y podemos hacer.

    Dicho esto, examinemos algunas caractersticasde este lenguaje:

    Sintaxis:

    Cada lnea de comando debe finalizar conpunto y coma (;)Cada lnea de comentarios, sobre las lneas deprogramacin deben iniciar con el smbolo: #Los bloques de cdigo de Perl, tales como losciclos de control y las condiciones siempredeben encerrarse entre llaves ({..}).

    Variables:

    Perl utiliza como base el tipo escalar. Un escalares un tipo de dato que puede ser un entero,un real o una cadena.Las variables irn siempre precedidas delsmbolo $ sin necesidad de ser declaradas alinicio del programa como puede suceder enotros lenguajes como el C.Ejemplo de utilizacin de variables en Perl:

    $numentero = 6; # un entero

    $cadena = "11"; # una cadena

    $numreal= 4.5; # un real;

    Entrada/Salida:

    A la hora de realizar operaciones deentrada/salida vamos a disponer de la funcinprint para imprimir y del dispositivo para la entrada. La entrada, para aquellos queestis acostumbrados a otros lenguajes resultacuanto menos curiosa; funcionar asignadouna variable el valor que tecleemos de la

    siguiente manera: $variable=;Cuando Perl interpreta esta lnea, espera a quese introduzca un dato y se presione ENTER

    (retorno de carro). Ojo que tambin se lee elENTER. Para evitar futuros problemas con ello,disponemos de otra funcin: chop que eliminael ltimo carcter de una cadena de texto.

    Vista la entrada y salida, va siendo hora de quehagamos nuestro primer programa en Perl.

    Como no, es un " Hola mundo" :o) :

    #/usr/bin/perl

    # Primer programa en Perl

    print "Deme su nombre: ";

    $minombre=;

    print "Hola $minombre";

    # Como no hemos eliminado el retorno de carro

    # saltar una lnea. Si queremos aadir saltos de

    # lnea, agregamos el carcter '\n'

    # Imprimimos de nuevo nuestro nombre tras

    eliminarle

    # el ltimo carcter

    chop $minombre;

    print "$minombre es el mejor \n";

    La salida de este programa sera:

    luis@el_chaman $ perl archivo.pl

    Deme su nombre: Fulanito

    Hola Fulanito

    Fulanito es el mejor

    luis@el_chaman $

    Bueno, esta ha sido la presentacin del lenguajePerl. Como es obvio nos dejamos muchas cosasen el tintero, pero no olvidemos el contexto enel que se realiza. Ms adelante profundizaremos

    en este apasionante lenguaje.

    8 - Pipes (tuberas); fontanera ennuestra lnea de comandos

    Cualquier programa que utilizamos desde lalnea de comandos puede ser visto como unsistema de caja negra que por un lado recibeinformacin, y por el otro nos ofrece unos

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

  • 8/14/2019 Haxcra8

    16/68

    Pgina 16 PC PASO A PASO N 8

    resultados que, por supuesto son tambininformacin. Esta manera de comportarse esindependiente del S.O. que utilicemos.Grficamente se representara de la siguientemanera:

    Normalmente la informacin de un programase recibe por la entrada estndar (teclado) yse muestra por la salida estndar (pantalla).

    Pero en determinadas ocasiones nos podra

    interesar tener este esquema:

    Es decir, que la salida de un programa fuesela entrada del otro. Pues bien; diversos SS.OO.entre los que se encuentran UNiX, GNU/LiNUXy Windows en su lnea de comandosproporcionan una herramienta que hace esto:Los pipes (tuberas) cuyo smbolo es | (barravertical).

    Ejemplo: Los comandos dir y more realizanrespectivamente las siguientes tareas; dirnoslista todos los archivos de un directorio (ls enGNU/LiNUX); more nos muestra pgina a pginael contenido de un archivo.Dicho de otra manera, dir/ls proporcionan comoinformacin de salida un listado de archivos;more necesita como entrada texto a paginar.Si tecleamos:

    dir | more Windows

    ls | more GNU/LiNUX

    El listado generado por dir ser visto pormore como la informacin a paginar. Estoes vlido para cualquier comando quedesde consola necesite o proporcioneinformacin.

    Comentario de...!

    9 - Conclusiones

    Este artculo, a pesar de su extensin, ha sidouna presentacin de muchos temas pero pocaprofundizacin en ellos. La razn es que muchasveces debemos de tener una visin global de

    lo que supone tener un S.O. con tantasposibilidades como GNU/LiNUX antes deprofundizar en l. He procurado tocar los puntosde GNU/LiNUX que tienen relacin con otrosartculos de esta revista para de esta manerapercibir mejor las posibi l idades e ir"enganchando" a algn incauto windowsero;o).

    Espero que haya servido de ayuda a alguien yesperemos que en el futuro profundicemos ypresentemos temas que, ay, han quedadoobligatoriamente en el disco duro.

    Un saludo.

    Luis U. Rodrguez Paniagua

    GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU - LINUX - GNU

    Comentario de Hack x Crack: Toma buena nota de estaexplicacin, en otro artculo de este nmero 8 tenemos un

    ejemplo prctico :)

  • 8/14/2019 Haxcra8

    17/68

    PC PASO A PASO N 8 Pgina 17

    1. Arrancar y parar Apache

    Lo primero que hay que hacer es poner enmarcha el servidor Apache, para ello sigue lospasos del nmero 7 de Hack x Crack o mejorhazlo desde una Ventana de Comandos:

    - Abre una ventana de MSDOS (Shell, ventanade comandos), ya hemos explicado en

    nmeros anteriores una y mil veces como sehace esto de abrir la ya famosa ventanita negra

    ;p.- R e c o r r e l o sdi rector ios hastasituarte en el directoriodonde instalases el

    Apache (nosotros loi n s t a l a m o s e nC:\Apache). Ya sabes,lo hemos hecho mil

    veces, en nuestro casosera introduciendo elcomando cd c:\Apache (y pulsa enter)- Vers que hay un ejecutable llamadoapache.exe, todo esto ya lo vimos en elnmero anterior. Cmo? Que no ves el archivoapache.exe? Como se nota que no te has ledoni uno solo de nuestros nmeros, venga,introduce el comando dir y pulsa enter

    Pon apache.exe -h y obtendrs un listado detodos los parmetros de entrada que admiteel ejecutable apache.exe

    Para poner en marcha el apache desde la lneade comandos pon:

    S instalaste...!

    APACHE Parte II:Configuracion - Compartetus ficheros mediante web

    Bienvenidos de nuevo al mundo de APACHE :)

    En el anterior nmero instalamos el Servidor Web Apache con los parmetros por defecto,

    por lo que an no es recomendable que pongis el servidor visible al mundo, aunque ya

    podemos empezar a experimentar ;)

    Recuerda que no existen muchas diferencias entre el servidor instalado en vuestro

    ordenador personal y el de un Servidor Comercial (si que existen diferencias pero no

    tantas).

    Si instalaste APACHE en otro directorio, por ejemploc:\apache\Apache o C:\loquesea\Apache, no importa,simplemente sigue este ejercicio cambiando la ruta.Este artculo est escrito interpretando que el Servidor

    Apache est instalado en c:\Apache

  • 8/14/2019 Haxcra8

    18/68

    Pgina 18 PC PASO A PASO N 8

    Apache.exe -k start

    Si est todo correcto el servidor se iniciar sin

    problemas y, como podrs comprobar, laventana del MSDOS no te devuelve el promtdel sistema (no podrs escribir nada mas enesta Ventana de Comandos. No cierres laventana, si la cierras el servidor Apache dejarde funcionar.

    Para continuar con la prcticaabre una nueva ventana deMSDOS, tienes que tener dosventanas abiertas, una con el

    Apache en marcha y otra paraque puedas introducir nuevos comandos. Estoes debido a que ya no podemos escribir nadaen la ventana anterior pero necesitamos "hablar"(dar ordenes) con el Servidor APACHE, as que,venga, abre otra "ventanita negra", ves aldirectorio c:\Apache (cd c:\Apache) y vamosa parar el servidor. Para ello tienes dos opcionesque realizan la misma funcin:

    Apache.exe -k stopApache.exe -k shutdown

    A los pocos segundos vers como la ventanadel sistema que no te dejaba escribir ya tepermite manipularla, quiere decir que el servidorweb ya no est en marcha y se ha liberado lamemoria.

    2. Conocer la versin de Apache.

    Cada cierto tiempo Apache saca una nuevaversin solucionando los bugs, hay que decirque Apache es un servidor bastante establecomparado con otros servidores webs comoIIS (de Microsoft). La web oficial de Apache.orgofrece su base de datos de bugs en funcindel sistema operativo y versin de Apache,

    como es lgico Apache soluciona los problemasy saca una nueva versin sin los bugs conocidos.Conocer la versin de Apache te aportar

    conocer la poltica del departamento de sistemaspropietaria del servidor (las personas que estndetrs manejando el servidor) y lasvulnerabilidades del servidor web.

    Si el servidor analizado tiene una versin deApache antigua quiere decir que el administradorencargado de mantener el servidor no se estpreocupando de la seguridad. Ves por dondevan los tiros? X)

    Averiguar la versin de Apache de formalocal

    El ejecutable Apache.exe ofrece un parmetroque te indica la versin de servidor webinstalado. Recuerda que tienes que estar situadoen el directorio donde tienes instalado el

    Apache.(C:\apache\)

    Apache.exe -v

    La informacin que te permite conocer es laversin y fecha de cuando fue compilado porltima vez. Si te hasinstalado el Apachepartiendo del captuloanterior (revista n7)tienes que tener laversin Apache/1.3.27(Win32).

    Averiguar la versin de Apache de formaremota

    Conocer la versin de Apache de otras mquinases muy sencillo, puedes hallar y de forma muyrpida y sin dejar rastro tu inters por conocerla versin del servidor web de cualquier otroservidor Apache. Para ello vas a utilizar el clienteTelnet, ya se coment en el nmero 7 de Pasoa Paso el cliente Telnet por lo que no vamos arepetir el funcionamiento del cliente Telnet.

    APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

  • 8/14/2019 Haxcra8

    19/68

    PC PASO A PASO N 8 Pgina 19

    Simplemente comentarte que el cliente telnetde windows 98 se presenta como una ventanade windows y no a modo de texto como en

    XP/2000, incluso es ms sencillo de utilizar site ests iniciando en los clientes Telnet.

    Ejecutamos el comando de sistema telnet.exe,como vers se abre una ventana sin contenido,con el fondo blanco y con un men en la partesuperior. Selecciona Sistema remoto delmen desplegable Conectar.

    En nombre de host puedes poner un dominio

    o la IP de un servidor.Cambia el puerto, por defecto est el Telnet(puerto 23), cambialo a 80 (es el puerto pordefecto del servidor web). El parmetro tipode terminal no hace falta que lo cambies.Resumiendo, pon los siguientes datos:

    Nombre de host: 127.0.0.1 de esta formate conectars a tu propio servidor.Puerto: 80(Recuerda iniciar el Servidor Apache antes de

    Aceptar: apache -k start)

    Al aceptar vers que no ocurre nada, escribecualquier cosa (no vers lo que escribes) ypulsa el botn return del teclado. Al instanterecibirs un texto comunicando un error demtodo no implementado (Error 501 MethodNot Implemented). Lo que ha sucedido es queel servidor estaba esperando que le enviaras

    un comando HTTP correcto, pero para averiguarla versin de Apache es suficiente con enviarcualquier cosa.

    Lo que ests haciendo mediante el cliente detelnet es conectarte al servidor Apache sinutilizar el Browser (Internet Explorer o Netscape).Esta tcnica es muy til si necesitas conocerlas versiones de los servicios que estnfuncionando en los servidores. Vamos a ponerun par de ejemplos :)

    EJEMPLO 1: Vamos a averiguar qu versin de

    apache est corriendo en el servidor de amen-es que contiene las pginas de Hack x Crack(www.hackxcrack.com).

    a) - Iniciamos el Telnet e intentamos conectarnosa www.hackxcrack.com. Si tienes Windows2000/XP, ya sabes, abres una ventana DOS yescribetelnet (y pulsa return)

    APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

    S utilizas...!

    Si utilizas el telnet de Windows XP, como en el nmero 7

    de Hack x Crack, debers:- Abrir una Ventana de Comandos- Escribir telnet 127.0.0.1 80En este momento tendrs ante ti una ventana completamente

    en negro, sin una sola letra.- Escribir cualquier cosa (aunque no se ver reflejado enla ventana) y pulsar enter. En ese momento vers el mensaje

    de error y la versin de apache del remoto, como en laimagen ;)

  • 8/14/2019 Haxcra8

    20/68

    Pgina 20 PC PASO A PASO N 8

    * Esto inicia la consola Telnet

    b) - Ahora escribes

    set localecho (y pulsa enter)* Esto habilita el eco local

    c) - Finalmente escribeopen www.hackxcrack .com 80* Esto nos conecta al servidor donde estnalojadas las pginas de Hack x Crack.* En este momento deberas ver un mensajeq u e r e z a " c o n e c t n d o s e awww.hackxcrack.com...", como en la imagen

    d ) - A h o r ae s c r i b ecualquier cosay pulsa enter,con lo queobtendrs esto:* Ya puedesb u s c a r l avers in de lServidor Web,ya, que no laencontrars

    claro, claro, no todo es tan sencillo ;p quelos administradores pueden ocultar este dato,pero eso lo solucionamos YA!!!

    - Abre una nueva Ventana DOS y repite lospasos hasta el punto c) incluido. Ahora, enlugar de escribir cualquier cosa y pulsar entercomo en el paso d), lo que hacemos es escribirget www.hackxcrack.comy os aparecer la versin de Apache ;p

    Esto no os funcionar en todos sitios, claropero la experiencia es la madre de la ciencia;ya sabes, poco a poco y paso a paso ;)

    En el nmero 7...!

    EJEMPLO 2: Telnet, para averiguar si un servidortiene instalado el MySQL y adems poderaveriguar la versin, simplemente tienes quecolocar la IP del servidor y el puerto de MySQL(3306). Veeeenga, vamos all.

    La pregunta es Tiene el servidor dehackxcrack.com el servic io MySQL?- Sigue los pasos anteriores a), b) y c) PEROen el paso c) ponopen www.hackxcrack.com 3306y obtendrs algo parecido a esto:Je, je mira pordonde, el servidor

    d e w w w .hackxcrack.comtiene el servicioMySQL versin3.23.53 pero nosestamos olvidandodel objetivo de este artculo, volvamos a nuestroquerido APACHE!!!

    3. Configurando el apache

    Toda la configuracin del servidor web estguardada en el fichero llamado http.conf deldirectorio c:\apache\conf\. Este fichero de tipotexto puede ser editado con cualquier editorde textos, recomendamos el bloc de notas (mssimple imposible). Pues abre el archivo y anno toques nada, pues un cambio errneo eneste archivo y dejars sin funcionar el servidorweb.

    APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

    En el nmero 7 de Hack x Crack, en el artculo RAW1 ya

    trabajamos con telnet, si no entiendes qu es eso dellocalecho y otras cosas, ya sabes, pgale un vistazo alnmero 7 :)

  • 8/14/2019 Haxcra8

    21/68

    PC PASO A PASO N 8 Pgina 21

    Una vez abierto se observa que existen lneasprecedidas por el smbolo # estas lneas comohabrs supuesto son comentarios que describen

    el parmetro y el valor que hay a continuacin.

    ServerTypeEl primer parmetro que encontrars esServerType, este parmetro indica a Apachecomo debe manipular internamente laspeticiones de los navegantes. Lo que oscomentamos a continuacin es ms culturillaque otra cosa, pero es necesario saberlo paraconocer como trabaja un servidor Webinternamente.

    ServerType puede tener dos valoresstandalone | inetd, entre ambos parmetrosexiste una gran diferencia relacionada con laeficacia del sistema. El proceso de un servidorconfigurado como inetd se cierra en el mismomomento en el que termina de atender lapeticin recibida. Mientras que en el modostandalone, el subproceso se queda

    esperando cierta cantidad de tiempo antes decerrarse. De esta forma se pueden volver autilizar en el futuro. Como no hay que dedicarrecursos de sistema para volver a abrir elproceso, se mejora la eficacia del servidor.Inetd tiene sus ventajas, se considera msseguro que standalone.

    Cundo se tiene que utilizar uno u otro?, si

    la web tiene miles de visitas y deseas que elservidor no consuma recursos de sistemaentonces selecciona standalone, pero si quieres

    mayor seguridad en tu servidor web a costa deutilizar ms recursos (ms memoria, ms micro,...) entonces utiliza inetd.

    Es necesario que sepas que Apache enplataformas Windows solo funciona elstandalone mientras que en otros sistemascomo Linux se acepta el Inetd, ya puedessuponer que el Apache en Windows consumirmenos recursos y que es ms propenso a fallosde seguridad.

    ServerRootEste parmetro indica el lugar dnde seencuentran los archivos de configuracin, errory registros. Es el directorio padre de todos losarchivos relacionados con el servidor Apache.En nuestro ejemplo es: c:/apache/ (en la imagenanterior puedes ver que el directorio padre esc:/apache/apache, eso es porque esa imagencorresponde a alguien que ha instalado Apacheen el d i rector io c :\apache\apache)

    Vamos a realizar una prueba cambiando esteparmetro, lo primero que tienes que hacer esparar el servidor Apache (recuerda: apache.exe-k stop) una vez parado pon cualquier otra cosaen ServerRoot, por ejemplo ServerRootc:/apacheerror/, graba el archivo deconfiguracin.

    Se ha colocado una ruta errnea, Apachedispone de un sencillo debugger que te indicarel error ocurrido

    y hasta que no losoluciones no tepermitir ejecutarel Apache. Paracomprobar si ela r c h i v o d econfiguracin es correcto utiliza el parmetro-t, de la siguiente forma:Apache.exe -t

    APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

  • 8/14/2019 Haxcra8

    22/68

    Pgina 22 PC PASO A PASO N 8

    Te mostrar como resultado el nmero de lneadonde se ha producido el error. Terecomendamos que siempre que cambies el

    archivo de configuracin compruebes si estcorrecto. Ahora vuelve a colocar como estabael ServerRoot (c:/apache/)

    TimeOutEl valor de este parmetro indica el nmero desegundos antes de enviar un timeout. Es unvalor a tener en cuenta en la optimizacin delservidor Apache, es posible y de vez en cuandoocurra que, al solicitar una pgina web, elservidor necesite ms tiempo para procesar lapeticin y enviar la pgina web. Imagina quepor cualquier motivo el servidor entra en unbucle infinito, esto consume mucha memoria,micro, ... pues con el timeout le dices que alos X segundos pare. Las empresas de hostingtienen que tener muy controlado este valor,pues piensa en crear un bucle infinito en unapgina PHP que nunca llegue a responder alnavegante. Esto le supone al servidor una cargade procesamiento mayor y tener un proceso

    ocupado un largo tiempo consumiendo recursos.

    El valor por defecto es de 300 segundos (5minutos). Si utilizas tu servidor web para mostrarpginas HTML, compartir ficheros puedes dejarlocomo est, pero si lo utilizas para ofrecer a tusamigos espacio web te recomendamos quereduzcas el tiempo.

    PortEl puerto HTTP predeterminado es el 80 y esel que se utiliza en la mayora de los servidoresWEB. Puedes cambiar el puerto por uno

    comprendido entre el rango 1024 y 32769,ambos incluidos. Todos los puertos menoresde 1024 se consideran estndares y ya estnasignados por defecto a otros servicios. Tenen cuenta que si utilizas un puerto diferente al80, tienes que especificar el puerto en la URLdirigida al servidor.

    Por ejemplo, si utilizas el puerto 8080, la url

    p a r a a c c ede r a l s e r v i do r s e r :h t t p : / / 1 2 7 . 0 . 0 . 1 : 8 0 8 0 ohttp://www.midominio.com:8080, como vers

    primero va la IP o el dominio y luego dos puntosjunto al puerto.

    Si pones en el navegador (el Internet Explorer,Netscape o el que utilices normalmente)http://127.0.0.1:80 comprobars que funcionacorrectamente, en cambio si colocas cualquierotro puerto te dar error.

    Utilizando los dos puntos y el puerto puedescapturar a travs del navegador informacinde otros servicios instalados en los servidoresremotos, por ejemplo, quieres confirmar si elservidor de hackxcrack tiene un servidor MySQLy si lo tiene que versin utiliza?, ponhttp://www.hackxcrack.com:3306 en tunavegador y vers que la versin es 3.23.53 ;)

    ServerAdmin

    Cuando ocurre un error el servidor web genera

    APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

    Puedes utilizar...!

    Puedes utilizar un puerto diferente para que tu web sea

    accesible desde Internet pero que no sea encontrada porlos buscadores o que sea accesible solo para tus amigosque conocen la direccin exacta, si cambias el puertocomplicas bastante la deteccin de una web.

  • 8/14/2019 Haxcra8

    23/68

    PC PASO A PASO N 8 Pgina 23

    un error y no puede mostrar la pgina solicitadaenva una pgina de error, en esa pgina semuestra una direccin email del administrador

    de sistema. De esta forma los visitantes delsitio web podrn informar de cualquier problemaa travs de un mensaje de correo electrnico.

    P o r e j e m p l o : S e r v e r A d m i [email protected]

    Servername

    Aqu puedes colocar un dominio o una IP,recuerda que este parmetro se configur enla instalacin (en unos de los pasos explicadosen HxC n7), ahora ya puedes cambiarlo conel valor que quieras, como es un servidor depruebas pon Servername 127.0.0.1

    DocumenRoot

    Este parmetro indica al servidor que ha deconsiderar el directorio especificado como elpath del nivel superior. La eleccin de estedirectorio es muy importante, por ejemplo siel valor es DocumentRoot "c:/" podrs accedera todo el disco duro. Obviamente se puedeproteger dichos archivos estableciendo lospermisos oportunos.

    A este root (el documentRoot) se le llama Rootvirtual, para aclarar el documentroot y queveas la utilidad de este importante parmetro,el valor es la ruta PATH del disco desde dondepuede Apache encontrar las pginas web pordefecto.

    Si tienes dos discos duros, puedes colocar enun disco duro la instalacin de Apache juntocon los archivos del sistema operativo y colocaren otro disco duro las pginas webs, deeste modo no corres el riesgo de que algn

    curioso pueda acceder al disco duro dondetienes instalado el sistema (apache, sistemaoperativo) y fastidiarte como ya te puedesimaginar.

    Por ejemplo, puedes tener otra unidad "e"donde colocars los archivos HTML, GIF, MP3,DIVX, ..., Los parmetros a modificar seran:

    ServerRoot "C:/apache/ "

    DocumentRoot "E:/"

    Como puedes ver el root del servidor(ServerRoot) est donde se instal el Apachemientras que el Root de las pginas web seencuentra en la unidad E. De esta forma tansencilla has dificultado el acceso al sistema decuriosos, os aseguro que muchas empresas dehosting tienen un servidor muy potente con undisco duro de muchas gigas (en una unidad)y este disco duro est compartido por el sistemaoperativo y todos los dominios, cualquierwebmaster con nociones de PHP puede accedera otros dominios si estos parmetros estn malconfigurados. Primero vamos a aprender aconfigurar el Apache que luego, en futuroscaptulos, veremos como podemos acceder alcontenido de otros dominios teniendo accesodesde uno ;)

    Te adelantamos un detalleHemos explicado varios parmetros que sonmuy importantes para la configuracin delservidor Apache, el fichero httpd.conf lo tienesconfigurado para que funcione en un sloespacio web, es decir, tienes un dominio o IPasociado a un espacio de disco de tu ordenador.Pues te adelantamos que puedes crear msespacios webs en tu ordenador, es decir, haspensado ofrecer hosting a tus amigos?, con

    Apache es posible, puedes alojar en tu mismo

    ordenador varios dominios y cada uno con supropia configuracin. Pero no corramos, en elprximo captulo aplicaremos todo lo aprendidoen este nmero, que no es poco, creando variossitios en tu propio ordenador. Tu servidor noser muy diferente a los servidores de empresasde hosting.

    Por qu te decimos todo esto? Muy sencillo,

    APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

  • 8/14/2019 Haxcra8

    24/68

    Pgina 24 PC PASO A PASO N 8

    todos los parmetros que hemos comentadoson globales, es decir, afectan a todos los sitioscreados. Puedes configurar sitios con

    parmetros personalizados, por ejemplo, puedescrear un sitio que para acceder tengan queponer el puerto 8080 y otro sitio con el puerto80. Ms adelante vers la diferencia.

    "Ocultamiento" de archivos

    En el directorio del sitio web (c:\apache\htdocs\,recuerda que aqu es donde tienes que alojartodas las pginas html e imgenes) tienes quetener un index.html de "Hola mundo" creadoen HxC n 7, pues brralo y crea los siguientesdirectorios: divx, mp3, xxx, crack, serial ywarez.

    Recuerda que el parmetro DocumentRoottiene que apuntar al directorio donde hascreado los directorios, en este caso seraDocumentRoot "c:\apache\htdocs\".

    Con Apache en marcha (Apache.exe -k start)pon en el navegador la url: http://127.0.0.1(suponiendo que hayas dejado el puerto 80),

    vers que dice que no tienes permisos paraver el contenido del directorio. Qu pasos haseguido Apache?, lo primero que ha realizado

    es buscar el archivo ndice con extensin .htmly como no lo ha encontrado ha mostrado lapgina de que no tienes permisos para ver elcontenido.

    Mira el fichero de configuracin (httpd.conf),busca lo siguiente:Options FollowSymLinksAllowOverride None

    De la siguiente forma (muy simple), le indicamosa Apache las propiedades del directorio raz(fjate que pone /). Poner / es lo mismo queponer el valor de DocumentRoot. Por lo tantolo anterior es lo mismo que:Options FollowSymLinksAllowOverride None

    Ahora comenta el contenido, djalo comosigue:

    #Options FollowSymLinks#AllowOverride None

    Como estars un poco harto de parar el servidorpara luego iniciarlo, los creadores de Apacheya pensaron ello y buscaron una solucin. Siutilizas apache -k restart reinicias el servidor

    web sin necesidad de parar el servidor web.

    Pon de nuevo la url http://127.0.0.1, qu ves?,han aparecido los directorios creados inclusopuedes navegar por ellos. De esta forma tansencilla puedes compartir tus ficheros sinnecesidad de conocer HTML y sin instalar otrosprogramas. Cualquier navegante que pongatu url acceder a los directorios y podr

    APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

  • 8/14/2019 Haxcra8

    25/68

    PC PASO A PASO N 8 Pgina 25

    descargarse los archivos.

    Quieres ver el contenido de uno de losd i r e c t o r i o s de h a c kx c r a c k ? Po nhttp://www.hackxcrack.com/imagenes/ ohttp://www.hackxcrack.com/entrada/, al notener un fichero ndice (index.html) muestrael contenido del directorio.

    Te sorprenders si haces pruebas con otrosservidores, vers que muchas veces losadministradores no protegen los directoriosdejando los contenidos accesibles a los curiosos.Muchas veces los programadores web dejanficheros txt con instrucciones de cmo usaralgunos ficheros, al dejar visible los directoriosy adems poder navegar en ellos podrs accedera informacin que tal vez sea privada. Esimportante que pongas un fichero ndice enaquellos directorios que no deseas que semuestren los archivos (cuando hablamos defichero ndice nos referimos al index.html). Sinel fichero ndice el servidor mostrarautomticamente uno con una serie de enlacesque permitirn acceder a su contenido, de estaforma es posible acceder a la informacin vitalo que, alguien que carece de los permisosoportunos, ejecute algn archivo binario que

    se encuentre en dicho directorio, algo muypeligroso para la seguridad del servidor ;)

    La decisin de ocultar los archivos depende dela utilidad que le des a la web, en esta prcticase han creado las carpetas (crack, divx, mp3,serial, warez, xxx) para poder compartir losarchivos sin necesidad de FTP. La mayora delos servidores de alojamiento gratuito tienenprohibido que alojes ficheros de gran tamaocomo los archivos divx o algunos mp3. Ahorapuedes utilizar tu propio servidor web paracompartir los archivos sin depender de losservidores gratuitos que te ponen tantas pegas.

    4.- Qu has aprendido?

    Has aprendido a arrancar, parar y resetear elservidor Apache mediante el comando

    Apache.exe. Has aprendido a averiguar la versindel servidor Apache mediante el cliente telnete incluso de otros servicios utilizando elnavegador. Has aprendido las principalesdirectivas globales del servidor Apache y comoutilizarlas para configurar y proteger tu servidor

    Apache. Has aprendido a compartir archivosutilizando el servidor y accediendo medianteun simple navegador.

    Ya sabes algo ms del funcionamiento de

    22.045.420 servidores webs !!

    Como ejercicio puedes poner en marcha unpropio servidor web y compartir MP3 y algunaspelis, anuncia la url en el foro de hackxcrack,algn valiente?

    En el prximo nmero ... Ampliaremos las directivas y crearemosservidores virtuales para que puedas ofrecer atus amigos espacio web como lo hacen losgrandes portales como Iespana, Terra, Lycos,... pero sin publicidad.

    Recuerda que lo ms importante es que te des

    APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

  • 8/14/2019 Haxcra8

    26/68

    Pgina 26 PC PASO A PASO N 8

    cuenta de que tu pequeo ordenador puedeser visto como un gran servidor de cara a losnavegantes, y que el funcionamiento de los

    servidores web a los que te conectas no difieren

    tanto de tu servidor web Apache pues la mayorade ellos tienen otro servidor Apache ;)

    David C.M

    SUSCRIBETE A

    PC PASO A PASO

    SUSCRIPCIN POR:1 AO11 NUMEROS

    45 EUROS (10% DE DESCUENTO)+SORTEO DE UNA CONSOLA XBOX+SORTEO 2 JUEGOS PC (A ELEGIR)

    =

    Cont ra ReembolsoCont ra Reembolso

    Solo tienes que enviarnos un mail a [email protected]:- Nombre- Apellidos

    - Direccin Completa- Poblacin- Provincia- Cgigo Postal- Mail de Contacto y/o Telfono ContactoEs imprescindible que nos facilites un mail o telfono de contacto,puesto que 24 horas despus de que recibamos tu peticin desubscripcin te daremos un nmero de Cliente Preferente. Estenmero ser utilizado para los sorteos.- Tipo de Subscripcin: CONTRAREEMBOLSO- Nmero de Revista:Este ser el nmero a partir del cual quieres subscribirte. Si deseas(por ejemplo) subscribirte a partir del nmero 5 (incluido), debes ponerun 5 y te enviaremos desde el 5 hasta el 15 (ambos incluidos)

    APRECIACIONES:* Junto con el primer nmero recibirs el abono de 45 euros, preciode la subscripcin por 11 nmeros (un ao) y una carta donde se teindicar tu nmero de Cliente Preferente y justificante/factura de la

    subscripcin.* Puedes hacernos llegar estos datos POR MAIL,tal como te hemosindicado; re l lenando el formular io de nuest ra WEB(www.hackxcrack.com) o envindonos una carta a la siguiente direccin:CALLE HIGINIO ANGLES N2, 4-1CP 43001 TARRAGONAESPAA* Cualquier consulta referente a las subscripciones puedes enviarlapor mail a [email protected]

    Giro PostGiro PostalalEnvanos un GIRO POSTAL por valor de 45 EUROS a:CALLE HIGINIO ANGLES N2, 4-1CP 43001 TARRAGONAESPAA

    IMPORTANTE: En el TEXTO DEL GIRO escribe un mail de contactoo un nmero de Telfono.

    Y enviarnos un mail a [email protected] indicando:- Nombre- Apellidos- Direccin Completa- Poblacin- Provincia- Cgigo Postal- Mail de Contacto y/o Telfono ContactoEs imprescindible que nos facilites un mail o telfono de contacto,puesto que 24 horas despus de que recibamos tu peticin desubscripcin te daremos un nmero de Cliente Preferente. Estenmero ser utilizado para los sorteos.- Tipo de Subscripcin: GIRO POSTAL- Nmero de Revista:Este ser el nmero a partir del cual quieres subscribirte. Si deseas(por ejemplo) subscribirte a partir del nmero 5 (incluido), debes poner

    un 5 y te enviaremos desde el 5 hasta el 15 (ambos incluidos)

    APRECIACIONES:* Junto con el primer nmero recibirs una carta donde se te indicartu nmero de Cliente Preferente y justificante/factura de la subscripcin.* Puedes hacernos llegar estos datos POR MAIL,tal como te hemosindicado; re l lenando el formular io de nuest ra WEB(www.hackxcrack.com) o envindonos una carta a la siguiente direccin:CALLE HIGINIO ANGLES N2, 4-1CP 43001 TARRAGONAESPAA* Cualquier consulta referente a las subscripciones puedes enviarlapor mail a [email protected]

    APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II - APACHE II

  • 8/14/2019 Haxcra8

    27/68

    PC PASO A PASO N 8 Pgina 27

    os suene a chino a muchos de vosotros, laconsecuencia prctica es que no podris ejecutarel programa en un Windows... A qu esperispara instalaros un Linux? ;-) En los foros dehacxcrack encontrareis mucha informacin tilsi os decids a hacerlo.

    1.- NOTA DEL AUTOR.

    Hola a todos. Antes de entrar en materia me gustaracomentar unos cuantos puntos que me parecenimportantes... S, ya s. "Otro rollo para ocuparespacio con paja", diris... Po z, o no, o yoque s. Lo nico que s es que CREO que debodecirlo ;-)

    En primer lugar quiero dejar claro que este esun artculo que intenta profundizar en unconcepto, y no ensearos a configurar unaherramienta que os permita explotar un bug,romper un sistema o haceros con un servidor.Si lo que buscis es esto... Mejor que pasis aotro artculo.

    En segundo lugar, este artculo NO pretendeen NINGN caso ser una introduccin alconcepto de "firewall" ni una iniciacin a laprogramacin Perl. Esos son temas que debenser tratados a fondo y, corresponderan a otroartculo (aunque no creo que la mejor formade aprender perl, p.ej., sea leer artculos... sonslo un complemento).

    En tercer lugar, mi intencin NO es que sepiscomo burlar la seguridad de una red paraaprovecharos fraudulentamente de ello. Lonico que pretendo es que entendis comoalguien podra llegar a "burlar" ciertos elementosde seguridad de vuestros sistemas y os preparis

    para hacerle frente.

    En cuarto lugar debo mencionar que elprogramilla que se expone al final del artculofunciona bien en UNIX (o sistemas "UNIX style"como GNU/Linux). Esto es debido al modelode programacin empleado, donde se realizauna llamada a la funcin "fork", propia del UNIX(Windows utiliza threads)... Aunque todo esto

    En quinto lugar decir que, si bien algunosconceptos tratados en este artculo puedanparecer algo avanzados a alguien sinconocimientos, es bien cierto que deberisacostumbraros a manejarlos cuanto antes side verdad estis interesados en temas deseguridad. En nmeros atrasados YA se hanmencionado temas como "puertos", "shell (ointerfaz de comandos)", "netcat", "TCP/IP",etc. Tratad de ahondar en estos, y otros,conceptos. A pesar de lo maravillosa que pueda

    ser esta revista, no es la nica fuente deinformacin que tenis a vuestra disposicin...Usad cuantas podis. No es ms que un consejo;)

    Finalmente quisiera dar el mrito a quien lotiene. Gracias a Breos por su paciencia ycolaboracin. Gracias a Van Hauser de THC, laidea del programa original (rwww-shell) es toda

    Comentario de...!

    REVERSE SHELLBURLANDO AL FIREWALL

    Comentario de Hack x Crack: El FORO de hackxcrack (en

    www.hackxcrack.com) es donde mejor puedes solucionartus dudas con respecto a los artculos publicados en esta

    revista. Muchos de vosotros nos enviis mails preguntandosobre los problemas que os surgen a la hora de hacer losejercicios y es imposible contestar a todo el mundo, paraeso existe EL FORO, para compartir con todos tus dudas

    y tus conocimientos. De verdad, si tienes dudas, por favor,psate por el foro y formula tus preguntas para que entretodos podamos intentar ayudarnos.

  • 8/14/2019 Haxcra8

    28/68

    Pgina 28 PC PASO A PASO N 8

    suya, as como el mrito en el desarrollo de lamisma. Y gracias a hackxcrack por tratar defacilitarnos una publicacin que trate estos (y

    otros temas) de forma que puedan estar alalcance de todos.

    2.- PRIMER ESCENARIO.Supongamos el siguiente escenario. Existe unared de rea local, que se conecta a Internet atravs de un firewall de filtrado de paquetesIP (luego pongo un ejemplo para intentarexplicar este "extrao" concepto). Nosotrostenemos acceso a una de las mquinas de lared interna (sea porque trabajamos all, porque

    tenemos un infiltrado o porque hemos logradoque un "pipiolo" ejecute todo lo que le enviamospor correo), pero NO podemos establecer unasesin interactiva (o sea, abrir una consola)desde el exterior porque el firewall nos loimpide.

    Veamos como podra ser esto:

    Vctima: El ordenador de la red interna al quetenemos algn tipo de acceso pero no podemoscontrolar desde el exterior.

    Vctima: El ordenador de la red interna al quetenemos algn tipo de acceso pero no podemoscontrolar desde el exterior.

    Otros Equipos: Otros ordenadores y/operifricos que forman parte de la red interna.

    Firewall: El cortafuegos que el Administradorha colocado entre Internet y la red interna,incluida la mquina vctima.

    Reglas de trfico entrante: El Administradorha configurado el cortafuegos para que NADIEpueda comenzar una conexin desde el exteriorcon una mquina de la red interna. No importaque puertos tenga abiertos la mquina

    vctima... EL cortafuegos no dejar que sellegue a ellos (parar los intentos de conexin).

    Reglas de trfico saliente: El Administradorha configurado el cortafuegos para quecualquiera de la red interna pueda conectarsea Internet va HTTP (o sea, para navegar porpginas web). Adems, tambin se permitetrfico SMTP y POP a una IP determinada (parael envo y recepcin de correo). El resto deltrfico saliente no est permitido.

    Bien... Llegados a este punto podemos explicarun poco ms a fondo lo que sucede con lasreglas entrantes y salientes. Para elloexplicaremos MUY bsicamente que hace elcortafuegos de filtrado IP que hemos supuestoen nuestro escenario.

    Veamos lo que significa el tipo de reglas de

    REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

    VctimaVctima

    OtrosOtrosequiposequipos

    InternetInternetRe g la s d e t r f ic oRe g la s d e t r f ic oentranteentrante

    Re g la s d e t r f ic oRe g la s d e t r f ic osalientesaliente

    Comentario de...!

    Comentario de Hack x Crack: Si no tienes ni idea de loque es un firewall sera recomendable que te leyeses elnmero 1 de esta revista, lo tienes disponible en nuestra

    Web de forma totalmente gratuita ;)

  • 8/14/2019 Haxcra8

    29/68

    PC PASO A PASO N 8 Pgina 29

    trfico entrante que se han definido: Se hadicho que el cortafuegos no permitir que seinicie una conexin desde el exterior con

    ninguna mquina de la red interna. Esto quieredecir que, si colocamos un troyano convencional(tipo B.O. o Sub7) a la escucha en el puerto5000 de nuestra mquina vctima NO NOSSERVIR DE NADA, porque el cortafuegos nodejar que nos conectemos a esa mquinadesde casa por muchos puertos, troyanos y/oservicios que tengamos a la escucha. El famososerv-u comentado en un nmero anterior deesta revista NO nos permitira conectarnos aesta mquina... Ese maldito cortafuegos...

    Tendramos una regla que se podratraducir as:

    Impide el intento de conexin a cualquierpuerto de cualquier mquina de mi red internasi el origen viene desde Internet, sea el protocoloque sea

    Ahora fijmonos en las reglas de trfico saliente.Podemos ver que, si es la mquina vctima laque inicia la conexin (desde dentro y no desdefuera), se nos permite conectarnos a los puertos80 y 443 de cualquier mquina de Internet(puertos ms comunes de los servidores Web).Esto est pensado para que la gente de la redinterna pueda navegar por Internet y realizarlas funciones propias de su trabajo (o ver las

    pginas de guarras, que es mucho msproductivo). Se trata de una regla muy comnque encontrareis, de una u otra forma, en la

    mayora de los cortafuegos empresariales.

    Esta regla sera ms o menos como sigue:"Permite que las mquinas de mi red internahagan peticiones a cualquier mquina deInternet, siempre que las dirijan a los puertos80 o 443 usando el protocolo TCP".

    REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

    TT i e n e u ni e n e u n

    t r o y a n ot r o y a n o

    escuchando enescuchando en

    e l p u e r t o 8 0e l p u e r t o 8 0

    50005000

    PcPcVctimaVctima

    PcPcAtacanteAtacante

    InternetInternetFirewallFirewall

    I n t e n t a n d oI n t e n t a n d oi n i c i a r u n ai n i c i a r u n aconexin en elconexin en elpuerto 5000 delpuerto 5000 delPC vctimaPC vctima

    B l o q u e a n d oB l o q u e a n d ocualquier inciocualquier inciod e c o n e x i nd e c o n e x i nd e s d e e ld e s d e e lexteriorexterior

    PcPcVctimaVctima

    PcPcAtacanteAtacante

    InternetInternetFirewallFirewall

    I n t e n t a n d oI n t e n t a n d oconectarse a lconectarse a lpuerto 80 443puerto 80 443d e u n P cd e u n P cEXTERIOREXTERIOR

    con un Servidor Wcon un Servidor W ebeb( o c u a l q u i e r o t r o( o c u a l q u i e r o t r osoftware) atendiendosoftware) atendiendol a s p e t i c i o n e s a ll a s p e t i c i o n e s a lpuerto 80puerto 80

    P e r m i t i e n d oP e r m i t i e n d op e t ic io n e s a lp e t ic io n e s a lpuerto80 y 443puerto80 y 443de cualquier Pcde cualquier PcEXTERIOREXTERIOR

    Paso 1: el Pc Vctima SE CONECTPaso 1: el Pc Vctima SE CONECT AA al PC EXTERIORal PC EXTERIOR

    PcPcVctimaVctima

    PcPcAtacanteAtacante

    InternetInternetFirewallFirewall

    R e c i b i e n d oR e c i b i e n d o

    c o n t e s t a c i nc o n t e s t a c i n

    E n v i a n d o u n aE n v i a n d o u n a

    r e s p u e s t a a l P cr e s p u e s t a a l P cVctimaVctima

    Permitiendo elPermitiendo el

    p a s o d e l ap a s o d e l arespuesta delrespuesta delPc EXTERIORPc EXTERIOR

    Paso 2: el Pc EXTERIOR permite la conexin y envia los datos pedPaso 2: el Pc EXTERIOR permite la conexin y envia los datos ped idos al Pc Vctimaidos al Pc Vctima

    Comentario de...!

    COMENTARIO DE HACK X CRACK: Muchos lectoresestarn preguntndose como es posible que en el PASO 2,

  • 8/14/2019 Haxcra8

    30/68

    Pgina 30 PC PASO A PASO N 8

    REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELL - REVERSE SHELl

    el PC EXTERIOR pueda enviar datos al PC Vctimateniendo un Firewall que en principio debera DETENER

    cualquier t ipo de " transferencia" . Bien, ESIMPRESCINDIBLE que entiendas lo siguiente: Una cosaes la "Peticin de Conexin" y otra muy distinta la"Respuesta a una peticin" y posterior "Conversacin".

    Vamos a ver estos conceptos dos ejemplos: un "paralelismomilitar" ;) y un "amigo pasota".

    Paralelismo Militar:

    Supongamos que eres soldado raso del glorioso cuerpo dela legin espaola. Supongamos tambin que ests destinadoen un cuartel con un reglamento muy estricto.

    Este reglamento prohibe que un soldado raso (PC Exterior)hable con el comandante del puesto (PC Vctima) SINhaber sido preguntado o requerido por el mismsimo SeorComandante (PC Vctima). Es decir, si el comandante no

    se pone en contacto contigo, olvdate de mantener unacharla con l.

    Como t (PC Exterior) eres mu chulo, decides que vas a

    ir a hablar con el comandante (PC Vctima). Entras en lasdependencias y te encuentras con un